ec521ee3-e27c-458a-99dd-4f685b433233
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 |
|---|---|---|---|---|
| 30697 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75178 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75179 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75180 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75181 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75182 | detector.run | complete | 1 / 3 | 1 week ago |
| 75183 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1387190] OpenAI Codex v0.77.0 (research preview)
[codex:1387190] --------
[codex:1387190] workdir: /tmp/codex-multi-xovye7vb
[codex:1387190] model: gpt-5.2-codex
[codex:1387190] provider: openai
[codex:1387190] approval: never
[codex:1387190] sandbox: read-only
[codex:1387190] reasoning effort: xhigh
[codex:1387190] reasoning summaries: auto
[codex:1387190] session id: 019b6f95-cc25-7f62-939b-2a0ad2837cee
[codex:1387190] --------
[codex:1387190] user
[codex:1387190] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1387190] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1387190] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1387190]
[codex:1387190] Scope rules:
[codex:1387190] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1387190] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1387190]
[codex:1387190] Output MUST be valid JSON matching the provided schema.
[codex:1387190] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1387190] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1387190]
[codex:1387190] Output constraints (IMPORTANT):
[codex:1387190] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1387190] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1387190] mcp startup: no servers
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Preparing to locate AUDIT_BUNDLE.txt**
[codex:1387190] exec
[codex:1387190] /bin/bash -lc ls in /tmp/codex-multi-xovye7vb succeeded in 6ms:
[codex:1387190] AUDIT_BUNDLE.txt
[codex:1387190] codex-output-schema.json
[codex:1387190] contracts
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Reading AUDIT_BUNDLE file**
[codex:1387190] exec
[codex:1387190] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-xovye7vb succeeded in 6ms:
[codex:1387190] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1387190]
[codex:1387190] ================================================================================
[codex:1387190] FILE: contracts/Contract.sol
[codex:1387190] ================================================================================
[codex:1387190] // File: smartContract/5/0/0/BlockUtils.sol
[codex:1387190]
[codex:1387190]
[codex:1387190] pragma solidity >=0.8.0 <=0.8.17;
[codex:1387190]
[codex:1387190] contract BlockUtils {
[codex:1387190]
[codex:1387190]
[codex:1387190] modifier checkAmount(uint256 amount) {
[codex:1387190] require(amount > 0, "amount must be greater than zero");
[codex:1387190] _;
[codex:1387190] }
[codex:1387190]
[codex:1387190] // "transfer token is the zero address"
[codex:1387190] modifier checkTokenAddress(address tokenAddress){
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Reviewing first-party and third-party libraries**
[codex:1387190] exec
[codex:1387190] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-xovye7vb succeeded in 5ms:
[codex:1387190] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1387190]
[codex:1387190]
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Examining token handling and fee vulnerabilities**
[codex:1387190]
[codex:1387190] I'm analyzing the contract's token transfer logic, focusing on how deposits and withdrawals interact with fee calculations and token behaviors like deflationary or rebase mechanics. There are potential issues with reentrancy risks due to external token calls without guards, fee miscalculations caused by a global deposit count map, and denial-of-service possibilities if tokens report extreme decimals or maliciously inflate fees by repeated deposits. I'm checking how access controls and safe/unsafe transfers affect these risks and if any real exploits emerge from the design.
[codex:1387190] thinking
[codex:1387190] **Analyzing fee inflation mechanics and deposit impact**
[codex:1387190]
[codex:1387190] I'm breaking down how tiny deposits can trigger outsized fee increases due to the fixed fee formula multiplying deposit count by 2 × 10^decimals, allowing attackers to cheaply inflate fees and cause withdrawal failures or excessive fees. This includes examining how fees for stable and non-stable tokens differ and how global deposit counting without per-user tracking enables this exploit. I’m also considering repercussions like withdrawal DoS, fee token balance issues, and overflow risks related to decimals, while verifying state update sequencing and external call patterns for additional weaknesses.
[codex:1387190] thinking
[codex:1387190] **Examining token checks, reentrancy risks, and fee reset logic**
[codex:1387190]
[codex:1387190] I'm going through details about zero address handling, the absence of token whitelisting for deposits, how fee resets act per token, and whether external calls pose reentrancy threats. I also consider how deposit increments and fee computations interrelate, analyzing what happens with deflationary tokens and the effect of repeated small deposits causing fee inflation or withdrawal blocking. I’m checking token balance checks, atomicity of transfers, and how the contract handles fees and transferMap resets to understand potential disruption vectors and race conditions.
[codex:1387190] exec
[codex:1387190] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-xovye7vb succeeded in 12ms:
[codex:1387190] contracts/Contract.sol
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Preparing to locate transferMap references**
[codex:1387190] exec
[codex:1387190] /bin/bash -lc 'rg -n "transferMap" contracts/Contract.sol' in /tmp/codex-multi-xovye7vb succeeded in 10ms:
[codex:1387190] 700: mapping(address => uint256) public transferMap;
[codex:1387190] 733: transferMap[tokenAddress] += 1;
[codex:1387190] 739: uint256 count = transferMap[tokenAddress];
[codex:1387190] 787: transferMap[info.tokenAddress] = 0;
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Identifying key functions with line numbers**
[codex:1387190] exec
[codex:1387190] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '720,810p'" in /tmp/codex-multi-xovye7vb succeeded in 6ms:
[codex:1387190] 720 }
[codex:1387190] 721
[codex:1387190] 722
[codex:1387190] 723
[codex:1387190] 724 event TransferToken(address indexed from, address indexed to, address indexed token, uint256 amount,string orderId);
[codex:1387190] 725
[codex:1387190] 726 event WithdrawToken(address indexed from, address indexed to, Withdraw[] withdrawInfo,uint256[] feeArray,address feeAddress,address feeTokenAddress);
[codex:1387190] 727
[codex:1387190] 728 // Deposit tokens into the contract
[codex:1387190] 729 function depositToken(address tokenAddress,uint256 amount,string calldata orderId) public checkTokenAddress(tokenAddress) returns (bool) {
[codex:1387190] 730 require(!burnFlag,"Contract is burn");
[codex:1387190] 731 require(amount > 0, "amount must be greater than 0");
[codex:1387190] 732 uint256 finalAmount = super.transferCommon(tokenAddress,address(this),amount);
[codex:1387190] 733 transferMap[tokenAddress] += 1;
[codex:1387190] 734 emit TransferToken(msg.sender, address(this), tokenAddress, finalAmount,orderId);
[codex:1387190] 735 return true;
[codex:1387190] 736 }
[codex:1387190] 737
[codex:1387190] 738 function calcFee(address tokenAddress,ICustomizeERC20 erc20) internal view returns (uint256 feeAmount) {
[codex:1387190] 739 uint256 count = transferMap[tokenAddress];
[codex:1387190]
[codex:1387190]
[codex:1387190] thinking
[codex:1387190] **Analyzing contract fee and reentrancy risks**
[codex:1387190] thinking
[codex:1387190] {
[codex:1387190] "no_findings": false,
[codex:1387190] "summary": "1 medium finding: global deposit counter allows fee inflation and withdrawal denial-of-service via dust deposits.",
[codex:1387190] "findings": [
[codex:1387190] {
[codex:1387190] "severity": "medium",
[codex:1387190] "category": "other",
[codex:1387190] "title": "Global deposit counter lets any user inflate withdrawal fees or block withdrawals",
[codex:1387190] "exploit_scenario": "An attacker repeatedly calls depositToken with minimal amounts of supported tokens, incrementing transferMap counts. This causes the withdrawal fee, calculated as count * 2 * 10^decimals, to become excessively large. When finance calls withdrawToken, withdrawals either revert due to insufficient amounts or incur huge fees, effectively blocking legitimate withdrawals or draining funds to the feeReceiver.",
[codex:1387190] "recommendation": "Implement per-user or per-deposit accounting for fees instead of a global count, base fees on actual deposited amounts or cap the count growth, restrict deposit access to authorized users, or reset counts more granularly. Consider computing fees during withdrawal based on user activity and cumulative amounts to prevent exploitation.",
[codex:1387190] "evidence": "`depositToken` increments `transferMap[tokenAddress]` per deposit (lines 728-734); `calcFee` computes fee as count * 2 * 10^decimals (lines 738-745); `withdrawToken` requires `info.amount >= fee` (line 770) and resets `transferMap` after fee payment (line 787). This design allows fee inflation via repeated tiny deposits.",
[codex:1387190] "locations": [
[codex:1387190] "contracts/Contract.sol:728",
[codex:1387190] "contracts/Contract.sol:733",
[codex:1387190] "contracts/Contract.sol:738",
[codex:1387190] "contracts/Contract.sol:770",
[codex:1387190] "contracts/Contract.sol:787"
[codex:1387190] ]
[codex:1387190] }
[codex:1387190] ]
[codex:1387190] }
[codex:1387190] codex
[codex:1387190] {"no_findings":false,"summary":"1 medium finding: global deposit counter lets any depositor inflate fees and block withdrawals via dust deposits.","findings":[{"severity":"medium","category":"other","title":"Global deposit counter lets any user inflate withdrawal fees or block withdrawals","exploit_scenario":"An attacker repeatedly calls `depositToken` with the smallest possible amount of a supported token. Each deposit increments `transferMap` by 1, and the fee becomes `count * 2 * 10^decimals`. This quickly makes fees exceed typical withdrawal amounts, causing `withdrawToken` to revert for stable coins (`info.amount < fee`) or to require large fee-token balances for non-stable coins, effectively blocking withdrawals or forcing excessive fees.","recommendation":"Make fee accounting per user/order or based on deposited amounts instead of a global deposit count. Alternatively, cap the fee growth, require a minimum deposit amount proportional to fee growth, or restrict who can call `depositToken` for tokens that will be withdrawn by others.","evidence":"`depositToken` increments `transferMap` for every deposit regardless of size; `calcFee` charges `count * 2 * 10**decimals`; `withdrawToken` requires `info.amount >= fee`, so a high count can block withdrawals.","locations":["contracts/Contract.sol:728","contracts/Contract.sol:733","contracts/Contract.sol:738","contracts/Contract.sol:770","contracts/Contract.sol:787"]}]}
[codex:1387190] tokens used
[codex:1387190] 29,463
[codex:1387190] {"no_findings":false,"summary":"1 medium finding: global deposit counter lets any depositor inflate fees and block withdrawals via dust deposits.","findings":[{"severity":"medium","category":"other","title":"Global deposit counter lets any user inflate withdrawal fees or block withdrawals","exploit_scenario":"An attacker repeatedly calls `depositToken` with the smallest possible amount of a supported token. Each deposit increments `transferMap` by 1, and the fee becomes `count * 2 * 10^decimals`. This quickly makes fees exceed typical withdrawal amounts, causing `withdrawToken` to revert for stable coins (`info.amount < fee`) or to require large fee-token balances for non-stable coins, effectively blocking withdrawals or forcing excessive fees.","recommendation":"Make fee accounting per user/order or based on deposited amounts instead of a global deposit count. Alternatively, cap the fee growth, require a minimum deposit amount proportional to fee growth, or restrict who can call `depositToken` for tokens that will be withdrawn by others.","evidence":"`depositToken` increments `transferMap` for every deposit regardless of size; `calcFee` charges `count * 2 * 10**decimals`; `withdrawToken` requires `info.amount >= fee`, so a high count can block withdrawals.","locations":["contracts/Contract.sol:728","contracts/Contract.sol:733","contracts/Contract.sol:738","contracts/Contract.sol:770","contracts/Contract.sol:787"]}]}
{
"codex": {
"ran_at": "2025-12-30T14:12:36.451297+00:00",
"returncode": 0
},
"summary": "1 medium finding: global deposit counter lets any depositor inflate fees and block withdrawals via dust deposits.",
"raw_final": {
"summary": "1 medium finding: global deposit counter lets any depositor inflate fees and block withdrawals via dust deposits.",
"findings": [
{
"title": "Global deposit counter lets any user inflate withdrawal fees or block withdrawals",
"category": "other",
"evidence": "`depositToken` increments `transferMap` for every deposit regardless of size; `calcFee` charges `count * 2 * 10**decimals`; `withdrawToken` requires `info.amount >= fee`, so a high count can block withdrawals.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:728",
"contracts/Contract.sol:733",
"contracts/Contract.sol:738",
"contracts/Contract.sol:770",
"contracts/Contract.sol:787"
],
"recommendation": "Make fee accounting per user/order or based on deposited amounts instead of a global deposit count. Alternatively, cap the fee growth, require a minimum deposit amount proportional to fee growth, or restrict who can call `depositToken` for tokens that will be withdrawn by others.",
"exploit_scenario": "An attacker repeatedly calls `depositToken` with the smallest possible amount of a supported token. Each deposit increments `transferMap` by 1, and the fee becomes `count * 2 * 10^decimals`. This quickly makes fees exceed typical withdrawal amounts, causing `withdrawToken` to revert for stable coins (`info.amount < fee`) or to require large fee-token balances for non-stable coins, effectively blocking withdrawals or forcing excessive fees."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x00cf 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x78e8114d 00000026: GT 00000027: PUSH2 0x008c 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x961753b8 00000031: GT 00000032: PUSH2 0x0066 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0x961753b8 0000003c: EQ 0000003d: PUSH2 0x0218 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0x984d6e7a 00000047: EQ 00000048: PUSH2 0x0248 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xa10d0960 00000052: EQ 00000053: PUSH2 0x0266 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xffa1ad74 0000005d: EQ 0000005e: PUSH2 0x0296 00000061: JUMPI 00000062: PUSH2 0x00cf 00000065: JUMP 00000066: JUMPDEST 00000067: DUP1 00000068: PUSH4 0x78e8114d 0000006d: EQ 0000006e: PUSH2 0x01ac 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0x8cb7d113 00000078: EQ 00000079: PUSH2 0x01dc 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0x8da5cb5b 00000083: EQ 00000084: PUSH2 0x01fa 00000087: JUMPI 00000088: PUSH2 0x00cf 0000008b: JUMP 0000008c: JUMPDEST 0000008d: DUP1 0000008e: PUSH4 0x10a53b9a 00000093: EQ 00000094: PUSH2 0x00d4 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x1227922c 0000009e: EQ 0000009f: PUSH2 0x00f2 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x21d0034b 000000a9: EQ 000000aa: PUSH2 0x0110 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x44df8e70 000000b4: EQ 000000b5: PUSH2 0x012e 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x6109069a 000000bf: EQ 000000c0: PUSH2 0x014c 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x7168aedf 000000ca: EQ 000000cb: PUSH2 0x017c 000000ce: JUMPI 000000cf: JUMPDEST 000000d0: PUSH1 0x00 000000d2: DUP1 000000d3: REVERT 000000d4: JUMPDEST 000000d5: PUSH2 0x00dc 000000d8: PUSH2 0x02b4 000000db: JUMP 000000dc: JUMPDEST 000000dd: PUSH1 0x40 000000df: MLOAD 000000e0: PUSH2 0x00e9 000000e3: SWAP2 000000e4: SWAP1 000000e5: PUSH2 0x1919 000000e8: JUMP 000000e9: JUMPDEST 000000ea: PUSH1 0x40 000000ec: MLOAD 000000ed: DUP1 000000ee: SWAP2 000000ef: SUB 000000f0: SWAP1 000000f1: RETURN 000000f2: JUMPDEST 000000f3: PUSH2 0x00fa 000000f6: PUSH2 0x02d8 000000f9: JUMP 000000fa: JUMPDEST 000000fb: PUSH1 0x40 000000fd: MLOAD 000000fe: PUSH2 0x0107 00000101: SWAP2 00000102: SWAP1 00000103: PUSH2 0x19f2 00000106: JUMP 00000107: JUMPDEST 00000108: PUSH1 0x40 0000010a: MLOAD 0000010b: DUP1 0000010c: SWAP2 0000010d: SUB 0000010e: SWAP1 0000010f: RETURN 00000110: JUMPDEST 00000111: PUSH2 0x0118 00000114: PUSH2 0x0366 00000117: JUMP 00000118: JUMPDEST 00000119: PUSH1 0x40 0000011b: MLOAD 0000011c: PUSH2 0x0125 0000011f: SWAP2 00000120: SWAP1 00000121: PUSH2 0x19f2 00000124: JUMP 00000125: JUMPDEST 00000126: PUSH1 0x40 00000128: MLOAD 00000129: DUP1 0000012a: SWAP2 0000012b: SUB 0000012c: SWAP1 0000012d: RETURN 0000012e: JUMPDEST 0000012f: PUSH2 0x0136 00000132: PUSH2 0x03f4 00000135: JUMP 00000136: JUMPDEST 00000137: PUSH1 0x40 00000139: MLOAD 0000013a: PUSH2 0x0143 0000013d: SWAP2 0000013e: SWAP1 0000013f: PUSH2 0x1a2f 00000142: JUMP 00000143: JUMPDEST 00000144: PUSH1 0x40 00000146: MLOAD 00000147: DUP1 00000148: SWAP2 00000149: SUB 0000014a: SWAP1 0000014b: RETURN 0000014c: JUMPDEST 0000014d: PUSH2 0x0166 00000150: PUSH1 0x04 00000152: DUP1 00000153: CALLDATASIZE 00000154: SUB 00000155: DUP2 00000156: ADD 00000157: SWAP1 00000158: PUSH2 0x0161 0000015b: SWAP2 0000015c: SWAP1 0000015d: PUSH2 0x1a80 00000160: JUMP 00000161: JUMPDEST 00000162: PUSH2 0x04f3 00000165: JUMP 00000166: JUMPDEST 00000167: PUSH1 0x40 00000169: MLOAD 0000016a: PUSH2 0x0173 0000016d: SWAP2 0000016e: SWAP1 0000016f: PUSH2 0x1a2f 00000172: JUMP 00000173: JUMPDEST 00000174: PUSH1 0x40 00000176: MLOAD 00000177: DUP1 00000178: SWAP2 00000179: SUB 0000017a: SWAP1 0000017b: RETURN 0000017c: JUMPDEST 0000017d: PUSH2 0x0196 00000180: PUSH1 0x04 00000182: DUP1 00000183: CALLDATASIZE 00000184: SUB 00000185: DUP2 00000186: ADD 00000187: SWAP1 00000188: PUSH2 0x0191 0000018b: SWAP2 0000018c: SWAP1 0000018d: PUSH2 0x1a80 00000190: JUMP 00000191: JUMPDEST 00000192: PUSH2 0x0549 00000195: JUMP 00000196: JUMPDEST 00000197: PUSH1 0x40 00000199: MLOAD 0000019a: PUSH2 0x01a3 0000019d: SWAP2 0000019e: SWAP1 0000019f: PUSH2 0x1a2f 000001a2: JUMP 000001a3: JUMPDEST 000001a4: PUSH1 0x40 000001a6: MLOAD 000001a7: DUP1 000001a8: SWAP2 000001a9: SUB 000001aa: SWAP1 000001ab: RETURN 000001ac: JUMPDEST 000001ad: PUSH2 0x01c6 000001b0: PUSH1 0x04 000001b2: DUP1 000001b3: CALLDATASIZE 000001b4: SUB 000001b5: DUP2 000001b6: ADD 000001b7: SWAP1 000001b8: PUSH2 0x01c1 000001bb: SWAP2 000001bc: SWAP1 000001bd: PUSH2 0x1a80 000001c0: JUMP 000001c1: JUMPDEST 000001c2: PUSH2 0x059f 000001c5: JUMP 000001c6: JUMPDEST 000001c7: PUSH1 0x40 000001c9: MLOAD 000001ca: PUSH2 0x01d3 000001cd: SWAP2 000001ce: SWAP1 000001cf: PUSH2 0x1ac6 000001d2: JUMP 000001d3: JUMPDEST 000001d4: PUSH1 0x40 000001d6: MLOAD 000001d7: DUP1 000001d8: SWAP2 000001d9: SUB 000001da: SWAP1 000001db: RETURN 000001dc: JUMPDEST 000001dd: PUSH2 0x01e4 000001e0: PUSH2 0x05b7 000001e3: JUMP 000001e4: JUMPDEST 000001e5: PUSH1 0x40 000001e7: MLOAD 000001e8: PUSH2 0x01f1 000001eb: SWAP2 000001ec: SWAP1 000001ed: PUSH2 0x1a2f 000001f0: JUMP 000001f1: JUMPDEST 000001f2: PUSH1 0x40 000001f4: MLOAD 000001f5: DUP1 000001f6: SWAP2 000001f7: SUB 000001f8: SWAP1 000001f9: RETURN 000001fa: JUMPDEST 000001fb: PUSH2 0x0202 000001fe: PUSH2 0x05cd 00000201: JUMP 00000202: JUMPDEST 00000203: PUSH1 0x40 00000205: MLOAD 00000206: PUSH2 0x020f 00000209: SWAP2 0000020a: SWAP1 0000020b: PUSH2 0x1919 0000020e: JUMP 0000020f: JUMPDEST 00000210: PUSH1 0x40 00000212: MLOAD 00000213: DUP1 00000214: SWAP2 00000215: SUB 00000216: SWAP1 00000217: RETURN 00000218: JUMPDEST 00000219: PUSH2 0x0232 0000021c: PUSH1 0x04 0000021e: DUP1 0000021f: CALLDATASIZE 00000220: SUB 00000221: DUP2 00000222: ADD 00000223: SWAP1 00000224: PUSH2 0x022d 00000227: SWAP2 00000228: SWAP1 00000229: PUSH2 0x1b72 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH2 0x05f1 00000231: JUMP 00000232: JUMPDEST 00000233: PUSH1 0x40 00000235: MLOAD 00000236: PUSH2 0x023f 00000239: SWAP2 0000023a: SWAP1 0000023b: PUSH2 0x1a2f 0000023e: JUMP 0000023f: JUMPDEST 00000240: PUSH1 0x40 00000242: MLOAD 00000243: DUP1 00000244: SWAP2 00000245: SUB 00000246: SWAP1 00000247: RETURN 00000248: JUMPDEST 00000249: PUSH2 0x0250 0000024c: PUSH2 0x0c7e 0000024f: JUMP 00000250: JUMPDEST 00000251: PUSH1 0x40 00000253: MLOAD 00000254: PUSH2 0x025d 00000257: SWAP2 00000258: SWAP1 00000259: PUSH2 0x1ac6 0000025c: JUMP 0000025d: JUMPDEST 0000025e: PUSH1 0x40 00000260: MLOAD 00000261: DUP1 00000262: SWAP2 00000263: SUB 00000264: SWAP1 00000265: RETURN 00000266: JUMPDEST 00000267: PUSH2 0x0280 0000026a: PUSH1 0x04 0000026c: DUP1 0000026d: CALLDATASIZE 0000026e: SUB 0000026f: DUP2 00000270: ADD 00000271: SWAP1 00000272: PUSH2 0x027b 00000275: SWAP2 00000276: SWAP1 00000277: PUSH2 0x1c7c 0000027a: JUMP 0000027b: JUMPDEST 0000027c: PUSH2 0x0c83 0000027f: JUMP 00000280: JUMPDEST 00000281: PUSH1 0x40 00000283: MLOAD 00000284: PUSH2 0x028d 00000287: SWAP2 00000288: SWAP1 00000289: PUSH2 0x1a2f 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH1 0x40 00000290: MLOAD 00000291: DUP1 00000292: SWAP2 00000293: SUB 00000294: SWAP1 00000295: RETURN 00000296: JUMPDEST 00000297: PUSH2 0x029e 0000029a: PUSH2 0x0e7a 0000029d: JUMP 0000029e: JUMPDEST 0000029f: PUSH1 0x40 000002a1: MLOAD 000002a2: PUSH2 0x02ab 000002a5: SWAP2 000002a6: SWAP1 000002a7: PUSH2 0x1d0c 000002aa: JUMP 000002ab: JUMPDEST 000002ac: PUSH1 0x40 000002ae: MLOAD 000002af: DUP1 000002b0: SWAP2 000002b1: SUB 000002b2: SWAP1 000002b3: RETURN 000002b4: JUMPDEST 000002b5: PUSH32 0x000000000000000000000000b974fc41b3853ebfa55d9f278bbaf89e6ed2ce33 000002d6: DUP2 000002d7: JUMP 000002d8: JUMPDEST 000002d9: PUSH1 0x60 000002db: PUSH1 0x05 000002dd: DUP1 000002de: SLOAD 000002df: DUP1 000002e0: PUSH1 0x20 000002e2: MUL 000002e3: PUSH1 0x20 000002e5: ADD 000002e6: PUSH1 0x40 000002e8: MLOAD 000002e9: SWAP1 000002ea: DUP2 000002eb: ADD 000002ec: PUSH1 0x40 000002ee: MSTORE 000002ef: DUP1 000002f0: SWAP3 000002f1: SWAP2 000002f2: SWAP1 000002f3: DUP2 000002f4: DUP2 000002f5: MSTORE 000002f6: PUSH1 0x20 000002f8: ADD 000002f9: DUP3 000002fa: DUP1 000002fb: SLOAD 000002fc: DUP1 000002fd: ISZERO 000002fe: PUSH2 0x035c 00000301: JUMPI 00000302: PUSH1 0x20 00000304: MUL 00000305: DUP3 00000306: ADD 00000307: SWAP2 00000308: SWAP1 00000309: PUSH1 0x00 0000030b: MSTORE 0000030c: PUSH1 0x20 0000030e: PUSH1 0x00 00000310: KECCAK256 00000311: SWAP1 00000312: JUMPDEST 00000313: DUP2 00000314: PUSH1 0x00 00000316: SWAP1 00000317: SLOAD 00000318: SWAP1 00000319: PUSH2 0x0100 0000031c: EXP 0000031d: SWAP1 0000031e: DIV 0000031f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000334: AND 00000335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034a: AND 0000034b: DUP2 0000034c: MSTORE 0000034d: PUSH1 0x20 0000034f: ADD 00000350: SWAP1 00000351: PUSH1 0x01 00000353: ADD 00000354: SWAP1 00000355: DUP1 00000356: DUP4 00000357: GT 00000358: PUSH2 0x0312 0000035b: JUMPI 0000035c: JUMPDEST 0000035d: POP 0000035e: POP 0000035f: POP 00000360: POP 00000361: POP 00000362: SWAP1 00000363: POP 00000364: SWAP1 00000365: JUMP 00000366: JUMPDEST 00000367: PUSH1 0x60 00000369: PUSH1 0x02 0000036b: DUP1 0000036c: SLOAD 0000036d: DUP1 0000036e: PUSH1 0x20 00000370: MUL 00000371: PUSH1 0x20 00000373: ADD 00000374: PUSH1 0x40 00000376: MLOAD 00000377: SWAP1 00000378: DUP2 00000379: ADD 0000037a: PUSH1 0x40 0000037c: MSTORE 0000037d: DUP1 0000037e: SWAP3 0000037f: SWAP2 00000380: SWAP1 00000381: DUP2 00000382: DUP2 00000383: MSTORE 00000384: PUSH1 0x20 00000386: ADD 00000387: DUP3 00000388: DUP1 00000389: SLOAD 0000038a: DUP1 0000038b: ISZERO 0000038c: PUSH2 0x03ea 0000038f: JUMPI 00000390: PUSH1 0x20 00000392: MUL 00000393: DUP3 00000394: ADD 00000395: SWAP2 00000396: SWAP1 00000397: PUSH1 0x00 00000399: MSTORE 0000039a: PUSH1 0x20 0000039c: PUSH1 0x00 0000039e: KECCAK256 0000039f: SWAP1 000003a0: JUMPDEST 000003a1: DUP2 000003a2: PUSH1 0x00 000003a4: SWAP1 000003a5: SLOAD 000003a6: SWAP1 000003a7: PUSH2 0x0100 000003aa: EXP 000003ab: SWAP1 000003ac: DIV 000003ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003c2: AND 000003c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003d8: AND 000003d9: DUP2 000003da: MSTORE 000003db: PUSH1 0x20 000003dd: ADD 000003de: SWAP1 000003df: PUSH1 0x01 000003e1: ADD 000003e2: SWAP1 000003e3: DUP1 000003e4: DUP4 000003e5: GT 000003e6: PUSH2 0x03a0 000003e9: JUMPI 000003ea: JUMPDEST 000003eb: POP 000003ec: POP 000003ed: POP 000003ee: POP 000003ef: POP 000003f0: SWAP1 000003f1: POP 000003f2: SWAP1 000003f3: JUMP 000003f4: JUMPDEST 000003f5: PUSH1 0x00 000003f7: CALLER 000003f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000040d: AND 0000040e: PUSH32 0x000000000000000000000000e8083474b35a9e06fe30fa42669d2b95d2defe76 0000042f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000444: AND 00000445: EQ 00000446: PUSH2 0x0484 00000449: JUMPI 0000044a: PUSH1 0x40 0000044c: MLOAD 0000044d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000046e: DUP2 0000046f: MSTORE 00000470: PUSH1 0x04 00000472: ADD 00000473: PUSH2 0x047b 00000476: SWAP1 00000477: PUSH2 0x1d84 0000047a: JUMP 0000047b: JUMPDEST 0000047c: PUSH1 0x40 0000047e: MLOAD 0000047f: DUP1 00000480: SWAP2 00000481: SUB 00000482: SWAP1 00000483: REVERT 00000484: JUMPDEST 00000485: PUSH1 0x00 00000487: DUP1 00000488: SLOAD 00000489: SWAP1 0000048a: PUSH2 0x0100 0000048d: EXP 0000048e: SWAP1 0000048f: DIV 00000490: PUSH1 0xff 00000492: AND 00000493: ISZERO 00000494: PUSH2 0x04d2 00000497: JUMPI 00000498: PUSH1 0x40 0000049a: MLOAD 0000049b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000004bc: DUP2 000004bd: MSTORE 000004be: PUSH1 0x04 000004c0: ADD 000004c1: PUSH2 0x04c9 000004c4: SWAP1 000004c5: PUSH2 0x1df0 000004c8: JUMP 000004c9: JUMPDEST 000004ca: PUSH1 0x40 000004cc: MLOAD 000004cd: DUP1 000004ce: SWAP2 000004cf: SUB 000004d0: SWAP1 000004d1: REVERT 000004d2: JUMPDEST 000004d3: PUSH1 0x01 000004d5: PUSH1 0x00 000004d7: DUP1 000004d8: PUSH2 0x0100 000004db: EXP 000004dc: DUP2 000004dd: SLOAD 000004de: DUP2 000004df: PUSH1 0xff 000004e1: MUL 000004e2: NOT 000004e3: AND 000004e4: SWAP1 000004e5: DUP4 000004e6: ISZERO 000004e7: ISZERO 000004e8: MUL 000004e9: OR 000004ea: SWAP1 000004eb: SSTORE 000004ec: POP 000004ed: PUSH1 0x01 000004ef: SWAP1 000004f0: POP 000004f1: SWAP1 000004f2: JUMP 000004f3: JUMPDEST 000004f4: PUSH1 0x00 000004f6: PUSH1 0x01 000004f8: PUSH1 0x00 000004fa: DUP4 000004fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000510: AND 00000511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000526: AND 00000527: DUP2 00000528: MSTORE 00000529: PUSH1 0x20 0000052b: ADD 0000052c: SWAP1 0000052d: DUP2 0000052e: MSTORE 0000052f: PUSH1 0x20 00000531: ADD 00000532: PUSH1 0x00 00000534: KECCAK256 00000535: PUSH1 0x00 00000537: SWAP1 00000538: SLOAD 00000539: SWAP1 0000053a: PUSH2 0x0100 0000053d: EXP 0000053e: SWAP1 0000053f: DIV 00000540: PUSH1 0xff 00000542: AND 00000543: SWAP1 00000544: POP 00000545: SWAP2 00000546: SWAP1 00000547: POP 00000548: JUMP 00000549: JUMPDEST 0000054a: PUSH1 0x00 0000054c: PUSH1 0x04 0000054e: PUSH1 0x00 00000550: DUP4 00000551: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000566: AND 00000567: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000057c: AND 0000057d: DUP2 0000057e: MSTORE 0000057f: PUSH1 0x20 00000581: ADD 00000582: SWAP1 00000583: DUP2 00000584: MSTORE 00000585: PUSH1 0x20 00000587: ADD 00000588: PUSH1 0x00 0000058a: KECCAK256 0000058b: PUSH1 0x00 0000058d: SWAP1 0000058e: SLOAD 0000058f: SWAP1 00000590: PUSH2 0x0100 00000593: EXP 00000594: SWAP1 00000595: DIV 00000596: PUSH1 0xff 00000598: AND 00000599: SWAP1 0000059a: POP 0000059b: SWAP2 0000059c: SWAP1 0000059d: POP 0000059e: JUMP 0000059f: JUMPDEST 000005a0: PUSH1 0x03 000005a2: PUSH1 0x20 000005a4: MSTORE 000005a5: DUP1 000005a6: PUSH1 0x00 000005a8: MSTORE 000005a9: PUSH1 0x40 000005ab: PUSH1 0x00 000005ad: KECCAK256 000005ae: PUSH1 0x00 000005b0: SWAP2 000005b1: POP 000005b2: SWAP1 000005b3: POP 000005b4: SLOAD 000005b5: DUP2 000005b6: JUMP 000005b7: JUMPDEST 000005b8: PUSH1 0x00 000005ba: DUP1 000005bb: PUSH1 0x00 000005bd: SWAP1 000005be: SLOAD 000005bf: SWAP1 000005c0: PUSH2 0x0100 000005c3: EXP 000005c4: SWAP1 000005c5: DIV 000005c6: PUSH1 0xff 000005c8: AND 000005c9: SWAP1 000005ca: POP 000005cb: SWAP1 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH32 0x000000000000000000000000e8083474b35a9e06fe30fa42669d2b95d2defe76 000005ef: DUP2 000005f0: JUMP 000005f1: JUMPDEST 000005f2: PUSH1 0x00 000005f4: PUSH1 0x01 000005f6: PUSH1 0x00 000005f8: CALLER 000005f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000060e: AND 0000060f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000624: AND 00000625: DUP2 00000626: MSTORE 00000627: PUSH1 0x20 00000629: ADD 0000062a: SWAP1 0000062b: DUP2 0000062c: MSTORE 0000062d: PUSH1 0x20 0000062f: ADD 00000630: PUSH1 0x00 00000632: KECCAK256 00000633: PUSH1 0x00 00000635: SWAP1 00000636: SLOAD 00000637: SWAP1 00000638: PUSH2 0x0100 0000063b: EXP 0000063c: SWAP1 0000063d: DIV 0000063e: PUSH1 0xff 00000640: AND 00000641: PUSH2 0x067f 00000644: JUMPI 00000645: PUSH1 0x40 00000647: MLOAD 00000648: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000669: DUP2 0000066a: MSTORE 0000066b: PUSH1 0x04 0000066d: ADD 0000066e: PUSH2 0x0676 00000671: SWAP1 00000672: PUSH2 0x1e5c 00000675: JUMP 00000676: JUMPDEST 00000677: PUSH1 0x40 00000679: MLOAD 0000067a: DUP1 0000067b: SWAP2 0000067c: SUB 0000067d: SWAP1 0000067e: REVERT 0000067f: JUMPDEST 00000680: PUSH1 0x00 00000682: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000697: AND 00000698: DUP3 00000699: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ae: AND 000006af: SUB 000006b0: PUSH2 0x06ee 000006b3: JUMPI 000006b4: PUSH1 0x40 000006b6: MLOAD 000006b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000006d8: DUP2 000006d9: MSTORE 000006da: PUSH1 0x04 000006dc: ADD 000006dd: PUSH2 0x06e5 000006e0: SWAP1 000006e1: PUSH2 0x1ec8 000006e4: JUMP 000006e5: JUMPDEST 000006e6: PUSH1 0x40 000006e8: MLOAD 000006e9: DUP1 000006ea: SWAP2 000006eb: SUB 000006ec: SWAP1 000006ed: REVERT 000006ee: JUMPDEST 000006ef: PUSH1 0x04 000006f1: PUSH1 0x00 000006f3: DUP5 000006f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000709: AND 0000070a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000071f: AND 00000720: DUP2 00000721: MSTORE 00000722: PUSH1 0x20 00000724: ADD 00000725: SWAP1 00000726: DUP2 00000727: MSTORE 00000728: PUSH1 0x20 0000072a: ADD 0000072b: PUSH1 0x00 0000072d: KECCAK256 0000072e: PUSH1 0x00 00000730: SWAP1 00000731: SLOAD 00000732: SWAP1 00000733: PUSH2 0x0100 00000736: EXP 00000737: SWAP1 00000738: DIV 00000739: PUSH1 0xff 0000073b: AND 0000073c: PUSH2 0x077a 0000073f: JUMPI 00000740: PUSH1 0x40 00000742: MLOAD 00000743: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000764: DUP2 00000765: MSTORE 00000766: PUSH1 0x04 00000768: ADD 00000769: PUSH2 0x0771 0000076c: SWAP1 0000076d: PUSH2 0x1f34 00000770: JUMP 00000771: JUMPDEST 00000772: PUSH1 0x40 00000774: MLOAD 00000775: DUP1 00000776: SWAP2 00000777: SUB 00000778: SWAP1 00000779: REVERT 0000077a: JUMPDEST 0000077b: PUSH1 0x00 0000077d: DUP6 0000077e: DUP6 0000077f: SWAP1 00000780: POP 00000781: GT 00000782: PUSH2 0x07c0 00000785: JUMPI 00000786: PUSH1 0x40 00000788: MLOAD 00000789: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007aa: DUP2 000007ab: MSTORE 000007ac: PUSH1 0x04 000007ae: ADD 000007af: PUSH2 0x07b7 000007b2: SWAP1 000007b3: PUSH2 0x1fa0 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH1 0x40 000007ba: MLOAD 000007bb: DUP1 000007bc: SWAP2 000007bd: SUB 000007be: SWAP1 000007bf: REVERT 000007c0: JUMPDEST 000007c1: PUSH1 0x00 000007c3: DUP6 000007c4: DUP6 000007c5: SWAP1 000007c6: POP 000007c7: PUSH8 0xffffffffffffffff 000007d0: DUP2 000007d1: GT 000007d2: ISZERO 000007d3: PUSH2 0x07df 000007d6: JUMPI 000007d7: PUSH2 0x07de 000007da: PUSH2 0x1fc0 000007dd: JUMP 000007de: JUMPDEST 000007df: JUMPDEST 000007e0: PUSH1 0x40 000007e2: MLOAD 000007e3: SWAP1 000007e4: DUP1 000007e5: DUP3 000007e6: MSTORE 000007e7: DUP1 000007e8: PUSH1 0x20 000007ea: MUL 000007eb: PUSH1 0x20 000007ed: ADD 000007ee: DUP3 000007ef: ADD 000007f0: PUSH1 0x40 000007f2: MSTORE 000007f3: DUP1 000007f4: ISZERO 000007f5: PUSH2 0x080d 000007f8: JUMPI 000007f9: DUP2 000007fa: PUSH1 0x20 000007fc: ADD 000007fd: PUSH1 0x20 000007ff: DUP3 00000800: MUL 00000801: DUP1 00000802: CALLDATASIZE 00000803: DUP4 00000804: CALLDATACOPY 00000805: DUP1 00000806: DUP3 00000807: ADD 00000808: SWAP2 00000809: POP 0000080a: POP 0000080b: SWAP1 0000080c: POP 0000080d: JUMPDEST 0000080e: POP 0000080f: SWAP1 00000810: POP 00000811: PUSH1 0x00 00000813: PUSH32 0x000000000000000000000000b974fc41b3853ebfa55d9f278bbaf89e6ed2ce33 00000834: SWAP1 00000835: POP 00000836: PUSH1 0x00 00000838: DUP2 00000839: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000084e: AND 0000084f: PUSH4 0xf481e863 00000854: PUSH1 0x40 00000856: MLOAD 00000857: DUP2 00000858: PUSH4 0xffffffff 0000085d: AND 0000085e: PUSH1 0xe0 00000860: SHL 00000861: DUP2 00000862: MSTORE 00000863: PUSH1 0x04 00000865: ADD 00000866: PUSH1 0x20 00000868: PUSH1 0x40 0000086a: MLOAD 0000086b: DUP1 0000086c: DUP4 0000086d: SUB 0000086e: DUP2 0000086f: PUSH1 0x00 00000871: DUP8 00000872: GAS 00000873: CALL 00000874: ISZERO 00000875: DUP1 00000876: ISZERO 00000877: PUSH2 0x0884 0000087a: JUMPI 0000087b: RETURNDATASIZE 0000087c: PUSH1 0x00 0000087e: DUP1 0000087f: RETURNDATACOPY 00000880: RETURNDATASIZE 00000881: PUSH1 0x00 00000883: REVERT 00000884: JUMPDEST 00000885: POP 00000886: POP 00000887: POP 00000888: POP 00000889: PUSH1 0x40 0000088b: MLOAD 0000088c: RETURNDATASIZE 0000088d: PUSH1 0x1f 0000088f: NOT 00000890: PUSH1 0x1f 00000892: DUP3 00000893: ADD 00000894: AND 00000895: DUP3 00000896: ADD 00000897: DUP1 00000898: PUSH1 0x40 0000089a: MSTORE 0000089b: POP 0000089c: DUP2 0000089d: ADD 0000089e: SWAP1 0000089f: PUSH2 0x08a8 000008a2: SWAP2 000008a3: SWAP1 000008a4: PUSH2 0x2004 000008a7: JUMP 000008a8: JUMPDEST 000008a9: SWAP1 000008aa: POP 000008ab: PUSH1 0x00 000008ad: JUMPDEST 000008ae: DUP9 000008af: DUP9 000008b0: SWAP1 000008b1: POP 000008b2: DUP2 000008b3: LT 000008b4: ISZERO 000008b5: PUSH2 0x0c00 000008b8: JUMPI 000008b9: CALLDATASIZE 000008ba: DUP10 000008bb: DUP10 000008bc: DUP4 000008bd: DUP2 000008be: DUP2 000008bf: LT 000008c0: PUSH2 0x08cc 000008c3: JUMPI 000008c4: PUSH2 0x08cb 000008c7: PUSH2 0x2031 000008ca: JUMP 000008cb: JUMPDEST 000008cc: JUMPDEST 000008cd: SWAP1 000008ce: POP 000008cf: PUSH1 0x40 000008d1: MUL 000008d2: ADD 000008d3: SWAP1 000008d4: POP 000008d5: PUSH1 0x00 000008d7: DUP2 000008d8: PUSH1 0x20 000008da: ADD 000008db: CALLDATALOAD 000008dc: GT 000008dd: PUSH2 0x091b 000008e0: JUMPI 000008e1: PUSH1 0x40 000008e3: MLOAD 000008e4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x04 00000909: ADD 0000090a: PUSH2 0x0912 0000090d: SWAP1 0000090e: PUSH2 0x20d2 00000911: JUMP 00000912: JUMPDEST 00000913: PUSH1 0x40 00000915: MLOAD 00000916: DUP1 00000917: SWAP2 00000918: SUB 00000919: SWAP1 0000091a: REVERT 0000091b: JUMPDEST 0000091c: PUSH1 0x00 0000091e: DUP2 0000091f: PUSH1 0x00 00000921: ADD 00000922: PUSH1 0x20 00000924: DUP2 00000925: ADD 00000926: SWAP1 00000927: PUSH2 0x0930 0000092a: SWAP2 0000092b: SWAP1 0000092c: PUSH2 0x1a80 0000092f: JUMP 00000930: JUMPDEST 00000931: SWAP1 00000932: POP 00000933: PUSH1 0x00 00000935: DUP1 00000936: DUP4 00000937: PUSH1 0x20 00000939: ADD 0000093a: CALLDATALOAD 0000093b: SWAP1 0000093c: POP 0000093d: PUSH1 0x00 0000093f: DUP5 00000940: PUSH1 0x00 00000942: ADD 00000943: PUSH1 0x20 00000945: DUP2 00000946: ADD 00000947: SWAP1 00000948: PUSH2 0x0951 0000094b: SWAP2 0000094c: SWAP1 0000094d: PUSH2 0x1a80 00000950: JUMP 00000951: JUMPDEST 00000952: SWAP1 00000953: POP 00000954: DUP8 00000955: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096a: AND 0000096b: PUSH4 0x55a0c971 00000970: DUP7 00000971: PUSH1 0x00 00000973: ADD 00000974: PUSH1 0x20 00000976: DUP2 00000977: ADD 00000978: SWAP1 00000979: PUSH2 0x0982 0000097c: SWAP2 0000097d: SWAP1 0000097e: PUSH2 0x1a80 00000981: JUMP 00000982: JUMPDEST 00000983: PUSH1 0x40 00000985: MLOAD 00000986: DUP3 00000987: PUSH4 0xffffffff 0000098c: AND 0000098d: PUSH1 0xe0 0000098f: SHL 00000990: DUP2 00000991: MSTORE 00000992: PUSH1 0x04 00000994: ADD 00000995: PUSH2 0x099e 00000998: SWAP2 00000999: SWAP1 0000099a: PUSH2 0x1919 0000099d: JUMP 0000099e: JUMPDEST 0000099f: PUSH1 0x20 000009a1: PUSH1 0x40 000009a3: MLOAD 000009a4: DUP1 000009a5: DUP4 000009a6: SUB 000009a7: DUP2 000009a8: DUP7 000009a9: GAS 000009aa: STATICCALL 000009ab: ISZERO 000009ac: DUP1 000009ad: ISZERO 000009ae: PUSH2 0x09bb 000009b1: JUMPI 000009b2: RETURNDATASIZE 000009b3: PUSH1 0x00 000009b5: DUP1 000009b6: RETURNDATACOPY 000009b7: RETURNDATASIZE 000009b8: PUSH1 0x00 000009ba: REVERT 000009bb: JUMPDEST 000009bc: POP 000009bd: POP 000009be: POP 000009bf: POP 000009c0: PUSH1 0x40 000009c2: MLOAD 000009c3: RETURNDATASIZE 000009c4: PUSH1 0x1f 000009c6: NOT 000009c7: PUSH1 0x1f 000009c9: DUP3 000009ca: ADD 000009cb: AND 000009cc: DUP3 000009cd: ADD 000009ce: DUP1 000009cf: PUSH1 0x40 000009d1: MSTORE 000009d2: POP 000009d3: DUP2 000009d4: ADD 000009d5: SWAP1 000009d6: PUSH2 0x09df 000009d9: SWAP2 000009da: SWAP1 000009db: PUSH2 0x2107 000009de: JUMP 000009df: JUMPDEST 000009e0: ISZERO 000009e1: PUSH2 0x0a60 000009e4: JUMPI 000009e5: PUSH2 0x0a00 000009e8: DUP6 000009e9: PUSH1 0x00 000009eb: ADD 000009ec: PUSH1 0x20 000009ee: DUP2 000009ef: ADD 000009f0: SWAP1 000009f1: PUSH2 0x09fa 000009f4: SWAP2 000009f5: SWAP1 000009f6: PUSH2 0x1a80 000009f9: JUMP 000009fa: JUMPDEST 000009fb: DUP6 000009fc: PUSH2 0x0e7f 000009ff: JUMP 00000a00: JUMPDEST 00000a01: SWAP3 00000a02: POP 00000a03: DUP3 00000a04: DUP6 00000a05: PUSH1 0x20 00000a07: ADD 00000a08: CALLDATALOAD 00000a09: LT 00000a0a: ISZERO 00000a0b: PUSH2 0x0a49 00000a0e: JUMPI 00000a0f: PUSH1 0x40 00000a11: MLOAD 00000a12: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a33: DUP2 00000a34: MSTORE 00000a35: PUSH1 0x04 00000a37: ADD 00000a38: PUSH2 0x0a40 00000a3b: SWAP1 00000a3c: PUSH2 0x2180 00000a3f: JUMP 00000a40: JUMPDEST 00000a41: PUSH1 0x40 00000a43: MLOAD 00000a44: DUP1 00000a45: SWAP2 00000a46: SUB 00000a47: SWAP1 00000a48: REVERT 00000a49: JUMPDEST 00000a4a: DUP3 00000a4b: DUP6 00000a4c: PUSH1 0x20 00000a4e: ADD 00000a4f: CALLDATALOAD 00000a50: PUSH2 0x0a59 00000a53: SWAP2 00000a54: SWAP1 00000a55: PUSH2 0x21cf 00000a58: JUMP 00000a59: JUMPDEST 00000a5a: SWAP2 00000a5b: POP 00000a5c: PUSH2 0x0b3b 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: DUP8 00000a62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a77: AND 00000a78: PUSH4 0x3c0ff5cf 00000a7d: DUP13 00000a7e: PUSH1 0x40 00000a80: MLOAD 00000a81: DUP3 00000a82: PUSH4 0xffffffff 00000a87: AND 00000a88: PUSH1 0xe0 00000a8a: SHL 00000a8b: DUP2 00000a8c: MSTORE 00000a8d: PUSH1 0x04 00000a8f: ADD 00000a90: PUSH2 0x0a99 00000a93: SWAP2 00000a94: SWAP1 00000a95: PUSH2 0x1919 00000a98: JUMP 00000a99: JUMPDEST 00000a9a: PUSH1 0x20 00000a9c: PUSH1 0x40 00000a9e: MLOAD 00000a9f: DUP1 00000aa0: DUP4 00000aa1: SUB 00000aa2: DUP2 00000aa3: DUP7 00000aa4: GAS 00000aa5: STATICCALL 00000aa6: ISZERO 00000aa7: DUP1 00000aa8: ISZERO 00000aa9: PUSH2 0x0ab6 00000aac: JUMPI 00000aad: RETURNDATASIZE 00000aae: PUSH1 0x00 00000ab0: DUP1 00000ab1: RETURNDATACOPY 00000ab2: RETURNDATASIZE 00000ab3: PUSH1 0x00 00000ab5: REVERT 00000ab6: JUMPDEST 00000ab7: POP 00000ab8: POP 00000ab9: POP 00000aba: POP 00000abb: PUSH1 0x40 00000abd: MLOAD 00000abe: RETURNDATASIZE 00000abf: PUSH1 0x1f 00000ac1: NOT 00000ac2: PUSH1 0x1f 00000ac4: DUP3 00000ac5: ADD 00000ac6: AND 00000ac7: DUP3 00000ac8: ADD 00000ac9: DUP1 00000aca: PUSH1 0x40 00000acc: MSTORE 00000acd: POP 00000ace: DUP2 00000acf: ADD 00000ad0: SWAP1 00000ad1: PUSH2 0x0ada 00000ad4: SWAP2 00000ad5: SWAP1 00000ad6: PUSH2 0x2107 00000ad9: JUMP 00000ada: JUMPDEST 00000adb: PUSH2 0x0b19 00000ade: JUMPI 00000adf: PUSH1 0x40 00000ae1: MLOAD 00000ae2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000b03: DUP2 00000b04: MSTORE 00000b05: PUSH1 0x04 00000b07: ADD 00000b08: PUSH2 0x0b10 00000b0b: SWAP1 00000b0c: PUSH2 0x224f 00000b0f: JUMP 00000b10: JUMPDEST 00000b11: PUSH1 0x40 00000b13: MLOAD 00000b14: DUP1 00000b15: SWAP2 00000b16: SUB 00000b17: SWAP1 00000b18: REVERT 00000b19: JUMPDEST 00000b1a: PUSH2 0x0b35 00000b1d: DUP6 00000b1e: PUSH1 0x00 00000b20: ADD 00000b21: PUSH1 0x20 00000b23: DUP2 00000b24: ADD 00000b25: SWAP1 00000b26: PUSH2 0x0b2f 00000b29: SWAP2 00000b2a: SWAP1 00000b2b: PUSH2 0x1a80 00000b2e: JUMP 00000b2f: JUMPDEST 00000b30: DUP13 00000b31: PUSH2 0x0e7f 00000b34: JUMP 00000b35: JUMPDEST 00000b36: SWAP3 00000b37: POP 00000b38: DUP11 00000b39: SWAP1 00000b3a: POP 00000b3b: JUMPDEST 00000b3c: PUSH1 0x00 00000b3e: DUP3 00000b3f: GT 00000b40: ISZERO 00000b41: PUSH2 0x0b63 00000b44: JUMPI 00000b45: PUSH2 0x0b62 00000b48: DUP16 00000b49: DUP7 00000b4a: PUSH1 0x00 00000b4c: ADD 00000b4d: PUSH1 0x20 00000b4f: DUP2 00000b50: ADD 00000b51: SWAP1 00000b52: PUSH2 0x0b5b 00000b55: SWAP2 00000b56: SWAP1 00000b57: PUSH2 0x1a80 00000b5a: JUMP 00000b5b: JUMPDEST 00000b5c: DUP15 00000b5d: DUP6 00000b5e: PUSH2 0x0f77 00000b61: JUMP 00000b62: JUMPDEST 00000b63: JUMPDEST 00000b64: DUP3 00000b65: DUP10 00000b66: DUP8 00000b67: DUP2 00000b68: MLOAD 00000b69: DUP2 00000b6a: LT 00000b6b: PUSH2 0x0b77 00000b6e: JUMPI 00000b6f: PUSH2 0x0b76 00000b72: PUSH2 0x2031 00000b75: JUMP 00000b76: JUMPDEST 00000b77: JUMPDEST 00000b78: PUSH1 0x20 00000b7a: MUL 00000b7b: PUSH1 0x20 00000b7d: ADD 00000b7e: ADD 00000b7f: DUP2 00000b80: DUP2 00000b81: MSTORE 00000b82: POP 00000b83: POP 00000b84: PUSH1 0x00 00000b86: DUP4 00000b87: GT 00000b88: ISZERO 00000b89: PUSH2 0x0bf0 00000b8c: JUMPI 00000b8d: PUSH1 0x00 00000b8f: PUSH1 0x03 00000b91: PUSH1 0x00 00000b93: DUP8 00000b94: PUSH1 0x00 00000b96: ADD 00000b97: PUSH1 0x20 00000b99: DUP2 00000b9a: ADD 00000b9b: SWAP1 00000b9c: PUSH2 0x0ba5 00000b9f: SWAP2 00000ba0: SWAP1 00000ba1: PUSH2 0x1a80 00000ba4: JUMP 00000ba5: JUMPDEST 00000ba6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bbb: AND 00000bbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bd1: AND 00000bd2: DUP2 00000bd3: MSTORE 00000bd4: PUSH1 0x20 00000bd6: ADD 00000bd7: SWAP1 00000bd8: DUP2 00000bd9: MSTORE 00000bda: PUSH1 0x20 00000bdc: ADD 00000bdd: PUSH1 0x00 00000bdf: KECCAK256 00000be0: DUP2 00000be1: SWAP1 00000be2: SSTORE 00000be3: POP 00000be4: PUSH2 0x0bef 00000be7: DUP16 00000be8: DUP3 00000be9: DUP10 00000bea: DUP7 00000beb: PUSH2 0x0f77 00000bee: JUMP 00000bef: JUMPDEST 00000bf0: JUMPDEST 00000bf1: DUP6 00000bf2: PUSH1 0x01 00000bf4: ADD 00000bf5: SWAP6 00000bf6: POP 00000bf7: POP 00000bf8: POP 00000bf9: POP 00000bfa: POP 00000bfb: POP 00000bfc: PUSH2 0x08ad 00000bff: JUMP 00000c00: JUMPDEST 00000c01: POP 00000c02: DUP6 00000c03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c18: AND 00000c19: CALLER 00000c1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c2f: AND 00000c30: PUSH32 0xa7caad6d7d431ef4211dc76d495956dcedd4a2a76108bd133df06a03f28a292e 00000c51: DUP11 00000c52: DUP11 00000c53: DUP8 00000c54: DUP7 00000c55: DUP12 00000c56: PUSH1 0x40 00000c58: MLOAD 00000c59: PUSH2 0x0c66 00000c5c: SWAP6 00000c5d: SWAP5 00000c5e: SWAP4 00000c5f: SWAP3 00000c60: SWAP2 00000c61: SWAP1 00000c62: PUSH2 0x2442 00000c65: JUMP 00000c66: JUMPDEST 00000c67: PUSH1 0x40 00000c69: MLOAD 00000c6a: DUP1 00000c6b: SWAP2 00000c6c: SUB 00000c6d: SWAP1 00000c6e: LOG3 00000c6f: PUSH1 0x01 00000c71: SWAP4 00000c72: POP 00000c73: POP 00000c74: POP 00000c75: POP 00000c76: SWAP6 00000c77: SWAP5 00000c78: POP 00000c79: POP 00000c7a: POP 00000c7b: POP 00000c7c: POP 00000c7d: JUMP 00000c7e: JUMPDEST 00000c7f: PUSH1 0x01 00000c81: DUP2 00000c82: JUMP 00000c83: JUMPDEST 00000c84: PUSH1 0x00 00000c86: DUP5 00000c87: PUSH1 0x00 00000c89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c9e: AND 00000c9f: DUP2 00000ca0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cb5: AND 00000cb6: SUB 00000cb7: PUSH2 0x0cf5 00000cba: JUMPI 00000cbb: PUSH1 0x40 00000cbd: MLOAD 00000cbe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000cdf: DUP2 00000ce0: MSTORE 00000ce1: PUSH1 0x04 00000ce3: ADD 00000ce4: PUSH2 0x0cec 00000ce7: SWAP1 00000ce8: PUSH2 0x2509 00000ceb: JUMP 00000cec: JUMPDEST 00000ced: PUSH1 0x40 00000cef: MLOAD 00000cf0: DUP1 00000cf1: SWAP2 00000cf2: SUB 00000cf3: SWAP1 00000cf4: REVERT 00000cf5: JUMPDEST 00000cf6: PUSH1 0x00 00000cf8: DUP1 00000cf9: SLOAD 00000cfa: SWAP1 00000cfb: PUSH2 0x0100 00000cfe: EXP 00000cff: SWAP1 00000d00: DIV 00000d01: PUSH1 0xff 00000d03: AND 00000d04: ISZERO 00000d05: PUSH2 0x0d43 00000d08: JUMPI 00000d09: PUSH1 0x40 00000d0b: MLOAD 00000d0c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d2d: DUP2 00000d2e: MSTORE 00000d2f: PUSH1 0x04 00000d31: ADD 00000d32: PUSH2 0x0d3a 00000d35: SWAP1 00000d36: PUSH2 0x2575 00000d39: JUMP 00000d3a: JUMPDEST 00000d3b: PUSH1 0x40 00000d3d: MLOAD 00000d3e: DUP1 00000d3f: SWAP2 00000d40: SUB 00000d41: SWAP1 00000d42: REVERT 00000d43: JUMPDEST 00000d44: PUSH1 0x00 00000d46: DUP6 00000d47: GT 00000d48: PUSH2 0x0d86 00000d4b: JUMPI 00000d4c: PUSH1 0x40 00000d4e: MLOAD 00000d4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d70: DUP2 00000d71: MSTORE 00000d72: PUSH1 0x04 00000d74: ADD 00000d75: PUSH2 0x0d7d 00000d78: SWAP1 00000d79: PUSH2 0x25e1 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: PUSH1 0x40 00000d80: MLOAD 00000d81: DUP1 00000d82: SWAP2 00000d83: SUB 00000d84: SWAP1 00000d85: REVERT 00000d86: JUMPDEST 00000d87: PUSH1 0x00 00000d89: PUSH2 0x0d93 00000d8c: DUP8 00000d8d: ADDRESS 00000d8e: DUP9 00000d8f: PUSH2 0x12ee 00000d92: JUMP 00000d93: JUMPDEST 00000d94: SWAP1 00000d95: POP 00000d96: PUSH1 0x01 00000d98: PUSH1 0x03 00000d9a: PUSH1 0x00 00000d9c: DUP10 00000d9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000db2: AND 00000db3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dc8: AND 00000dc9: DUP2 00000dca: MSTORE 00000dcb: PUSH1 0x20 00000dcd: ADD 00000dce: SWAP1 00000dcf: DUP2 00000dd0: MSTORE 00000dd1: PUSH1 0x20 00000dd3: ADD 00000dd4: PUSH1 0x00 00000dd6: KECCAK256 00000dd7: PUSH1 0x00 00000dd9: DUP3 00000dda: DUP3 00000ddb: SLOAD 00000ddc: PUSH2 0x0de5 00000ddf: SWAP2 00000de0: SWAP1 00000de1: PUSH2 0x2601 00000de4: JUMP 00000de5: JUMPDEST 00000de6: SWAP3 00000de7: POP 00000de8: POP 00000de9: DUP2 00000dea: SWAP1 00000deb: SSTORE 00000dec: POP 00000ded: DUP7 00000dee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e03: AND 00000e04: ADDRESS 00000e05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e1a: AND 00000e1b: CALLER 00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e31: AND 00000e32: PUSH32 0xefbf9e71b8b9415ed6723cea57670470f2fa0e9cc6c4aebe4c25d90e4c688277 00000e53: DUP5 00000e54: DUP10 00000e55: DUP10 00000e56: PUSH1 0x40 00000e58: MLOAD 00000e59: PUSH2 0x0e64 00000e5c: SWAP4 00000e5d: SWAP3 00000e5e: SWAP2 00000e5f: SWAP1 00000e60: PUSH2 0x2682 00000e63: JUMP 00000e64: JUMPDEST 00000e65: PUSH1 0x40 00000e67: MLOAD 00000e68: DUP1 00000e69: SWAP2 00000e6a: SUB 00000e6b: SWAP1 00000e6c: LOG4 00000e6d: PUSH1 0x01 00000e6f: SWAP3 00000e70: POP 00000e71: POP 00000e72: POP 00000e73: SWAP5 00000e74: SWAP4 00000e75: POP 00000e76: POP 00000e77: POP 00000e78: POP 00000e79: JUMP 00000e7a: JUMPDEST 00000e7b: PUSH1 0x02 00000e7d: DUP2 00000e7e: JUMP 00000e7f: JUMPDEST 00000e80: PUSH1 0x00 00000e82: DUP1 00000e83: PUSH1 0x03 00000e85: PUSH1 0x00 00000e87: DUP6 00000e88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e9d: AND 00000e9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eb3: AND 00000eb4: DUP2 00000eb5: MSTORE 00000eb6: PUSH1 0x20 00000eb8: ADD 00000eb9: SWAP1 00000eba: DUP2 00000ebb: MSTORE 00000ebc: PUSH1 0x20 00000ebe: ADD 00000ebf: PUSH1 0x00 00000ec1: KECCAK256 00000ec2: SLOAD 00000ec3: SWAP1 00000ec4: POP 00000ec5: PUSH1 0x00 00000ec7: DUP2 00000ec8: SUB 00000ec9: PUSH2 0x0ed5 00000ecc: JUMPI 00000ecd: DUP1 00000ece: SWAP2 00000ecf: POP 00000ed0: POP 00000ed1: PUSH2 0x0f71 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: PUSH1 0x00 00000ed8: DUP4 00000ed9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eee: AND 00000eef: PUSH4 0x313ce567 00000ef4: PUSH1 0x40 00000ef6: MLOAD 00000ef7: DUP2 00000ef8: PUSH4 0xffffffff 00000efd: AND 00000efe: PUSH1 0xe0 00000f00: SHL 00000f01: DUP2 00000f02: MSTORE 00000f03: PUSH1 0x04 00000f05: ADD 00000f06: PUSH1 0x20 00000f08: PUSH1 0x40 00000f0a: MLOAD 00000f0b: DUP1 00000f0c: DUP4 00000f0d: SUB 00000f0e: DUP2 00000f0f: DUP7 00000f10: GAS 00000f11: STATICCALL 00000f12: ISZERO 00000f13: DUP1 00000f14: ISZERO 00000f15: PUSH2 0x0f22 00000f18: JUMPI 00000f19: RETURNDATASIZE 00000f1a: PUSH1 0x00 00000f1c: DUP1 00000f1d: RETURNDATACOPY 00000f1e: RETURNDATASIZE 00000f1f: PUSH1 0x00 00000f21: REVERT 00000f22: JUMPDEST 00000f23: POP 00000f24: POP 00000f25: POP 00000f26: POP 00000f27: PUSH1 0x40 00000f29: MLOAD 00000f2a: RETURNDATASIZE 00000f2b: PUSH1 0x1f 00000f2d: NOT 00000f2e: PUSH1 0x1f 00000f30: DUP3 00000f31: ADD 00000f32: AND 00000f33: DUP3 00000f34: ADD 00000f35: DUP1 00000f36: PUSH1 0x40 00000f38: MSTORE 00000f39: POP 00000f3a: DUP2 00000f3b: ADD 00000f3c: SWAP1 00000f3d: PUSH2 0x0f46 00000f40: SWAP2 00000f41: SWAP1 00000f42: PUSH2 0x26c9 00000f45: JUMP 00000f46: JUMPDEST 00000f47: SWAP1 00000f48: POP 00000f49: DUP1 00000f4a: PUSH1 0x0a 00000f4c: PUSH2 0x0f55 00000f4f: SWAP2 00000f50: SWAP1 00000f51: PUSH2 0x2829 00000f54: JUMP 00000f55: JUMPDEST 00000f56: PUSH1 0x02 00000f58: DUP4 00000f59: PUSH2 0x0f62 00000f5c: SWAP2 00000f5d: SWAP1 00000f5e: PUSH2 0x2874 00000f61: JUMP 00000f62: JUMPDEST 00000f63: PUSH2 0x0f6c 00000f66: SWAP2 00000f67: SWAP1 00000f68: PUSH2 0x2874 00000f6b: JUMP 00000f6c: JUMPDEST 00000f6d: SWAP3 00000f6e: POP 00000f6f: POP 00000f70: POP 00000f71: JUMPDEST 00000f72: SWAP3 00000f73: SWAP2 00000f74: POP 00000f75: POP 00000f76: JUMP 00000f77: JUMPDEST 00000f78: DUP1 00000f79: PUSH1 0x00 00000f7b: DUP2 00000f7c: GT 00000f7d: PUSH2 0x0fbb 00000f80: JUMPI 00000f81: PUSH1 0x40 00000f83: MLOAD 00000f84: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fa5: DUP2 00000fa6: MSTORE 00000fa7: PUSH1 0x04 00000fa9: ADD 00000faa: PUSH2 0x0fb2 00000fad: SWAP1 00000fae: PUSH2 0x2902 00000fb1: JUMP 00000fb2: JUMPDEST 00000fb3: PUSH1 0x40 00000fb5: MLOAD 00000fb6: DUP1 00000fb7: SWAP2 00000fb8: SUB 00000fb9: SWAP1 00000fba: REVERT 00000fbb: JUMPDEST 00000fbc: DUP4 00000fbd: PUSH1 0x00 00000fbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fd4: AND 00000fd5: DUP2 00000fd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000feb: AND 00000fec: SUB 00000fed: PUSH2 0x102b 00000ff0: JUMPI 00000ff1: PUSH1 0x40 00000ff3: MLOAD 00000ff4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001015: DUP2 00001016: MSTORE 00001017: PUSH1 0x04 00001019: ADD 0000101a: PUSH2 0x1022 0000101d: SWAP1 0000101e: PUSH2 0x2509 00001021: JUMP 00001022: JUMPDEST 00001023: PUSH1 0x40 00001025: MLOAD 00001026: DUP1 00001027: SWAP2 00001028: SUB 00001029: SWAP1 0000102a: REVERT 0000102b: JUMPDEST 0000102c: DUP4 0000102d: PUSH1 0x00 0000102f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001044: AND 00001045: DUP2 00001046: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000105b: AND 0000105c: SUB 0000105d: PUSH2 0x109b 00001060: JUMPI 00001061: PUSH1 0x40 00001063: MLOAD 00001064: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001085: DUP2 00001086: MSTORE 00001087: PUSH1 0x04 00001089: ADD 0000108a: PUSH2 0x1092 0000108d: SWAP1 0000108e: PUSH2 0x2994 00001091: JUMP 00001092: JUMPDEST 00001093: PUSH1 0x40 00001095: MLOAD 00001096: DUP1 00001097: SWAP2 00001098: SUB 00001099: SWAP1 0000109a: REVERT 0000109b: JUMPDEST 0000109c: PUSH1 0x00 0000109e: DUP7 0000109f: SWAP1 000010a0: POP 000010a1: PUSH1 0x00 000010a3: DUP2 000010a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010b9: AND 000010ba: PUSH4 0x70a08231 000010bf: ADDRESS 000010c0: PUSH1 0x40 000010c2: MLOAD 000010c3: DUP3 000010c4: PUSH4 0xffffffff 000010c9: AND 000010ca: PUSH1 0xe0 000010cc: SHL 000010cd: DUP2 000010ce: MSTORE 000010cf: PUSH1 0x04 000010d1: ADD 000010d2: PUSH2 0x10db 000010d5: SWAP2 000010d6: SWAP1 000010d7: PUSH2 0x1919 000010da: JUMP 000010db: JUMPDEST 000010dc: PUSH1 0x20 000010de: PUSH1 0x40 000010e0: MLOAD 000010e1: DUP1 000010e2: DUP4 000010e3: SUB 000010e4: DUP2 000010e5: DUP7 000010e6: GAS 000010e7: STATICCALL 000010e8: ISZERO 000010e9: DUP1 000010ea: ISZERO 000010eb: PUSH2 0x10f8 000010ee: JUMPI 000010ef: RETURNDATASIZE 000010f0: PUSH1 0x00 000010f2: DUP1 000010f3: RETURNDATACOPY 000010f4: RETURNDATASIZE 000010f5: PUSH1 0x00 000010f7: REVERT 000010f8: JUMPDEST 000010f9: POP 000010fa: POP 000010fb: POP 000010fc: POP 000010fd: PUSH1 0x40 000010ff: MLOAD 00001100: RETURNDATASIZE 00001101: PUSH1 0x1f 00001103: NOT 00001104: PUSH1 0x1f 00001106: DUP3 00001107: ADD 00001108: AND 00001109: DUP3 0000110a: ADD 0000110b: DUP1 0000110c: PUSH1 0x40 0000110e: MSTORE 0000110f: POP 00001110: DUP2 00001111: ADD 00001112: SWAP1 00001113: PUSH2 0x111c 00001116: SWAP2 00001117: SWAP1 00001118: PUSH2 0x26c9 0000111b: JUMP 0000111c: JUMPDEST 0000111d: SWAP1 0000111e: POP 0000111f: DUP6 00001120: DUP2 00001121: LT 00001122: ISZERO 00001123: PUSH2 0x1161 00001126: JUMPI 00001127: PUSH1 0x40 00001129: MLOAD 0000112a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000114b: DUP2 0000114c: MSTORE 0000114d: PUSH1 0x04 0000114f: ADD 00001150: PUSH2 0x1158 00001153: SWAP1 00001154: PUSH2 0x2a00 00001157: JUMP 00001158: JUMPDEST 00001159: PUSH1 0x40 0000115b: MLOAD 0000115c: DUP1 0000115d: SWAP2 0000115e: SUB 0000115f: SWAP1 00001160: REVERT 00001161: JUMPDEST 00001162: DUP9 00001163: ISZERO 00001164: PUSH2 0x1197 00001167: JUMPI 00001168: PUSH2 0x1192 0000116b: DUP8 0000116c: DUP8 0000116d: DUP5 0000116e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001183: AND 00001184: PUSH2 0x1535 00001187: SWAP1 00001188: SWAP3 00001189: SWAP2 0000118a: SWAP1 0000118b: PUSH4 0xffffffff 00001190: AND 00001191: JUMP 00001192: JUMPDEST 00001193: PUSH2 0x12e3 00001196: JUMP 00001197: JUMPDEST 00001198: DUP2 00001199: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011ae: AND 000011af: PUSH4 0xa9059cbb 000011b4: DUP9 000011b5: DUP9 000011b6: PUSH1 0x40 000011b8: MLOAD 000011b9: DUP4 000011ba: PUSH4 0xffffffff 000011bf: AND 000011c0: PUSH1 0xe0 000011c2: SHL 000011c3: DUP2 000011c4: MSTORE 000011c5: PUSH1 0x04 000011c7: ADD 000011c8: PUSH2 0x11d2 000011cb: SWAP3 000011cc: SWAP2 000011cd: SWAP1 000011ce: PUSH2 0x2a20 000011d1: JUMP 000011d2: JUMPDEST 000011d3: PUSH1 0x20 000011d5: PUSH1 0x40 000011d7: MLOAD 000011d8: DUP1 000011d9: DUP4 000011da: SUB 000011db: DUP2 000011dc: PUSH1 0x00 000011de: DUP8 000011df: GAS 000011e0: CALL 000011e1: ISZERO 000011e2: DUP1 000011e3: ISZERO 000011e4: PUSH2 0x11f1 000011e7: JUMPI 000011e8: RETURNDATASIZE 000011e9: PUSH1 0x00 000011eb: DUP1 000011ec: RETURNDATACOPY 000011ed: RETURNDATASIZE 000011ee: PUSH1 0x00 000011f0: REVERT 000011f1: JUMPDEST 000011f2: POP 000011f3: POP 000011f4: POP 000011f5: POP 000011f6: PUSH1 0x40 000011f8: MLOAD 000011f9: RETURNDATASIZE 000011fa: PUSH1 0x1f 000011fc: NOT 000011fd: PUSH1 0x1f 000011ff: DUP3 00001200: ADD 00001201: AND 00001202: DUP3 00001203: ADD 00001204: DUP1 00001205: PUSH1 0x40 00001207: MSTORE 00001208: POP 00001209: DUP2 0000120a: ADD 0000120b: SWAP1 0000120c: PUSH2 0x1215 0000120f: SWAP2 00001210: SWAP1 00001211: PUSH2 0x2107 00001214: JUMP 00001215: JUMPDEST 00001216: POP 00001217: PUSH1 0x00 00001219: DUP3 0000121a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000122f: AND 00001230: PUSH4 0x70a08231 00001235: ADDRESS 00001236: PUSH1 0x40 00001238: MLOAD 00001239: DUP3 0000123a: PUSH4 0xffffffff 0000123f: AND 00001240: PUSH1 0xe0 00001242: SHL 00001243: DUP2 00001244: MSTORE 00001245: PUSH1 0x04 00001247: ADD 00001248: PUSH2 0x1251 0000124b: SWAP2 0000124c: SWAP1 0000124d: PUSH2 0x1919 00001250: JUMP 00001251: JUMPDEST 00001252: PUSH1 0x20 00001254: PUSH1 0x40 00001256: MLOAD 00001257: DUP1 00001258: DUP4 00001259: SUB 0000125a: DUP2 0000125b: DUP7 0000125c: GAS 0000125d: STATICCALL 0000125e: ISZERO 0000125f: DUP1 00001260: ISZERO 00001261: PUSH2 0x126e 00001264: JUMPI 00001265: RETURNDATASIZE 00001266: PUSH1 0x00 00001268: DUP1 00001269: RETURNDATACOPY 0000126a: RETURNDATASIZE 0000126b: PUSH1 0x00 0000126d: REVERT 0000126e: JUMPDEST 0000126f: POP 00001270: POP 00001271: POP 00001272: POP 00001273: PUSH1 0x40 00001275: MLOAD 00001276: RETURNDATASIZE 00001277: PUSH1 0x1f 00001279: NOT 0000127a: PUSH1 0x1f 0000127c: DUP3 0000127d: ADD 0000127e: AND 0000127f: DUP3 00001280: ADD 00001281: DUP1 00001282: PUSH1 0x40 00001284: MSTORE 00001285: POP 00001286: DUP2 00001287: ADD 00001288: SWAP1 00001289: PUSH2 0x1292 0000128c: SWAP2 0000128d: SWAP1 0000128e: PUSH2 0x26c9 00001291: JUMP 00001292: JUMPDEST 00001293: SWAP1 00001294: POP 00001295: DUP7 00001296: DUP2 00001297: DUP4 00001298: PUSH2 0x12a1 0000129b: SWAP2 0000129c: SWAP1 0000129d: PUSH2 0x21cf 000012a0: JUMP 000012a1: JUMPDEST 000012a2: EQ 000012a3: PUSH2 0x12e1 000012a6: JUMPI 000012a7: PUSH1 0x40 000012a9: MLOAD 000012aa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000012cb: DUP2 000012cc: MSTORE 000012cd: PUSH1 0x04 000012cf: ADD 000012d0: PUSH2 0x12d8 000012d3: SWAP1 000012d4: PUSH2 0x2abb 000012d7: JUMP 000012d8: JUMPDEST 000012d9: PUSH1 0x40 000012db: MLOAD 000012dc: DUP1 000012dd: SWAP2 000012de: SUB 000012df: SWAP1 000012e0: REVERT 000012e1: JUMPDEST 000012e2: POP 000012e3: JUMPDEST 000012e4: POP 000012e5: POP 000012e6: POP 000012e7: POP 000012e8: POP 000012e9: POP 000012ea: POP 000012eb: POP 000012ec: POP 000012ed: JUMP 000012ee: JUMPDEST 000012ef: PUSH1 0x00 000012f1: DUP4 000012f2: PUSH1 0x00 000012f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001309: AND 0000130a: DUP2 0000130b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001320: AND 00001321: SUB 00001322: PUSH2 0x1360 00001325: JUMPI 00001326: PUSH1 0x40 00001328: MLOAD 00001329: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000134a: DUP2 0000134b: MSTORE 0000134c: PUSH1 0x04 0000134e: ADD 0000134f: PUSH2 0x1357 00001352: SWAP1 00001353: PUSH2 0x2509 00001356: JUMP 00001357: JUMPDEST 00001358: PUSH1 0x40 0000135a: MLOAD 0000135b: DUP1 0000135c: SWAP2 0000135d: SUB 0000135e: SWAP1 0000135f: REVERT 00001360: JUMPDEST 00001361: DUP3 00001362: PUSH1 0x00 00001364: DUP2 00001365: GT 00001366: PUSH2 0x13a4 00001369: JUMPI 0000136a: PUSH1 0x40 0000136c: MLOAD 0000136d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000138e: DUP2 0000138f: MSTORE 00001390: PUSH1 0x04 00001392: ADD 00001393: PUSH2 0x139b 00001396: SWAP1 00001397: PUSH2 0x2902 0000139a: JUMP 0000139b: JUMPDEST 0000139c: PUSH1 0x40 0000139e: MLOAD 0000139f: DUP1 000013a0: SWAP2 000013a1: SUB 000013a2: SWAP1 000013a3: REVERT 000013a4: JUMPDEST 000013a5: PUSH1 0x00 000013a7: DUP7 000013a8: SWAP1 000013a9: POP 000013aa: PUSH1 0x00 000013ac: DUP2 000013ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013c2: AND 000013c3: PUSH4 0x70a08231 000013c8: DUP9 000013c9: PUSH1 0x40 000013cb: MLOAD 000013cc: DUP3 000013cd: PUSH4 0xffffffff 000013d2: AND 000013d3: PUSH1 0xe0 000013d5: SHL 000013d6: DUP2 000013d7: MSTORE 000013d8: PUSH1 0x04 000013da: ADD 000013db: PUSH2 0x13e4 000013de: SWAP2 000013df: SWAP1 000013e0: PUSH2 0x1919 000013e3: JUMP 000013e4: JUMPDEST 000013e5: PUSH1 0x20 000013e7: PUSH1 0x40 000013e9: MLOAD 000013ea: DUP1 000013eb: DUP4 000013ec: SUB 000013ed: DUP2 000013ee: DUP7 000013ef: GAS 000013f0: STATICCALL 000013f1: ISZERO 000013f2: DUP1 000013f3: ISZERO 000013f4: PUSH2 0x1401 000013f7: JUMPI 000013f8: RETURNDATASIZE 000013f9: PUSH1 0x00 000013fb: DUP1 000013fc: RETURNDATACOPY 000013fd: RETURNDATASIZE 000013fe: PUSH1 0x00 00001400: REVERT 00001401: JUMPDEST 00001402: POP 00001403: POP 00001404: POP 00001405: POP 00001406: PUSH1 0x40 00001408: MLOAD 00001409: RETURNDATASIZE 0000140a: PUSH1 0x1f 0000140c: NOT 0000140d: PUSH1 0x1f 0000140f: DUP3 00001410: ADD 00001411: AND 00001412: DUP3 00001413: ADD 00001414: DUP1 00001415: PUSH1 0x40 00001417: MSTORE 00001418: POP 00001419: DUP2 0000141a: ADD 0000141b: SWAP1 0000141c: PUSH2 0x1425 0000141f: SWAP2 00001420: SWAP1 00001421: PUSH2 0x26c9 00001424: JUMP 00001425: JUMPDEST 00001426: SWAP1 00001427: POP 00001428: PUSH2 0x1454 0000142b: CALLER 0000142c: DUP9 0000142d: DUP9 0000142e: DUP6 0000142f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001444: AND 00001445: PUSH2 0x15bb 00001448: SWAP1 00001449: SWAP4 0000144a: SWAP3 0000144b: SWAP2 0000144c: SWAP1 0000144d: PUSH4 0xffffffff 00001452: AND 00001453: JUMP 00001454: JUMPDEST 00001455: PUSH1 0x00 00001457: DUP3 00001458: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000146d: AND 0000146e: PUSH4 0x70a08231 00001473: DUP10 00001474: PUSH1 0x40 00001476: MLOAD 00001477: DUP3 00001478: PUSH4 0xffffffff 0000147d: AND 0000147e: PUSH1 0xe0 00001480: SHL 00001481: DUP2 00001482: MSTORE 00001483: PUSH1 0x04 00001485: ADD 00001486: PUSH2 0x148f 00001489: SWAP2 0000148a: SWAP1 0000148b: PUSH2 0x1919 0000148e: JUMP 0000148f: JUMPDEST 00001490: PUSH1 0x20 00001492: PUSH1 0x40 00001494: MLOAD 00001495: DUP1 00001496: DUP4 00001497: SUB 00001498: DUP2 00001499: DUP7 0000149a: GAS 0000149b: STATICCALL 0000149c: ISZERO 0000149d: DUP1 0000149e: ISZERO 0000149f: PUSH2 0x14ac 000014a2: JUMPI 000014a3: RETURNDATASIZE 000014a4: PUSH1 0x00 000014a6: DUP1 000014a7: RETURNDATACOPY 000014a8: RETURNDATASIZE 000014a9: PUSH1 0x00 000014ab: REVERT 000014ac: JUMPDEST 000014ad: POP 000014ae: POP 000014af: POP 000014b0: POP 000014b1: PUSH1 0x40 000014b3: MLOAD 000014b4: RETURNDATASIZE 000014b5: PUSH1 0x1f 000014b7: NOT 000014b8: PUSH1 0x1f 000014ba: DUP3 000014bb: ADD 000014bc: AND 000014bd: DUP3 000014be: ADD 000014bf: DUP1 000014c0: PUSH1 0x40 000014c2: MSTORE 000014c3: POP 000014c4: DUP2 000014c5: ADD 000014c6: SWAP1 000014c7: PUSH2 0x14d0 000014ca: SWAP2 000014cb: SWAP1 000014cc: PUSH2 0x26c9 000014cf: JUMP 000014d0: JUMPDEST 000014d1: SWAP1 000014d2: POP 000014d3: PUSH1 0x00 000014d5: DUP3 000014d6: DUP3 000014d7: PUSH2 0x14e0 000014da: SWAP2 000014db: SWAP1 000014dc: PUSH2 0x21cf 000014df: JUMP 000014e0: JUMPDEST 000014e1: SWAP1 000014e2: POP 000014e3: DUP8 000014e4: DUP2 000014e5: GT 000014e6: ISZERO 000014e7: PUSH2 0x1525 000014ea: JUMPI 000014eb: PUSH1 0x40 000014ed: MLOAD 000014ee: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000150f: DUP2 00001510: MSTORE 00001511: PUSH1 0x04 00001513: ADD 00001514: PUSH2 0x151c 00001517: SWAP1 00001518: PUSH2 0x2b27 0000151b: JUMP 0000151c: JUMPDEST 0000151d: PUSH1 0x40 0000151f: MLOAD 00001520: DUP1 00001521: SWAP2 00001522: SUB 00001523: SWAP1 00001524: REVERT 00001525: JUMPDEST 00001526: DUP1 00001527: SWAP7 00001528: POP 00001529: POP 0000152a: POP 0000152b: POP 0000152c: POP 0000152d: POP 0000152e: POP 0000152f: SWAP4 00001530: SWAP3 00001531: POP 00001532: POP 00001533: POP 00001534: JUMP 00001535: JUMPDEST 00001536: PUSH2 0x15b6 00001539: DUP4 0000153a: PUSH4 0xa9059cbb 0000153f: PUSH1 0xe0 00001541: SHL 00001542: DUP5 00001543: DUP5 00001544: PUSH1 0x40 00001546: MLOAD 00001547: PUSH1 0x24 00001549: ADD 0000154a: PUSH2 0x1554 0000154d: SWAP3 0000154e: SWAP2 0000154f: SWAP1 00001550: PUSH2 0x2a20 00001553: JUMP 00001554: JUMPDEST 00001555: PUSH1 0x40 00001557: MLOAD 00001558: PUSH1 0x20 0000155a: DUP2 0000155b: DUP4 0000155c: SUB 0000155d: SUB 0000155e: DUP2 0000155f: MSTORE 00001560: SWAP1 00001561: PUSH1 0x40 00001563: MSTORE 00001564: SWAP1 00001565: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001582: NOT 00001583: AND 00001584: PUSH1 0x20 00001586: DUP3 00001587: ADD 00001588: DUP1 00001589: MLOAD 0000158a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000015a7: DUP4 000015a8: DUP2 000015a9: DUP4 000015aa: AND 000015ab: OR 000015ac: DUP4 000015ad: MSTORE 000015ae: POP 000015af: POP 000015b0: POP 000015b1: POP 000015b2: PUSH2 0x1644 000015b5: JUMP 000015b6: JUMPDEST 000015b7: POP 000015b8: POP 000015b9: POP 000015ba: JUMP 000015bb: JUMPDEST 000015bc: PUSH2 0x163e 000015bf: DUP5 000015c0: PUSH4 0x23b872dd 000015c5: PUSH1 0xe0 000015c7: SHL 000015c8: DUP6 000015c9: DUP6 000015ca: DUP6 000015cb: PUSH1 0x40 000015cd: MLOAD 000015ce: PUSH1 0x24 000015d0: ADD 000015d1: PUSH2 0x15dc 000015d4: SWAP4 000015d5: SWAP3 000015d6: SWAP2 000015d7: SWAP1 000015d8: PUSH2 0x2b47 000015db: JUMP 000015dc: JUMPDEST 000015dd: PUSH1 0x40 000015df: MLOAD 000015e0: PUSH1 0x20 000015e2: DUP2 000015e3: DUP4 000015e4: SUB 000015e5: SUB 000015e6: DUP2 000015e7: MSTORE 000015e8: SWAP1 000015e9: PUSH1 0x40 000015eb: MSTORE 000015ec: SWAP1 000015ed: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000160a: NOT 0000160b: AND 0000160c: PUSH1 0x20 0000160e: DUP3 0000160f: ADD 00001610: DUP1 00001611: MLOAD 00001612: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000162f: DUP4 00001630: DUP2 00001631: DUP4 00001632: AND 00001633: OR 00001634: DUP4 00001635: MSTORE 00001636: POP 00001637: POP 00001638: POP 00001639: POP 0000163a: PUSH2 0x1644 0000163d: JUMP 0000163e: JUMPDEST 0000163f: POP 00001640: POP 00001641: POP 00001642: POP 00001643: JUMP 00001644: JUMPDEST 00001645: PUSH1 0x00 00001647: PUSH2 0x16a6 0000164a: DUP3 0000164b: PUSH1 0x40 0000164d: MLOAD 0000164e: DUP1 0000164f: PUSH1 0x40 00001651: ADD 00001652: PUSH1 0x40 00001654: MSTORE 00001655: DUP1 00001656: PUSH1 0x20 00001658: DUP2 00001659: MSTORE 0000165a: PUSH1 0x20 0000165c: ADD 0000165d: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 0000167e: DUP2 0000167f: MSTORE 00001680: POP 00001681: DUP6 00001682: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001697: AND 00001698: PUSH2 0x170b 0000169b: SWAP1 0000169c: SWAP3 0000169d: SWAP2 0000169e: SWAP1 0000169f: PUSH4 0xffffffff 000016a4: AND 000016a5: JUMP 000016a6: JUMPDEST 000016a7: SWAP1 000016a8: POP 000016a9: PUSH1 0x00 000016ab: DUP2 000016ac: MLOAD 000016ad: GT 000016ae: ISZERO 000016af: PUSH2 0x1706 000016b2: JUMPI 000016b3: DUP1 000016b4: DUP1 000016b5: PUSH1 0x20 000016b7: ADD 000016b8: SWAP1 000016b9: MLOAD 000016ba: DUP2 000016bb: ADD 000016bc: SWAP1 000016bd: PUSH2 0x16c6 000016c0: SWAP2 000016c1: SWAP1 000016c2: PUSH2 0x2107 000016c5: JUMP 000016c6: JUMPDEST 000016c7: PUSH2 0x1705 000016ca: JUMPI 000016cb: PUSH1 0x40 000016cd: MLOAD 000016ce: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016ef: DUP2 000016f0: MSTORE 000016f1: PUSH1 0x04 000016f3: ADD 000016f4: PUSH2 0x16fc 000016f7: SWAP1 000016f8: PUSH2 0x2bf0 000016fb: JUMP 000016fc: JUMPDEST 000016fd: PUSH1 0x40 000016ff: MLOAD 00001700: DUP1 00001701: SWAP2 00001702: SUB 00001703: SWAP1 00001704: REVERT 00001705: JUMPDEST 00001706: JUMPDEST 00001707: POP 00001708: POP 00001709: POP 0000170a: JUMP 0000170b: JUMPDEST 0000170c: PUSH1 0x60 0000170e: PUSH2 0x171a 00001711: DUP5 00001712: DUP5 00001713: PUSH1 0x00 00001715: DUP6 00001716: PUSH2 0x1723 00001719: JUMP 0000171a: JUMPDEST 0000171b: SWAP1 0000171c: POP 0000171d: SWAP4 0000171e: SWAP3 0000171f: POP 00001720: POP 00001721: POP 00001722: JUMP 00001723: JUMPDEST 00001724: PUSH1 0x60 00001726: DUP3 00001727: SELFBALANCE 00001728: LT 00001729: ISZERO 0000172a: PUSH2 0x1768 0000172d: JUMPI 0000172e: PUSH1 0x40 00001730: MLOAD 00001731: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001752: DUP2 00001753: MSTORE 00001754: PUSH1 0x04 00001756: ADD 00001757: PUSH2 0x175f 0000175a: SWAP1 0000175b: PUSH2 0x2c82 0000175e: JUMP 0000175f: JUMPDEST 00001760: PUSH1 0x40 00001762: MLOAD 00001763: DUP1 00001764: SWAP2 00001765: SUB 00001766: SWAP1 00001767: REVERT 00001768: JUMPDEST 00001769: PUSH1 0x00 0000176b: DUP1 0000176c: DUP7 0000176d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001782: AND 00001783: DUP6 00001784: DUP8 00001785: PUSH1 0x40 00001787: MLOAD 00001788: PUSH2 0x1791 0000178b: SWAP2 0000178c: SWAP1 0000178d: PUSH2 0x2d13 00001790: JUMP 00001791: JUMPDEST 00001792: PUSH1 0x00 00001794: PUSH1 0x40 00001796: MLOAD 00001797: DUP1 00001798: DUP4 00001799: SUB 0000179a: DUP2 0000179b: DUP6 0000179c: DUP8 0000179d: GAS 0000179e: CALL 0000179f: SWAP3 000017a0: POP 000017a1: POP 000017a2: POP 000017a3: RETURNDATASIZE 000017a4: DUP1 000017a5: PUSH1 0x00 000017a7: DUP2 000017a8: EQ 000017a9: PUSH2 0x17ce 000017ac: JUMPI 000017ad: PUSH1 0x40 000017af: MLOAD 000017b0: SWAP2 000017b1: POP 000017b2: PUSH1 0x1f 000017b4: NOT 000017b5: PUSH1 0x3f 000017b7: RETURNDATASIZE 000017b8: ADD 000017b9: AND 000017ba: DUP3 000017bb: ADD 000017bc: PUSH1 0x40 000017be: MSTORE 000017bf: RETURNDATASIZE 000017c0: DUP3 000017c1: MSTORE 000017c2: RETURNDATASIZE 000017c3: PUSH1 0x00 000017c5: PUSH1 0x20 000017c7: DUP5 000017c8: ADD 000017c9: RETURNDATACOPY 000017ca: PUSH2 0x17d3 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x60 000017d1: SWAP2 000017d2: POP 000017d3: JUMPDEST 000017d4: POP 000017d5: SWAP2 000017d6: POP 000017d7: SWAP2 000017d8: POP 000017d9: PUSH2 0x17e4 000017dc: DUP8 000017dd: DUP4 000017de: DUP4 000017df: DUP8 000017e0: PUSH2 0x17f0 000017e3: JUMP 000017e4: JUMPDEST 000017e5: SWAP3 000017e6: POP 000017e7: POP 000017e8: POP 000017e9: SWAP5 000017ea: SWAP4 000017eb: POP 000017ec: POP 000017ed: POP 000017ee: POP 000017ef: JUMP 000017f0: JUMPDEST 000017f1: PUSH1 0x60 000017f3: DUP4 000017f4: ISZERO 000017f5: PUSH2 0x1852 000017f8: JUMPI 000017f9: PUSH1 0x00 000017fb: DUP4 000017fc: MLOAD 000017fd: SUB 000017fe: PUSH2 0x184a 00001801: JUMPI 00001802: PUSH2 0x180a 00001805: DUP6 00001806: PUSH2 0x1865 00001809: JUMP 0000180a: JUMPDEST 0000180b: PUSH2 0x1849 0000180e: JUMPI 0000180f: PUSH1 0x40 00001811: MLOAD 00001812: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001833: DUP2 00001834: MSTORE 00001835: PUSH1 0x04 00001837: ADD 00001838: PUSH2 0x1840 0000183b: SWAP1 0000183c: PUSH2 0x2d76 0000183f: JUMP 00001840: JUMPDEST 00001841: PUSH1 0x40 00001843: MLOAD 00001844: DUP1 00001845: SWAP2 00001846: SUB 00001847: SWAP1 00001848: REVERT 00001849: JUMPDEST 0000184a: JUMPDEST 0000184b: DUP3 0000184c: SWAP1 0000184d: POP 0000184e: PUSH2 0x185d 00001851: JUMP 00001852: JUMPDEST 00001853: PUSH2 0x185c 00001856: DUP4 00001857: DUP4 00001858: PUSH2 0x1888 0000185b: JUMP 0000185c: JUMPDEST 0000185d: JUMPDEST 0000185e: SWAP5 0000185f: SWAP4 00001860: POP 00001861: POP 00001862: POP 00001863: POP 00001864: JUMP 00001865: JUMPDEST 00001866: PUSH1 0x00 00001868: DUP1 00001869: DUP3 0000186a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000187f: AND 00001880: EXTCODESIZE 00001881: GT 00001882: SWAP1 00001883: POP 00001884: SWAP2 00001885: SWAP1 00001886: POP 00001887: JUMP 00001888: JUMPDEST 00001889: PUSH1 0x00 0000188b: DUP3 0000188c: MLOAD 0000188d: GT 0000188e: ISZERO 0000188f: PUSH2 0x189b 00001892: JUMPI 00001893: DUP2 00001894: MLOAD 00001895: DUP1 00001896: DUP4 00001897: PUSH1 0x20 00001899: ADD 0000189a: REVERT 0000189b: JUMPDEST 0000189c: DUP1 0000189d: PUSH1 0x40 0000189f: MLOAD 000018a0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000018c1: DUP2 000018c2: MSTORE 000018c3: PUSH1 0x04 000018c5: ADD 000018c6: PUSH2 0x18cf 000018c9: SWAP2 000018ca: SWAP1 000018cb: PUSH2 0x2dda 000018ce: JUMP 000018cf: JUMPDEST 000018d0: PUSH1 0x40 000018d2: MLOAD 000018d3: DUP1 000018d4: SWAP2 000018d5: SUB 000018d6: SWAP1 000018d7: REVERT 000018d8: JUMPDEST 000018d9: PUSH1 0x00 000018db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018f0: DUP3 000018f1: AND 000018f2: SWAP1 000018f3: POP 000018f4: SWAP2 000018f5: SWAP1 000018f6: POP 000018f7: JUMP 000018f8: JUMPDEST 000018f9: PUSH1 0x00 000018fb: PUSH2 0x1903 000018fe: DUP3 000018ff: PUSH2 0x18d8 00001902: JUMP 00001903: JUMPDEST 00001904: SWAP1 00001905: POP 00001906: SWAP2 00001907: SWAP1 00001908: POP 00001909: JUMP 0000190a: JUMPDEST 0000190b: PUSH2 0x1913 0000190e: DUP2 0000190f: PUSH2 0x18f8 00001912: JUMP 00001913: JUMPDEST 00001914: DUP3 00001915: MSTORE 00001916: POP 00001917: POP 00001918: JUMP 00001919: JUMPDEST 0000191a: PUSH1 0x00 0000191c: PUSH1 0x20 0000191e: DUP3 0000191f: ADD 00001920: SWAP1 00001921: POP 00001922: PUSH2 0x192e 00001925: PUSH1 0x00 00001927: DUP4 00001928: ADD 00001929: DUP5 0000192a: PUSH2 0x190a 0000192d: JUMP 0000192e: JUMPDEST 0000192f: SWAP3 00001930: SWAP2 00001931: POP 00001932: POP 00001933: JUMP 00001934: JUMPDEST 00001935: PUSH1 0x00 00001937: DUP2 00001938: MLOAD 00001939: SWAP1 0000193a: POP 0000193b: SWAP2 0000193c: SWAP1 0000193d: POP 0000193e: JUMP 0000193f: JUMPDEST 00001940: PUSH1 0x00 00001942: DUP3 00001943: DUP3 00001944: MSTORE 00001945: PUSH1 0x20 00001947: DUP3 00001948: ADD 00001949: SWAP1 0000194a: POP 0000194b: SWAP3 0000194c: SWAP2 0000194d: POP 0000194e: POP 0000194f: JUMP 00001950: JUMPDEST 00001951: PUSH1 0x00 00001953: DUP2 00001954: SWAP1 00001955: POP 00001956: PUSH1 0x20 00001958: DUP3 00001959: ADD 0000195a: SWAP1 0000195b: POP 0000195c: SWAP2 0000195d: SWAP1 0000195e: POP 0000195f: JUMP 00001960: JUMPDEST 00001961: PUSH2 0x1969 00001964: DUP2 00001965: PUSH2 0x18f8 00001968: JUMP 00001969: JUMPDEST 0000196a: DUP3 0000196b: MSTORE 0000196c: POP 0000196d: POP 0000196e: JUMP 0000196f: JUMPDEST 00001970: PUSH1 0x00 00001972: PUSH2 0x197b 00001975: DUP4 00001976: DUP4 00001977: PUSH2 0x1960 0000197a: JUMP 0000197b: JUMPDEST 0000197c: PUSH1 0x20 0000197e: DUP4 0000197f: ADD 00001980: SWAP1 00001981: POP 00001982: SWAP3 00001983: SWAP2 00001984: POP 00001985: POP 00001986: JUMP 00001987: JUMPDEST 00001988: PUSH1 0x00 0000198a: PUSH1 0x20 0000198c: DUP3 0000198d: ADD 0000198e: SWAP1 0000198f: POP 00001990: SWAP2 00001991: SWAP1 00001992: POP 00001993: JUMP 00001994: JUMPDEST 00001995: PUSH1 0x00 00001997: PUSH2 0x199f 0000199a: DUP3 0000199b: PUSH2 0x1934 0000199e: JUMP 0000199f: JUMPDEST 000019a0: PUSH2 0x19a9 000019a3: DUP2 000019a4: DUP6 000019a5: PUSH2 0x193f 000019a8: JUMP 000019a9: JUMPDEST 000019aa: SWAP4 000019ab: POP 000019ac: PUSH2 0x19b4 000019af: DUP4 000019b0: PUSH2 0x1950 000019b3: JUMP 000019b4: JUMPDEST 000019b5: DUP1 000019b6: PUSH1 0x00 000019b8: JUMPDEST 000019b9: DUP4 000019ba: DUP2 000019bb: LT 000019bc: ISZERO 000019bd: PUSH2 0x19e5 000019c0: JUMPI 000019c1: DUP2 000019c2: MLOAD 000019c3: PUSH2 0x19cc 000019c6: DUP9 000019c7: DUP3 000019c8: PUSH2 0x196f 000019cb: JUMP 000019cc: JUMPDEST 000019cd: SWAP8 000019ce: POP 000019cf: PUSH2 0x19d7 000019d2: DUP4 000019d3: PUSH2 0x1987 000019d6: JUMP 000019d7: JUMPDEST 000019d8: SWAP3 000019d9: POP 000019da: POP 000019db: PUSH1 0x01 000019dd: DUP2 000019de: ADD 000019df: SWAP1 000019e0: POP 000019e1: PUSH2 0x19b8 000019e4: JUMP 000019e5: JUMPDEST 000019e6: POP 000019e7: DUP6 000019e8: SWAP4 000019e9: POP 000019ea: POP 000019eb: POP 000019ec: POP 000019ed: SWAP3 000019ee: SWAP2 000019ef: POP 000019f0: POP 000019f1: JUMP 000019f2: JUMPDEST 000019f3: PUSH1 0x00 000019f5: PUSH1 0x20 000019f7: DUP3 000019f8: ADD 000019f9: SWAP1 000019fa: POP 000019fb: DUP2 000019fc: DUP2 000019fd: SUB 000019fe: PUSH1 0x00 00001a00: DUP4 00001a01: ADD 00001a02: MSTORE 00001a03: PUSH2 0x1a0c 00001a06: DUP2 00001a07: DUP5 00001a08: PUSH2 0x1994 00001a0b: JUMP 00001a0c: JUMPDEST 00001a0d: SWAP1 00001a0e: POP 00001a0f: SWAP3 00001a10: SWAP2 00001a11: POP 00001a12: POP 00001a13: JUMP 00001a14: JUMPDEST 00001a15: PUSH1 0x00 00001a17: DUP2 00001a18: ISZERO 00001a19: ISZERO 00001a1a: SWAP1 00001a1b: POP 00001a1c: SWAP2 00001a1d: SWAP1 00001a1e: POP 00001a1f: JUMP 00001a20: JUMPDEST 00001a21: PUSH2 0x1a29 00001a24: DUP2 00001a25: PUSH2 0x1a14 00001a28: JUMP 00001a29: JUMPDEST 00001a2a: DUP3 00001a2b: MSTORE 00001a2c: POP 00001a2d: POP 00001a2e: JUMP 00001a2f: JUMPDEST 00001a30: PUSH1 0x00 00001a32: PUSH1 0x20 00001a34: DUP3 00001a35: ADD 00001a36: SWAP1 00001a37: POP 00001a38: PUSH2 0x1a44 00001a3b: PUSH1 0x00 00001a3d: DUP4 00001a3e: ADD 00001a3f: DUP5 00001a40: PUSH2 0x1a20 00001a43: JUMP 00001a44: JUMPDEST 00001a45: SWAP3 00001a46: SWAP2 00001a47: POP 00001a48: POP 00001a49: JUMP 00001a4a: JUMPDEST 00001a4b: PUSH1 0x00 00001a4d: DUP1 00001a4e: REVERT 00001a4f: JUMPDEST 00001a50: PUSH1 0x00 00001a52: DUP1 00001a53: REVERT 00001a54: JUMPDEST 00001a55: PUSH2 0x1a5d 00001a58: DUP2 00001a59: PUSH2 0x18f8 00001a5c: JUMP 00001a5d: JUMPDEST 00001a5e: DUP2 00001a5f: EQ 00001a60: PUSH2 0x1a68 00001a63: JUMPI 00001a64: PUSH1 0x00 00001a66: DUP1 00001a67: REVERT 00001a68: JUMPDEST 00001a69: POP 00001a6a: JUMP 00001a6b: JUMPDEST 00001a6c: PUSH1 0x00 00001a6e: DUP2 00001a6f: CALLDATALOAD 00001a70: SWAP1 00001a71: POP 00001a72: PUSH2 0x1a7a 00001a75: DUP2 00001a76: PUSH2 0x1a54 00001a79: JUMP 00001a7a: JUMPDEST 00001a7b: SWAP3 00001a7c: SWAP2 00001a7d: POP 00001a7e: POP 00001a7f: JUMP 00001a80: JUMPDEST 00001a81: PUSH1 0x00 00001a83: PUSH1 0x20 00001a85: DUP3 00001a86: DUP5 00001a87: SUB 00001a88: SLT 00001a89: ISZERO 00001a8a: PUSH2 0x1a96 00001a8d: JUMPI 00001a8e: PUSH2 0x1a95 00001a91: PUSH2 0x1a4a 00001a94: JUMP 00001a95: JUMPDEST 00001a96: JUMPDEST 00001a97: PUSH1 0x00 00001a99: PUSH2 0x1aa4 00001a9c: DUP5 00001a9d: DUP3 00001a9e: DUP6 00001a9f: ADD 00001aa0: PUSH2 0x1a6b 00001aa3: JUMP 00001aa4: JUMPDEST 00001aa5: SWAP2 00001aa6: POP 00001aa7: POP 00001aa8: SWAP3 00001aa9: SWAP2 00001aaa: POP 00001aab: POP 00001aac: JUMP 00001aad: JUMPDEST 00001aae: PUSH1 0x00 00001ab0: DUP2 00001ab1: SWAP1 00001ab2: POP 00001ab3: SWAP2 00001ab4: SWAP1 00001ab5: POP 00001ab6: JUMP 00001ab7: JUMPDEST 00001ab8: PUSH2 0x1ac0 00001abb: DUP2 00001abc: PUSH2 0x1aad 00001abf: JUMP 00001ac0: JUMPDEST 00001ac1: DUP3 00001ac2: MSTORE 00001ac3: POP 00001ac4: POP 00001ac5: JUMP 00001ac6: JUMPDEST 00001ac7: PUSH1 0x00 00001ac9: PUSH1 0x20 00001acb: DUP3 00001acc: ADD 00001acd: SWAP1 00001ace: POP 00001acf: PUSH2 0x1adb 00001ad2: PUSH1 0x00 00001ad4: DUP4 00001ad5: ADD 00001ad6: DUP5 00001ad7: PUSH2 0x1ab7 00001ada: JUMP 00001adb: JUMPDEST 00001adc: SWAP3 00001add: SWAP2 00001ade: POP 00001adf: POP 00001ae0: JUMP 00001ae1: JUMPDEST 00001ae2: PUSH2 0x1aea 00001ae5: DUP2 00001ae6: PUSH2 0x1a14 00001ae9: JUMP 00001aea: JUMPDEST 00001aeb: DUP2 00001aec: EQ 00001aed: PUSH2 0x1af5 00001af0: JUMPI 00001af1: PUSH1 0x00 00001af3: DUP1 00001af4: REVERT 00001af5: JUMPDEST 00001af6: POP 00001af7: JUMP 00001af8: JUMPDEST 00001af9: PUSH1 0x00 00001afb: DUP2 00001afc: CALLDATALOAD 00001afd: SWAP1 00001afe: POP 00001aff: PUSH2 0x1b07 00001b02: DUP2 00001b03: PUSH2 0x1ae1 00001b06: JUMP 00001b07: JUMPDEST 00001b08: SWAP3 00001b09: SWAP2 00001b0a: POP 00001b0b: POP 00001b0c: JUMP 00001b0d: JUMPDEST 00001b0e: PUSH1 0x00 00001b10: DUP1 00001b11: REVERT 00001b12: JUMPDEST 00001b13: PUSH1 0x00 00001b15: DUP1 00001b16: REVERT 00001b17: JUMPDEST 00001b18: PUSH1 0x00 00001b1a: DUP1 00001b1b: REVERT 00001b1c: JUMPDEST 00001b1d: PUSH1 0x00 00001b1f: DUP1 00001b20: DUP4 00001b21: PUSH1 0x1f 00001b23: DUP5 00001b24: ADD 00001b25: SLT 00001b26: PUSH2 0x1b32 00001b29: JUMPI 00001b2a: PUSH2 0x1b31 00001b2d: PUSH2 0x1b0d 00001b30: JUMP 00001b31: JUMPDEST 00001b32: JUMPDEST 00001b33: DUP3 00001b34: CALLDATALOAD 00001b35: SWAP1 00001b36: POP 00001b37: PUSH8 0xffffffffffffffff 00001b40: DUP2 00001b41: GT 00001b42: ISZERO 00001b43: PUSH2 0x1b4f 00001b46: JUMPI 00001b47: PUSH2 0x1b4e 00001b4a: PUSH2 0x1b12 00001b4d: JUMP 00001b4e: JUMPDEST 00001b4f: JUMPDEST 00001b50: PUSH1 0x20 00001b52: DUP4 00001b53: ADD 00001b54: SWAP2 00001b55: POP 00001b56: DUP4 00001b57: PUSH1 0x40 00001b59: DUP3 00001b5a: MUL 00001b5b: DUP4 00001b5c: ADD 00001b5d: GT 00001b5e: ISZERO 00001b5f: PUSH2 0x1b6b 00001b62: JUMPI 00001b63: PUSH2 0x1b6a 00001b66: PUSH2 0x1b17 00001b69: JUMP 00001b6a: JUMPDEST 00001b6b: JUMPDEST 00001b6c: SWAP3 00001b6d: POP 00001b6e: SWAP3 00001b6f: SWAP1 00001b70: POP 00001b71: JUMP 00001b72: JUMPDEST 00001b73: PUSH1 0x00 00001b75: DUP1 00001b76: PUSH1 0x00 00001b78: DUP1 00001b79: PUSH1 0x00 00001b7b: PUSH1 0x80 00001b7d: DUP7 00001b7e: DUP9 00001b7f: SUB 00001b80: SLT 00001b81: ISZERO 00001b82: PUSH2 0x1b8e 00001b85: JUMPI 00001b86: PUSH2 0x1b8d 00001b89: PUSH2 0x1a4a 00001b8c: JUMP 00001b8d: JUMPDEST 00001b8e: JUMPDEST 00001b8f: PUSH1 0x00 00001b91: PUSH2 0x1b9c 00001b94: DUP9 00001b95: DUP3 00001b96: DUP10 00001b97: ADD 00001b98: PUSH2 0x1af8 00001b9b: JUMP 00001b9c: JUMPDEST 00001b9d: SWAP6 00001b9e: POP 00001b9f: POP 00001ba0: PUSH1 0x20 00001ba2: DUP7 00001ba3: ADD 00001ba4: CALLDATALOAD 00001ba5: PUSH8 0xffffffffffffffff 00001bae: DUP2 00001baf: GT 00001bb0: ISZERO 00001bb1: PUSH2 0x1bbd 00001bb4: JUMPI 00001bb5: PUSH2 0x1bbc 00001bb8: PUSH2 0x1a4f 00001bbb: JUMP 00001bbc: JUMPDEST 00001bbd: JUMPDEST 00001bbe: PUSH2 0x1bc9 00001bc1: DUP9 00001bc2: DUP3 00001bc3: DUP10 00001bc4: ADD 00001bc5: PUSH2 0x1b1c 00001bc8: JUMP 00001bc9: JUMPDEST 00001bca: SWAP5 00001bcb: POP 00001bcc: SWAP5 00001bcd: POP 00001bce: POP 00001bcf: PUSH1 0x40 00001bd1: PUSH2 0x1bdc 00001bd4: DUP9 00001bd5: DUP3 00001bd6: DUP10 00001bd7: ADD 00001bd8: PUSH2 0x1a6b 00001bdb: JUMP 00001bdc: JUMPDEST 00001bdd: SWAP3 00001bde: POP 00001bdf: POP 00001be0: PUSH1 0x60 00001be2: PUSH2 0x1bed 00001be5: DUP9 00001be6: DUP3 00001be7: DUP10 00001be8: ADD 00001be9: PUSH2 0x1a6b 00001bec: JUMP 00001bed: JUMPDEST 00001bee: SWAP2 00001bef: POP 00001bf0: POP 00001bf1: SWAP3 00001bf2: SWAP6 00001bf3: POP 00001bf4: SWAP3 00001bf5: SWAP6 00001bf6: SWAP1 00001bf7: SWAP4 00001bf8: POP 00001bf9: JUMP 00001bfa: JUMPDEST 00001bfb: PUSH2 0x1c03 00001bfe: DUP2 00001bff: PUSH2 0x1aad 00001c02: JUMP 00001c03: JUMPDEST 00001c04: DUP2 00001c05: EQ 00001c06: PUSH2 0x1c0e 00001c09: JUMPI 00001c0a: PUSH1 0x00 00001c0c: DUP1 00001c0d: REVERT 00001c0e: JUMPDEST 00001c0f: POP 00001c10: JUMP 00001c11: JUMPDEST 00001c12: PUSH1 0x00 00001c14: DUP2 00001c15: CALLDATALOAD 00001c16: SWAP1 00001c17: POP 00001c18: PUSH2 0x1c20 00001c1b: DUP2 00001c1c: PUSH2 0x1bfa 00001c1f: JUMP 00001c20: JUMPDEST 00001c21: SWAP3 00001c22: SWAP2 00001c23: POP 00001c24: POP 00001c25: JUMP 00001c26: JUMPDEST 00001c27: PUSH1 0x00 00001c29: DUP1 00001c2a: DUP4 00001c2b: PUSH1 0x1f 00001c2d: DUP5 00001c2e: ADD 00001c2f: SLT 00001c30: PUSH2 0x1c3c 00001c33: JUMPI 00001c34: PUSH2 0x1c3b 00001c37: PUSH2 0x1b0d 00001c3a: JUMP 00001c3b: JUMPDEST 00001c3c: JUMPDEST 00001c3d: DUP3 00001c3e: CALLDATALOAD 00001c3f: SWAP1 00001c40: POP 00001c41: PUSH8 0xffffffffffffffff 00001c4a: DUP2 00001c4b: GT 00001c4c: ISZERO 00001c4d: PUSH2 0x1c59 00001c50: JUMPI 00001c51: PUSH2 0x1c58 00001c54: PUSH2 0x1b12 00001c57: JUMP 00001c58: JUMPDEST 00001c59: JUMPDEST 00001c5a: PUSH1 0x20 00001c5c: DUP4 00001c5d: ADD 00001c5e: SWAP2 00001c5f: POP 00001c60: DUP4 00001c61: PUSH1 0x01 00001c63: DUP3 00001c64: MUL 00001c65: DUP4 00001c66: ADD 00001c67: GT 00001c68: ISZERO 00001c69: PUSH2 0x1c75 00001c6c: JUMPI 00001c6d: PUSH2 0x1c74 00001c70: PUSH2 0x1b17 00001c73: JUMP 00001c74: JUMPDEST 00001c75: JUMPDEST 00001c76: SWAP3 00001c77: POP 00001c78: SWAP3 00001c79: SWAP1 00001c7a: POP 00001c7b: JUMP 00001c7c: JUMPDEST 00001c7d: PUSH1 0x00 00001c7f: DUP1 00001c80: PUSH1 0x00 00001c82: DUP1 00001c83: PUSH1 0x60 00001c85: DUP6 00001c86: DUP8 00001c87: SUB 00001c88: SLT 00001c89: ISZERO 00001c8a: PUSH2 0x1c96 00001c8d: JUMPI 00001c8e: PUSH2 0x1c95 00001c91: PUSH2 0x1a4a 00001c94: JUMP 00001c95: JUMPDEST 00001c96: JUMPDEST 00001c97: PUSH1 0x00 00001c99: PUSH2 0x1ca4 00001c9c: DUP8 00001c9d: DUP3 00001c9e: DUP9 00001c9f: ADD 00001ca0: PUSH2 0x1a6b 00001ca3: JUMP 00001ca4: JUMPDEST 00001ca5: SWAP5 00001ca6: POP 00001ca7: POP 00001ca8: PUSH1 0x20 00001caa: PUSH2 0x1cb5 00001cad: DUP8 00001cae: DUP3 00001caf: DUP9 00001cb0: ADD 00001cb1: PUSH2 0x1c11 00001cb4: JUMP 00001cb5: JUMPDEST 00001cb6: SWAP4 00001cb7: POP 00001cb8: POP 00001cb9: PUSH1 0x40 00001cbb: DUP6 00001cbc: ADD 00001cbd: CALLDATALOAD 00001cbe: PUSH8 0xffffffffffffffff 00001cc7: DUP2 00001cc8: GT 00001cc9: ISZERO 00001cca: PUSH2 0x1cd6 00001ccd: JUMPI 00001cce: PUSH2 0x1cd5 00001cd1: PUSH2 0x1a4f 00001cd4: JUMP 00001cd5: JUMPDEST 00001cd6: JUMPDEST 00001cd7: PUSH2 0x1ce2 00001cda: DUP8 00001cdb: DUP3 00001cdc: DUP9 00001cdd: ADD 00001cde: PUSH2 0x1c26 00001ce1: JUMP 00001ce2: JUMPDEST 00001ce3: SWAP3 00001ce4: POP 00001ce5: SWAP3 00001ce6: POP 00001ce7: POP 00001ce8: SWAP3 00001ce9: SWAP6 00001cea: SWAP2 00001ceb: SWAP5 00001cec: POP 00001ced: SWAP3 00001cee: POP 00001cef: JUMP 00001cf0: JUMPDEST 00001cf1: PUSH1 0x00 00001cf3: PUSH1 0xff 00001cf5: DUP3 00001cf6: AND 00001cf7: SWAP1 00001cf8: POP 00001cf9: SWAP2 00001cfa: SWAP1 00001cfb: POP 00001cfc: JUMP 00001cfd: JUMPDEST 00001cfe: PUSH2 0x1d06 00001d01: DUP2 00001d02: PUSH2 0x1cf0 00001d05: JUMP 00001d06: JUMPDEST 00001d07: DUP3 00001d08: MSTORE 00001d09: POP 00001d0a: POP 00001d0b: JUMP 00001d0c: JUMPDEST 00001d0d: PUSH1 0x00 00001d0f: PUSH1 0x20 00001d11: DUP3 00001d12: ADD 00001d13: SWAP1 00001d14: POP 00001d15: PUSH2 0x1d21 00001d18: PUSH1 0x00 00001d1a: DUP4 00001d1b: ADD 00001d1c: DUP5 00001d1d: PUSH2 0x1cfd 00001d20: JUMP 00001d21: JUMPDEST 00001d22: SWAP3 00001d23: SWAP2 00001d24: POP 00001d25: POP 00001d26: JUMP 00001d27: JUMPDEST 00001d28: PUSH1 0x00 00001d2a: DUP3 00001d2b: DUP3 00001d2c: MSTORE 00001d2d: PUSH1 0x20 00001d2f: DUP3 00001d30: ADD 00001d31: SWAP1 00001d32: POP 00001d33: SWAP3 00001d34: SWAP2 00001d35: POP 00001d36: POP 00001d37: JUMP 00001d38: JUMPDEST 00001d39: PUSH32 0x4e6f7420746865206f776e657200000000000000000000000000000000000000 00001d5a: PUSH1 0x00 00001d5c: DUP3 00001d5d: ADD 00001d5e: MSTORE 00001d5f: POP 00001d60: JUMP 00001d61: JUMPDEST 00001d62: PUSH1 0x00 00001d64: PUSH2 0x1d6e 00001d67: PUSH1 0x0d 00001d69: DUP4 00001d6a: PUSH2 0x1d27 00001d6d: JUMP 00001d6e: JUMPDEST 00001d6f: SWAP2 00001d70: POP 00001d71: PUSH2 0x1d79 00001d74: DUP3 00001d75: PUSH2 0x1d38 00001d78: JUMP 00001d79: JUMPDEST 00001d7a: PUSH1 0x20 00001d7c: DUP3 00001d7d: ADD 00001d7e: SWAP1 00001d7f: POP 00001d80: SWAP2 00001d81: SWAP1 00001d82: POP 00001d83: JUMP 00001d84: JUMPDEST 00001d85: PUSH1 0x00 00001d87: PUSH1 0x20 00001d89: DUP3 00001d8a: ADD 00001d8b: SWAP1 00001d8c: POP 00001d8d: DUP2 00001d8e: DUP2 00001d8f: SUB 00001d90: PUSH1 0x00 00001d92: DUP4 00001d93: ADD 00001d94: MSTORE 00001d95: PUSH2 0x1d9d 00001d98: DUP2 00001d99: PUSH2 0x1d61 00001d9c: JUMP 00001d9d: JUMPDEST 00001d9e: SWAP1 00001d9f: POP 00001da0: SWAP2 00001da1: SWAP1 00001da2: POP 00001da3: JUMP 00001da4: JUMPDEST 00001da5: PUSH32 0x436f6e747261637420616c7265616479206275726e6564000000000000000000 00001dc6: PUSH1 0x00 00001dc8: DUP3 00001dc9: ADD 00001dca: MSTORE 00001dcb: POP 00001dcc: JUMP 00001dcd: JUMPDEST 00001dce: PUSH1 0x00 00001dd0: PUSH2 0x1dda 00001dd3: PUSH1 0x17 00001dd5: DUP4 00001dd6: PUSH2 0x1d27 00001dd9: JUMP 00001dda: JUMPDEST 00001ddb: SWAP2 00001ddc: POP 00001ddd: PUSH2 0x1de5 00001de0: DUP3 00001de1: PUSH2 0x1da4 00001de4: JUMP 00001de5: JUMPDEST 00001de6: PUSH1 0x20 00001de8: DUP3 00001de9: ADD 00001dea: SWAP1 00001deb: POP 00001dec: SWAP2 00001ded: SWAP1 00001dee: POP 00001def: JUMP 00001df0: JUMPDEST 00001df1: PUSH1 0x00 00001df3: PUSH1 0x20 00001df5: DUP3 00001df6: ADD 00001df7: SWAP1 00001df8: POP 00001df9: DUP2 00001dfa: DUP2 00001dfb: SUB 00001dfc: PUSH1 0x00 00001dfe: DUP4 00001dff: ADD 00001e00: MSTORE 00001e01: PUSH2 0x1e09 00001e04: DUP2 00001e05: PUSH2 0x1dcd 00001e08: JUMP 00001e09: JUMPDEST 00001e0a: SWAP1 00001e0b: POP 00001e0c: SWAP2 00001e0d: SWAP1 00001e0e: POP 00001e0f: JUMP 00001e10: JUMPDEST 00001e11: PUSH32 0x4e6f74207468652066696e616e63650000000000000000000000000000000000 00001e32: PUSH1 0x00 00001e34: DUP3 00001e35: ADD 00001e36: MSTORE 00001e37: POP 00001e38: JUMP 00001e39: JUMPDEST 00001e3a: PUSH1 0x00 00001e3c: PUSH2 0x1e46 00001e3f: PUSH1 0x0f 00001e41: DUP4 00001e42: PUSH2 0x1d27 00001e45: JUMP 00001e46: JUMPDEST 00001e47: SWAP2 00001e48: POP 00001e49: PUSH2 0x1e51 00001e4c: DUP3 00001e4d: PUSH2 0x1e10 00001e50: JUMP 00001e51: JUMPDEST 00001e52: PUSH1 0x20 00001e54: DUP3 00001e55: ADD 00001e56: SWAP1 00001e57: POP 00001e58: SWAP2 00001e59: SWAP1 00001e5a: POP 00001e5b: JUMP 00001e5c: JUMPDEST 00001e5d: PUSH1 0x00 00001e5f: PUSH1 0x20 00001e61: DUP3 00001e62: ADD 00001e63: SWAP1 00001e64: POP 00001e65: DUP2 00001e66: DUP2 00001e67: SUB 00001e68: PUSH1 0x00 00001e6a: DUP4 00001e6b: ADD 00001e6c: MSTORE 00001e6d: PUSH2 0x1e75 00001e70: DUP2 00001e71: PUSH2 0x1e39 00001e74: JUMP 00001e75: JUMPDEST 00001e76: SWAP1 00001e77: POP 00001e78: SWAP2 00001e79: SWAP1 00001e7a: POP 00001e7b: JUMP 00001e7c: JUMPDEST 00001e7d: PUSH32 0x66656520746f6b656e2061646472657373206973207a65726f00000000000000 00001e9e: PUSH1 0x00 00001ea0: DUP3 00001ea1: ADD 00001ea2: MSTORE 00001ea3: POP 00001ea4: JUMP 00001ea5: JUMPDEST 00001ea6: PUSH1 0x00 00001ea8: PUSH2 0x1eb2 00001eab: PUSH1 0x19 00001ead: DUP4 00001eae: PUSH2 0x1d27 00001eb1: JUMP 00001eb2: JUMPDEST 00001eb3: SWAP2 00001eb4: POP 00001eb5: PUSH2 0x1ebd 00001eb8: DUP3 00001eb9: PUSH2 0x1e7c 00001ebc: JUMP 00001ebd: JUMPDEST 00001ebe: PUSH1 0x20 00001ec0: DUP3 00001ec1: ADD 00001ec2: SWAP1 00001ec3: POP 00001ec4: SWAP2 00001ec5: SWAP1 00001ec6: POP 00001ec7: JUMP 00001ec8: JUMPDEST 00001ec9: PUSH1 0x00 00001ecb: PUSH1 0x20 00001ecd: DUP3 00001ece: ADD 00001ecf: SWAP1 00001ed0: POP 00001ed1: DUP2 00001ed2: DUP2 00001ed3: SUB 00001ed4: PUSH1 0x00 00001ed6: DUP4 00001ed7: ADD 00001ed8: MSTORE 00001ed9: PUSH2 0x1ee1 00001edc: DUP2 00001edd: PUSH2 0x1ea5 00001ee0: JUMP 00001ee1: JUMPDEST 00001ee2: SWAP1 00001ee3: POP 00001ee4: SWAP2 00001ee5: SWAP1 00001ee6: POP 00001ee7: JUMP 00001ee8: JUMPDEST 00001ee9: PUSH32 0x77697468647261772061646472657373206e6f7420616c6c6f77656400000000 00001f0a: PUSH1 0x00 00001f0c: DUP3 00001f0d: ADD 00001f0e: MSTORE 00001f0f: POP 00001f10: JUMP 00001f11: JUMPDEST 00001f12: PUSH1 0x00 00001f14: PUSH2 0x1f1e 00001f17: PUSH1 0x1c 00001f19: DUP4 00001f1a: PUSH2 0x1d27 00001f1d: JUMP 00001f1e: JUMPDEST 00001f1f: SWAP2 00001f20: POP 00001f21: PUSH2 0x1f29 00001f24: DUP3 00001f25: PUSH2 0x1ee8 00001f28: JUMP 00001f29: JUMPDEST 00001f2a: PUSH1 0x20 00001f2c: DUP3 00001f2d: ADD 00001f2e: SWAP1 00001f2f: POP 00001f30: SWAP2 00001f31: SWAP1 00001f32: POP 00001f33: JUMP 00001f34: JUMPDEST 00001f35: PUSH1 0x00 00001f37: PUSH1 0x20 00001f39: DUP3 00001f3a: ADD 00001f3b: SWAP1 00001f3c: POP 00001f3d: DUP2 00001f3e: DUP2 00001f3f: SUB 00001f40: PUSH1 0x00 00001f42: DUP4 00001f43: ADD 00001f44: MSTORE 00001f45: PUSH2 0x1f4d 00001f48: DUP2 00001f49: PUSH2 0x1f11 00001f4c: JUMP 00001f4d: JUMPDEST 00001f4e: SWAP1 00001f4f: POP 00001f50: SWAP2 00001f51: SWAP1 00001f52: POP 00001f53: JUMP 00001f54: JUMPDEST 00001f55: PUSH32 0x7769746864726177496e666f206973206572726f720000000000000000000000 00001f76: PUSH1 0x00 00001f78: DUP3 00001f79: ADD 00001f7a: MSTORE 00001f7b: POP 00001f7c: JUMP 00001f7d: JUMPDEST 00001f7e: PUSH1 0x00 00001f80: PUSH2 0x1f8a 00001f83: PUSH1 0x15 00001f85: DUP4 00001f86: PUSH2 0x1d27 00001f89: JUMP 00001f8a: JUMPDEST 00001f8b: SWAP2 00001f8c: POP 00001f8d: PUSH2 0x1f95 00001f90: DUP3 00001f91: PUSH2 0x1f54 00001f94: JUMP 00001f95: JUMPDEST 00001f96: PUSH1 0x20 00001f98: DUP3 00001f99: ADD 00001f9a: SWAP1 00001f9b: POP 00001f9c: SWAP2 00001f9d: SWAP1 00001f9e: POP 00001f9f: JUMP 00001fa0: JUMPDEST 00001fa1: PUSH1 0x00 00001fa3: PUSH1 0x20 00001fa5: DUP3 00001fa6: ADD 00001fa7: SWAP1 00001fa8: POP 00001fa9: DUP2 00001faa: DUP2 00001fab: SUB 00001fac: PUSH1 0x00 00001fae: DUP4 00001faf: ADD 00001fb0: MSTORE 00001fb1: PUSH2 0x1fb9 00001fb4: DUP2 00001fb5: PUSH2 0x1f7d 00001fb8: JUMP 00001fb9: JUMPDEST 00001fba: SWAP1 00001fbb: POP 00001fbc: SWAP2 00001fbd: SWAP1 00001fbe: POP 00001fbf: JUMP 00001fc0: JUMPDEST 00001fc1: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001fe2: PUSH1 0x00 00001fe4: MSTORE 00001fe5: PUSH1 0x41 00001fe7: PUSH1 0x04 00001fe9: MSTORE 00001fea: PUSH1 0x24 00001fec: PUSH1 0x00 00001fee: REVERT 00001fef: JUMPDEST 00001ff0: PUSH1 0x00 00001ff2: DUP2 00001ff3: MLOAD 00001ff4: SWAP1 00001ff5: POP 00001ff6: PUSH2 0x1ffe 00001ff9: DUP2 00001ffa: PUSH2 0x1a54 00001ffd: JUMP 00001ffe: JUMPDEST 00001fff: SWAP3 00002000: SWAP2 00002001: POP 00002002: POP 00002003: JUMP 00002004: JUMPDEST 00002005: PUSH1 0x00 00002007: PUSH1 0x20 00002009: DUP3 0000200a: DUP5 0000200b: SUB 0000200c: SLT 0000200d: ISZERO 0000200e: PUSH2 0x201a 00002011: JUMPI 00002012: PUSH2 0x2019 00002015: PUSH2 0x1a4a 00002018: JUMP 00002019: JUMPDEST 0000201a: JUMPDEST 0000201b: PUSH1 0x00 0000201d: PUSH2 0x2028 00002020: DUP5 00002021: DUP3 00002022: DUP6 00002023: ADD 00002024: PUSH2 0x1fef 00002027: JUMP 00002028: JUMPDEST 00002029: SWAP2 0000202a: POP 0000202b: POP 0000202c: SWAP3 0000202d: SWAP2 0000202e: POP 0000202f: POP 00002030: JUMP 00002031: JUMPDEST 00002032: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002053: PUSH1 0x00 00002055: MSTORE 00002056: PUSH1 0x32 00002058: PUSH1 0x04 0000205a: MSTORE 0000205b: PUSH1 0x24 0000205d: PUSH1 0x00 0000205f: REVERT 00002060: JUMPDEST 00002061: PUSH32 0x776974686472617720616d6f756e74206d757374206265206772656174657220 00002082: PUSH1 0x00 00002084: DUP3 00002085: ADD 00002086: MSTORE 00002087: PUSH32 0x7468616e20300000000000000000000000000000000000000000000000000000 000020a8: PUSH1 0x20 000020aa: DUP3 000020ab: ADD 000020ac: MSTORE 000020ad: POP 000020ae: JUMP 000020af: JUMPDEST 000020b0: PUSH1 0x00 000020b2: PUSH2 0x20bc 000020b5: PUSH1 0x26 000020b7: DUP4 000020b8: PUSH2 0x1d27 000020bb: JUMP 000020bc: JUMPDEST 000020bd: SWAP2 000020be: POP 000020bf: PUSH2 0x20c7 000020c2: DUP3 000020c3: PUSH2 0x2060 000020c6: JUMP 000020c7: JUMPDEST 000020c8: PUSH1 0x40 000020ca: DUP3 000020cb: ADD 000020cc: SWAP1 000020cd: POP 000020ce: SWAP2 000020cf: SWAP1 000020d0: POP 000020d1: JUMP 000020d2: JUMPDEST 000020d3: PUSH1 0x00 000020d5: PUSH1 0x20 000020d7: DUP3 000020d8: ADD 000020d9: SWAP1 000020da: POP 000020db: DUP2 000020dc: DUP2 000020dd: SUB 000020de: PUSH1 0x00 000020e0: DUP4 000020e1: ADD 000020e2: MSTORE 000020e3: PUSH2 0x20eb 000020e6: DUP2 000020e7: PUSH2 0x20af 000020ea: JUMP 000020eb: JUMPDEST 000020ec: SWAP1 000020ed: POP 000020ee: SWAP2 000020ef: SWAP1 000020f0: POP 000020f1: JUMP 000020f2: JUMPDEST 000020f3: PUSH1 0x00 000020f5: DUP2 000020f6: MLOAD 000020f7: SWAP1 000020f8: POP 000020f9: PUSH2 0x2101 000020fc: DUP2 000020fd: PUSH2 0x1ae1 00002100: JUMP 00002101: JUMPDEST 00002102: SWAP3 00002103: SWAP2 00002104: POP 00002105: POP 00002106: JUMP 00002107: JUMPDEST 00002108: PUSH1 0x00 0000210a: PUSH1 0x20 0000210c: DUP3 0000210d: DUP5 0000210e: SUB 0000210f: SLT 00002110: ISZERO 00002111: PUSH2 0x211d 00002114: JUMPI 00002115: PUSH2 0x211c 00002118: PUSH2 0x1a4a 0000211b: JUMP 0000211c: JUMPDEST 0000211d: JUMPDEST 0000211e: PUSH1 0x00 00002120: PUSH2 0x212b 00002123: DUP5 00002124: DUP3 00002125: DUP6 00002126: ADD 00002127: PUSH2 0x20f2 0000212a: JUMP 0000212b: JUMPDEST 0000212c: SWAP2 0000212d: POP 0000212e: POP 0000212f: SWAP3 00002130: SWAP2 00002131: POP 00002132: POP 00002133: JUMP 00002134: JUMPDEST 00002135: PUSH32 0x776974686472617720616d6f756e74206973206572726f720000000000000000 00002156: PUSH1 0x00 00002158: DUP3 00002159: ADD 0000215a: MSTORE 0000215b: POP 0000215c: JUMP 0000215d: JUMPDEST 0000215e: PUSH1 0x00 00002160: PUSH2 0x216a 00002163: PUSH1 0x18 00002165: DUP4 00002166: PUSH2 0x1d27 00002169: JUMP 0000216a: JUMPDEST 0000216b: SWAP2 0000216c: POP 0000216d: PUSH2 0x2175 00002170: DUP3 00002171: PUSH2 0x2134 00002174: JUMP 00002175: JUMPDEST 00002176: PUSH1 0x20 00002178: DUP3 00002179: ADD 0000217a: SWAP1 0000217b: POP 0000217c: SWAP2 0000217d: SWAP1 0000217e: POP 0000217f: JUMP 00002180: JUMPDEST 00002181: PUSH1 0x00 00002183: PUSH1 0x20 00002185: DUP3 00002186: ADD 00002187: SWAP1 00002188: POP 00002189: DUP2 0000218a: DUP2 0000218b: SUB 0000218c: PUSH1 0x00 0000218e: DUP4 0000218f: ADD 00002190: MSTORE 00002191: PUSH2 0x2199 00002194: DUP2 00002195: PUSH2 0x215d 00002198: JUMP 00002199: JUMPDEST 0000219a: SWAP1 0000219b: POP 0000219c: SWAP2 0000219d: SWAP1 0000219e: POP 0000219f: JUMP 000021a0: JUMPDEST 000021a1: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000021c2: PUSH1 0x00 000021c4: MSTORE 000021c5: PUSH1 0x11 000021c7: PUSH1 0x04 000021c9: MSTORE 000021ca: PUSH1 0x24 000021cc: PUSH1 0x00 000021ce: REVERT 000021cf: JUMPDEST 000021d0: PUSH1 0x00 000021d2: PUSH2 0x21da 000021d5: DUP3 000021d6: PUSH2 0x1aad 000021d9: JUMP 000021da: JUMPDEST 000021db: SWAP2 000021dc: POP 000021dd: PUSH2 0x21e5 000021e0: DUP4 000021e1: PUSH2 0x1aad 000021e4: JUMP 000021e5: JUMPDEST 000021e6: SWAP3 000021e7: POP 000021e8: DUP3 000021e9: DUP3 000021ea: SUB 000021eb: SWAP1 000021ec: POP 000021ed: DUP2 000021ee: DUP2 000021ef: GT 000021f0: ISZERO 000021f1: PUSH2 0x21fd 000021f4: JUMPI 000021f5: PUSH2 0x21fc 000021f8: PUSH2 0x21a0 000021fb: JUMP 000021fc: JUMPDEST 000021fd: JUMPDEST 000021fe: SWAP3 000021ff: SWAP2 00002200: POP 00002201: POP 00002202: JUMP 00002203: JUMPDEST 00002204: PUSH32 0x666565546f6b656e41646472657373206973206e6f7420537570706f72740000 00002225: PUSH1 0x00 00002227: DUP3 00002228: ADD 00002229: MSTORE 0000222a: POP 0000222b: JUMP 0000222c: JUMPDEST 0000222d: PUSH1 0x00 0000222f: PUSH2 0x2239 00002232: PUSH1 0x1e 00002234: DUP4 00002235: PUSH2 0x1d27 00002238: JUMP 00002239: JUMPDEST 0000223a: SWAP2 0000223b: POP 0000223c: PUSH2 0x2244 0000223f: DUP3 00002240: PUSH2 0x2203 00002243: JUMP 00002244: JUMPDEST 00002245: PUSH1 0x20 00002247: DUP3 00002248: ADD 00002249: SWAP1 0000224a: POP 0000224b: SWAP2 0000224c: SWAP1 0000224d: POP 0000224e: JUMP 0000224f: JUMPDEST 00002250: PUSH1 0x00 00002252: PUSH1 0x20 00002254: DUP3 00002255: ADD 00002256: SWAP1 00002257: POP 00002258: DUP2 00002259: DUP2 0000225a: SUB 0000225b: PUSH1 0x00 0000225d: DUP4 0000225e: ADD 0000225f: MSTORE 00002260: PUSH2 0x2268 00002263: DUP2 00002264: PUSH2 0x222c 00002267: JUMP 00002268: JUMPDEST 00002269: SWAP1 0000226a: POP 0000226b: SWAP2 0000226c: SWAP1 0000226d: POP 0000226e: JUMP 0000226f: JUMPDEST 00002270: PUSH1 0x00 00002272: DUP3 00002273: DUP3 00002274: MSTORE 00002275: PUSH1 0x20 00002277: DUP3 00002278: ADD 00002279: SWAP1 0000227a: POP 0000227b: SWAP3 0000227c: SWAP2 0000227d: POP 0000227e: POP 0000227f: JUMP 00002280: JUMPDEST 00002281: PUSH1 0x00 00002283: DUP2 00002284: SWAP1 00002285: POP 00002286: SWAP2 00002287: SWAP1 00002288: POP 00002289: JUMP 0000228a: JUMPDEST 0000228b: PUSH1 0x00 0000228d: PUSH2 0x2299 00002290: PUSH1 0x20 00002292: DUP5 00002293: ADD 00002294: DUP5 00002295: PUSH2 0x1a6b 00002298: JUMP 00002299: JUMPDEST 0000229a: SWAP1 0000229b: POP 0000229c: SWAP3 0000229d: SWAP2 0000229e: POP 0000229f: POP 000022a0: JUMP 000022a1: JUMPDEST 000022a2: PUSH1 0x00 000022a4: PUSH2 0x22b0 000022a7: PUSH1 0x20 000022a9: DUP5 000022aa: ADD 000022ab: DUP5 000022ac: PUSH2 0x1c11 000022af: JUMP 000022b0: JUMPDEST 000022b1: SWAP1 000022b2: POP 000022b3: SWAP3 000022b4: SWAP2 000022b5: POP 000022b6: POP 000022b7: JUMP 000022b8: JUMPDEST 000022b9: PUSH2 0x22c1 000022bc: DUP2 000022bd: PUSH2 0x1aad 000022c0: JUMP 000022c1: JUMPDEST 000022c2: DUP3 000022c3: MSTORE 000022c4: POP 000022c5: POP 000022c6: JUMP 000022c7: JUMPDEST 000022c8: PUSH1 0x40 000022ca: DUP3 000022cb: ADD 000022cc: PUSH2 0x22d8 000022cf: PUSH1 0x00 000022d1: DUP4 000022d2: ADD 000022d3: DUP4 000022d4: PUSH2 0x228a 000022d7: JUMP 000022d8: JUMPDEST 000022d9: PUSH2 0x22e5 000022dc: PUSH1 0x00 000022de: DUP6 000022df: ADD 000022e0: DUP3 000022e1: PUSH2 0x1960 000022e4: JUMP 000022e5: JUMPDEST 000022e6: POP 000022e7: PUSH2 0x22f3 000022ea: PUSH1 0x20 000022ec: DUP4 000022ed: ADD 000022ee: DUP4 000022ef: PUSH2 0x22a1 000022f2: JUMP 000022f3: JUMPDEST 000022f4: PUSH2 0x2300 000022f7: PUSH1 0x20 000022f9: DUP6 000022fa: ADD 000022fb: DUP3 000022fc: PUSH2 0x22b8 000022ff: JUMP 00002300: JUMPDEST 00002301: POP 00002302: POP 00002303: POP 00002304: POP 00002305: JUMP 00002306: JUMPDEST 00002307: PUSH1 0x00 00002309: PUSH2 0x2312 0000230c: DUP4 0000230d: DUP4 0000230e: PUSH2 0x22c7 00002311: JUMP 00002312: JUMPDEST 00002313: PUSH1 0x40 00002315: DUP4 00002316: ADD 00002317: SWAP1 00002318: POP 00002319: SWAP3 0000231a: SWAP2 0000231b: POP 0000231c: POP 0000231d: JUMP 0000231e: JUMPDEST 0000231f: PUSH1 0x00 00002321: DUP3 00002322: SWAP1 00002323: POP 00002324: SWAP3 00002325: SWAP2 00002326: POP 00002327: POP 00002328: JUMP 00002329: JUMPDEST 0000232a: PUSH1 0x00 0000232c: PUSH1 0x40 0000232e: DUP3 0000232f: ADD 00002330: SWAP1 00002331: POP 00002332: SWAP2 00002333: SWAP1 00002334: POP 00002335: JUMP 00002336: JUMPDEST 00002337: PUSH1 0x00 00002339: PUSH2 0x2342 0000233c: DUP4 0000233d: DUP6 0000233e: PUSH2 0x226f 00002341: JUMP 00002342: JUMPDEST 00002343: SWAP4 00002344: POP 00002345: PUSH2 0x234d 00002348: DUP3 00002349: PUSH2 0x2280 0000234c: JUMP 0000234d: JUMPDEST 0000234e: DUP1 0000234f: PUSH1 0x00 00002351: JUMPDEST 00002352: DUP6 00002353: DUP2 00002354: LT 00002355: ISZERO 00002356: PUSH2 0x2386 00002359: JUMPI 0000235a: PUSH2 0x2363 0000235d: DUP3 0000235e: DUP5 0000235f: PUSH2 0x231e 00002362: JUMP 00002363: JUMPDEST 00002364: PUSH2 0x236d 00002367: DUP9 00002368: DUP3 00002369: PUSH2 0x2306 0000236c: JUMP 0000236d: JUMPDEST 0000236e: SWAP8 0000236f: POP 00002370: PUSH2 0x2378 00002373: DUP4 00002374: PUSH2 0x2329 00002377: JUMP 00002378: JUMPDEST 00002379: SWAP3 0000237a: POP 0000237b: POP 0000237c: PUSH1 0x01 0000237e: DUP2 0000237f: ADD 00002380: SWAP1 00002381: POP 00002382: PUSH2 0x2351 00002385: JUMP 00002386: JUMPDEST 00002387: POP 00002388: DUP6 00002389: SWAP3 0000238a: POP 0000238b: POP 0000238c: POP 0000238d: SWAP4 0000238e: SWAP3 0000238f: POP 00002390: POP 00002391: POP 00002392: JUMP 00002393: JUMPDEST 00002394: PUSH1 0x00 00002396: DUP2 00002397: MLOAD 00002398: SWAP1 00002399: POP 0000239a: SWAP2 0000239b: SWAP1 0000239c: POP 0000239d: JUMP 0000239e: JUMPDEST 0000239f: PUSH1 0x00 000023a1: DUP3 000023a2: DUP3 000023a3: MSTORE 000023a4: PUSH1 0x20 000023a6: DUP3 000023a7: ADD 000023a8: SWAP1 000023a9: POP 000023aa: SWAP3 000023ab: SWAP2 000023ac: POP 000023ad: POP 000023ae: JUMP 000023af: JUMPDEST 000023b0: PUSH1 0x00 000023b2: DUP2 000023b3: SWAP1 000023b4: POP 000023b5: PUSH1 0x20 000023b7: DUP3 000023b8: ADD 000023b9: SWAP1 000023ba: POP 000023bb: SWAP2 000023bc: SWAP1 000023bd: POP 000023be: JUMP 000023bf: JUMPDEST 000023c0: PUSH1 0x00 000023c2: PUSH2 0x23cb 000023c5: DUP4 000023c6: DUP4 000023c7: PUSH2 0x22b8 000023ca: JUMP 000023cb: JUMPDEST 000023cc: PUSH1 0x20 000023ce: DUP4 000023cf: ADD 000023d0: SWAP1 000023d1: POP 000023d2: SWAP3 000023d3: SWAP2 000023d4: POP 000023d5: POP 000023d6: JUMP 000023d7: JUMPDEST 000023d8: PUSH1 0x00 000023da: PUSH1 0x20 000023dc: DUP3 000023dd: ADD 000023de: SWAP1 000023df: POP 000023e0: SWAP2 000023e1: SWAP1 000023e2: POP 000023e3: JUMP 000023e4: JUMPDEST 000023e5: PUSH1 0x00 000023e7: PUSH2 0x23ef 000023ea: DUP3 000023eb: PUSH2 0x2393 000023ee: JUMP 000023ef: JUMPDEST 000023f0: PUSH2 0x23f9 000023f3: DUP2 000023f4: DUP6 000023f5: PUSH2 0x239e 000023f8: JUMP 000023f9: JUMPDEST 000023fa: SWAP4 000023fb: POP 000023fc: PUSH2 0x2404 000023ff: DUP4 00002400: PUSH2 0x23af 00002403: JUMP 00002404: JUMPDEST 00002405: DUP1 00002406: PUSH1 0x00 00002408: JUMPDEST 00002409: DUP4 0000240a: DUP2 0000240b: LT 0000240c: ISZERO 0000240d: PUSH2 0x2435 00002410: JUMPI 00002411: DUP2 00002412: MLOAD 00002413: PUSH2 0x241c 00002416: DUP9 00002417: DUP3 00002418: PUSH2 0x23bf 0000241b: JUMP 0000241c: JUMPDEST 0000241d: SWAP8 0000241e: POP 0000241f: PUSH2 0x2427 00002422: DUP4 00002423: PUSH2 0x23d7 00002426: JUMP 00002427: JUMPDEST 00002428: SWAP3 00002429: POP 0000242a: POP 0000242b: PUSH1 0x01 0000242d: DUP2 0000242e: ADD 0000242f: SWAP1 00002430: POP 00002431: PUSH2 0x2408 00002434: JUMP 00002435: JUMPDEST 00002436: POP 00002437: DUP6 00002438: SWAP4 00002439: POP 0000243a: POP 0000243b: POP 0000243c: POP 0000243d: SWAP3 0000243e: SWAP2 0000243f: POP 00002440: POP 00002441: JUMP 00002442: JUMPDEST 00002443: PUSH1 0x00 00002445: PUSH1 0x80 00002447: DUP3 00002448: ADD 00002449: SWAP1 0000244a: POP 0000244b: DUP2 0000244c: DUP2 0000244d: SUB 0000244e: PUSH1 0x00 00002450: DUP4 00002451: ADD 00002452: MSTORE 00002453: PUSH2 0x245d 00002456: DUP2 00002457: DUP8 00002458: DUP10 00002459: PUSH2 0x2336 0000245c: JUMP 0000245d: JUMPDEST 0000245e: SWAP1 0000245f: POP 00002460: DUP2 00002461: DUP2 00002462: SUB 00002463: PUSH1 0x20 00002465: DUP4 00002466: ADD 00002467: MSTORE 00002468: PUSH2 0x2471 0000246b: DUP2 0000246c: DUP7 0000246d: PUSH2 0x23e4 00002470: JUMP 00002471: JUMPDEST 00002472: SWAP1 00002473: POP 00002474: PUSH2 0x2480 00002477: PUSH1 0x40 00002479: DUP4 0000247a: ADD 0000247b: DUP6 0000247c: PUSH2 0x190a 0000247f: JUMP 00002480: JUMPDEST 00002481: PUSH2 0x248d 00002484: PUSH1 0x60 00002486: DUP4 00002487: ADD 00002488: DUP5 00002489: PUSH2 0x190a 0000248c: JUMP 0000248d: JUMPDEST 0000248e: SWAP7 0000248f: SWAP6 00002490: POP 00002491: POP 00002492: POP 00002493: POP 00002494: POP 00002495: POP 00002496: JUMP 00002497: JUMPDEST 00002498: PUSH32 0x7472616e7366657220746f6b656e20697320746865207a65726f206164647265 000024b9: PUSH1 0x00 000024bb: DUP3 000024bc: ADD 000024bd: MSTORE 000024be: PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 000024df: PUSH1 0x20 000024e1: DUP3 000024e2: ADD 000024e3: MSTORE 000024e4: POP 000024e5: JUMP 000024e6: JUMPDEST 000024e7: PUSH1 0x00 000024e9: PUSH2 0x24f3 000024ec: PUSH1 0x22 000024ee: DUP4 000024ef: PUSH2 0x1d27 000024f2: JUMP 000024f3: JUMPDEST 000024f4: SWAP2 000024f5: POP 000024f6: PUSH2 0x24fe 000024f9: DUP3 000024fa: PUSH2 0x2497 000024fd: JUMP 000024fe: JUMPDEST 000024ff: PUSH1 0x40 00002501: DUP3 00002502: ADD 00002503: SWAP1 00002504: POP 00002505: SWAP2 00002506: SWAP1 00002507: POP 00002508: JUMP 00002509: JUMPDEST 0000250a: PUSH1 0x00 0000250c: PUSH1 0x20 0000250e: DUP3 0000250f: ADD 00002510: SWAP1 00002511: POP 00002512: DUP2 00002513: DUP2 00002514: SUB 00002515: PUSH1 0x00 00002517: DUP4 00002518: ADD 00002519: MSTORE 0000251a: PUSH2 0x2522 0000251d: DUP2 0000251e: PUSH2 0x24e6 00002521: JUMP 00002522: JUMPDEST 00002523: SWAP1 00002524: POP 00002525: SWAP2 00002526: SWAP1 00002527: POP 00002528: JUMP 00002529: JUMPDEST 0000252a: PUSH32 0x436f6e7472616374206973206275726e00000000000000000000000000000000 0000254b: PUSH1 0x00 0000254d: DUP3 0000254e: ADD 0000254f: MSTORE 00002550: POP 00002551: JUMP 00002552: JUMPDEST 00002553: PUSH1 0x00 00002555: PUSH2 0x255f 00002558: PUSH1 0x10 0000255a: DUP4 0000255b: PUSH2 0x1d27 0000255e: JUMP 0000255f: JUMPDEST 00002560: SWAP2 00002561: POP 00002562: PUSH2 0x256a 00002565: DUP3 00002566: PUSH2 0x2529 00002569: JUMP 0000256a: JUMPDEST 0000256b: PUSH1 0x20 0000256d: DUP3 0000256e: ADD 0000256f: SWAP1 00002570: POP 00002571: SWAP2 00002572: SWAP1 00002573: POP 00002574: JUMP 00002575: JUMPDEST 00002576: PUSH1 0x00 00002578: PUSH1 0x20 0000257a: DUP3 0000257b: ADD 0000257c: SWAP1 0000257d: POP 0000257e: DUP2 0000257f: DUP2 00002580: SUB 00002581: PUSH1 0x00 00002583: DUP4 00002584: ADD 00002585: MSTORE 00002586: PUSH2 0x258e 00002589: DUP2 0000258a: PUSH2 0x2552 0000258d: JUMP 0000258e: JUMPDEST 0000258f: SWAP1 00002590: POP 00002591: SWAP2 00002592: SWAP1 00002593: POP 00002594: JUMP 00002595: JUMPDEST 00002596: PUSH32 0x616d6f756e74206d7573742062652067726561746572207468616e2030000000 000025b7: PUSH1 0x00 000025b9: DUP3 000025ba: ADD 000025bb: MSTORE 000025bc: POP 000025bd: JUMP 000025be: JUMPDEST 000025bf: PUSH1 0x00 000025c1: PUSH2 0x25cb 000025c4: PUSH1 0x1d 000025c6: DUP4 000025c7: PUSH2 0x1d27 000025ca: JUMP 000025cb: JUMPDEST 000025cc: SWAP2 000025cd: POP 000025ce: PUSH2 0x25d6 000025d1: DUP3 000025d2: PUSH2 0x2595 000025d5: JUMP 000025d6: JUMPDEST 000025d7: PUSH1 0x20 000025d9: DUP3 000025da: ADD 000025db: SWAP1 000025dc: POP 000025dd: SWAP2 000025de: SWAP1 000025df: POP 000025e0: JUMP 000025e1: JUMPDEST 000025e2: PUSH1 0x00 000025e4: PUSH1 0x20 000025e6: DUP3 000025e7: ADD 000025e8: SWAP1 000025e9: POP 000025ea: DUP2 000025eb: DUP2 000025ec: SUB 000025ed: PUSH1 0x00 000025ef: DUP4 000025f0: ADD 000025f1: MSTORE 000025f2: PUSH2 0x25fa 000025f5: DUP2 000025f6: PUSH2 0x25be 000025f9: JUMP 000025fa: JUMPDEST 000025fb: SWAP1 000025fc: POP 000025fd: SWAP2 000025fe: SWAP1 000025ff: POP 00002600: JUMP 00002601: JUMPDEST 00002602: PUSH1 0x00 00002604: PUSH2 0x260c 00002607: DUP3 00002608: PUSH2 0x1aad 0000260b: JUMP 0000260c: JUMPDEST 0000260d: SWAP2 0000260e: POP 0000260f: PUSH2 0x2617 00002612: DUP4 00002613: PUSH2 0x1aad 00002616: JUMP 00002617: JUMPDEST 00002618: SWAP3 00002619: POP 0000261a: DUP3 0000261b: DUP3 0000261c: ADD 0000261d: SWAP1 0000261e: POP 0000261f: DUP1 00002620: DUP3 00002621: GT 00002622: ISZERO 00002623: PUSH2 0x262f 00002626: JUMPI 00002627: PUSH2 0x262e 0000262a: PUSH2 0x21a0 0000262d: JUMP 0000262e: JUMPDEST 0000262f: JUMPDEST 00002630: SWAP3 00002631: SWAP2 00002632: POP 00002633: POP 00002634: JUMP 00002635: JUMPDEST 00002636: DUP3 00002637: DUP2 00002638: DUP4 00002639: CALLDATACOPY 0000263a: PUSH1 0x00 0000263c: DUP4 0000263d: DUP4 0000263e: ADD 0000263f: MSTORE 00002640: POP 00002641: POP 00002642: POP 00002643: JUMP 00002644: JUMPDEST 00002645: PUSH1 0x00 00002647: PUSH1 0x1f 00002649: NOT 0000264a: PUSH1 0x1f 0000264c: DUP4 0000264d: ADD 0000264e: AND 0000264f: SWAP1 00002650: POP 00002651: SWAP2 00002652: SWAP1 00002653: POP 00002654: JUMP 00002655: JUMPDEST 00002656: PUSH1 0x00 00002658: PUSH2 0x2661 0000265b: DUP4 0000265c: DUP6 0000265d: PUSH2 0x1d27 00002660: JUMP 00002661: JUMPDEST 00002662: SWAP4 00002663: POP 00002664: PUSH2 0x266e 00002667: DUP4 00002668: DUP6 00002669: DUP5 0000266a: PUSH2 0x2635 0000266d: JUMP 0000266e: JUMPDEST 0000266f: PUSH2 0x2677 00002672: DUP4 00002673: PUSH2 0x2644 00002676: JUMP 00002677: JUMPDEST 00002678: DUP5 00002679: ADD 0000267a: SWAP1 0000267b: POP 0000267c: SWAP4 0000267d: SWAP3 0000267e: POP 0000267f: POP 00002680: POP 00002681: JUMP 00002682: JUMPDEST 00002683: PUSH1 0x00 00002685: PUSH1 0x40 00002687: DUP3 00002688: ADD 00002689: SWAP1 0000268a: POP 0000268b: PUSH2 0x2697 0000268e: PUSH1 0x00 00002690: DUP4 00002691: ADD 00002692: DUP7 00002693: PUSH2 0x1ab7 00002696: JUMP 00002697: JUMPDEST 00002698: DUP2 00002699: DUP2 0000269a: SUB 0000269b: PUSH1 0x20 0000269d: DUP4 0000269e: ADD 0000269f: MSTORE 000026a0: PUSH2 0x26aa 000026a3: DUP2 000026a4: DUP5 000026a5: DUP7 000026a6: PUSH2 0x2655 000026a9: JUMP 000026aa: JUMPDEST 000026ab: SWAP1 000026ac: POP 000026ad: SWAP5 000026ae: SWAP4 000026af: POP 000026b0: POP 000026b1: POP 000026b2: POP 000026b3: JUMP 000026b4: JUMPDEST 000026b5: PUSH1 0x00 000026b7: DUP2 000026b8: MLOAD 000026b9: SWAP1 000026ba: POP 000026bb: PUSH2 0x26c3 000026be: DUP2 000026bf: PUSH2 0x1bfa 000026c2: JUMP 000026c3: JUMPDEST 000026c4: SWAP3 000026c5: SWAP2 000026c6: POP 000026c7: POP 000026c8: JUMP 000026c9: JUMPDEST 000026ca: PUSH1 0x00 000026cc: PUSH1 0x20 000026ce: DUP3 000026cf: DUP5 000026d0: SUB 000026d1: SLT 000026d2: ISZERO 000026d3: PUSH2 0x26df 000026d6: JUMPI 000026d7: PUSH2 0x26de 000026da: PUSH2 0x1a4a 000026dd: JUMP 000026de: JUMPDEST 000026df: JUMPDEST 000026e0: PUSH1 0x00 000026e2: PUSH2 0x26ed 000026e5: DUP5 000026e6: DUP3 000026e7: DUP6 000026e8: ADD 000026e9: PUSH2 0x26b4 000026ec: JUMP 000026ed: JUMPDEST 000026ee: SWAP2 000026ef: POP 000026f0: POP 000026f1: SWAP3 000026f2: SWAP2 000026f3: POP 000026f4: POP 000026f5: JUMP 000026f6: JUMPDEST 000026f7: PUSH1 0x00 000026f9: DUP2 000026fa: PUSH1 0x01 000026fc: SHR 000026fd: SWAP1 000026fe: POP 000026ff: SWAP2 00002700: SWAP1 00002701: POP 00002702: JUMP 00002703: JUMPDEST 00002704: PUSH1 0x00 00002706: DUP1 00002707: DUP3 00002708: SWAP2 00002709: POP 0000270a: DUP4 0000270b: SWAP1 0000270c: POP 0000270d: JUMPDEST 0000270e: PUSH1 0x01 00002710: DUP6 00002711: GT 00002712: ISZERO 00002713: PUSH2 0x274d 00002716: JUMPI 00002717: DUP1 00002718: DUP7 00002719: DIV 0000271a: DUP2 0000271b: GT 0000271c: ISZERO 0000271d: PUSH2 0x2729 00002720: JUMPI 00002721: PUSH2 0x2728 00002724: PUSH2 0x21a0 00002727: JUMP 00002728: JUMPDEST 00002729: JUMPDEST 0000272a: PUSH1 0x01 0000272c: DUP6 0000272d: AND 0000272e: ISZERO 0000272f: PUSH2 0x2738 00002732: JUMPI 00002733: DUP1 00002734: DUP3 00002735: MUL 00002736: SWAP2 00002737: POP 00002738: JUMPDEST 00002739: DUP1 0000273a: DUP2 0000273b: MUL 0000273c: SWAP1 0000273d: POP 0000273e: PUSH2 0x2746 00002741: DUP6 00002742: PUSH2 0x26f6 00002745: JUMP 00002746: JUMPDEST 00002747: SWAP5 00002748: POP 00002749: PUSH2 0x270d 0000274c: JUMP 0000274d: JUMPDEST 0000274e: SWAP5 0000274f: POP 00002750: SWAP5 00002751: SWAP3 00002752: POP 00002753: POP 00002754: POP 00002755: JUMP 00002756: JUMPDEST 00002757: PUSH1 0x00 00002759: DUP3 0000275a: PUSH2 0x2766 0000275d: JUMPI 0000275e: PUSH1 0x01 00002760: SWAP1 00002761: POP 00002762: PUSH2 0x2822 00002765: JUMP 00002766: JUMPDEST 00002767: DUP2 00002768: PUSH2 0x2774 0000276b: JUMPI 0000276c: PUSH1 0x00 0000276e: SWAP1 0000276f: POP 00002770: PUSH2 0x2822 00002773: JUMP 00002774: JUMPDEST 00002775: DUP2 00002776: PUSH1 0x01 00002778: DUP2 00002779: EQ 0000277a: PUSH2 0x278a 0000277d: JUMPI 0000277e: PUSH1 0x02 00002780: DUP2 00002781: EQ 00002782: PUSH2 0x2794 00002785: JUMPI 00002786: PUSH2 0x27c3 00002789: JUMP 0000278a: JUMPDEST 0000278b: PUSH1 0x01 0000278d: SWAP2 0000278e: POP 0000278f: POP 00002790: PUSH2 0x2822 00002793: JUMP 00002794: JUMPDEST 00002795: PUSH1 0xff 00002797: DUP5 00002798: GT 00002799: ISZERO 0000279a: PUSH2 0x27a6 0000279d: JUMPI 0000279e: PUSH2 0x27a5 000027a1: PUSH2 0x21a0 000027a4: JUMP 000027a5: JUMPDEST 000027a6: JUMPDEST 000027a7: DUP4 000027a8: PUSH1 0x02 000027aa: EXP 000027ab: SWAP2 000027ac: POP 000027ad: DUP5 000027ae: DUP3 000027af: GT 000027b0: ISZERO 000027b1: PUSH2 0x27bd 000027b4: JUMPI 000027b5: PUSH2 0x27bc 000027b8: PUSH2 0x21a0 000027bb: JUMP 000027bc: JUMPDEST 000027bd: JUMPDEST 000027be: POP 000027bf: PUSH2 0x2822 000027c2: JUMP 000027c3: JUMPDEST 000027c4: POP 000027c5: PUSH1 0x20 000027c7: DUP4 000027c8: LT 000027c9: PUSH2 0x0133 000027cc: DUP4 000027cd: LT 000027ce: AND 000027cf: PUSH1 0x4e 000027d1: DUP5 000027d2: LT 000027d3: PUSH1 0x0b 000027d5: DUP5 000027d6: LT 000027d7: AND 000027d8: OR 000027d9: ISZERO 000027da: PUSH2 0x27f8 000027dd: JUMPI 000027de: DUP3 000027df: DUP3 000027e0: EXP 000027e1: SWAP1 000027e2: POP 000027e3: DUP4 000027e4: DUP2 000027e5: GT 000027e6: ISZERO 000027e7: PUSH2 0x27f3 000027ea: JUMPI 000027eb: PUSH2 0x27f2 000027ee: PUSH2 0x21a0 000027f1: JUMP 000027f2: JUMPDEST 000027f3: JUMPDEST 000027f4: PUSH2 0x2822 000027f7: JUMP 000027f8: JUMPDEST 000027f9: PUSH2 0x2805 000027fc: DUP5 000027fd: DUP5 000027fe: DUP5 000027ff: PUSH1 0x01 00002801: PUSH2 0x2703 00002804: JUMP 00002805: JUMPDEST 00002806: SWAP3 00002807: POP 00002808: SWAP1 00002809: POP 0000280a: DUP2 0000280b: DUP5 0000280c: DIV 0000280d: DUP2 0000280e: GT 0000280f: ISZERO 00002810: PUSH2 0x281c 00002813: JUMPI 00002814: PUSH2 0x281b 00002817: PUSH2 0x21a0 0000281a: JUMP 0000281b: JUMPDEST 0000281c: JUMPDEST 0000281d: DUP2 0000281e: DUP2 0000281f: MUL 00002820: SWAP1 00002821: POP 00002822: JUMPDEST 00002823: SWAP4 00002824: SWAP3 00002825: POP 00002826: POP 00002827: POP 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH1 0x00 0000282c: PUSH2 0x2834 0000282f: DUP3 00002830: PUSH2 0x1aad 00002833: JUMP 00002834: JUMPDEST 00002835: SWAP2 00002836: POP 00002837: PUSH2 0x283f 0000283a: DUP4 0000283b: PUSH2 0x1aad 0000283e: JUMP 0000283f: JUMPDEST 00002840: SWAP3 00002841: POP 00002842: PUSH2 0x286c 00002845: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002866: DUP5 00002867: DUP5 00002868: PUSH2 0x2756 0000286b: JUMP 0000286c: JUMPDEST 0000286d: SWAP1 0000286e: POP 0000286f: SWAP3 00002870: SWAP2 00002871: POP 00002872: POP 00002873: JUMP 00002874: JUMPDEST 00002875: PUSH1 0x00 00002877: PUSH2 0x287f 0000287a: DUP3 0000287b: PUSH2 0x1aad 0000287e: JUMP 0000287f: JUMPDEST 00002880: SWAP2 00002881: POP 00002882: PUSH2 0x288a 00002885: DUP4 00002886: PUSH2 0x1aad 00002889: JUMP 0000288a: JUMPDEST 0000288b: SWAP3 0000288c: POP 0000288d: DUP3 0000288e: DUP3 0000288f: MUL 00002890: PUSH2 0x2898 00002893: DUP2 00002894: PUSH2 0x1aad 00002897: JUMP 00002898: JUMPDEST 00002899: SWAP2 0000289a: POP 0000289b: DUP3 0000289c: DUP3 0000289d: DIV 0000289e: DUP5 0000289f: EQ 000028a0: DUP4 000028a1: ISZERO 000028a2: OR 000028a3: PUSH2 0x28af 000028a6: JUMPI 000028a7: PUSH2 0x28ae 000028aa: PUSH2 0x21a0 000028ad: JUMP 000028ae: JUMPDEST 000028af: JUMPDEST 000028b0: POP 000028b1: SWAP3 000028b2: SWAP2 000028b3: POP 000028b4: POP 000028b5: JUMP 000028b6: JUMPDEST 000028b7: PUSH32 0x616d6f756e74206d7573742062652067726561746572207468616e207a65726f 000028d8: PUSH1 0x00 000028da: DUP3 000028db: ADD 000028dc: MSTORE 000028dd: POP 000028de: JUMP 000028df: JUMPDEST 000028e0: PUSH1 0x00 000028e2: PUSH2 0x28ec 000028e5: PUSH1 0x20 000028e7: DUP4 000028e8: PUSH2 0x1d27 000028eb: JUMP 000028ec: JUMPDEST 000028ed: SWAP2 000028ee: POP 000028ef: PUSH2 0x28f7 000028f2: DUP3 000028f3: PUSH2 0x28b6 000028f6: JUMP 000028f7: JUMPDEST 000028f8: PUSH1 0x20 000028fa: DUP3 000028fb: ADD 000028fc: SWAP1 000028fd: POP 000028fe: SWAP2 000028ff: SWAP1 00002900: POP 00002901: JUMP 00002902: JUMPDEST 00002903: PUSH1 0x00 00002905: PUSH1 0x20 00002907: DUP3 00002908: ADD 00002909: SWAP1 0000290a: POP 0000290b: DUP2 0000290c: DUP2 0000290d: SUB 0000290e: PUSH1 0x00 00002910: DUP4 00002911: ADD 00002912: MSTORE 00002913: PUSH2 0x291b 00002916: DUP2 00002917: PUSH2 0x28df 0000291a: JUMP 0000291b: JUMPDEST 0000291c: SWAP1 0000291d: POP 0000291e: SWAP2 0000291f: SWAP1 00002920: POP 00002921: JUMP 00002922: JUMPDEST 00002923: PUSH32 0x7769746864726177206164647265737320697320746865207a65726f20616464 00002944: PUSH1 0x00 00002946: DUP3 00002947: ADD 00002948: MSTORE 00002949: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 0000296a: PUSH1 0x20 0000296c: DUP3 0000296d: ADD 0000296e: MSTORE 0000296f: POP 00002970: JUMP 00002971: JUMPDEST 00002972: PUSH1 0x00 00002974: PUSH2 0x297e 00002977: PUSH1 0x24 00002979: DUP4 0000297a: PUSH2 0x1d27 0000297d: JUMP 0000297e: JUMPDEST 0000297f: SWAP2 00002980: POP 00002981: PUSH2 0x2989 00002984: DUP3 00002985: PUSH2 0x2922 00002988: JUMP 00002989: JUMPDEST 0000298a: PUSH1 0x40 0000298c: DUP3 0000298d: ADD 0000298e: SWAP1 0000298f: POP 00002990: SWAP2 00002991: SWAP1 00002992: POP 00002993: JUMP 00002994: JUMPDEST 00002995: PUSH1 0x00 00002997: PUSH1 0x20 00002999: DUP3 0000299a: ADD 0000299b: SWAP1 0000299c: POP 0000299d: DUP2 0000299e: DUP2 0000299f: SUB 000029a0: PUSH1 0x00 000029a2: DUP4 000029a3: ADD 000029a4: MSTORE 000029a5: PUSH2 0x29ad 000029a8: DUP2 000029a9: PUSH2 0x2971 000029ac: JUMP 000029ad: JUMPDEST 000029ae: SWAP1 000029af: POP 000029b0: SWAP2 000029b1: SWAP1 000029b2: POP 000029b3: JUMP 000029b4: JUMPDEST 000029b5: PUSH32 0x496e73756666696369656e742062616c616e6365000000000000000000000000 000029d6: PUSH1 0x00 000029d8: DUP3 000029d9: ADD 000029da: MSTORE 000029db: POP 000029dc: JUMP 000029dd: JUMPDEST 000029de: PUSH1 0x00 000029e0: PUSH2 0x29ea 000029e3: PUSH1 0x14 000029e5: DUP4 000029e6: PUSH2 0x1d27 000029e9: JUMP 000029ea: JUMPDEST 000029eb: SWAP2 000029ec: POP 000029ed: PUSH2 0x29f5 000029f0: DUP3 000029f1: PUSH2 0x29b4 000029f4: JUMP 000029f5: JUMPDEST 000029f6: PUSH1 0x20 000029f8: DUP3 000029f9: ADD 000029fa: SWAP1 000029fb: POP 000029fc: SWAP2 000029fd: SWAP1 000029fe: POP 000029ff: JUMP 00002a00: JUMPDEST 00002a01: PUSH1 0x00 00002a03: PUSH1 0x20 00002a05: DUP3 00002a06: ADD 00002a07: SWAP1 00002a08: POP 00002a09: DUP2 00002a0a: DUP2 00002a0b: SUB 00002a0c: PUSH1 0x00 00002a0e: DUP4 00002a0f: ADD 00002a10: MSTORE 00002a11: PUSH2 0x2a19 00002a14: DUP2 00002a15: PUSH2 0x29dd 00002a18: JUMP 00002a19: JUMPDEST 00002a1a: SWAP1 00002a1b: POP 00002a1c: SWAP2 00002a1d: SWAP1 00002a1e: POP 00002a1f: JUMP 00002a20: JUMPDEST 00002a21: PUSH1 0x00 00002a23: PUSH1 0x40 00002a25: DUP3 00002a26: ADD 00002a27: SWAP1 00002a28: POP 00002a29: PUSH2 0x2a35 00002a2c: PUSH1 0x00 00002a2e: DUP4 00002a2f: ADD 00002a30: DUP6 00002a31: PUSH2 0x190a 00002a34: JUMP 00002a35: JUMPDEST 00002a36: PUSH2 0x2a42 00002a39: PUSH1 0x20 00002a3b: DUP4 00002a3c: ADD 00002a3d: DUP5 00002a3e: PUSH2 0x1ab7 00002a41: JUMP 00002a42: JUMPDEST 00002a43: SWAP4 00002a44: SWAP3 00002a45: POP 00002a46: POP 00002a47: POP 00002a48: JUMP 00002a49: JUMPDEST 00002a4a: PUSH32 0x42616c616e636520646964206e6f742064656372656173652061732065787065 00002a6b: PUSH1 0x00 00002a6d: DUP3 00002a6e: ADD 00002a6f: MSTORE 00002a70: PUSH32 0x6374656400000000000000000000000000000000000000000000000000000000 00002a91: PUSH1 0x20 00002a93: DUP3 00002a94: ADD 00002a95: MSTORE 00002a96: POP 00002a97: JUMP 00002a98: JUMPDEST 00002a99: PUSH1 0x00 00002a9b: PUSH2 0x2aa5 00002a9e: PUSH1 0x24 00002aa0: DUP4 00002aa1: PUSH2 0x1d27 00002aa4: JUMP 00002aa5: JUMPDEST 00002aa6: SWAP2 00002aa7: POP 00002aa8: PUSH2 0x2ab0 00002aab: DUP3 00002aac: PUSH2 0x2a49 00002aaf: JUMP 00002ab0: JUMPDEST 00002ab1: PUSH1 0x40 00002ab3: DUP3 00002ab4: ADD 00002ab5: SWAP1 00002ab6: POP 00002ab7: SWAP2 00002ab8: SWAP1 00002ab9: POP 00002aba: JUMP 00002abb: JUMPDEST 00002abc: PUSH1 0x00 00002abe: PUSH1 0x20 00002ac0: DUP3 00002ac1: ADD 00002ac2: SWAP1 00002ac3: POP 00002ac4: DUP2 00002ac5: DUP2 00002ac6: SUB 00002ac7: PUSH1 0x00 00002ac9: DUP4 00002aca: ADD 00002acb: MSTORE 00002acc: PUSH2 0x2ad4 00002acf: DUP2 00002ad0: PUSH2 0x2a98 00002ad3: JUMP 00002ad4: JUMPDEST 00002ad5: SWAP1 00002ad6: POP 00002ad7: SWAP2 00002ad8: SWAP1 00002ad9: POP 00002ada: JUMP 00002adb: JUMPDEST 00002adc: PUSH32 0x46696e616c416d6f756e74206973206572726f72000000000000000000000000 00002afd: PUSH1 0x00 00002aff: DUP3 00002b00: ADD 00002b01: MSTORE 00002b02: POP 00002b03: JUMP 00002b04: JUMPDEST 00002b05: PUSH1 0x00 00002b07: PUSH2 0x2b11 00002b0a: PUSH1 0x14 00002b0c: DUP4 00002b0d: PUSH2 0x1d27 00002b10: JUMP 00002b11: JUMPDEST 00002b12: SWAP2 00002b13: POP 00002b14: PUSH2 0x2b1c 00002b17: DUP3 00002b18: PUSH2 0x2adb 00002b1b: JUMP 00002b1c: JUMPDEST 00002b1d: PUSH1 0x20 00002b1f: DUP3 00002b20: ADD 00002b21: SWAP1 00002b22: POP 00002b23: SWAP2 00002b24: SWAP1 00002b25: POP 00002b26: JUMP 00002b27: JUMPDEST 00002b28: PUSH1 0x00 00002b2a: PUSH1 0x20 00002b2c: DUP3 00002b2d: ADD 00002b2e: SWAP1 00002b2f: POP 00002b30: DUP2 00002b31: DUP2 00002b32: SUB 00002b33: PUSH1 0x00 00002b35: DUP4 00002b36: ADD 00002b37: MSTORE 00002b38: PUSH2 0x2b40 00002b3b: DUP2 00002b3c: PUSH2 0x2b04 00002b3f: JUMP 00002b40: JUMPDEST 00002b41: SWAP1 00002b42: POP 00002b43: SWAP2 00002b44: SWAP1 00002b45: POP 00002b46: JUMP 00002b47: JUMPDEST 00002b48: PUSH1 0x00 00002b4a: PUSH1 0x60 00002b4c: DUP3 00002b4d: ADD 00002b4e: SWAP1 00002b4f: POP 00002b50: PUSH2 0x2b5c 00002b53: PUSH1 0x00 00002b55: DUP4 00002b56: ADD 00002b57: DUP7 00002b58: PUSH2 0x190a 00002b5b: JUMP 00002b5c: JUMPDEST 00002b5d: PUSH2 0x2b69 00002b60: PUSH1 0x20 00002b62: DUP4 00002b63: ADD 00002b64: DUP6 00002b65: PUSH2 0x190a 00002b68: JUMP 00002b69: JUMPDEST 00002b6a: PUSH2 0x2b76 00002b6d: PUSH1 0x40 00002b6f: DUP4 00002b70: ADD 00002b71: DUP5 00002b72: PUSH2 0x1ab7 00002b75: JUMP 00002b76: JUMPDEST 00002b77: SWAP5 00002b78: SWAP4 00002b79: POP 00002b7a: POP 00002b7b: POP 00002b7c: POP 00002b7d: JUMP 00002b7e: JUMPDEST 00002b7f: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002ba0: PUSH1 0x00 00002ba2: DUP3 00002ba3: ADD 00002ba4: MSTORE 00002ba5: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00002bc6: PUSH1 0x20 00002bc8: DUP3 00002bc9: ADD 00002bca: MSTORE 00002bcb: POP 00002bcc: JUMP 00002bcd: JUMPDEST 00002bce: PUSH1 0x00 00002bd0: PUSH2 0x2bda 00002bd3: PUSH1 0x2a 00002bd5: DUP4 00002bd6: PUSH2 0x1d27 00002bd9: JUMP 00002bda: JUMPDEST 00002bdb: SWAP2 00002bdc: POP 00002bdd: PUSH2 0x2be5 00002be0: DUP3 00002be1: PUSH2 0x2b7e 00002be4: JUMP 00002be5: JUMPDEST 00002be6: PUSH1 0x40 00002be8: DUP3 00002be9: ADD 00002bea: SWAP1 00002beb: POP 00002bec: SWAP2 00002bed: SWAP1 00002bee: POP 00002bef: JUMP 00002bf0: JUMPDEST 00002bf1: PUSH1 0x00 00002bf3: PUSH1 0x20 00002bf5: DUP3 00002bf6: ADD 00002bf7: SWAP1 00002bf8: POP 00002bf9: DUP2 00002bfa: DUP2 00002bfb: SUB 00002bfc: PUSH1 0x00 00002bfe: DUP4 00002bff: ADD 00002c00: MSTORE 00002c01: PUSH2 0x2c09 00002c04: DUP2 00002c05: PUSH2 0x2bcd 00002c08: JUMP 00002c09: JUMPDEST 00002c0a: SWAP1 00002c0b: POP 00002c0c: SWAP2 00002c0d: SWAP1 00002c0e: POP 00002c0f: JUMP 00002c10: JUMPDEST 00002c11: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00002c32: PUSH1 0x00 00002c34: DUP3 00002c35: ADD 00002c36: MSTORE 00002c37: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 00002c58: PUSH1 0x20 00002c5a: DUP3 00002c5b: ADD 00002c5c: MSTORE 00002c5d: POP 00002c5e: JUMP 00002c5f: JUMPDEST 00002c60: PUSH1 0x00 00002c62: PUSH2 0x2c6c 00002c65: PUSH1 0x26 00002c67: DUP4 00002c68: PUSH2 0x1d27 00002c6b: JUMP 00002c6c: JUMPDEST 00002c6d: SWAP2 00002c6e: POP 00002c6f: PUSH2 0x2c77 00002c72: DUP3 00002c73: PUSH2 0x2c10 00002c76: JUMP 00002c77: JUMPDEST 00002c78: PUSH1 0x40 00002c7a: DUP3 00002c7b: ADD 00002c7c: SWAP1 00002c7d: POP 00002c7e: SWAP2 00002c7f: SWAP1 00002c80: POP 00002c81: JUMP 00002c82: JUMPDEST 00002c83: PUSH1 0x00 00002c85: PUSH1 0x20 00002c87: DUP3 00002c88: ADD 00002c89: SWAP1 00002c8a: POP 00002c8b: DUP2 00002c8c: DUP2 00002c8d: SUB 00002c8e: PUSH1 0x00 00002c90: DUP4 00002c91: ADD 00002c92: MSTORE 00002c93: PUSH2 0x2c9b 00002c96: DUP2 00002c97: PUSH2 0x2c5f 00002c9a: JUMP 00002c9b: JUMPDEST 00002c9c: SWAP1 00002c9d: POP 00002c9e: SWAP2 00002c9f: SWAP1 00002ca0: POP 00002ca1: JUMP 00002ca2: JUMPDEST 00002ca3: PUSH1 0x00 00002ca5: DUP2 00002ca6: MLOAD 00002ca7: SWAP1 00002ca8: POP 00002ca9: SWAP2 00002caa: SWAP1 00002cab: POP 00002cac: JUMP 00002cad: JUMPDEST 00002cae: PUSH1 0x00 00002cb0: DUP2 00002cb1: SWAP1 00002cb2: POP 00002cb3: SWAP3 00002cb4: SWAP2 00002cb5: POP 00002cb6: POP 00002cb7: JUMP 00002cb8: JUMPDEST 00002cb9: PUSH1 0x00 00002cbb: JUMPDEST 00002cbc: DUP4 00002cbd: DUP2 00002cbe: LT 00002cbf: ISZERO 00002cc0: PUSH2 0x2cd6 00002cc3: JUMPI 00002cc4: DUP1 00002cc5: DUP3 00002cc6: ADD 00002cc7: MLOAD 00002cc8: DUP2 00002cc9: DUP5 00002cca: ADD 00002ccb: MSTORE 00002ccc: PUSH1 0x20 00002cce: DUP2 00002ccf: ADD 00002cd0: SWAP1 00002cd1: POP 00002cd2: PUSH2 0x2cbb 00002cd5: JUMP 00002cd6: JUMPDEST 00002cd7: PUSH1 0x00 00002cd9: DUP5 00002cda: DUP5 00002cdb: ADD 00002cdc: MSTORE 00002cdd: POP 00002cde: POP 00002cdf: POP 00002ce0: POP 00002ce1: JUMP 00002ce2: JUMPDEST 00002ce3: PUSH1 0x00 00002ce5: PUSH2 0x2ced 00002ce8: DUP3 00002ce9: PUSH2 0x2ca2 00002cec: JUMP 00002ced: JUMPDEST 00002cee: PUSH2 0x2cf7 00002cf1: DUP2 00002cf2: DUP6 00002cf3: PUSH2 0x2cad 00002cf6: JUMP 00002cf7: JUMPDEST 00002cf8: SWAP4 00002cf9: POP 00002cfa: PUSH2 0x2d07 00002cfd: DUP2 00002cfe: DUP6 00002cff: PUSH1 0x20 00002d01: DUP7 00002d02: ADD 00002d03: PUSH2 0x2cb8 00002d06: JUMP 00002d07: JUMPDEST 00002d08: DUP1 00002d09: DUP5 00002d0a: ADD 00002d0b: SWAP2 00002d0c: POP 00002d0d: POP 00002d0e: SWAP3 00002d0f: SWAP2 00002d10: POP 00002d11: POP 00002d12: JUMP 00002d13: JUMPDEST 00002d14: PUSH1 0x00 00002d16: PUSH2 0x2d1f 00002d19: DUP3 00002d1a: DUP5 00002d1b: PUSH2 0x2ce2 00002d1e: JUMP 00002d1f: JUMPDEST 00002d20: SWAP2 00002d21: POP 00002d22: DUP2 00002d23: SWAP1 00002d24: POP 00002d25: SWAP3 00002d26: SWAP2 00002d27: POP 00002d28: POP 00002d29: JUMP 00002d2a: JUMPDEST 00002d2b: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00002d4c: PUSH1 0x00 00002d4e: DUP3 00002d4f: ADD 00002d50: MSTORE 00002d51: POP 00002d52: JUMP 00002d53: JUMPDEST 00002d54: PUSH1 0x00 00002d56: PUSH2 0x2d60 00002d59: PUSH1 0x1d 00002d5b: DUP4 00002d5c: PUSH2 0x1d27 00002d5f: JUMP 00002d60: JUMPDEST 00002d61: SWAP2 00002d62: POP 00002d63: PUSH2 0x2d6b 00002d66: DUP3 00002d67: PUSH2 0x2d2a 00002d6a: JUMP 00002d6b: JUMPDEST 00002d6c: PUSH1 0x20 00002d6e: DUP3 00002d6f: ADD 00002d70: SWAP1 00002d71: POP 00002d72: SWAP2 00002d73: SWAP1 00002d74: POP 00002d75: JUMP 00002d76: JUMPDEST 00002d77: PUSH1 0x00 00002d79: PUSH1 0x20 00002d7b: DUP3 00002d7c: ADD 00002d7d: SWAP1 00002d7e: POP 00002d7f: DUP2 00002d80: DUP2 00002d81: SUB 00002d82: PUSH1 0x00 00002d84: DUP4 00002d85: ADD 00002d86: MSTORE 00002d87: PUSH2 0x2d8f 00002d8a: DUP2 00002d8b: PUSH2 0x2d53 00002d8e: JUMP 00002d8f: JUMPDEST 00002d90: SWAP1 00002d91: POP 00002d92: SWAP2 00002d93: SWAP1 00002d94: POP 00002d95: JUMP 00002d96: JUMPDEST 00002d97: PUSH1 0x00 00002d99: DUP2 00002d9a: MLOAD 00002d9b: SWAP1 00002d9c: POP 00002d9d: SWAP2 00002d9e: SWAP1 00002d9f: POP 00002da0: JUMP 00002da1: JUMPDEST 00002da2: PUSH1 0x00 00002da4: PUSH2 0x2dac 00002da7: DUP3 00002da8: PUSH2 0x2d96 00002dab: JUMP 00002dac: JUMPDEST 00002dad: PUSH2 0x2db6 00002db0: DUP2 00002db1: DUP6 00002db2: PUSH2 0x1d27 00002db5: JUMP 00002db6: JUMPDEST 00002db7: SWAP4 00002db8: POP 00002db9: PUSH2 0x2dc6 00002dbc: DUP2 00002dbd: DUP6 00002dbe: PUSH1 0x20 00002dc0: DUP7 00002dc1: ADD 00002dc2: PUSH2 0x2cb8 00002dc5: JUMP 00002dc6: JUMPDEST 00002dc7: PUSH2 0x2dcf 00002dca: DUP2 00002dcb: PUSH2 0x2644 00002dce: JUMP 00002dcf: JUMPDEST 00002dd0: DUP5 00002dd1: ADD 00002dd2: SWAP2 00002dd3: POP 00002dd4: POP 00002dd5: SWAP3 00002dd6: SWAP2 00002dd7: POP 00002dd8: POP 00002dd9: JUMP 00002dda: JUMPDEST 00002ddb: PUSH1 0x00 00002ddd: PUSH1 0x20 00002ddf: DUP3 00002de0: ADD 00002de1: SWAP1 00002de2: POP 00002de3: DUP2 00002de4: DUP2 00002de5: SUB 00002de6: PUSH1 0x00 00002de8: DUP4 00002de9: ADD 00002dea: MSTORE 00002deb: PUSH2 0x2df4 00002dee: DUP2 00002def: DUP5 00002df0: PUSH2 0x2da1 00002df3: JUMP 00002df4: JUMPDEST 00002df5: SWAP1 00002df6: POP 00002df7: SWAP3 00002df8: SWAP2 00002df9: POP 00002dfa: POP 00002dfb: JUMP 00002dfc: INVALID 00002dfd: LOG2 00002dfe: PUSH5 0x6970667358 00002e04: UNKNOWN(0x22) 00002e05: SLT 00002e06: KECCAK256 00002e07: UNKNOWN(0xEE) 00002e08: BLOBHASH 00002e09: UNKNOWN(0xD3) 00002e0a: UNKNOWN(0xB4) 00002e0b: SHL 00002e0c: UNKNOWN(0xDB) 00002e0d: PUSH17 0xf0b33e8562b84ea9e98473bbf6669d7ac8 00002e1f: UNKNOWN(0xE4) 00002e20: PUSH24
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x6fd18fa10cf900b95e08e62250f00b9fbb0ca07671feaea07c424ae86b59dd17
call_targets:
0xdfc61bae9ac44758bf3e08fd248f2f1561236b51
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6fd18fa10cf900b95e08e62250f00b9fbb0ca07671feaea07c424ae86b59dd17",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xdfc61bae9ac44758bf3e08fd248f2f1561236b51"
],
"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": "0x961753b8",
"selector": "0x961753b8",
"calldata_variants": [
"0x961753b8",
"0x961753b80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x984d6e7a",
"selector": "0x984d6e7a",
"calldata_variants": [
"0x984d6e7a",
"0x984d6e7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa10d0960",
"selector": "0xa10d0960",
"calldata_variants": [
"0xa10d0960",
"0xa10d09600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffa1ad74",
"selector": "0xffa1ad74",
"calldata_variants": [
"0xffa1ad74",
"0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78e8114d",
"selector": "0x78e8114d",
"calldata_variants": [
"0x78e8114d",
"0x78e8114d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8cb7d113",
"selector": "0x8cb7d113",
"calldata_variants": [
"0x8cb7d113",
"0x8cb7d1130000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10a53b9a",
"selector": "0x10a53b9a",
"calldata_variants": [
"0x10a53b9a",
"0x10a53b9a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4576,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6046,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x6fd18fa10cf900b95e08e62250f00b9fbb0ca07671feaea07c424ae86b59dd17
call_targets:
0xdfc61bae9ac44758bf3e08fd248f2f1561236b51
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6fd18fa10cf900b95e08e62250f00b9fbb0ca07671feaea07c424ae86b59dd17",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xdfc61bae9ac44758bf3e08fd248f2f1561236b51"
],
"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": "0x961753b8",
"selector": "0x961753b8",
"calldata_variants": [
"0x961753b8",
"0x961753b80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x984d6e7a",
"selector": "0x984d6e7a",
"calldata_variants": [
"0x984d6e7a",
"0x984d6e7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa10d0960",
"selector": "0xa10d0960",
"calldata_variants": [
"0xa10d0960",
"0xa10d09600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffa1ad74",
"selector": "0xffa1ad74",
"calldata_variants": [
"0xffa1ad74",
"0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78e8114d",
"selector": "0x78e8114d",
"calldata_variants": [
"0x78e8114d",
"0x78e8114d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8cb7d113",
"selector": "0x8cb7d113",
"calldata_variants": [
"0x8cb7d113",
"0x8cb7d1130000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10a53b9a",
"selector": "0x10a53b9a",
"calldata_variants": [
"0x10a53b9a",
"0x10a53b9a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2163,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant_zero",
"target_expression_category": "computed"
},
{
"pc": 4576,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6046,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| medium | other | codex | Global deposit counter lets any user inflate withdrawal fees or block withdrawals | 75 | no | — |
viewevidence_json{
"evidence": "`depositToken` increments `transferMap` for every deposit regardless of size; `calcFee` charges `count * 2 * 10**decimals`; `withdrawToken` requires `info.amount >= fee`, so a high count can block withdrawals.",
"locations": [
"contracts/Contract.sol:728",
"contracts/Contract.sol:733",
"contracts/Contract.sol:738",
"contracts/Contract.sol:770",
"contracts/Contract.sol:787"
],
"recommendation": "Make fee accounting per user/order or based on deposited amounts instead of a global deposit count. Alternatively, cap the fee growth, require a minimum deposit amount proportional to fee growth, or restrict who can call `depositToken` for tokens that will be withdrawn by others.",
"exploit_scenario": "An attacker repeatedly calls `depositToken` with the smallest possible amount of a supported token. Each deposit increments `transferMap` by 1, and the fee becomes `count * 2 * 10^decimals`. This quickly makes fees exceed typical withdrawal amounts, causing `withdrawToken` to revert for stable coins (`info.amount < fee`) or to require large fee-token balances for non-stable coins, effectively blocking withdrawals or forcing excessive fees."
}
|