019c0ea9-0991-73a8-9d8e-2bfc551e719c
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 |
|---|---|---|---|---|
| 42110 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 42111 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 42112 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 42113 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 42114 | capability.graph | complete | 1 / 3 | 2 months ago |
| 42115 | detector.run | complete | 1 / 3 | 2 months ago |
| 42116 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42455 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 42456 | tool.slither | complete | 1 / 2 | 2 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-aiwrjz0i) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-aiwrjz0i) Proxiable.updateCodeAddress(address) (contracts/Contract.sol#157-170) uses assembly - INLINE ASM (contracts/Contract.sol#165-169) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage LibraryLock.delegatedOnly() (contracts/Contract.sol#139-143) compares to a boolean constant: -require(bool,string)(initialized == true,The library is locked. No direct 'call' is allowed.) (contracts/Contract.sol#140-141) FLEXCoin.ispaused() (contracts/Contract.sol#592-594) compares to a boolean constant: -require(bool,string)(getpause == false,the contract is paused) (contracts/Contract.sol#593) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality Context._msgData() (contracts/Contract.sol#12-17) is never used and should be removed Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code Version constraint ^0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - NestedCalldataArrayAbiReencodingSizeValidation - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - MissingEscapingInFormatting - ArraySliceDynamicallyEncodedBaseType - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - YulOptimizerRedundantAssignmentBreakContinue. It is used by: - ^0.6.0 (contracts/Contract.sol#3-4) solc-0.6.0 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Constant Storage.deci (contracts/Contract.sol#122-124) is not in UPPER_CASE_WITH_UNDERSCORES Parameter FLEXCoin.initialize(uint256)._totalsupply (contracts/Contract.sol#340) is not in mixedCase Parameter FLEXCoin.setMultiplier(uint256)._multiplier (contracts/Contract.sol#352-353) is not in mixedCase Function FLEXCoin.TransferOwnership(address) (contracts/Contract.sol#580-589) is not in mixedCase Function FLEXCoin.AddToBlacklist(address) (contracts/Contract.sol#598-600) is not in mixedCase Function FLEXCoin.RemoveFromBlacklist(address) (contracts/Contract.sol#600-605) is not in mixedCase Modifier FLEXCoin.Notblacklist(address) (contracts/Contract.sol#605-613) is not in mixedCase Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions Redundant expression "this (contracts/Contract.sol#15)" inContext (contracts/Contract.sol#4-17) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements . analyzed (7 contracts with 100 detectors), 14 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.6.0",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.6.0",
"install_stderr": null,
"install_stdout": "Version '0.6.0' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-aiwrjz0i --allow-paths /tmp/slither-aiwrjz0i,/tmp/slither-aiwrjz0i/lib,/tmp/slither-aiwrjz0i/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 14,
"workspace_hash": "da072a573c2691340d296afdd313ba87f82cdbbecf122b39d5f6582c53ff22f6",
"duration_seconds": 0.8628859519958496,
"solc_version_requested": "0.6.12"
}
{"no_findings":false,"summary":"Two issues: an unprotected initializer can let anyone seize admin/supply if deployment isn’t initialized immediately, and rounding in external↔internal conversions allows transfers/allowances to exceed displayed balances, breaking accounting expectations.","findings":[{"severity":"high","category":"access_control","title":"Initializer is publicly callable, enabling admin takeover if proxy is left uninitialized","exploit_scenario":"A proxy is deployed but `initialize` is not called in the same transaction. An attacker calls `initialize`, becomes `admin`, receives the full initial supply, and can later call `updateCode` or mint/burn at will.","recommendation":"Restrict initialization (e.g., pass admin in constructor for non-proxy, or use an `initializer` modifier with an authorized deployer/manager) and ensure initialization is performed atomically during proxy deployment.","evidence":"`function initialize(uint256 _totalsupply) public { ... admin = msg.sender; ... _balances[msg.sender] = _totalSupply; }`","locations":["contracts/Contract.sol"]},{"severity":"medium","category":"other","title":"Rounding in external↔internal unit conversion allows transfers exceeding displayed balance and misleading Transfer events","exploit_scenario":"With `multiplier > deci`, `internalAmt = amount * deci / multiplier` floors. A user can call `transfer` or `transferFrom` with an `amount` larger than their displayed `balanceOf`, yet `internalAmt` still fits their internal balance. The transfer succeeds, events report the larger amount, while recipient receives less. Integrations that trust the `amount` (or Transfer event) can be over-credited.","recommendation":"Enforce `amount <= balanceOf(sender)` using external units, or compute `internalAmt` then derive a canonical external amount (`internalAmt * multiplier / deci`) and use that for checks/events; document minimum transferable unit when `multiplier` changes.","evidence":"`internalAmt = externalAmt.mul(deci).div(multiplier); _balances[sender] = _balances[sender].sub(internalAmt, ...)` and `emit Transfer(sender, recipient, externalAmt);`","locations":["contracts/Contract.sol"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-na82caid
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f8a-5f02-7e73-bc90-29724836cacf
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
exec
/bin/bash -lc 'cat /tmp/codex-na82caid/AUDIT_BUNDLE.txt' in /tmp/codex-na82caid succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
// File contracts/CoinFLEX/Context.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
abstract contract Context {
// Empty internal constructor, to prevent people from mistakenly deploying
// an instance of this contract, which should be used via inheritance.
constructor() internal {}
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
codex
{"no_findings":false,"summary":"Two issues: an unprotected initializer can let anyone seize admin/supply if deployment isn’t initialized immediately, and rounding in external↔internal conversions allows transfers/allowances to exceed displayed balances, breaking accounting expectations.","findings":[{"severity":"high","category":"access_control","title":"Initializer is publicly callable, enabling admin takeover if proxy is left uninitialized","exploit_scenario":"A proxy is deployed but `initialize` is not called in the same transaction. An attacker calls `initialize`, becomes `admin`, receives the full initial supply, and can later call `updateCode` or mint/burn at will.","recommendation":"Restrict initialization (e.g., pass admin in constructor for non-proxy, or use an `initializer` modifier with an authorized deployer/manager) and ensure initialization is performed atomically during proxy deployment.","evidence":"`function initialize(uint256 _totalsupply) public { ... admin = msg.sender; ... _balances[msg.sender] = _totalSupply; }`","locations":["contracts/Contract.sol"]},{"severity":"medium","category":"other","title":"Rounding in external↔internal unit conversion allows transfers exceeding displayed balance and misleading Transfer events","exploit_scenario":"With `multiplier > deci`, `internalAmt = amount * deci / multiplier` floors. A user can call `transfer` or `transferFrom` with an `amount` larger than their displayed `balanceOf`, yet `internalAmt` still fits their internal balance. The transfer succeeds, events report the larger amount, while recipient receives less. Integrations that trust the `amount` (or Transfer event) can be over-credited.","recommendation":"Enforce `amount <= balanceOf(sender)` using external units, or compute `internalAmt` then derive a canonical external amount (`internalAmt * multiplier / deci`) and use that for checks/events; document minimum transferable unit when `multiplier` changes.","evidence":"`internalAmt = externalAmt.mul(deci).div(multiplier); _balances[sender] = _balances[sender].sub(internalAmt, ...)` and `emit Transfer(sender, recipient, externalAmt);`","locations":["contracts/Contract.sol"]}]}
tokens used
9,259
{
"codex": {
"ran_at": "2026-01-30T15:35:22.665634+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Two issues: an unprotected initializer can let anyone seize admin/supply if deployment isn\u2019t initialized immediately, and rounding in external\u2194internal conversions allows transfers/allowances to exceed displayed balances, breaking accounting expectations.",
"raw_final": {
"summary": "Two issues: an unprotected initializer can let anyone seize admin/supply if deployment isn\u2019t initialized immediately, and rounding in external\u2194internal conversions allows transfers/allowances to exceed displayed balances, breaking accounting expectations.",
"findings": [
{
"title": "Initializer is publicly callable, enabling admin takeover if proxy is left uninitialized",
"category": "access_control",
"evidence": "`function initialize(uint256 _totalsupply) public { ... admin = msg.sender; ... _balances[msg.sender] = _totalSupply; }`",
"severity": "high",
"locations": [
"contracts/Contract.sol"
],
"recommendation": "Restrict initialization (e.g., pass admin in constructor for non-proxy, or use an `initializer` modifier with an authorized deployer/manager) and ensure initialization is performed atomically during proxy deployment.",
"exploit_scenario": "A proxy is deployed but `initialize` is not called in the same transaction. An attacker calls `initialize`, becomes `admin`, receives the full initial supply, and can later call `updateCode` or mint/burn at will."
},
{
"title": "Rounding in external\u2194internal unit conversion allows transfers exceeding displayed balance and misleading Transfer events",
"category": "other",
"evidence": "`internalAmt = externalAmt.mul(deci).div(multiplier); _balances[sender] = _balances[sender].sub(internalAmt, ...)` and `emit Transfer(sender, recipient, externalAmt);`",
"severity": "medium",
"locations": [
"contracts/Contract.sol"
],
"recommendation": "Enforce `amount <= balanceOf(sender)` using external units, or compute `internalAmt` then derive a canonical external amount (`internalAmt * multiplier / deci`) and use that for checks/events; document minimum transferable unit when `multiplier` changes.",
"exploit_scenario": "With `multiplier > deci`, `internalAmt = amount * deci / multiplier` floors. A user can call `transfer` or `transferFrom` with an `amount` larger than their displayed `balanceOf`, yet `internalAmt` still fits their internal balance. The transfer succeeds, events report the larger amount, while recipient receives less. Integrations that trust the `amount` (or Transfer event) can be over-credited."
}
],
"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 0x01a9 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x641579a6 00000026: GT 00000027: PUSH2 0x00f9 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xa9059cbb 00000031: GT 00000032: PUSH2 0x0097 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xf7ea7a3d 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xf7ea7a3d 00000047: EQ 00000048: PUSH2 0x04f0 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xf851a440 00000052: EQ 00000053: PUSH2 0x050d 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf9f92be4 0000005d: EQ 0000005e: PUSH2 0x0531 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfe4b84df 00000068: EQ 00000069: PUSH2 0x0557 0000006c: JUMPI 0000006d: PUSH2 0x01a9 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0xa9059cbb 00000078: EQ 00000079: PUSH2 0x0470 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xcfaaa266 00000083: EQ 00000084: PUSH2 0x049c 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xdd62ed3e 0000008e: EQ 0000008f: PUSH2 0x04c2 00000092: JUMPI 00000093: PUSH2 0x01a9 00000096: JUMP 00000097: JUMPDEST 00000098: DUP1 00000099: PUSH4 0x8456cb59 0000009e: GT 0000009f: PUSH2 0x00d3 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x8456cb59 000000a9: EQ 000000aa: PUSH2 0x0408 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x95d89b41 000000b4: EQ 000000b5: PUSH2 0x0410 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x9dc29fac 000000bf: EQ 000000c0: PUSH2 0x0418 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xa457c2d7 000000ca: EQ 000000cb: PUSH2 0x0444 000000ce: JUMPI 000000cf: PUSH2 0x01a9 000000d2: JUMP 000000d3: JUMPDEST 000000d4: DUP1 000000d5: PUSH4 0x641579a6 000000da: EQ 000000db: PUSH2 0x039f 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x6b713f4f 000000e5: EQ 000000e6: PUSH2 0x03bc 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x70a08231 000000f0: EQ 000000f1: PUSH2 0x03e2 000000f4: JUMPI 000000f5: PUSH2 0x01a9 000000f8: JUMP 000000f9: JUMPDEST 000000fa: DUP1 000000fb: PUSH4 0x313ce567 00000100: GT 00000101: PUSH2 0x0166 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x3f4ba83a 0000010b: GT 0000010c: PUSH2 0x0140 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x3f4ba83a 00000116: EQ 00000117: PUSH2 0x033d 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x40c10f19 00000121: EQ 00000122: PUSH2 0x0345 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x46951954 0000012c: EQ 0000012d: PUSH2 0x0371 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x52d1902d 00000137: EQ 00000138: PUSH2 0x0397 0000013b: JUMPI 0000013c: PUSH2 0x01a9 0000013f: JUMP 00000140: JUMPDEST 00000141: DUP1 00000142: PUSH4 0x313ce567 00000147: EQ 00000148: PUSH2 0x02cb 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x39509351 00000152: EQ 00000153: PUSH2 0x02e9 00000156: JUMPI 00000157: DUP1 00000158: PUSH4 0x3afada39 0000015d: EQ 0000015e: PUSH2 0x0315 00000161: JUMPI 00000162: PUSH2 0x01a9 00000165: JUMP 00000166: JUMPDEST 00000167: DUP1 00000168: PUSH4 0x06fdde03 0000016d: EQ 0000016e: PUSH2 0x01ae 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x095ea7b3 00000178: EQ 00000179: PUSH2 0x022b 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x158ef93e 00000183: EQ 00000184: PUSH2 0x026b 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x18160ddd 0000018e: EQ 0000018f: PUSH2 0x0273 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x1b3ed722 00000199: EQ 0000019a: PUSH2 0x028d 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x23b872dd 000001a4: EQ 000001a5: PUSH2 0x0295 000001a8: JUMPI 000001a9: JUMPDEST 000001aa: PUSH1 0x00 000001ac: DUP1 000001ad: REVERT 000001ae: JUMPDEST 000001af: PUSH2 0x01b6 000001b2: PUSH2 0x0574 000001b5: JUMP 000001b6: JUMPDEST 000001b7: PUSH1 0x40 000001b9: DUP1 000001ba: MLOAD 000001bb: PUSH1 0x20 000001bd: DUP1 000001be: DUP3 000001bf: MSTORE 000001c0: DUP4 000001c1: MLOAD 000001c2: DUP2 000001c3: DUP4 000001c4: ADD 000001c5: MSTORE 000001c6: DUP4 000001c7: MLOAD 000001c8: SWAP2 000001c9: SWAP3 000001ca: DUP4 000001cb: SWAP3 000001cc: SWAP1 000001cd: DUP4 000001ce: ADD 000001cf: SWAP2 000001d0: DUP6 000001d1: ADD 000001d2: SWAP1 000001d3: DUP1 000001d4: DUP4 000001d5: DUP4 000001d6: PUSH1 0x00 000001d8: JUMPDEST 000001d9: DUP4 000001da: DUP2 000001db: LT 000001dc: ISZERO 000001dd: PUSH2 0x01f0 000001e0: JUMPI 000001e1: DUP2 000001e2: DUP2 000001e3: ADD 000001e4: MLOAD 000001e5: DUP4 000001e6: DUP3 000001e7: ADD 000001e8: MSTORE 000001e9: PUSH1 0x20 000001eb: ADD 000001ec: PUSH2 0x01d8 000001ef: JUMP 000001f0: JUMPDEST 000001f1: POP 000001f2: POP 000001f3: POP 000001f4: POP 000001f5: SWAP1 000001f6: POP 000001f7: SWAP1 000001f8: DUP2 000001f9: ADD 000001fa: SWAP1 000001fb: PUSH1 0x1f 000001fd: AND 000001fe: DUP1 000001ff: ISZERO 00000200: PUSH2 0x021d 00000203: JUMPI 00000204: DUP1 00000205: DUP3 00000206: SUB 00000207: DUP1 00000208: MLOAD 00000209: PUSH1 0x01 0000020b: DUP4 0000020c: PUSH1 0x20 0000020e: SUB 0000020f: PUSH2 0x0100 00000212: EXP 00000213: SUB 00000214: NOT 00000215: AND 00000216: DUP2 00000217: MSTORE 00000218: PUSH1 0x20 0000021a: ADD 0000021b: SWAP2 0000021c: POP 0000021d: JUMPDEST 0000021e: POP 0000021f: SWAP3 00000220: POP 00000221: POP 00000222: POP 00000223: PUSH1 0x40 00000225: MLOAD 00000226: DUP1 00000227: SWAP2 00000228: SUB 00000229: SWAP1 0000022a: RETURN 0000022b: JUMPDEST 0000022c: PUSH2 0x0257 0000022f: PUSH1 0x04 00000231: DUP1 00000232: CALLDATASIZE 00000233: SUB 00000234: PUSH1 0x40 00000236: DUP2 00000237: LT 00000238: ISZERO 00000239: PUSH2 0x0241 0000023c: JUMPI 0000023d: PUSH1 0x00 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: POP 00000243: PUSH1 0x01 00000245: PUSH1 0x01 00000247: PUSH1 0xa0 00000249: SHL 0000024a: SUB 0000024b: DUP2 0000024c: CALLDATALOAD 0000024d: AND 0000024e: SWAP1 0000024f: PUSH1 0x20 00000251: ADD 00000252: CALLDATALOAD 00000253: PUSH2 0x0602 00000256: JUMP 00000257: JUMPDEST 00000258: PUSH1 0x40 0000025a: DUP1 0000025b: MLOAD 0000025c: SWAP2 0000025d: ISZERO 0000025e: ISZERO 0000025f: DUP3 00000260: MSTORE 00000261: MLOAD 00000262: SWAP1 00000263: DUP2 00000264: SWAP1 00000265: SUB 00000266: PUSH1 0x20 00000268: ADD 00000269: SWAP1 0000026a: RETURN 0000026b: JUMPDEST 0000026c: PUSH2 0x0257 0000026f: PUSH2 0x073e 00000272: JUMP 00000273: JUMPDEST 00000274: PUSH2 0x027b 00000277: PUSH2 0x0747 0000027a: JUMP 0000027b: JUMPDEST 0000027c: PUSH1 0x40 0000027e: DUP1 0000027f: MLOAD 00000280: SWAP2 00000281: DUP3 00000282: MSTORE 00000283: MLOAD 00000284: SWAP1 00000285: DUP2 00000286: SWAP1 00000287: SUB 00000288: PUSH1 0x20 0000028a: ADD 0000028b: SWAP1 0000028c: RETURN 0000028d: JUMPDEST 0000028e: PUSH2 0x027b 00000291: PUSH2 0x0771 00000294: JUMP 00000295: JUMPDEST 00000296: PUSH2 0x0257 00000299: PUSH1 0x04 0000029b: DUP1 0000029c: CALLDATASIZE 0000029d: SUB 0000029e: PUSH1 0x60 000002a0: DUP2 000002a1: LT 000002a2: ISZERO 000002a3: PUSH2 0x02ab 000002a6: JUMPI 000002a7: PUSH1 0x00 000002a9: DUP1 000002aa: REVERT 000002ab: JUMPDEST 000002ac: POP 000002ad: PUSH1 0x01 000002af: PUSH1 0x01 000002b1: PUSH1 0xa0 000002b3: SHL 000002b4: SUB 000002b5: DUP2 000002b6: CALLDATALOAD 000002b7: DUP2 000002b8: AND 000002b9: SWAP2 000002ba: PUSH1 0x20 000002bc: DUP2 000002bd: ADD 000002be: CALLDATALOAD 000002bf: SWAP1 000002c0: SWAP2 000002c1: AND 000002c2: SWAP1 000002c3: PUSH1 0x40 000002c5: ADD 000002c6: CALLDATALOAD 000002c7: PUSH2 0x0777 000002ca: JUMP 000002cb: JUMPDEST 000002cc: PUSH2 0x02d3 000002cf: PUSH2 0x0937 000002d2: JUMP 000002d3: JUMPDEST 000002d4: PUSH1 0x40 000002d6: DUP1 000002d7: MLOAD 000002d8: PUSH1 0xff 000002da: SWAP1 000002db: SWAP3 000002dc: AND 000002dd: DUP3 000002de: MSTORE 000002df: MLOAD 000002e0: SWAP1 000002e1: DUP2 000002e2: SWAP1 000002e3: SUB 000002e4: PUSH1 0x20 000002e6: ADD 000002e7: SWAP1 000002e8: RETURN 000002e9: JUMPDEST 000002ea: PUSH2 0x0257 000002ed: PUSH1 0x04 000002ef: DUP1 000002f0: CALLDATASIZE 000002f1: SUB 000002f2: PUSH1 0x40 000002f4: DUP2 000002f5: LT 000002f6: ISZERO 000002f7: PUSH2 0x02ff 000002fa: JUMPI 000002fb: PUSH1 0x00 000002fd: DUP1 000002fe: REVERT 000002ff: JUMPDEST 00000300: POP 00000301: PUSH1 0x01 00000303: PUSH1 0x01 00000305: PUSH1 0xa0 00000307: SHL 00000308: SUB 00000309: DUP2 0000030a: CALLDATALOAD 0000030b: AND 0000030c: SWAP1 0000030d: PUSH1 0x20 0000030f: ADD 00000310: CALLDATALOAD 00000311: PUSH2 0x093c 00000314: JUMP 00000315: JUMPDEST 00000316: PUSH2 0x033b 00000319: PUSH1 0x04 0000031b: DUP1 0000031c: CALLDATASIZE 0000031d: SUB 0000031e: PUSH1 0x20 00000320: DUP2 00000321: LT 00000322: ISZERO 00000323: PUSH2 0x032b 00000326: JUMPI 00000327: PUSH1 0x00 00000329: DUP1 0000032a: REVERT 0000032b: JUMPDEST 0000032c: POP 0000032d: CALLDATALOAD 0000032e: PUSH1 0x01 00000330: PUSH1 0x01 00000332: PUSH1 0xa0 00000334: SHL 00000335: SUB 00000336: AND 00000337: PUSH2 0x0a71 0000033a: JUMP 0000033b: JUMPDEST 0000033c: STOP 0000033d: JUMPDEST 0000033e: PUSH2 0x033b 00000341: PUSH2 0x0b14 00000344: JUMP 00000345: JUMPDEST 00000346: PUSH2 0x0257 00000349: PUSH1 0x04 0000034b: DUP1 0000034c: CALLDATASIZE 0000034d: SUB 0000034e: PUSH1 0x40 00000350: DUP2 00000351: LT 00000352: ISZERO 00000353: PUSH2 0x035b 00000356: JUMPI 00000357: PUSH1 0x00 00000359: DUP1 0000035a: REVERT 0000035b: JUMPDEST 0000035c: POP 0000035d: PUSH1 0x01 0000035f: PUSH1 0x01 00000361: PUSH1 0xa0 00000363: SHL 00000364: SUB 00000365: DUP2 00000366: CALLDATALOAD 00000367: AND 00000368: SWAP1 00000369: PUSH1 0x20 0000036b: ADD 0000036c: CALLDATALOAD 0000036d: PUSH2 0x0b70 00000370: JUMP 00000371: JUMPDEST 00000372: PUSH2 0x033b 00000375: PUSH1 0x04 00000377: DUP1 00000378: CALLDATASIZE 00000379: SUB 0000037a: PUSH1 0x20 0000037c: DUP2 0000037d: LT 0000037e: ISZERO 0000037f: PUSH2 0x0387 00000382: JUMPI 00000383: PUSH1 0x00 00000385: DUP1 00000386: REVERT 00000387: JUMPDEST 00000388: POP 00000389: CALLDATALOAD 0000038a: PUSH1 0x01 0000038c: PUSH1 0x01 0000038e: PUSH1 0xa0 00000390: SHL 00000391: SUB 00000392: AND 00000393: PUSH2 0x0c45 00000396: JUMP 00000397: JUMPDEST 00000398: PUSH2 0x027b 0000039b: PUSH2 0x0d18 0000039e: JUMP 0000039f: JUMPDEST 000003a0: PUSH2 0x033b 000003a3: PUSH1 0x04 000003a5: DUP1 000003a6: CALLDATASIZE 000003a7: SUB 000003a8: PUSH1 0x20 000003aa: DUP2 000003ab: LT 000003ac: ISZERO 000003ad: PUSH2 0x03b5 000003b0: JUMPI 000003b1: PUSH1 0x00 000003b3: DUP1 000003b4: REVERT 000003b5: JUMPDEST 000003b6: POP 000003b7: CALLDATALOAD 000003b8: PUSH2 0x0d3c 000003bb: JUMP 000003bc: JUMPDEST 000003bd: PUSH2 0x033b 000003c0: PUSH1 0x04 000003c2: DUP1 000003c3: CALLDATASIZE 000003c4: SUB 000003c5: PUSH1 0x20 000003c7: DUP2 000003c8: LT 000003c9: ISZERO 000003ca: PUSH2 0x03d2 000003cd: JUMPI 000003ce: PUSH1 0x00 000003d0: DUP1 000003d1: REVERT 000003d2: JUMPDEST 000003d3: POP 000003d4: CALLDATALOAD 000003d5: PUSH1 0x01 000003d7: PUSH1 0x01 000003d9: PUSH1 0xa0 000003db: SHL 000003dc: SUB 000003dd: AND 000003de: PUSH2 0x0e51 000003e1: JUMP 000003e2: JUMPDEST 000003e3: PUSH2 0x027b 000003e6: PUSH1 0x04 000003e8: DUP1 000003e9: CALLDATASIZE 000003ea: SUB 000003eb: PUSH1 0x20 000003ed: DUP2 000003ee: LT 000003ef: ISZERO 000003f0: PUSH2 0x03f8 000003f3: JUMPI 000003f4: PUSH1 0x00 000003f6: DUP1 000003f7: REVERT 000003f8: JUMPDEST 000003f9: POP 000003fa: CALLDATALOAD 000003fb: PUSH1 0x01 000003fd: PUSH1 0x01 000003ff: PUSH1 0xa0 00000401: SHL 00000402: SUB 00000403: AND 00000404: PUSH2 0x0efc 00000407: JUMP 00000408: JUMPDEST 00000409: PUSH2 0x033b 0000040c: PUSH2 0x0f3a 0000040f: JUMP 00000410: JUMPDEST 00000411: PUSH2 0x01b6 00000414: PUSH2 0x0f9c 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH2 0x0257 0000041c: PUSH1 0x04 0000041e: DUP1 0000041f: CALLDATASIZE 00000420: SUB 00000421: PUSH1 0x40 00000423: DUP2 00000424: LT 00000425: ISZERO 00000426: PUSH2 0x042e 00000429: JUMPI 0000042a: PUSH1 0x00 0000042c: DUP1 0000042d: REVERT 0000042e: JUMPDEST 0000042f: POP 00000430: PUSH1 0x01 00000432: PUSH1 0x01 00000434: PUSH1 0xa0 00000436: SHL 00000437: SUB 00000438: DUP2 00000439: CALLDATALOAD 0000043a: AND 0000043b: SWAP1 0000043c: PUSH1 0x20 0000043e: ADD 0000043f: CALLDATALOAD 00000440: PUSH2 0x0ff7 00000443: JUMP 00000444: JUMPDEST 00000445: PUSH2 0x0257 00000448: PUSH1 0x04 0000044a: DUP1 0000044b: CALLDATASIZE 0000044c: SUB 0000044d: PUSH1 0x40 0000044f: DUP2 00000450: LT 00000451: ISZERO 00000452: PUSH2 0x045a 00000455: JUMPI 00000456: PUSH1 0x00 00000458: DUP1 00000459: REVERT 0000045a: JUMPDEST 0000045b: POP 0000045c: PUSH1 0x01 0000045e: PUSH1 0x01 00000460: PUSH1 0xa0 00000462: SHL 00000463: SUB 00000464: DUP2 00000465: CALLDATALOAD 00000466: AND 00000467: SWAP1 00000468: PUSH1 0x20 0000046a: ADD 0000046b: CALLDATALOAD 0000046c: PUSH2 0x10bf 0000046f: JUMP 00000470: JUMPDEST 00000471: PUSH2 0x0257 00000474: PUSH1 0x04 00000476: DUP1 00000477: CALLDATASIZE 00000478: SUB 00000479: PUSH1 0x40 0000047b: DUP2 0000047c: LT 0000047d: ISZERO 0000047e: PUSH2 0x0486 00000481: JUMPI 00000482: PUSH1 0x00 00000484: DUP1 00000485: REVERT 00000486: JUMPDEST 00000487: POP 00000488: PUSH1 0x01 0000048a: PUSH1 0x01 0000048c: PUSH1 0xa0 0000048e: SHL 0000048f: SUB 00000490: DUP2 00000491: CALLDATALOAD 00000492: AND 00000493: SWAP1 00000494: PUSH1 0x20 00000496: ADD 00000497: CALLDATALOAD 00000498: PUSH2 0x11fd 0000049b: JUMP 0000049c: JUMPDEST 0000049d: PUSH2 0x033b 000004a0: PUSH1 0x04 000004a2: DUP1 000004a3: CALLDATASIZE 000004a4: SUB 000004a5: PUSH1 0x20 000004a7: DUP2 000004a8: LT 000004a9: ISZERO 000004aa: PUSH2 0x04b2 000004ad: JUMPI 000004ae: PUSH1 0x00 000004b0: DUP1 000004b1: REVERT 000004b2: JUMPDEST 000004b3: POP 000004b4: CALLDATALOAD 000004b5: PUSH1 0x01 000004b7: PUSH1 0x01 000004b9: PUSH1 0xa0 000004bb: SHL 000004bc: SUB 000004bd: AND 000004be: PUSH2 0x1329 000004c1: JUMP 000004c2: JUMPDEST 000004c3: PUSH2 0x027b 000004c6: PUSH1 0x04 000004c8: DUP1 000004c9: CALLDATASIZE 000004ca: SUB 000004cb: PUSH1 0x40 000004cd: DUP2 000004ce: LT 000004cf: ISZERO 000004d0: PUSH2 0x04d8 000004d3: JUMPI 000004d4: PUSH1 0x00 000004d6: DUP1 000004d7: REVERT 000004d8: JUMPDEST 000004d9: POP 000004da: PUSH1 0x01 000004dc: PUSH1 0x01 000004de: PUSH1 0xa0 000004e0: SHL 000004e1: SUB 000004e2: DUP2 000004e3: CALLDATALOAD 000004e4: DUP2 000004e5: AND 000004e6: SWAP2 000004e7: PUSH1 0x20 000004e9: ADD 000004ea: CALLDATALOAD 000004eb: AND 000004ec: PUSH2 0x1478 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH2 0x033b 000004f4: PUSH1 0x04 000004f6: DUP1 000004f7: CALLDATASIZE 000004f8: SUB 000004f9: PUSH1 0x20 000004fb: DUP2 000004fc: LT 000004fd: ISZERO 000004fe: PUSH2 0x0506 00000501: JUMPI 00000502: PUSH1 0x00 00000504: DUP1 00000505: REVERT 00000506: JUMPDEST 00000507: POP 00000508: CALLDATALOAD 00000509: PUSH2 0x14c6 0000050c: JUMP 0000050d: JUMPDEST 0000050e: PUSH2 0x0515 00000511: PUSH2 0x15ab 00000514: JUMP 00000515: JUMPDEST 00000516: PUSH1 0x40 00000518: DUP1 00000519: MLOAD 0000051a: PUSH1 0x01 0000051c: PUSH1 0x01 0000051e: PUSH1 0xa0 00000520: SHL 00000521: SUB 00000522: SWAP1 00000523: SWAP3 00000524: AND 00000525: DUP3 00000526: MSTORE 00000527: MLOAD 00000528: SWAP1 00000529: DUP2 0000052a: SWAP1 0000052b: SUB 0000052c: PUSH1 0x20 0000052e: ADD 0000052f: SWAP1 00000530: RETURN 00000531: JUMPDEST 00000532: PUSH2 0x0257 00000535: PUSH1 0x04 00000537: DUP1 00000538: CALLDATASIZE 00000539: SUB 0000053a: PUSH1 0x20 0000053c: DUP2 0000053d: LT 0000053e: ISZERO 0000053f: PUSH2 0x0547 00000542: JUMPI 00000543: PUSH1 0x00 00000545: DUP1 00000546: REVERT 00000547: JUMPDEST 00000548: POP 00000549: CALLDATALOAD 0000054a: PUSH1 0x01 0000054c: PUSH1 0x01 0000054e: PUSH1 0xa0 00000550: SHL 00000551: SUB 00000552: AND 00000553: PUSH2 0x15ba 00000556: JUMP 00000557: JUMPDEST 00000558: PUSH2 0x033b 0000055b: PUSH1 0x04 0000055d: DUP1 0000055e: CALLDATASIZE 0000055f: SUB 00000560: PUSH1 0x20 00000562: DUP2 00000563: LT 00000564: ISZERO 00000565: PUSH2 0x056d 00000568: JUMPI 00000569: PUSH1 0x00 0000056b: DUP1 0000056c: REVERT 0000056d: JUMPDEST 0000056e: POP 0000056f: CALLDATALOAD 00000570: PUSH2 0x15cf 00000573: JUMP 00000574: JUMPDEST 00000575: PUSH1 0x05 00000577: DUP1 00000578: SLOAD 00000579: PUSH1 0x40 0000057b: DUP1 0000057c: MLOAD 0000057d: PUSH1 0x20 0000057f: PUSH1 0x02 00000581: PUSH1 0x01 00000583: DUP6 00000584: AND 00000585: ISZERO 00000586: PUSH2 0x0100 00000589: MUL 0000058a: PUSH1 0x00 0000058c: NOT 0000058d: ADD 0000058e: SWAP1 0000058f: SWAP5 00000590: AND 00000591: SWAP4 00000592: SWAP1 00000593: SWAP4 00000594: DIV 00000595: PUSH1 0x1f 00000597: DUP2 00000598: ADD 00000599: DUP5 0000059a: SWAP1 0000059b: DIV 0000059c: DUP5 0000059d: MUL 0000059e: DUP3 0000059f: ADD 000005a0: DUP5 000005a1: ADD 000005a2: SWAP1 000005a3: SWAP3 000005a4: MSTORE 000005a5: DUP2 000005a6: DUP2 000005a7: MSTORE 000005a8: SWAP3 000005a9: SWAP2 000005aa: DUP4 000005ab: ADD 000005ac: DUP3 000005ad: DUP3 000005ae: DUP1 000005af: ISZERO 000005b0: PUSH2 0x05fa 000005b3: JUMPI 000005b4: DUP1 000005b5: PUSH1 0x1f 000005b7: LT 000005b8: PUSH2 0x05cf 000005bb: JUMPI 000005bc: PUSH2 0x0100 000005bf: DUP1 000005c0: DUP4 000005c1: SLOAD 000005c2: DIV 000005c3: MUL 000005c4: DUP4 000005c5: MSTORE 000005c6: SWAP2 000005c7: PUSH1 0x20 000005c9: ADD 000005ca: SWAP2 000005cb: PUSH2 0x05fa 000005ce: JUMP 000005cf: JUMPDEST 000005d0: DUP3 000005d1: ADD 000005d2: SWAP2 000005d3: SWAP1 000005d4: PUSH1 0x00 000005d6: MSTORE 000005d7: PUSH1 0x20 000005d9: PUSH1 0x00 000005db: KECCAK256 000005dc: SWAP1 000005dd: JUMPDEST 000005de: DUP2 000005df: SLOAD 000005e0: DUP2 000005e1: MSTORE 000005e2: SWAP1 000005e3: PUSH1 0x01 000005e5: ADD 000005e6: SWAP1 000005e7: PUSH1 0x20 000005e9: ADD 000005ea: DUP1 000005eb: DUP4 000005ec: GT 000005ed: PUSH2 0x05dd 000005f0: JUMPI 000005f1: DUP3 000005f2: SWAP1 000005f3: SUB 000005f4: PUSH1 0x1f 000005f6: AND 000005f7: DUP3 000005f8: ADD 000005f9: SWAP2 000005fa: JUMPDEST 000005fb: POP 000005fc: POP 000005fd: POP 000005fe: POP 000005ff: POP 00000600: DUP2 00000601: JUMP 00000602: JUMPDEST 00000603: PUSH1 0x01 00000605: PUSH1 0x01 00000607: PUSH1 0xa0 00000609: SHL 0000060a: SUB 0000060b: DUP3 0000060c: AND 0000060d: PUSH1 0x00 0000060f: SWAP1 00000610: DUP2 00000611: MSTORE 00000612: PUSH1 0x03 00000614: PUSH1 0x20 00000616: MSTORE 00000617: PUSH1 0x40 00000619: DUP2 0000061a: KECCAK256 0000061b: SLOAD 0000061c: DUP4 0000061d: SWAP1 0000061e: PUSH1 0xff 00000620: AND 00000621: ISZERO 00000622: PUSH2 0x0660 00000625: JUMPI 00000626: PUSH1 0x40 00000628: DUP1 00000629: MLOAD 0000062a: PUSH3 0x461bcd 0000062e: PUSH1 0xe5 00000630: SHL 00000631: DUP2 00000632: MSTORE 00000633: PUSH1 0x20 00000635: PUSH1 0x04 00000637: DUP3 00000638: ADD 00000639: MSTORE 0000063a: PUSH1 0x16 0000063c: PUSH1 0x24 0000063e: DUP3 0000063f: ADD 00000640: MSTORE 00000641: PUSH1 0x00 00000643: DUP1 00000644: MLOAD 00000645: PUSH1 0x20 00000647: PUSH2 0x1ebb 0000064a: DUP4 0000064b: CODECOPY 0000064c: DUP2 0000064d: MLOAD 0000064e: SWAP2 0000064f: MSTORE 00000650: PUSH1 0x44 00000652: DUP3 00000653: ADD 00000654: MSTORE 00000655: SWAP1 00000656: MLOAD 00000657: SWAP1 00000658: DUP2 00000659: SWAP1 0000065a: SUB 0000065b: PUSH1 0x64 0000065d: ADD 0000065e: SWAP1 0000065f: REVERT 00000660: JUMPDEST 00000661: CALLER 00000662: PUSH1 0x00 00000664: DUP2 00000665: DUP2 00000666: MSTORE 00000667: PUSH1 0x03 00000669: PUSH1 0x20 0000066b: MSTORE 0000066c: PUSH1 0x40 0000066e: SWAP1 0000066f: KECCAK256 00000670: SLOAD 00000671: PUSH1 0xff 00000673: AND 00000674: ISZERO 00000675: PUSH2 0x06b3 00000678: JUMPI 00000679: PUSH1 0x40 0000067b: DUP1 0000067c: MLOAD 0000067d: PUSH3 0x461bcd 00000681: PUSH1 0xe5 00000683: SHL 00000684: DUP2 00000685: MSTORE 00000686: PUSH1 0x20 00000688: PUSH1 0x04 0000068a: DUP3 0000068b: ADD 0000068c: MSTORE 0000068d: PUSH1 0x16 0000068f: PUSH1 0x24 00000691: DUP3 00000692: ADD 00000693: MSTORE 00000694: PUSH1 0x00 00000696: DUP1 00000697: MLOAD 00000698: PUSH1 0x20 0000069a: PUSH2 0x1ebb 0000069d: DUP4 0000069e: CODECOPY 0000069f: DUP2 000006a0: MLOAD 000006a1: SWAP2 000006a2: MSTORE 000006a3: PUSH1 0x44 000006a5: DUP3 000006a6: ADD 000006a7: MSTORE 000006a8: SWAP1 000006a9: MLOAD 000006aa: SWAP1 000006ab: DUP2 000006ac: SWAP1 000006ad: SUB 000006ae: PUSH1 0x64 000006b0: ADD 000006b1: SWAP1 000006b2: REVERT 000006b3: JUMPDEST 000006b4: PUSH1 0x08 000006b6: SLOAD 000006b7: PUSH1 0x01 000006b9: PUSH1 0xa0 000006bb: SHL 000006bc: SWAP1 000006bd: DIV 000006be: PUSH1 0xff 000006c0: AND 000006c1: ISZERO 000006c2: PUSH2 0x0700 000006c5: JUMPI 000006c6: PUSH1 0x40 000006c8: DUP1 000006c9: MLOAD 000006ca: PUSH3 0x461bcd 000006ce: PUSH1 0xe5 000006d0: SHL 000006d1: DUP2 000006d2: MSTORE 000006d3: PUSH1 0x20 000006d5: PUSH1 0x04 000006d7: DUP3 000006d8: ADD 000006d9: MSTORE 000006da: PUSH1 0x16 000006dc: PUSH1 0x24 000006de: DUP3 000006df: ADD 000006e0: MSTORE 000006e1: PUSH1 0x00 000006e3: DUP1 000006e4: MLOAD 000006e5: PUSH1 0x20 000006e7: PUSH2 0x1dff 000006ea: DUP4 000006eb: CODECOPY 000006ec: DUP2 000006ed: MLOAD 000006ee: SWAP2 000006ef: MSTORE 000006f0: PUSH1 0x44 000006f2: DUP3 000006f3: ADD 000006f4: MSTORE 000006f5: SWAP1 000006f6: MLOAD 000006f7: SWAP1 000006f8: DUP2 000006f9: SWAP1 000006fa: SUB 000006fb: PUSH1 0x64 000006fd: ADD 000006fe: SWAP1 000006ff: REVERT 00000700: JUMPDEST 00000701: PUSH1 0x07 00000703: SLOAD 00000704: PUSH1 0x00 00000706: SWAP1 00000707: DUP6 00000708: SWAP1 00000709: PUSH2 0x0724 0000070c: SWAP1 0000070d: PUSH2 0x071e 00000710: DUP4 00000711: PUSH8 0x0de0b6b3a7640000 0000071a: PUSH2 0x1650 0000071d: JUMP 0000071e: JUMPDEST 0000071f: SWAP1 00000720: PUSH2 0x16a9 00000723: JUMP 00000724: JUMPDEST 00000725: SWAP2 00000726: POP 00000727: PUSH2 0x0731 0000072a: CALLER 0000072b: DUP9 0000072c: DUP4 0000072d: PUSH2 0x16eb 00000730: JUMP 00000731: JUMPDEST 00000732: POP 00000733: PUSH1 0x01 00000735: SWAP7 00000736: SWAP6 00000737: POP 00000738: POP 00000739: POP 0000073a: POP 0000073b: POP 0000073c: POP 0000073d: JUMP 0000073e: JUMPDEST 0000073f: PUSH1 0x00 00000741: SLOAD 00000742: PUSH1 0xff 00000744: AND 00000745: DUP2 00000746: JUMP 00000747: JUMPDEST 00000748: PUSH1 0x00 0000074a: PUSH2 0x076c 0000074d: PUSH8 0x0de0b6b3a7640000 00000756: PUSH2 0x071e 00000759: PUSH1 0x07 0000075b: SLOAD 0000075c: PUSH1 0x04 0000075e: SLOAD 0000075f: PUSH2 0x1650 00000762: SWAP1 00000763: SWAP2 00000764: SWAP1 00000765: PUSH4 0xffffffff 0000076a: AND 0000076b: JUMP 0000076c: JUMPDEST 0000076d: SWAP1 0000076e: POP 0000076f: SWAP1 00000770: JUMP 00000771: JUMPDEST 00000772: PUSH1 0x07 00000774: SLOAD 00000775: DUP2 00000776: JUMP 00000777: JUMPDEST 00000778: PUSH1 0x01 0000077a: PUSH1 0x01 0000077c: PUSH1 0xa0 0000077e: SHL 0000077f: SUB 00000780: DUP4 00000781: AND 00000782: PUSH1 0x00 00000784: SWAP1 00000785: DUP2 00000786: MSTORE 00000787: PUSH1 0x03 00000789: PUSH1 0x20 0000078b: MSTORE 0000078c: PUSH1 0x40 0000078e: DUP2 0000078f: KECCAK256 00000790: SLOAD 00000791: DUP5 00000792: SWAP1 00000793: PUSH1 0xff 00000795: AND 00000796: ISZERO 00000797: PUSH2 0x07d5 0000079a: JUMPI 0000079b: PUSH1 0x40 0000079d: DUP1 0000079e: MLOAD 0000079f: PUSH3 0x461bcd 000007a3: PUSH1 0xe5 000007a5: SHL 000007a6: DUP2 000007a7: MSTORE 000007a8: PUSH1 0x20 000007aa: PUSH1 0x04 000007ac: DUP3 000007ad: ADD 000007ae: MSTORE 000007af: PUSH1 0x16 000007b1: PUSH1 0x24 000007b3: DUP3 000007b4: ADD 000007b5: MSTORE 000007b6: PUSH1 0x00 000007b8: DUP1 000007b9: MLOAD 000007ba: PUSH1 0x20 000007bc: PUSH2 0x1ebb 000007bf: DUP4 000007c0: CODECOPY 000007c1: DUP2 000007c2: MLOAD 000007c3: SWAP2 000007c4: MSTORE 000007c5: PUSH1 0x44 000007c7: DUP3 000007c8: ADD 000007c9: MSTORE 000007ca: SWAP1 000007cb: MLOAD 000007cc: SWAP1 000007cd: DUP2 000007ce: SWAP1 000007cf: SUB 000007d0: PUSH1 0x64 000007d2: ADD 000007d3: SWAP1 000007d4: REVERT 000007d5: JUMPDEST 000007d6: CALLER 000007d7: PUSH1 0x00 000007d9: DUP2 000007da: DUP2 000007db: MSTORE 000007dc: PUSH1 0x03 000007de: PUSH1 0x20 000007e0: MSTORE 000007e1: PUSH1 0x40 000007e3: SWAP1 000007e4: KECCAK256 000007e5: SLOAD 000007e6: PUSH1 0xff 000007e8: AND 000007e9: ISZERO 000007ea: PUSH2 0x0828 000007ed: JUMPI 000007ee: PUSH1 0x40 000007f0: DUP1 000007f1: MLOAD 000007f2: PUSH3 0x461bcd 000007f6: PUSH1 0xe5 000007f8: SHL 000007f9: DUP2 000007fa: MSTORE 000007fb: PUSH1 0x20 000007fd: PUSH1 0x04 000007ff: DUP3 00000800: ADD 00000801: MSTORE 00000802: PUSH1 0x16 00000804: PUSH1 0x24 00000806: DUP3 00000807: ADD 00000808: MSTORE 00000809: PUSH1 0x00 0000080b: DUP1 0000080c: MLOAD 0000080d: PUSH1 0x20 0000080f: PUSH2 0x1ebb 00000812: DUP4 00000813: CODECOPY 00000814: DUP2 00000815: MLOAD 00000816: SWAP2 00000817: MSTORE 00000818: PUSH1 0x44 0000081a: DUP3 0000081b: ADD 0000081c: MSTORE 0000081d: SWAP1 0000081e: MLOAD 0000081f: SWAP1 00000820: DUP2 00000821: SWAP1 00000822: SUB 00000823: PUSH1 0x64 00000825: ADD 00000826: SWAP1 00000827: REVERT 00000828: JUMPDEST 00000829: PUSH1 0x01 0000082b: PUSH1 0x01 0000082d: PUSH1 0xa0 0000082f: SHL 00000830: SUB 00000831: DUP6 00000832: AND 00000833: PUSH1 0x00 00000835: SWAP1 00000836: DUP2 00000837: MSTORE 00000838: PUSH1 0x03 0000083a: PUSH1 0x20 0000083c: MSTORE 0000083d: PUSH1 0x40 0000083f: SWAP1 00000840: KECCAK256 00000841: SLOAD 00000842: DUP6 00000843: SWAP1 00000844: PUSH1 0xff 00000846: AND 00000847: ISZERO 00000848: PUSH2 0x0886 0000084b: JUMPI 0000084c: PUSH1 0x40 0000084e: DUP1 0000084f: MLOAD 00000850: PUSH3 0x461bcd 00000854: PUSH1 0xe5 00000856: SHL 00000857: DUP2 00000858: MSTORE 00000859: PUSH1 0x20 0000085b: PUSH1 0x04 0000085d: DUP3 0000085e: ADD 0000085f: MSTORE 00000860: PUSH1 0x16 00000862: PUSH1 0x24 00000864: DUP3 00000865: ADD 00000866: MSTORE 00000867: PUSH1 0x00 00000869: DUP1 0000086a: MLOAD 0000086b: PUSH1 0x20 0000086d: PUSH2 0x1ebb 00000870: DUP4 00000871: CODECOPY 00000872: DUP2 00000873: MLOAD 00000874: SWAP2 00000875: MSTORE 00000876: PUSH1 0x44 00000878: DUP3 00000879: ADD 0000087a: MSTORE 0000087b: SWAP1 0000087c: MLOAD 0000087d: SWAP1 0000087e: DUP2 0000087f: SWAP1 00000880: SUB 00000881: PUSH1 0x64 00000883: ADD 00000884: SWAP1 00000885: REVERT 00000886: JUMPDEST 00000887: PUSH1 0x08 00000889: SLOAD 0000088a: PUSH1 0x01 0000088c: PUSH1 0xa0 0000088e: SHL 0000088f: SWAP1 00000890: DIV 00000891: PUSH1 0xff 00000893: AND 00000894: ISZERO 00000895: PUSH2 0x08d3 00000898: JUMPI 00000899: PUSH1 0x40 0000089b: DUP1 0000089c: MLOAD 0000089d: PUSH3 0x461bcd 000008a1: PUSH1 0xe5 000008a3: SHL 000008a4: DUP2 000008a5: MSTORE 000008a6: PUSH1 0x20 000008a8: PUSH1 0x04 000008aa: DUP3 000008ab: ADD 000008ac: MSTORE 000008ad: PUSH1 0x16 000008af: PUSH1 0x24 000008b1: DUP3 000008b2: ADD 000008b3: MSTORE 000008b4: PUSH1 0x00 000008b6: DUP1 000008b7: MLOAD 000008b8: PUSH1 0x20 000008ba: PUSH2 0x1dff 000008bd: DUP4 000008be: CODECOPY 000008bf: DUP2 000008c0: MLOAD 000008c1: SWAP2 000008c2: MSTORE 000008c3: PUSH1 0x44 000008c5: DUP3 000008c6: ADD 000008c7: MSTORE 000008c8: SWAP1 000008c9: MLOAD 000008ca: SWAP1 000008cb: DUP2 000008cc: SWAP1 000008cd: SUB 000008ce: PUSH1 0x64 000008d0: ADD 000008d1: SWAP1 000008d2: REVERT 000008d3: JUMPDEST 000008d4: PUSH1 0x00 000008d6: PUSH2 0x08e6 000008d9: DUP9 000008da: PUSH2 0x08e1 000008dd: PUSH2 0x17fa 000008e0: JUMP 000008e1: JUMPDEST 000008e2: PUSH2 0x1478 000008e5: JUMP 000008e6: JUMPDEST 000008e7: SWAP1 000008e8: POP 000008e9: PUSH2 0x08f3 000008ec: DUP9 000008ed: DUP9 000008ee: DUP9 000008ef: PUSH2 0x17fe 000008f2: JUMP 000008f3: JUMPDEST 000008f4: PUSH2 0x0929 000008f7: DUP9 000008f8: PUSH2 0x08ff 000008fb: PUSH2 0x17fa 000008fe: JUMP 000008ff: JUMPDEST 00000900: PUSH2 0x0924 00000903: DUP10 00000904: PUSH1 0x40 00000906: MLOAD 00000907: DUP1 00000908: PUSH1 0x60 0000090a: ADD 0000090b: PUSH1 0x40 0000090d: MSTORE 0000090e: DUP1 0000090f: PUSH1 0x28 00000911: DUP2 00000912: MSTORE 00000913: PUSH1 0x20 00000915: ADD 00000916: PUSH2 0x1efc 00000919: PUSH1 0x28 0000091b: SWAP2 0000091c: CODECOPY 0000091d: DUP7 0000091e: SWAP2 0000091f: SWAP1 00000920: PUSH2 0x196f 00000923: JUMP 00000924: JUMPDEST 00000925: PUSH2 0x16eb 00000928: JUMP 00000929: JUMPDEST 0000092a: POP 0000092b: PUSH1 0x01 0000092d: SWAP8 0000092e: SWAP7 0000092f: POP 00000930: POP 00000931: POP 00000932: POP 00000933: POP 00000934: POP 00000935: POP 00000936: JUMP 00000937: JUMPDEST 00000938: PUSH1 0x12 0000093a: DUP2 0000093b: JUMP 0000093c: JUMPDEST 0000093d: PUSH1 0x01 0000093f: PUSH1 0x01 00000941: PUSH1 0xa0 00000943: SHL 00000944: SUB 00000945: DUP3 00000946: AND 00000947: PUSH1 0x00 00000949: SWAP1 0000094a: DUP2 0000094b: MSTORE 0000094c: PUSH1 0x03 0000094e: PUSH1 0x20 00000950: MSTORE 00000951: PUSH1 0x40 00000953: DUP2 00000954: KECCAK256 00000955: SLOAD 00000956: DUP4 00000957: SWAP1 00000958: PUSH1 0xff 0000095a: AND 0000095b: ISZERO 0000095c: PUSH2 0x099a 0000095f: JUMPI 00000960: PUSH1 0x40 00000962: DUP1 00000963: MLOAD 00000964: PUSH3 0x461bcd 00000968: PUSH1 0xe5 0000096a: SHL 0000096b: DUP2 0000096c: MSTORE 0000096d: PUSH1 0x20 0000096f: PUSH1 0x04 00000971: DUP3 00000972: ADD 00000973: MSTORE 00000974: PUSH1 0x16 00000976: PUSH1 0x24 00000978: DUP3 00000979: ADD 0000097a: MSTORE 0000097b: PUSH1 0x00 0000097d: DUP1 0000097e: MLOAD 0000097f: PUSH1 0x20 00000981: PUSH2 0x1ebb 00000984: DUP4 00000985: CODECOPY 00000986: DUP2 00000987: MLOAD 00000988: SWAP2 00000989: MSTORE 0000098a: PUSH1 0x44 0000098c: DUP3 0000098d: ADD 0000098e: MSTORE 0000098f: SWAP1 00000990: MLOAD 00000991: SWAP1 00000992: DUP2 00000993: SWAP1 00000994: SUB 00000995: PUSH1 0x64 00000997: ADD 00000998: SWAP1 00000999: REVERT 0000099a: JUMPDEST 0000099b: CALLER 0000099c: PUSH1 0x00 0000099e: DUP2 0000099f: DUP2 000009a0: MSTORE 000009a1: PUSH1 0x03 000009a3: PUSH1 0x20 000009a5: MSTORE 000009a6: PUSH1 0x40 000009a8: SWAP1 000009a9: KECCAK256 000009aa: SLOAD 000009ab: PUSH1 0xff 000009ad: AND 000009ae: ISZERO 000009af: PUSH2 0x09ed 000009b2: JUMPI 000009b3: PUSH1 0x40 000009b5: DUP1 000009b6: MLOAD 000009b7: PUSH3 0x461bcd 000009bb: PUSH1 0xe5 000009bd: SHL 000009be: DUP2 000009bf: MSTORE 000009c0: PUSH1 0x20 000009c2: PUSH1 0x04 000009c4: DUP3 000009c5: ADD 000009c6: MSTORE 000009c7: PUSH1 0x16 000009c9: PUSH1 0x24 000009cb: DUP3 000009cc: ADD 000009cd: MSTORE 000009ce: PUSH1 0x00 000009d0: DUP1 000009d1: MLOAD 000009d2: PUSH1 0x20 000009d4: PUSH2 0x1ebb 000009d7: DUP4 000009d8: CODECOPY 000009d9: DUP2 000009da: MLOAD 000009db: SWAP2 000009dc: MSTORE 000009dd: PUSH1 0x44 000009df: DUP3 000009e0: ADD 000009e1: MSTORE 000009e2: SWAP1 000009e3: MLOAD 000009e4: SWAP1 000009e5: DUP2 000009e6: SWAP1 000009e7: SUB 000009e8: PUSH1 0x64 000009ea: ADD 000009eb: SWAP1 000009ec: REVERT 000009ed: JUMPDEST 000009ee: PUSH1 0x08 000009f0: SLOAD 000009f1: PUSH1 0x01 000009f3: PUSH1 0xa0 000009f5: SHL 000009f6: SWAP1 000009f7: DIV 000009f8: PUSH1 0xff 000009fa: AND 000009fb: ISZERO 000009fc: PUSH2 0x0a3a 000009ff: JUMPI 00000a00: PUSH1 0x40 00000a02: DUP1 00000a03: MLOAD 00000a04: PUSH3 0x461bcd 00000a08: PUSH1 0xe5 00000a0a: SHL 00000a0b: DUP2 00000a0c: MSTORE 00000a0d: PUSH1 0x20 00000a0f: PUSH1 0x04 00000a11: DUP3 00000a12: ADD 00000a13: MSTORE 00000a14: PUSH1 0x16 00000a16: PUSH1 0x24 00000a18: DUP3 00000a19: ADD 00000a1a: MSTORE 00000a1b: PUSH1 0x00 00000a1d: DUP1 00000a1e: MLOAD 00000a1f: PUSH1 0x20 00000a21: PUSH2 0x1dff 00000a24: DUP4 00000a25: CODECOPY 00000a26: DUP2 00000a27: MLOAD 00000a28: SWAP2 00000a29: MSTORE 00000a2a: PUSH1 0x44 00000a2c: DUP3 00000a2d: ADD 00000a2e: MSTORE 00000a2f: SWAP1 00000a30: MLOAD 00000a31: SWAP1 00000a32: DUP2 00000a33: SWAP1 00000a34: SUB 00000a35: PUSH1 0x64 00000a37: ADD 00000a38: SWAP1 00000a39: REVERT 00000a3a: JUMPDEST 00000a3b: PUSH1 0x00 00000a3d: PUSH2 0x0a4d 00000a40: PUSH2 0x0a47 00000a43: PUSH2 0x17fa 00000a46: JUMP 00000a47: JUMPDEST 00000a48: DUP8 00000a49: PUSH2 0x1478 00000a4c: JUMP 00000a4d: JUMPDEST 00000a4e: SWAP1 00000a4f: POP 00000a50: PUSH2 0x0a65 00000a53: PUSH2 0x0a5a 00000a56: PUSH2 0x17fa 00000a59: JUMP 00000a5a: JUMPDEST 00000a5b: DUP8 00000a5c: PUSH2 0x0924 00000a5f: DUP5 00000a60: DUP10 00000a61: PUSH2 0x1a06 00000a64: JUMP 00000a65: JUMPDEST 00000a66: POP 00000a67: PUSH1 0x01 00000a69: SWAP6 00000a6a: SWAP5 00000a6b: POP 00000a6c: POP 00000a6d: POP 00000a6e: POP 00000a6f: POP 00000a70: JUMP 00000a71: JUMPDEST 00000a72: PUSH1 0x08 00000a74: SLOAD 00000a75: PUSH1 0x01 00000a77: PUSH1 0x01 00000a79: PUSH1 0xa0 00000a7b: SHL 00000a7c: SUB 00000a7d: AND 00000a7e: CALLER 00000a7f: EQ 00000a80: PUSH2 0x0abe 00000a83: JUMPI 00000a84: PUSH1 0x40 00000a86: DUP1 00000a87: MLOAD 00000a88: PUSH3 0x461bcd 00000a8c: PUSH1 0xe5 00000a8e: SHL 00000a8f: DUP2 00000a90: MSTORE 00000a91: PUSH1 0x20 00000a93: PUSH1 0x04 00000a95: DUP3 00000a96: ADD 00000a97: MSTORE 00000a98: PUSH1 0x15 00000a9a: PUSH1 0x24 00000a9c: DUP3 00000a9d: ADD 00000a9e: MSTORE 00000a9f: PUSH1 0x00 00000aa1: DUP1 00000aa2: MLOAD 00000aa3: PUSH1 0x20 00000aa5: PUSH2 0x1ffa 00000aa8: DUP4 00000aa9: CODECOPY 00000aaa: DUP2 00000aab: MLOAD 00000aac: SWAP2 00000aad: MSTORE 00000aae: PUSH1 0x44 00000ab0: DUP3 00000ab1: ADD 00000ab2: MSTORE 00000ab3: SWAP1 00000ab4: MLOAD 00000ab5: SWAP1 00000ab6: DUP2 00000ab7: SWAP1 00000ab8: SUB 00000ab9: PUSH1 0x64 00000abb: ADD 00000abc: SWAP1 00000abd: REVERT 00000abe: JUMPDEST 00000abf: PUSH1 0x01 00000ac1: PUSH1 0x01 00000ac3: PUSH1 0xa0 00000ac5: SHL 00000ac6: SUB 00000ac7: DUP2 00000ac8: AND 00000ac9: PUSH1 0x00 00000acb: DUP2 00000acc: DUP2 00000acd: MSTORE 00000ace: PUSH1 0x03 00000ad0: PUSH1 0x20 00000ad2: SWAP1 00000ad3: DUP2 00000ad4: MSTORE 00000ad5: PUSH1 0x40 00000ad7: DUP1 00000ad8: DUP4 00000ad9: KECCAK256 00000ada: DUP1 00000adb: SLOAD 00000adc: PUSH1 0xff 00000ade: NOT 00000adf: AND 00000ae0: SWAP1 00000ae1: SSTORE 00000ae2: DUP1 00000ae3: MLOAD 00000ae4: SWAP3 00000ae5: DUP4 00000ae6: MSTORE 00000ae7: MLOAD 00000ae8: PUSH32 0xa901296c036b6de8ffbc2c88ea69148c9af9fe1e370cb31f77f3e377d6e68039 00000b09: SWAP3 00000b0a: DUP2 00000b0b: SWAP1 00000b0c: SUB 00000b0d: SWAP1 00000b0e: SWAP2 00000b0f: ADD 00000b10: SWAP1 00000b11: LOG2 00000b12: POP 00000b13: JUMP 00000b14: JUMPDEST 00000b15: PUSH1 0x08 00000b17: SLOAD 00000b18: PUSH1 0x01 00000b1a: PUSH1 0x01 00000b1c: PUSH1 0xa0 00000b1e: SHL 00000b1f: SUB 00000b20: AND 00000b21: CALLER 00000b22: EQ 00000b23: PUSH2 0x0b61 00000b26: JUMPI 00000b27: PUSH1 0x40 00000b29: DUP1 00000b2a: MLOAD 00000b2b: PUSH3 0x461bcd 00000b2f: PUSH1 0xe5 00000b31: SHL 00000b32: DUP2 00000b33: MSTORE 00000b34: PUSH1 0x20 00000b36: PUSH1 0x04 00000b38: DUP3 00000b39: ADD 00000b3a: MSTORE 00000b3b: PUSH1 0x15 00000b3d: PUSH1 0x24 00000b3f: DUP3 00000b40: ADD 00000b41: MSTORE 00000b42: PUSH1 0x00 00000b44: DUP1 00000b45: MLOAD 00000b46: PUSH1 0x20 00000b48: PUSH2 0x1ffa 00000b4b: DUP4 00000b4c: CODECOPY 00000b4d: DUP2 00000b4e: MLOAD 00000b4f: SWAP2 00000b50: MSTORE 00000b51: PUSH1 0x44 00000b53: DUP3 00000b54: ADD 00000b55: MSTORE 00000b56: SWAP1 00000b57: MLOAD 00000b58: SWAP1 00000b59: DUP2 00000b5a: SWAP1 00000b5b: SUB 00000b5c: PUSH1 0x64 00000b5e: ADD 00000b5f: SWAP1 00000b60: REVERT 00000b61: JUMPDEST 00000b62: PUSH1 0x08 00000b64: DUP1 00000b65: SLOAD 00000b66: PUSH1 0xff 00000b68: PUSH1 0xa0 00000b6a: SHL 00000b6b: NOT 00000b6c: AND 00000b6d: SWAP1 00000b6e: SSTORE 00000b6f: JUMP 00000b70: JUMPDEST 00000b71: PUSH1 0x08 00000b73: SLOAD 00000b74: PUSH1 0x00 00000b76: SWAP1 00000b77: PUSH1 0x01 00000b79: PUSH1 0x01 00000b7b: PUSH1 0xa0 00000b7d: SHL 00000b7e: SUB 00000b7f: AND 00000b80: CALLER 00000b81: EQ 00000b82: PUSH2 0x0bc0 00000b85: JUMPI 00000b86: PUSH1 0x40 00000b88: DUP1 00000b89: MLOAD 00000b8a: PUSH3 0x461bcd 00000b8e: PUSH1 0xe5 00000b90: SHL 00000b91: DUP2 00000b92: MSTORE 00000b93: PUSH1 0x20 00000b95: PUSH1 0x04 00000b97: DUP3 00000b98: ADD 00000b99: MSTORE 00000b9a: PUSH1 0x15 00000b9c: PUSH1 0x24 00000b9e: DUP3 00000b9f: ADD 00000ba0: MSTORE 00000ba1: PUSH1 0x00 00000ba3: DUP1 00000ba4: MLOAD 00000ba5: PUSH1 0x20 00000ba7: PUSH2 0x1ffa 00000baa: DUP4 00000bab: CODECOPY 00000bac: DUP2 00000bad: MLOAD 00000bae: SWAP2 00000baf: MSTORE 00000bb0: PUSH1 0x44 00000bb2: DUP3 00000bb3: ADD 00000bb4: MSTORE 00000bb5: SWAP1 00000bb6: MLOAD 00000bb7: SWAP1 00000bb8: DUP2 00000bb9: SWAP1 00000bba: SUB 00000bbb: PUSH1 0x64 00000bbd: ADD 00000bbe: SWAP1 00000bbf: REVERT 00000bc0: JUMPDEST 00000bc1: PUSH1 0x08 00000bc3: SLOAD 00000bc4: PUSH1 0x01 00000bc6: PUSH1 0xa0 00000bc8: SHL 00000bc9: SWAP1 00000bca: DIV 00000bcb: PUSH1 0xff 00000bcd: AND 00000bce: ISZERO 00000bcf: PUSH2 0x0c0d 00000bd2: JUMPI 00000bd3: PUSH1 0x40 00000bd5: DUP1 00000bd6: MLOAD 00000bd7: PUSH3 0x461bcd 00000bdb: PUSH1 0xe5 00000bdd: SHL 00000bde: DUP2 00000bdf: MSTORE 00000be0: PUSH1 0x20 00000be2: PUSH1 0x04 00000be4: DUP3 00000be5: ADD 00000be6: MSTORE 00000be7: PUSH1 0x16 00000be9: PUSH1 0x24 00000beb: DUP3 00000bec: ADD 00000bed: MSTORE 00000bee: PUSH1 0x00 00000bf0: DUP1 00000bf1: MLOAD 00000bf2: PUSH1 0x20 00000bf4: PUSH2 0x1dff 00000bf7: DUP4 00000bf8: CODECOPY 00000bf9: DUP2 00000bfa: MLOAD 00000bfb: SWAP2 00000bfc: MSTORE 00000bfd: PUSH1 0x44 00000bff: DUP3 00000c00: ADD 00000c01: MSTORE 00000c02: SWAP1 00000c03: MLOAD 00000c04: SWAP1 00000c05: DUP2 00000c06: SWAP1 00000c07: SUB 00000c08: PUSH1 0x64 00000c0a: ADD 00000c0b: SWAP1 00000c0c: REVERT 00000c0d: JUMPDEST 00000c0e: PUSH1 0x07 00000c10: SLOAD 00000c11: DUP3 00000c12: SWAP1 00000c13: PUSH1 0x00 00000c15: SWAP1 00000c16: PUSH2 0x0c2b 00000c19: SWAP1 00000c1a: PUSH2 0x071e 00000c1d: DUP5 00000c1e: PUSH8 0x0de0b6b3a7640000 00000c27: PUSH2 0x1650 00000c2a: JUMP 00000c2b: JUMPDEST 00000c2c: SWAP1 00000c2d: POP 00000c2e: PUSH2 0x0c38 00000c31: DUP6 00000c32: DUP3 00000c33: DUP5 00000c34: PUSH2 0x1a60 00000c37: JUMP 00000c38: JUMPDEST 00000c39: PUSH1 0x01 00000c3b: SWAP3 00000c3c: POP 00000c3d: POP 00000c3e: POP 00000c3f: JUMPDEST 00000c40: SWAP3 00000c41: SWAP2 00000c42: POP 00000c43: POP 00000c44: JUMP 00000c45: JUMPDEST 00000c46: PUSH1 0x08 00000c48: SLOAD 00000c49: PUSH1 0x01 00000c4b: PUSH1 0x01 00000c4d: PUSH1 0xa0 00000c4f: SHL 00000c50: SUB 00000c51: AND 00000c52: CALLER 00000c53: EQ 00000c54: PUSH2 0x0c92 00000c57: JUMPI 00000c58: PUSH1 0x40 00000c5a: DUP1 00000c5b: MLOAD 00000c5c: PUSH3 0x461bcd 00000c60: PUSH1 0xe5 00000c62: SHL 00000c63: DUP2 00000c64: MSTORE 00000c65: PUSH1 0x20 00000c67: PUSH1 0x04 00000c69: DUP3 00000c6a: ADD 00000c6b: MSTORE 00000c6c: PUSH1 0x15 00000c6e: PUSH1 0x24 00000c70: DUP3 00000c71: ADD 00000c72: MSTORE 00000c73: PUSH1 0x00 00000c75: DUP1 00000c76: MLOAD 00000c77: PUSH1 0x20 00000c79: PUSH2 0x1ffa 00000c7c: DUP4 00000c7d: CODECOPY 00000c7e: DUP2 00000c7f: MLOAD 00000c80: SWAP2 00000c81: MSTORE 00000c82: PUSH1 0x44 00000c84: DUP3 00000c85: ADD 00000c86: MSTORE 00000c87: SWAP1 00000c88: MLOAD 00000c89: SWAP1 00000c8a: DUP2 00000c8b: SWAP1 00000c8c: SUB 00000c8d: PUSH1 0x64 00000c8f: ADD 00000c90: SWAP1 00000c91: REVERT 00000c92: JUMPDEST 00000c93: PUSH1 0x00 00000c95: SLOAD 00000c96: PUSH1 0xff 00000c98: AND 00000c99: ISZERO 00000c9a: ISZERO 00000c9b: PUSH1 0x01 00000c9d: EQ 00000c9e: PUSH2 0x0cd8 00000ca1: JUMPI 00000ca2: PUSH1 0x40 00000ca4: MLOAD 00000ca5: PUSH3 0x461bcd 00000ca9: PUSH1 0xe5 00000cab: SHL 00000cac: DUP2 00000cad: MSTORE 00000cae: PUSH1 0x04 00000cb0: ADD 00000cb1: DUP1 00000cb2: DUP1 00000cb3: PUSH1 0x20 00000cb5: ADD 00000cb6: DUP3 00000cb7: DUP2 00000cb8: SUB 00000cb9: DUP3 00000cba: MSTORE 00000cbb: PUSH1 0x33 00000cbd: DUP2 00000cbe: MSTORE 00000cbf: PUSH1 0x20 00000cc1: ADD 00000cc2: DUP1 00000cc3: PUSH2 0x1fa3 00000cc6: PUSH1 0x33 00000cc8: SWAP2 00000cc9: CODECOPY 00000cca: PUSH1 0x40 00000ccc: ADD 00000ccd: SWAP2 00000cce: POP 00000ccf: POP 00000cd0: PUSH1 0x40 00000cd2: MLOAD 00000cd3: DUP1 00000cd4: SWAP2 00000cd5: SUB 00000cd6: SWAP1 00000cd7: REVERT 00000cd8: JUMPDEST 00000cd9: PUSH2 0x0ce1 00000cdc: DUP2 00000cdd: PUSH2 0x1b47 00000ce0: JUMP 00000ce1: JUMPDEST 00000ce2: PUSH1 0x40 00000ce4: MLOAD 00000ce5: PUSH1 0x01 00000ce7: PUSH1 0x01 00000ce9: PUSH1 0xa0 00000ceb: SHL 00000cec: SUB 00000ced: DUP3 00000cee: AND 00000cef: SWAP1 00000cf0: PUSH32 0x34459cf4c63f38e9b4af4ff8f74035bad6157484e669ffde70188afdf9917c68 00000d11: SWAP1 00000d12: PUSH1 0x00 00000d14: SWAP1 00000d15: LOG2 00000d16: POP 00000d17: JUMP 00000d18: JUMPDEST 00000d19: PUSH32 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7 00000d3a: SWAP1 00000d3b: JUMP 00000d3c: JUMPDEST 00000d3d: PUSH1 0x08 00000d3f: SLOAD 00000d40: PUSH1 0x01 00000d42: PUSH1 0x01 00000d44: PUSH1 0xa0 00000d46: SHL 00000d47: SUB 00000d48: AND 00000d49: CALLER 00000d4a: EQ 00000d4b: PUSH2 0x0d89 00000d4e: JUMPI 00000d4f: PUSH1 0x40 00000d51: DUP1 00000d52: MLOAD 00000d53: PUSH3 0x461bcd 00000d57: PUSH1 0xe5 00000d59: SHL 00000d5a: DUP2 00000d5b: MSTORE 00000d5c: PUSH1 0x20 00000d5e: PUSH1 0x04 00000d60: DUP3 00000d61: ADD 00000d62: MSTORE 00000d63: PUSH1 0x15 00000d65: PUSH1 0x24 00000d67: DUP3 00000d68: ADD 00000d69: MSTORE 00000d6a: PUSH1 0x00 00000d6c: DUP1 00000d6d: MLOAD 00000d6e: PUSH1 0x20 00000d70: PUSH2 0x1ffa 00000d73: DUP4 00000d74: CODECOPY 00000d75: DUP2 00000d76: MLOAD 00000d77: SWAP2 00000d78: MSTORE 00000d79: PUSH1 0x44 00000d7b: DUP3 00000d7c: ADD 00000d7d: MSTORE 00000d7e: SWAP1 00000d7f: MLOAD 00000d80: SWAP1 00000d81: DUP2 00000d82: SWAP1 00000d83: SUB 00000d84: PUSH1 0x64 00000d86: ADD 00000d87: SWAP1 00000d88: REVERT 00000d89: JUMPDEST 00000d8a: PUSH1 0x08 00000d8c: SLOAD 00000d8d: PUSH1 0x01 00000d8f: PUSH1 0xa0 00000d91: SHL 00000d92: SWAP1 00000d93: DIV 00000d94: PUSH1 0xff 00000d96: AND 00000d97: ISZERO 00000d98: PUSH2 0x0dd6 00000d9b: JUMPI 00000d9c: PUSH1 0x40 00000d9e: DUP1 00000d9f: MLOAD 00000da0: PUSH3 0x461bcd 00000da4: PUSH1 0xe5 00000da6: SHL 00000da7: DUP2 00000da8: MSTORE 00000da9: PUSH1 0x20 00000dab: PUSH1 0x04 00000dad: DUP3 00000dae: ADD 00000daf: MSTORE 00000db0: PUSH1 0x16 00000db2: PUSH1 0x24 00000db4: DUP3 00000db5: ADD 00000db6: MSTORE 00000db7: PUSH1 0x00 00000db9: DUP1 00000dba: MLOAD 00000dbb: PUSH1 0x20 00000dbd: PUSH2 0x1dff 00000dc0: DUP4 00000dc1: CODECOPY 00000dc2: DUP2 00000dc3: MLOAD 00000dc4: SWAP2 00000dc5: MSTORE 00000dc6: PUSH1 0x44 00000dc8: DUP3 00000dc9: ADD 00000dca: MSTORE 00000dcb: SWAP1 00000dcc: MLOAD 00000dcd: SWAP1 00000dce: DUP2 00000dcf: SWAP1 00000dd0: SUB 00000dd1: PUSH1 0x64 00000dd3: ADD 00000dd4: SWAP1 00000dd5: REVERT 00000dd6: JUMPDEST 00000dd7: PUSH1 0x07 00000dd9: SLOAD 00000dda: DUP2 00000ddb: GT 00000ddc: PUSH2 0x0e16 00000ddf: JUMPI 00000de0: PUSH1 0x40 00000de2: MLOAD 00000de3: PUSH3 0x461bcd 00000de7: PUSH1 0xe5 00000de9: SHL 00000dea: DUP2 00000deb: MSTORE 00000dec: PUSH1 0x04 00000dee: ADD 00000def: DUP1 00000df0: DUP1 00000df1: PUSH1 0x20 00000df3: ADD 00000df4: DUP3 00000df5: DUP2 00000df6: SUB 00000df7: DUP3 00000df8: MSTORE 00000df9: PUSH1 0x39 00000dfb: DUP2 00000dfc: MSTORE 00000dfd: PUSH1 0x20 00000dff: ADD 00000e00: DUP1 00000e01: PUSH2 0x1f24 00000e04: PUSH1 0x39 00000e06: SWAP2 00000e07: CODECOPY 00000e08: PUSH1 0x40 00000e0a: ADD 00000e0b: SWAP2 00000e0c: POP 00000e0d: POP 00000e0e: PUSH1 0x40 00000e10: MLOAD 00000e11: DUP1 00000e12: SWAP2 00000e13: SUB 00000e14: SWAP1 00000e15: REVERT 00000e16: JUMPDEST 00000e17: PUSH1 0x07 00000e19: DUP2 00000e1a: SWAP1 00000e1b: SSTORE 00000e1c: PUSH1 0x40 00000e1e: DUP1 00000e1f: MLOAD 00000e20: DUP3 00000e21: DUP2 00000e22: MSTORE 00000e23: SWAP1 00000e24: MLOAD 00000e25: PUSH32 0xd1ac89bfc464ce49c894c4e2379f1ca2b062aff1a640e929764ac1157fa13f0f 00000e46: SWAP2 00000e47: DUP2 00000e48: SWAP1 00000e49: SUB 00000e4a: PUSH1 0x20 00000e4c: ADD 00000e4d: SWAP1 00000e4e: LOG1 00000e4f: POP 00000e50: JUMP 00000e51: JUMPDEST 00000e52: PUSH1 0x08 00000e54: SLOAD 00000e55: PUSH1 0x01 00000e57: PUSH1 0x01 00000e59: PUSH1 0xa0 00000e5b: SHL 00000e5c: SUB 00000e5d: AND 00000e5e: CALLER 00000e5f: EQ 00000e60: PUSH2 0x0e9e 00000e63: JUMPI 00000e64: PUSH1 0x40 00000e66: DUP1 00000e67: MLOAD 00000e68: PUSH3 0x461bcd 00000e6c: PUSH1 0xe5 00000e6e: SHL 00000e6f: DUP2 00000e70: MSTORE 00000e71: PUSH1 0x20 00000e73: PUSH1 0x04 00000e75: DUP3 00000e76: ADD 00000e77: MSTORE 00000e78: PUSH1 0x15 00000e7a: PUSH1 0x24 00000e7c: DUP3 00000e7d: ADD 00000e7e: MSTORE 00000e7f: PUSH1 0x00 00000e81: DUP1 00000e82: MLOAD 00000e83: PUSH1 0x20 00000e85: PUSH2 0x1ffa 00000e88: DUP4 00000e89: CODECOPY 00000e8a: DUP2 00000e8b: MLOAD 00000e8c: SWAP2 00000e8d: MSTORE 00000e8e: PUSH1 0x44 00000e90: DUP3 00000e91: ADD 00000e92: MSTORE 00000e93: SWAP1 00000e94: MLOAD 00000e95: SWAP1 00000e96: DUP2 00000e97: SWAP1 00000e98: SUB 00000e99: PUSH1 0x64 00000e9b: ADD 00000e9c: SWAP1 00000e9d: REVERT 00000e9e: JUMPDEST 00000e9f: PUSH1 0x01 00000ea1: PUSH1 0x01 00000ea3: PUSH1 0xa0 00000ea5: SHL 00000ea6: SUB 00000ea7: DUP2 00000ea8: AND 00000ea9: PUSH1 0x00 00000eab: DUP2 00000eac: DUP2 00000ead: MSTORE 00000eae: PUSH1 0x03 00000eb0: PUSH1 0x20 00000eb2: SWAP1 00000eb3: DUP2 00000eb4: MSTORE 00000eb5: PUSH1 0x40 00000eb7: SWAP2 00000eb8: DUP3 00000eb9: SWAP1 00000eba: KECCAK256 00000ebb: DUP1 00000ebc: SLOAD 00000ebd: PUSH1 0xff 00000ebf: NOT 00000ec0: AND 00000ec1: PUSH1 0x01 00000ec3: SWAP1 00000ec4: DUP2 00000ec5: OR 00000ec6: SWAP1 00000ec7: SWAP2 00000ec8: SSTORE 00000ec9: DUP3 00000eca: MLOAD 00000ecb: SWAP1 00000ecc: DUP2 00000ecd: MSTORE 00000ece: SWAP2 00000ecf: MLOAD 00000ed0: PUSH32 0xa901296c036b6de8ffbc2c88ea69148c9af9fe1e370cb31f77f3e377d6e68039 00000ef1: SWAP3 00000ef2: DUP2 00000ef3: SWAP1 00000ef4: SUB 00000ef5: SWAP1 00000ef6: SWAP2 00000ef7: ADD 00000ef8: SWAP1 00000ef9: LOG2 00000efa: POP 00000efb: JUMP 00000efc: JUMPDEST 00000efd: PUSH1 0x07 00000eff: SLOAD 00000f00: PUSH1 0x01 00000f02: PUSH1 0x01 00000f04: PUSH1 0xa0 00000f06: SHL 00000f07: SUB 00000f08: DUP3 00000f09: AND 00000f0a: PUSH1 0x00 00000f0c: SWAP1 00000f0d: DUP2 00000f0e: MSTORE 00000f0f: PUSH1 0x01 00000f11: PUSH1 0x20 00000f13: MSTORE 00000f14: PUSH1 0x40 00000f16: DUP2 00000f17: KECCAK256 00000f18: SLOAD 00000f19: SWAP1 00000f1a: SWAP2 00000f1b: DUP3 00000f1c: SWAP2 00000f1d: PUSH2 0x0f33 00000f20: SWAP2 00000f21: PUSH8 0x0de0b6b3a7640000 00000f2a: SWAP2 00000f2b: PUSH2 0x071e 00000f2e: SWAP2 00000f2f: PUSH2 0x1650 00000f32: JUMP 00000f33: JUMPDEST 00000f34: SWAP4 00000f35: SWAP3 00000f36: POP 00000f37: POP 00000f38: POP 00000f39: JUMP 00000f3a: JUMPDEST 00000f3b: PUSH1 0x08 00000f3d: SLOAD 00000f3e: PUSH1 0x01 00000f40: PUSH1 0x01 00000f42: PUSH1 0xa0 00000f44: SHL 00000f45: SUB 00000f46: AND 00000f47: CALLER 00000f48: EQ 00000f49: PUSH2 0x0f87 00000f4c: JUMPI 00000f4d: PUSH1 0x40 00000f4f: DUP1 00000f50: MLOAD 00000f51: PUSH3 0x461bcd 00000f55: PUSH1 0xe5 00000f57: SHL 00000f58: DUP2 00000f59: MSTORE 00000f5a: PUSH1 0x20 00000f5c: PUSH1 0x04 00000f5e: DUP3 00000f5f: ADD 00000f60: MSTORE 00000f61: PUSH1 0x15 00000f63: PUSH1 0x24 00000f65: DUP3 00000f66: ADD 00000f67: MSTORE 00000f68: PUSH1 0x00 00000f6a: DUP1 00000f6b: MLOAD 00000f6c: PUSH1 0x20 00000f6e: PUSH2 0x1ffa 00000f71: DUP4 00000f72: CODECOPY 00000f73: DUP2 00000f74: MLOAD 00000f75: SWAP2 00000f76: MSTORE 00000f77: PUSH1 0x44 00000f79: DUP3 00000f7a: ADD 00000f7b: MSTORE 00000f7c: SWAP1 00000f7d: MLOAD 00000f7e: SWAP1 00000f7f: DUP2 00000f80: SWAP1 00000f81: SUB 00000f82: PUSH1 0x64 00000f84: ADD 00000f85: SWAP1 00000f86: REVERT 00000f87: JUMPDEST 00000f88: PUSH1 0x08 00000f8a: DUP1 00000f8b: SLOAD 00000f8c: PUSH1 0xff 00000f8e: PUSH1 0xa0 00000f90: SHL 00000f91: NOT 00000f92: AND 00000f93: PUSH1 0x01 00000f95: PUSH1 0xa0 00000f97: SHL 00000f98: OR 00000f99: SWAP1 00000f9a: SSTORE 00000f9b: JUMP 00000f9c: JUMPDEST 00000f9d: PUSH1 0x06 00000f9f: DUP1 00000fa0: SLOAD 00000fa1: PUSH1 0x40 00000fa3: DUP1 00000fa4: MLOAD 00000fa5: PUSH1 0x20 00000fa7: PUSH1 0x02 00000fa9: PUSH1 0x01 00000fab: DUP6 00000fac: AND 00000fad: ISZERO 00000fae: PUSH2 0x0100 00000fb1: MUL 00000fb2: PUSH1 0x00 00000fb4: NOT 00000fb5: ADD 00000fb6: SWAP1 00000fb7: SWAP5 00000fb8: AND 00000fb9: SWAP4 00000fba: SWAP1 00000fbb: SWAP4 00000fbc: DIV 00000fbd: PUSH1 0x1f 00000fbf: DUP2 00000fc0: ADD 00000fc1: DUP5 00000fc2: SWAP1 00000fc3: DIV 00000fc4: DUP5 00000fc5: MUL 00000fc6: DUP3 00000fc7: ADD 00000fc8: DUP5 00000fc9: ADD 00000fca: SWAP1 00000fcb: SWAP3 00000fcc: MSTORE 00000fcd: DUP2 00000fce: DUP2 00000fcf: MSTORE 00000fd0: SWAP3 00000fd1: SWAP2 00000fd2: DUP4 00000fd3: ADD 00000fd4: DUP3 00000fd5: DUP3 00000fd6: DUP1 00000fd7: ISZERO 00000fd8: PUSH2 0x05fa 00000fdb: JUMPI 00000fdc: DUP1 00000fdd: PUSH1 0x1f 00000fdf: LT 00000fe0: PUSH2 0x05cf 00000fe3: JUMPI 00000fe4: PUSH2 0x0100 00000fe7: DUP1 00000fe8: DUP4 00000fe9: SLOAD 00000fea: DIV 00000feb: MUL 00000fec: DUP4 00000fed: MSTORE 00000fee: SWAP2 00000fef: PUSH1 0x20 00000ff1: ADD 00000ff2: SWAP2 00000ff3: PUSH2 0x05fa 00000ff6: JUMP 00000ff7: JUMPDEST 00000ff8: PUSH1 0x08 00000ffa: SLOAD 00000ffb: PUSH1 0x00 00000ffd: SWAP1 00000ffe: PUSH1 0x01 00001000: PUSH1 0x01 00001002: PUSH1 0xa0 00001004: SHL 00001005: SUB 00001006: AND 00001007: CALLER 00001008: EQ 00001009: PUSH2 0x1047 0000100c: JUMPI 0000100d: PUSH1 0x40 0000100f: DUP1 00001010: MLOAD 00001011: PUSH3 0x461bcd 00001015: PUSH1 0xe5 00001017: SHL 00001018: DUP2 00001019: MSTORE 0000101a: PUSH1 0x20 0000101c: PUSH1 0x04 0000101e: DUP3 0000101f: ADD 00001020: MSTORE 00001021: PUSH1 0x15 00001023: PUSH1 0x24 00001025: DUP3 00001026: ADD 00001027: MSTORE 00001028: PUSH1 0x00 0000102a: DUP1 0000102b: MLOAD 0000102c: PUSH1 0x20 0000102e: PUSH2 0x1ffa 00001031: DUP4 00001032: CODECOPY 00001033: DUP2 00001034: MLOAD 00001035: SWAP2 00001036: MSTORE 00001037: PUSH1 0x44 00001039: DUP3 0000103a: ADD 0000103b: MSTORE 0000103c: SWAP1 0000103d: MLOAD 0000103e: SWAP1 0000103f: DUP2 00001040: SWAP1 00001041: SUB 00001042: PUSH1 0x64 00001044: ADD 00001045: SWAP1 00001046: REVERT 00001047: JUMPDEST 00001048: PUSH1 0x08 0000104a: SLOAD 0000104b: PUSH1 0x01 0000104d: PUSH1 0xa0 0000104f: SHL 00001050: SWAP1 00001051: DIV 00001052: PUSH1 0xff 00001054: AND 00001055: ISZERO 00001056: PUSH2 0x1094 00001059: JUMPI 0000105a: PUSH1 0x40 0000105c: DUP1 0000105d: MLOAD 0000105e: PUSH3 0x461bcd 00001062: PUSH1 0xe5 00001064: SHL 00001065: DUP2 00001066: MSTORE 00001067: PUSH1 0x20 00001069: PUSH1 0x04 0000106b: DUP3 0000106c: ADD 0000106d: MSTORE 0000106e: PUSH1 0x16 00001070: PUSH1 0x24 00001072: DUP3 00001073: ADD 00001074: MSTORE 00001075: PUSH1 0x00 00001077: DUP1 00001078: MLOAD 00001079: PUSH1 0x20 0000107b: PUSH2 0x1dff 0000107e: DUP4 0000107f: CODECOPY 00001080: DUP2 00001081: MLOAD 00001082: SWAP2 00001083: MSTORE 00001084: PUSH1 0x44 00001086: DUP3 00001087: ADD 00001088: MSTORE 00001089: SWAP1 0000108a: MLOAD 0000108b: SWAP1 0000108c: DUP2 0000108d: SWAP1 0000108e: SUB 0000108f: PUSH1 0x64 00001091: ADD 00001092: SWAP1 00001093: REVERT 00001094: JUMPDEST 00001095: PUSH1 0x07 00001097: SLOAD 00001098: PUSH1 0x00 0000109a: SWAP1 0000109b: DUP4 0000109c: SWAP1 0000109d: PUSH2 0x10b2 000010a0: SWAP1 000010a1: PUSH2 0x071e 000010a4: DUP4 000010a5: PUSH8 0x0de0b6b3a7640000 000010ae: PUSH2 0x1650 000010b1: JUMP 000010b2: JUMPDEST 000010b3: SWAP2 000010b4: POP 000010b5: PUSH2 0x0c38 000010b8: DUP6 000010b9: DUP4 000010ba: DUP4 000010bb: PUSH2 0x1c34 000010be: JUMP 000010bf: JUMPDEST 000010c0: PUSH1 0x01 000010c2: PUSH1 0x01 000010c4: PUSH1 0xa0 000010c6: SHL 000010c7: SUB 000010c8: DUP3 000010c9: AND 000010ca: PUSH1 0x00 000010cc: SWAP1 000010cd: DUP2 000010ce: MSTORE 000010cf: PUSH1 0x03 000010d1: PUSH1 0x20 000010d3: MSTORE 000010d4: PUSH1 0x40 000010d6: DUP2 000010d7: KECCAK256 000010d8: SLOAD 000010d9: DUP4 000010da: SWAP1 000010db: PUSH1 0xff 000010dd: AND 000010de: ISZERO 000010df: PUSH2 0x111d 000010e2: JUMPI 000010e3: PUSH1 0x40 000010e5: DUP1 000010e6: MLOAD 000010e7: PUSH3 0x461bcd 000010eb: PUSH1 0xe5 000010ed: SHL 000010ee: DUP2 000010ef: MSTORE 000010f0: PUSH1 0x20 000010f2: PUSH1 0x04 000010f4: DUP3 000010f5: ADD 000010f6: MSTORE 000010f7: PUSH1 0x16 000010f9: PUSH1 0x24 000010fb: DUP3 000010fc: ADD 000010fd: MSTORE 000010fe: PUSH1 0x00 00001100: DUP1 00001101: MLOAD 00001102: PUSH1 0x20 00001104: PUSH2 0x1ebb 00001107: DUP4 00001108: CODECOPY 00001109: DUP2 0000110a: MLOAD 0000110b: SWAP2 0000110c: MSTORE 0000110d: PUSH1 0x44 0000110f: DUP3 00001110: ADD 00001111: MSTORE 00001112: SWAP1 00001113: MLOAD 00001114: SWAP1 00001115: DUP2 00001116: SWAP1 00001117: SUB 00001118: PUSH1 0x64 0000111a: ADD 0000111b: SWAP1 0000111c: REVERT 0000111d: JUMPDEST 0000111e: CALLER 0000111f: PUSH1 0x00 00001121: DUP2 00001122: DUP2 00001123: MSTORE 00001124: PUSH1 0x03 00001126: PUSH1 0x20 00001128: MSTORE 00001129: PUSH1 0x40 0000112b: SWAP1 0000112c: KECCAK256 0000112d: SLOAD 0000112e: PUSH1 0xff 00001130: AND 00001131: ISZERO 00001132: PUSH2 0x1170 00001135: JUMPI 00001136: PUSH1 0x40 00001138: DUP1 00001139: MLOAD 0000113a: PUSH3 0x461bcd 0000113e: PUSH1 0xe5 00001140: SHL 00001141: DUP2 00001142: MSTORE 00001143: PUSH1 0x20 00001145: PUSH1 0x04 00001147: DUP3 00001148: ADD 00001149: MSTORE 0000114a: PUSH1 0x16 0000114c: PUSH1 0x24 0000114e: DUP3 0000114f: ADD 00001150: MSTORE 00001151: PUSH1 0x00 00001153: DUP1 00001154: MLOAD 00001155: PUSH1 0x20 00001157: PUSH2 0x1ebb 0000115a: DUP4 0000115b: CODECOPY 0000115c: DUP2 0000115d: MLOAD 0000115e: SWAP2 0000115f: MSTORE 00001160: PUSH1 0x44 00001162: DUP3 00001163: ADD 00001164: MSTORE 00001165: SWAP1 00001166: MLOAD 00001167: SWAP1 00001168: DUP2 00001169: SWAP1 0000116a: SUB 0000116b: PUSH1 0x64 0000116d: ADD 0000116e: SWAP1 0000116f: REVERT 00001170: JUMPDEST 00001171: PUSH1 0x08 00001173: SLOAD 00001174: PUSH1 0x01 00001176: PUSH1 0xa0 00001178: SHL 00001179: SWAP1 0000117a: DIV 0000117b: PUSH1 0xff 0000117d: AND 0000117e: ISZERO 0000117f: PUSH2 0x11bd 00001182: JUMPI 00001183: PUSH1 0x40 00001185: DUP1 00001186: MLOAD 00001187: PUSH3 0x461bcd 0000118b: PUSH1 0xe5 0000118d: SHL 0000118e: DUP2 0000118f: MSTORE 00001190: PUSH1 0x20 00001192: PUSH1 0x04 00001194: DUP3 00001195: ADD 00001196: MSTORE 00001197: PUSH1 0x16 00001199: PUSH1 0x24 0000119b: DUP3 0000119c: ADD 0000119d: MSTORE 0000119e: PUSH1 0x00 000011a0: DUP1 000011a1: MLOAD 000011a2: PUSH1 0x20 000011a4: PUSH2 0x1dff 000011a7: DUP4 000011a8: CODECOPY 000011a9: DUP2 000011aa: MLOAD 000011ab: SWAP2 000011ac: MSTORE 000011ad: PUSH1 0x44 000011af: DUP3 000011b0: ADD 000011b1: MSTORE 000011b2: SWAP1 000011b3: MLOAD 000011b4: SWAP1 000011b5: DUP2 000011b6: SWAP1 000011b7: SUB 000011b8: PUSH1 0x64 000011ba: ADD 000011bb: SWAP1 000011bc: REVERT 000011bd: JUMPDEST 000011be: PUSH1 0x00 000011c0: PUSH2 0x11ca 000011c3: PUSH2 0x0a47 000011c6: PUSH2 0x17fa 000011c9: JUMP 000011ca: JUMPDEST 000011cb: SWAP1 000011cc: POP 000011cd: PUSH2 0x0a65 000011d0: PUSH2 0x11d7 000011d3: PUSH2 0x17fa 000011d6: JUMP 000011d7: JUMPDEST 000011d8: DUP8 000011d9: PUSH2 0x0924 000011dc: DUP9 000011dd: PUSH1 0x40 000011df: MLOAD 000011e0: DUP1 000011e1: PUSH1 0x60 000011e3: ADD 000011e4: PUSH1 0x40 000011e6: MSTORE 000011e7: DUP1 000011e8: PUSH1 0x25 000011ea: DUP2 000011eb: MSTORE 000011ec: PUSH1 0x20 000011ee: ADD 000011ef: PUSH2 0x2059 000011f2: PUSH1 0x25 000011f4: SWAP2 000011f5: CODECOPY 000011f6: DUP7 000011f7: SWAP2 000011f8: SWAP1 000011f9: PUSH2 0x196f 000011fc: JUMP 000011fd: JUMPDEST 000011fe: CALLER 000011ff: PUSH1 0x00 00001201: DUP2 00001202: DUP2 00001203: MSTORE 00001204: PUSH1 0x03 00001206: PUSH1 0x20 00001208: MSTORE 00001209: PUSH1 0x40 0000120b: DUP2 0000120c: KECCAK256 0000120d: SLOAD 0000120e: SWAP1 0000120f: SWAP2 00001210: SWAP1 00001211: PUSH1 0xff 00001213: AND 00001214: ISZERO 00001215: PUSH2 0x1253 00001218: JUMPI 00001219: PUSH1 0x40 0000121b: DUP1 0000121c: MLOAD 0000121d: PUSH3 0x461bcd 00001221: PUSH1 0xe5 00001223: SHL 00001224: DUP2 00001225: MSTORE 00001226: PUSH1 0x20 00001228: PUSH1 0x04 0000122a: DUP3 0000122b: ADD 0000122c: MSTORE 0000122d: PUSH1 0x16 0000122f: PUSH1 0x24 00001231: DUP3 00001232: ADD 00001233: MSTORE 00001234: PUSH1 0x00 00001236: DUP1 00001237: MLOAD 00001238: PUSH1 0x20 0000123a: PUSH2 0x1ebb 0000123d: DUP4 0000123e: CODECOPY 0000123f: DUP2 00001240: MLOAD 00001241: SWAP2 00001242: MSTORE 00001243: PUSH1 0x44 00001245: DUP3 00001246: ADD 00001247: MSTORE 00001248: SWAP1 00001249: MLOAD 0000124a: SWAP1 0000124b: DUP2 0000124c: SWAP1 0000124d: SUB 0000124e: PUSH1 0x64 00001250: ADD 00001251: SWAP1 00001252: REVERT 00001253: JUMPDEST 00001254: PUSH1 0x01 00001256: PUSH1 0x01 00001258: PUSH1 0xa0 0000125a: SHL 0000125b: SUB 0000125c: DUP5 0000125d: AND 0000125e: PUSH1 0x00 00001260: SWAP1 00001261: DUP2 00001262: MSTORE 00001263: PUSH1 0x03 00001265: PUSH1 0x20 00001267: MSTORE 00001268: PUSH1 0x40 0000126a: SWAP1 0000126b: KECCAK256 0000126c: SLOAD 0000126d: DUP5 0000126e: SWAP1 0000126f: PUSH1 0xff 00001271: AND 00001272: ISZERO 00001273: PUSH2 0x12b1 00001276: JUMPI 00001277: PUSH1 0x40 00001279: DUP1 0000127a: MLOAD 0000127b: PUSH3 0x461bcd 0000127f: PUSH1 0xe5 00001281: SHL 00001282: DUP2 00001283: MSTORE 00001284: PUSH1 0x20 00001286: PUSH1 0x04 00001288: DUP3 00001289: ADD 0000128a: MSTORE 0000128b: PUSH1 0x16 0000128d: PUSH1 0x24 0000128f: DUP3 00001290: ADD 00001291: MSTORE 00001292: PUSH1 0x00 00001294: DUP1 00001295: MLOAD 00001296: PUSH1 0x20 00001298: PUSH2 0x1ebb 0000129b: DUP4 0000129c: CODECOPY 0000129d: DUP2 0000129e: MLOAD 0000129f: SWAP2 000012a0: MSTORE 000012a1: PUSH1 0x44 000012a3: DUP3 000012a4: ADD 000012a5: MSTORE 000012a6: SWAP1 000012a7: MLOAD 000012a8: SWAP1 000012a9: DUP2 000012aa: SWAP1 000012ab: SUB 000012ac: PUSH1 0x64 000012ae: ADD 000012af: SWAP1 000012b0: REVERT 000012b1: JUMPDEST 000012b2: PUSH1 0x08 000012b4: SLOAD 000012b5: PUSH1 0x01 000012b7: PUSH1 0xa0 000012b9: SHL 000012ba: SWAP1 000012bb: DIV 000012bc: PUSH1 0xff 000012be: AND 000012bf: ISZERO 000012c0: PUSH2 0x12fe 000012c3: JUMPI 000012c4: PUSH1 0x40 000012c6: DUP1 000012c7: MLOAD 000012c8: PUSH3 0x461bcd 000012cc: PUSH1 0xe5 000012ce: SHL 000012cf: DUP2 000012d0: MSTORE 000012d1: PUSH1 0x20 000012d3: PUSH1 0x04 000012d5: DUP3 000012d6: ADD 000012d7: MSTORE 000012d8: PUSH1 0x16 000012da: PUSH1 0x24 000012dc: DUP3 000012dd: ADD 000012de: MSTORE 000012df: PUSH1 0x00 000012e1: DUP1 000012e2: MLOAD 000012e3: PUSH1 0x20 000012e5: PUSH2 0x1dff 000012e8: DUP4 000012e9: CODECOPY 000012ea: DUP2 000012eb: MLOAD 000012ec: SWAP2 000012ed: MSTORE 000012ee: PUSH1 0x44 000012f0: DUP3 000012f1: ADD 000012f2: MSTORE 000012f3: SWAP1 000012f4: MLOAD 000012f5: SWAP1 000012f6: DUP2 000012f7: SWAP1 000012f8: SUB 000012f9: PUSH1 0x64 000012fb: ADD 000012fc: SWAP1 000012fd: REVERT 000012fe: JUMPDEST 000012ff: PUSH1 0x07 00001301: SLOAD 00001302: PUSH1 0x00 00001304: SWAP1 00001305: DUP6 00001306: SWAP1 00001307: PUSH2 0x131c 0000130a: SWAP1 0000130b: PUSH2 0x071e 0000130e: DUP4 0000130f: PUSH8 0x0de0b6b3a7640000 00001318: PUSH2 0x1650 0000131b: JUMP 0000131c: JUMPDEST 0000131d: SWAP2 0000131e: POP 0000131f: PUSH2 0x0731 00001322: CALLER 00001323: DUP9 00001324: DUP4 00001325: PUSH2 0x17fe 00001328: JUMP 00001329: JUMPDEST 0000132a: PUSH1 0x08 0000132c: SLOAD 0000132d: PUSH1 0x01 0000132f: PUSH1 0x01 00001331: PUSH1 0xa0 00001333: SHL 00001334: SUB 00001335: AND 00001336: CALLER 00001337: EQ 00001338: PUSH2 0x1376 0000133b: JUMPI 0000133c: PUSH1 0x40 0000133e: DUP1 0000133f: MLOAD 00001340: PUSH3 0x461bcd 00001344: PUSH1 0xe5 00001346: SHL 00001347: DUP2 00001348: MSTORE 00001349: PUSH1 0x20 0000134b: PUSH1 0x04 0000134d: DUP3 0000134e: ADD 0000134f: MSTORE 00001350: PUSH1 0x15 00001352: PUSH1 0x24 00001354: DUP3 00001355: ADD 00001356: MSTORE 00001357: PUSH1 0x00 00001359: DUP1 0000135a: MLOAD 0000135b: PUSH1 0x20 0000135d: PUSH2 0x1ffa 00001360: DUP4 00001361: CODECOPY 00001362: DUP2 00001363: MLOAD 00001364: SWAP2 00001365: MSTORE 00001366: PUSH1 0x44 00001368: DUP3 00001369: ADD 0000136a: MSTORE 0000136b: SWAP1 0000136c: MLOAD 0000136d: SWAP1 0000136e: DUP2 0000136f: SWAP1 00001370: SUB 00001371: PUSH1 0x64 00001373: ADD 00001374: SWAP1 00001375: REVERT 00001376: JUMPDEST 00001377: PUSH1 0x01 00001379: PUSH1 0x01 0000137b: PUSH1 0xa0 0000137d: SHL 0000137e: SUB 0000137f: DUP2 00001380: AND 00001381: PUSH2 0x13d1 00001384: JUMPI 00001385: PUSH1 0x40 00001387: DUP1 00001388: MLOAD 00001389: PUSH3 0x461bcd 0000138d: PUSH1 0xe5 0000138f: SHL 00001390: DUP2 00001391: MSTORE 00001392: PUSH1 0x20 00001394: PUSH1 0x04 00001396: DUP3 00001397: ADD 00001398: MSTORE 00001399: PUSH1 0x1e 0000139b: PUSH1 0x24 0000139d: DUP3 0000139e: ADD 0000139f: MSTORE 000013a0: PUSH32 0x6163636f756e742063616e6e6f74206265207a65726f20616464726573730000 000013c1: PUSH1 0x44 000013c3: DUP3 000013c4: ADD 000013c5: MSTORE 000013c6: SWAP1 000013c7: MLOAD 000013c8: SWAP1 000013c9: DUP2 000013ca: SWAP1 000013cb: SUB 000013cc: PUSH1 0x64 000013ce: ADD 000013cf: SWAP1 000013d0: REVERT 000013d1: JUMPDEST 000013d2: PUSH1 0x08 000013d4: SLOAD 000013d5: PUSH1 0x01 000013d7: PUSH1 0x01 000013d9: PUSH1 0xa0 000013db: SHL 000013dc: SUB 000013dd: AND 000013de: CALLER 000013df: EQ 000013e0: PUSH2 0x141e 000013e3: JUMPI 000013e4: PUSH1 0x40 000013e6: DUP1 000013e7: MLOAD 000013e8: PUSH3 0x461bcd 000013ec: PUSH1 0xe5 000013ee: SHL 000013ef: DUP2 000013f0: MSTORE 000013f1: PUSH1 0x20 000013f3: PUSH1 0x04 000013f5: DUP3 000013f6: ADD 000013f7: MSTORE 000013f8: PUSH1 0x15 000013fa: PUSH1 0x24 000013fc: DUP3 000013fd: ADD 000013fe: MSTORE 000013ff: PUSH1 0x00 00001401: DUP1 00001402: MLOAD 00001403: PUSH1 0x20 00001405: PUSH2 0x1ffa 00001408: DUP4 00001409: CODECOPY 0000140a: DUP2 0000140b: MLOAD 0000140c: SWAP2 0000140d: MSTORE 0000140e: PUSH1 0x44 00001410: DUP3 00001411: ADD 00001412: MSTORE 00001413: SWAP1 00001414: MLOAD 00001415: SWAP1 00001416: DUP2 00001417: SWAP1 00001418: SUB 00001419: PUSH1 0x64 0000141b: ADD 0000141c: SWAP1 0000141d: REVERT 0000141e: JUMPDEST 0000141f: PUSH1 0x08 00001421: DUP1 00001422: SLOAD 00001423: PUSH1 0x01 00001425: PUSH1 0x01 00001427: PUSH1 0xa0 00001429: SHL 0000142a: SUB 0000142b: NOT 0000142c: AND 0000142d: PUSH1 0x01 0000142f: PUSH1 0x01 00001431: PUSH1 0xa0 00001433: SHL 00001434: SUB 00001435: DUP4 00001436: DUP2 00001437: AND 00001438: SWAP2 00001439: SWAP1 0000143a: SWAP2 0000143b: OR 0000143c: SWAP2 0000143d: DUP3 0000143e: SWAP1 0000143f: SSTORE 00001440: PUSH1 0x40 00001442: DUP1 00001443: MLOAD 00001444: SWAP3 00001445: SWAP1 00001446: SWAP2 00001447: AND 00001448: DUP3 00001449: MSTORE 0000144a: MLOAD 0000144b: PUSH32 0x7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c 0000146c: SWAP2 0000146d: PUSH1 0x20 0000146f: SWAP1 00001470: DUP3 00001471: SWAP1 00001472: SUB 00001473: ADD 00001474: SWAP1 00001475: LOG1 00001476: POP 00001477: JUMP 00001478: JUMPDEST 00001479: PUSH1 0x07 0000147b: SLOAD 0000147c: PUSH1 0x01 0000147e: PUSH1 0x01 00001480: PUSH1 0xa0 00001482: SHL 00001483: SUB 00001484: DUP1 00001485: DUP5 00001486: AND 00001487: PUSH1 0x00 00001489: SWAP1 0000148a: DUP2 0000148b: MSTORE 0000148c: PUSH1 0x02 0000148e: PUSH1 0x20 00001490: SWAP1 00001491: DUP2 00001492: MSTORE 00001493: PUSH1 0x40 00001495: DUP1 00001496: DUP4 00001497: KECCAK256 00001498: SWAP4 00001499: DUP7 0000149a: AND 0000149b: DUP4 0000149c: MSTORE 0000149d: SWAP3 0000149e: SWAP1 0000149f: MSTORE 000014a0: SWAP1 000014a1: DUP2 000014a2: KECCAK256 000014a3: SLOAD 000014a4: SWAP1 000014a5: SWAP2 000014a6: DUP3 000014a7: SWAP2 000014a8: PUSH2 0x14be 000014ab: SWAP2 000014ac: PUSH8 0x0de0b6b3a7640000 000014b5: SWAP2 000014b6: PUSH2 0x071e 000014b9: SWAP2 000014ba: PUSH2 0x1650 000014bd: JUMP 000014be: JUMPDEST 000014bf: SWAP5 000014c0: SWAP4 000014c1: POP 000014c2: POP 000014c3: POP 000014c4: POP 000014c5: JUMP 000014c6: JUMPDEST 000014c7: PUSH1 0x08 000014c9: SLOAD 000014ca: PUSH1 0x01 000014cc: PUSH1 0x01 000014ce: PUSH1 0xa0 000014d0: SHL 000014d1: SUB 000014d2: AND 000014d3: CALLER 000014d4: EQ 000014d5: PUSH2 0x1513 000014d8: JUMPI 000014d9: PUSH1 0x40 000014db: DUP1 000014dc: MLOAD 000014dd: PUSH3 0x461bcd 000014e1: PUSH1 0xe5 000014e3: SHL 000014e4: DUP2 000014e5: MSTORE 000014e6: PUSH1 0x20 000014e8: PUSH1 0x04 000014ea: DUP3 000014eb: ADD 000014ec: MSTORE 000014ed: PUSH1 0x15 000014ef: PUSH1 0x24 000014f1: DUP3 000014f2: ADD 000014f3: MSTORE 000014f4: PUSH1 0x00 000014f6: DUP1 000014f7: MLOAD 000014f8: PUSH1 0x20 000014fa: PUSH2 0x1ffa 000014fd: DUP4 000014fe: CODECOPY 000014ff: DUP2 00001500: MLOAD 00001501: SWAP2 00001502: MSTORE 00001503: PUSH1 0x44 00001505: DUP3 00001506: ADD 00001507: MSTORE 00001508: SWAP1 00001509: MLOAD 0000150a: SWAP1 0000150b: DUP2 0000150c: SWAP1 0000150d: SUB 0000150e: PUSH1 0x64 00001510: ADD 00001511: SWAP1 00001512: REVERT 00001513: JUMPDEST 00001514: PUSH2 0x151b 00001517: PUSH2 0x0747 0000151a: JUMP 0000151b: JUMPDEST 0000151c: DUP2 0000151d: GT 0000151e: PUSH2 0x1558 00001521: JUMPI 00001522: PUSH1 0x40 00001524: MLOAD 00001525: PUSH3 0x461bcd 00001529: PUSH1 0xe5 0000152b: SHL 0000152c: DUP2 0000152d: MSTORE 0000152e: PUSH1 0x04 00001530: ADD 00001531: DUP1 00001532: DUP1 00001533: PUSH1 0x20 00001535: ADD 00001536: DUP3 00001537: DUP2 00001538: SUB 00001539: DUP3 0000153a: MSTORE 0000153b: PUSH1 0x3f 0000153d: DUP2 0000153e: MSTORE 0000153f: PUSH1 0x20 00001541: ADD 00001542: DUP1 00001543: PUSH2 0x201a 00001546: PUSH1 0x3f 00001548: SWAP2 00001549: CODECOPY 0000154a: PUSH1 0x40 0000154c: ADD 0000154d: SWAP2 0000154e: POP 0000154f: POP 00001550: PUSH1 0x40 00001552: MLOAD 00001553: DUP1 00001554: SWAP2 00001555: SUB 00001556: SWAP1 00001557: REVERT 00001558: JUMPDEST 00001559: PUSH1 0x04 0000155b: SLOAD 0000155c: PUSH2 0x1571 0000155f: SWAP1 00001560: PUSH2 0x071e 00001563: DUP4 00001564: PUSH8 0x0de0b6b3a7640000 0000156d: PUSH2 0x1650 00001570: JUMP 00001571: JUMPDEST 00001572: PUSH1 0x07 00001574: DUP2 00001575: SWAP1 00001576: SSTORE 00001577: PUSH1 0x40 00001579: DUP1 0000157a: MLOAD 0000157b: SWAP2 0000157c: DUP3 0000157d: MSTORE 0000157e: MLOAD 0000157f: PUSH32 0xd1ac89bfc464ce49c894c4e2379f1ca2b062aff1a640e929764ac1157fa13f0f 000015a0: SWAP2 000015a1: DUP2 000015a2: SWAP1 000015a3: SUB 000015a4: PUSH1 0x20 000015a6: ADD 000015a7: SWAP1 000015a8: LOG1 000015a9: POP 000015aa: JUMP 000015ab: JUMPDEST 000015ac: PUSH1 0x08 000015ae: SLOAD 000015af: PUSH1 0x01 000015b1: PUSH1 0x01 000015b3: PUSH1 0xa0 000015b5: SHL 000015b6: SUB 000015b7: AND 000015b8: DUP2 000015b9: JUMP 000015ba: JUMPDEST 000015bb: PUSH1 0x03 000015bd: PUSH1 0x20 000015bf: MSTORE 000015c0: PUSH1 0x00 000015c2: SWAP1 000015c3: DUP2 000015c4: MSTORE 000015c5: PUSH1 0x40 000015c7: SWAP1 000015c8: KECCAK256 000015c9: SLOAD 000015ca: PUSH1 0xff 000015cc: AND 000015cd: DUP2 000015ce: JUMP 000015cf: JUMPDEST 000015d0: PUSH1 0x00 000015d2: SLOAD 000015d3: PUSH1 0xff 000015d5: AND 000015d6: ISZERO 000015d7: PUSH2 0x1611 000015da: JUMPI 000015db: PUSH1 0x40 000015dd: MLOAD 000015de: PUSH3 0x461bcd 000015e2: PUSH1 0xe5 000015e4: SHL 000015e5: DUP2 000015e6: MSTORE 000015e7: PUSH1 0x04 000015e9: ADD 000015ea: DUP1 000015eb: DUP1 000015ec: PUSH1 0x20 000015ee: ADD 000015ef: DUP3 000015f0: DUP2 000015f1: SUB 000015f2: DUP3 000015f3: MSTORE 000015f4: PUSH1 0x29 000015f6: DUP2 000015f7: MSTORE 000015f8: PUSH1 0x20 000015fa: ADD 000015fb: DUP1 000015fc: PUSH2 0x1e92 000015ff: PUSH1 0x29 00001601: SWAP2 00001602: CODECOPY 00001603: PUSH1 0x40 00001605: ADD 00001606: SWAP2 00001607: POP 00001608: POP 00001609: PUSH1 0x40 0000160b: MLOAD 0000160c: DUP1 0000160d: SWAP2 0000160e: SUB 0000160f: SWAP1 00001610: REVERT 00001611: JUMPDEST 00001612: PUSH2 0x1619 00001615: PUSH2 0x1d25 00001618: JUMP 00001619: JUMPDEST 0000161a: PUSH1 0x08 0000161c: DUP1 0000161d: SLOAD 0000161e: PUSH1 0x01 00001620: PUSH1 0x01 00001622: PUSH1 0xa0 00001624: SHL 00001625: SUB 00001626: NOT 00001627: AND 00001628: CALLER 00001629: SWAP1 0000162a: DUP2 0000162b: OR 0000162c: SWAP1 0000162d: SWAP2 0000162e: SSTORE 0000162f: PUSH8 0x0de0b6b3a7640000 00001638: PUSH1 0x07 0000163a: SSTORE 0000163b: PUSH1 0x04 0000163d: DUP3 0000163e: SWAP1 0000163f: SSTORE 00001640: PUSH1 0x00 00001642: SWAP1 00001643: DUP2 00001644: MSTORE 00001645: PUSH1 0x01 00001647: PUSH1 0x20 00001649: MSTORE 0000164a: PUSH1 0x40 0000164c: SWAP1 0000164d: KECCAK256 0000164e: SSTORE 0000164f: JUMP 00001650: JUMPDEST 00001651: PUSH1 0x00 00001653: DUP3 00001654: PUSH2 0x165f 00001657: JUMPI 00001658: POP 00001659: PUSH1 0x00 0000165b: PUSH2 0x0c3f 0000165e: JUMP 0000165f: JUMPDEST 00001660: DUP3 00001661: DUP3 00001662: MUL 00001663: DUP3 00001664: DUP5 00001665: DUP3 00001666: DUP2 00001667: PUSH2 0x166c 0000166a: JUMPI 0000166b: INVALID 0000166c: JUMPDEST 0000166d: DIV 0000166e: EQ 0000166f: PUSH2 0x0f33 00001672: JUMPI 00001673: PUSH1 0x40 00001675: MLOAD 00001676: PUSH3 0x461bcd 0000167a: PUSH1 0xe5 0000167c: SHL 0000167d: DUP2 0000167e: MSTORE 0000167f: PUSH1 0x04 00001681: ADD 00001682: DUP1 00001683: DUP1 00001684: PUSH1 0x20 00001686: ADD 00001687: DUP3 00001688: DUP2 00001689: SUB 0000168a: DUP3 0000168b: MSTORE 0000168c: PUSH1 0x21 0000168e: DUP2 0000168f: MSTORE 00001690: PUSH1 0x20 00001692: ADD 00001693: DUP1 00001694: PUSH2 0x1edb 00001697: PUSH1 0x21 00001699: SWAP2 0000169a: CODECOPY 0000169b: PUSH1 0x40 0000169d: ADD 0000169e: SWAP2 0000169f: POP 000016a0: POP 000016a1: PUSH1 0x40 000016a3: MLOAD 000016a4: DUP1 000016a5: SWAP2 000016a6: SUB 000016a7: SWAP1 000016a8: REVERT 000016a9: JUMPDEST 000016aa: PUSH1 0x00 000016ac: PUSH2 0x0f33 000016af: DUP4 000016b0: DUP4 000016b1: PUSH1 0x40 000016b3: MLOAD 000016b4: DUP1 000016b5: PUSH1 0x40 000016b7: ADD 000016b8: PUSH1 0x40 000016ba: MSTORE 000016bb: DUP1 000016bc: PUSH1 0x1a 000016be: DUP2 000016bf: MSTORE 000016c0: PUSH1 0x20 000016c2: ADD 000016c3: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 000016e4: DUP2 000016e5: MSTORE 000016e6: POP 000016e7: PUSH2 0x1d34 000016ea: JUMP 000016eb: JUMPDEST 000016ec: PUSH1 0x01 000016ee: PUSH1 0x01 000016f0: PUSH1 0xa0 000016f2: SHL 000016f3: SUB 000016f4: DUP4 000016f5: AND 000016f6: PUSH2 0x1730 000016f9: JUMPI 000016fa: PUSH1 0x40 000016fc: MLOAD 000016fd: PUSH3 0x461bcd 00001701: PUSH1 0xe5 00001703: SHL 00001704: DUP2 00001705: MSTORE 00001706: PUSH1 0x04 00001708: ADD 00001709: DUP1 0000170a: DUP1 0000170b: PUSH1 0x20 0000170d: ADD 0000170e: DUP3 0000170f: DUP2 00001710: SUB 00001711: DUP3 00001712: MSTORE 00001713: PUSH1 0x24 00001715: DUP2 00001716: MSTORE 00001717: PUSH1 0x20 00001719: ADD 0000171a: DUP1 0000171b: PUSH2 0x1fd6 0000171e: PUSH1 0x24 00001720: SWAP2 00001721: CODECOPY 00001722: PUSH1 0x40 00001724: ADD 00001725: SWAP2 00001726: POP 00001727: POP 00001728: PUSH1 0x40 0000172a: MLOAD 0000172b: DUP1 0000172c: SWAP2 0000172d: SUB 0000172e: SWAP1 0000172f: REVERT 00001730: JUMPDEST 00001731: PUSH1 0x01 00001733: PUSH1 0x01 00001735: PUSH1 0xa0 00001737: SHL 00001738: SUB 00001739: DUP3 0000173a: AND 0000173b: PUSH2 0x1775 0000173e: JUMPI 0000173f: PUSH1 0x40 00001741: MLOAD 00001742: PUSH3 0x461bcd 00001746: PUSH1 0xe5 00001748: SHL 00001749: DUP2 0000174a: MSTORE 0000174b: PUSH1 0x04 0000174d: ADD 0000174e: DUP1 0000174f: DUP1 00001750: PUSH1 0x20 00001752: ADD 00001753: DUP3 00001754: DUP2 00001755: SUB 00001756: DUP3 00001757: MSTORE 00001758: PUSH1 0x22 0000175a: DUP2 0000175b: MSTORE 0000175c: PUSH1 0x20 0000175e: ADD 0000175f: DUP1 00001760: PUSH2 0x1e4a 00001763: PUSH1 0x22 00001765: SWAP2 00001766: CODECOPY 00001767: PUSH1 0x40 00001769: ADD 0000176a: SWAP2 0000176b: POP 0000176c: POP 0000176d: PUSH1 0x40 0000176f: MLOAD 00001770: DUP1 00001771: SWAP2 00001772: SUB 00001773: SWAP1 00001774: REVERT 00001775: JUMPDEST 00001776: PUSH1 0x07 00001778: SLOAD 00001779: PUSH1 0x00 0000177b: SWAP1 0000177c: PUSH2 0x1791 0000177f: SWAP1 00001780: PUSH2 0x071e 00001783: DUP5 00001784: PUSH8 0x0de0b6b3a7640000 0000178d: PUSH2 0x1650 00001790: JUMP 00001791: JUMPDEST 00001792: PUSH1 0x01 00001794: PUSH1 0x01 00001796: PUSH1 0xa0 00001798: SHL 00001799: SUB 0000179a: DUP1 0000179b: DUP7 0000179c: AND 0000179d: PUSH1 0x00 0000179f: DUP2 000017a0: DUP2 000017a1: MSTORE 000017a2: PUSH1 0x02 000017a4: PUSH1 0x20 000017a6: SWAP1 000017a7: DUP2 000017a8: MSTORE 000017a9: PUSH1 0x40 000017ab: DUP1 000017ac: DUP4 000017ad: KECCAK256 000017ae: SWAP5 000017af: DUP10 000017b0: AND 000017b1: DUP1 000017b2: DUP5 000017b3: MSTORE 000017b4: SWAP5 000017b5: DUP3 000017b6: MSTORE 000017b7: SWAP2 000017b8: DUP3 000017b9: SWAP1 000017ba: KECCAK256 000017bb: DUP6 000017bc: SWAP1 000017bd: SSTORE 000017be: DUP2 000017bf: MLOAD 000017c0: DUP8 000017c1: DUP2 000017c2: MSTORE 000017c3: SWAP2 000017c4: MLOAD 000017c5: SWAP5 000017c6: SWAP6 000017c7: POP 000017c8: SWAP3 000017c9: SWAP4 000017ca: SWAP2 000017cb: SWAP3 000017cc: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000017ed: SWAP3 000017ee: SWAP2 000017ef: DUP3 000017f0: SWAP1 000017f1: SUB 000017f2: ADD 000017f3: SWAP1 000017f4: LOG3 000017f5: POP 000017f6: POP 000017f7: POP 000017f8: POP 000017f9: JUMP 000017fa: JUMPDEST 000017fb: CALLER 000017fc: SWAP1 000017fd: JUMP 000017fe: JUMPDEST 000017ff: PUSH1 0x01 00001801: PUSH1 0x01 00001803: PUSH1 0xa0 00001805: SHL 00001806: SUB 00001807: DUP4 00001808: AND 00001809: PUSH2 0x1843 0000180c: JUMPI 0000180d: PUSH1 0x40 0000180f: MLOAD 00001810: PUSH3 0x461bcd 00001814: PUSH1 0xe5 00001816: SHL 00001817: DUP2 00001818: MSTORE 00001819: PUSH1 0x04 0000181b: ADD 0000181c: DUP1 0000181d: DUP1 0000181e: PUSH1 0x20 00001820: ADD 00001821: DUP3 00001822: DUP2 00001823: SUB 00001824: DUP3 00001825: MSTORE 00001826: PUSH1 0x25 00001828: DUP2 00001829: MSTORE 0000182a: PUSH1 0x20 0000182c: ADD 0000182d: DUP1 0000182e: PUSH2 0x1f7e 00001831: PUSH1 0x25 00001833: SWAP2 00001834: CODECOPY 00001835: PUSH1 0x40 00001837: ADD 00001838: SWAP2 00001839: POP 0000183a: POP 0000183b: PUSH1 0x40 0000183d: MLOAD 0000183e: DUP1 0000183f: SWAP2 00001840: SUB 00001841: SWAP1 00001842: REVERT 00001843: JUMPDEST 00001844: PUSH1 0x01 00001846: PUSH1 0x01 00001848: PUSH1 0xa0 0000184a: SHL 0000184b: SUB 0000184c: DUP3 0000184d: AND 0000184e: PUSH2 0x1888 00001851: JUMPI 00001852: PUSH1 0x40 00001854: MLOAD 00001855: PUSH3 0x461bcd 00001859: PUSH1 0xe5 0000185b: SHL 0000185c: DUP2 0000185d: MSTORE 0000185e: PUSH1 0x04 00001860: ADD 00001861: DUP1 00001862: DUP1 00001863: PUSH1 0x20 00001865: ADD 00001866: DUP3 00001867: DUP2 00001868: SUB 00001869: DUP3 0000186a: MSTORE 0000186b: PUSH1 0x23 0000186d: DUP2 0000186e: MSTORE 0000186f: PUSH1 0x20 00001871: ADD 00001872: DUP1 00001873: PUSH2 0x1ddc 00001876: PUSH1 0x23 00001878: SWAP2 00001879: CODECOPY 0000187a: PUSH1 0x40 0000187c: ADD 0000187d: SWAP2 0000187e: POP 0000187f: POP 00001880: PUSH1 0x40 00001882: MLOAD 00001883: DUP1 00001884: SWAP2 00001885: SUB 00001886: SWAP1 00001887: REVERT 00001888: JUMPDEST 00001889: PUSH1 0x07 0000188b: SLOAD 0000188c: PUSH1 0x00 0000188e: SWAP1 0000188f: PUSH2 0x18a4 00001892: SWAP1 00001893: PUSH2 0x071e 00001896: DUP5 00001897: PUSH8 0x0de0b6b3a7640000 000018a0: PUSH2 0x1650 000018a3: JUMP 000018a4: JUMPDEST 000018a5: SWAP1 000018a6: POP 000018a7: PUSH2 0x18e3 000018aa: DUP2 000018ab: PUSH1 0x40 000018ad: MLOAD 000018ae: DUP1 000018af: PUSH1 0x60 000018b1: ADD 000018b2: PUSH1 0x40 000018b4: MSTORE 000018b5: DUP1 000018b6: PUSH1 0x2b 000018b8: DUP2 000018b9: MSTORE 000018ba: PUSH1 0x20 000018bc: ADD 000018bd: PUSH2 0x1e1f 000018c0: PUSH1 0x2b 000018c2: SWAP2 000018c3: CODECOPY 000018c4: PUSH1 0x01 000018c6: PUSH1 0x01 000018c8: PUSH1 0xa0 000018ca: SHL 000018cb: SUB 000018cc: DUP8 000018cd: AND 000018ce: PUSH1 0x00 000018d0: SWAP1 000018d1: DUP2 000018d2: MSTORE 000018d3: PUSH1 0x01 000018d5: PUSH1 0x20 000018d7: MSTORE 000018d8: PUSH1 0x40 000018da: SWAP1 000018db: KECCAK256 000018dc: SLOAD 000018dd: SWAP2 000018de: SWAP1 000018df: PUSH2 0x196f 000018e2: JUMP 000018e3: JUMPDEST 000018e4: PUSH1 0x01 000018e6: PUSH1 0x01 000018e8: PUSH1 0xa0 000018ea: SHL 000018eb: SUB 000018ec: DUP1 000018ed: DUP7 000018ee: AND 000018ef: PUSH1 0x00 000018f1: SWAP1 000018f2: DUP2 000018f3: MSTORE 000018f4: PUSH1 0x01 000018f6: PUSH1 0x20 000018f8: MSTORE 000018f9: PUSH1 0x40 000018fb: DUP1 000018fc: DUP3 000018fd: KECCAK256 000018fe: SWAP4 000018ff: SWAP1 00001900: SWAP4 00001901: SSTORE 00001902: SWAP1 00001903: DUP6 00001904: AND 00001905: DUP2 00001906: MSTORE 00001907: KECCAK256 00001908: SLOAD 00001909: PUSH2 0x1912 0000190c: SWAP1 0000190d: DUP3 0000190e: PUSH2 0x1a06 00001911: JUMP 00001912: JUMPDEST 00001913: PUSH1 0x01 00001915: PUSH1 0x01 00001917: PUSH1 0xa0 00001919: SHL 0000191a: SUB 0000191b: DUP1 0000191c: DUP6 0000191d: AND 0000191e: PUSH1 0x00 00001920: DUP2 00001921: DUP2 00001922: MSTORE 00001923: PUSH1 0x01 00001925: PUSH1 0x20 00001927: SWAP1 00001928: DUP2 00001929: MSTORE 0000192a: PUSH1 0x40 0000192c: SWAP2 0000192d: DUP3 0000192e: SWAP1 0000192f: KECCAK256 00001930: SWAP5 00001931: SWAP1 00001932: SWAP5 00001933: SSTORE 00001934: DUP1 00001935: MLOAD 00001936: DUP7 00001937: DUP2 00001938: MSTORE 00001939: SWAP1 0000193a: MLOAD 0000193b: SWAP2 0000193c: SWAP4 0000193d: SWAP3 0000193e: DUP9 0000193f: AND 00001940: SWAP3 00001941: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001962: SWAP3 00001963: SWAP2 00001964: DUP3 00001965: SWAP1 00001966: SUB 00001967: ADD 00001968: SWAP1 00001969: LOG3 0000196a: POP 0000196b: POP 0000196c: POP 0000196d: POP 0000196e: JUMP 0000196f: JUMPDEST 00001970: PUSH1 0x00 00001972: DUP2 00001973: DUP5 00001974: DUP5 00001975: GT 00001976: ISZERO 00001977: PUSH2 0x19fe 0000197a: JUMPI 0000197b: PUSH1 0x40 0000197d: MLOAD 0000197e: PUSH3 0x461bcd 00001982: PUSH1 0xe5 00001984: SHL 00001985: DUP2 00001986: MSTORE 00001987: PUSH1 0x04 00001989: ADD 0000198a: DUP1 0000198b: DUP1 0000198c: PUSH1 0x20 0000198e: ADD 0000198f: DUP3 00001990: DUP2 00001991: SUB 00001992: DUP3 00001993: MSTORE 00001994: DUP4 00001995: DUP2 00001996: DUP2 00001997: MLOAD 00001998: DUP2 00001999: MSTORE 0000199a: PUSH1 0x20 0000199c: ADD 0000199d: SWAP2 0000199e: POP 0000199f: DUP1 000019a0: MLOAD 000019a1: SWAP1 000019a2: PUSH1 0x20 000019a4: ADD 000019a5: SWAP1 000019a6: DUP1 000019a7: DUP4 000019a8: DUP4 000019a9: PUSH1 0x00 000019ab: JUMPDEST 000019ac: DUP4 000019ad: DUP2 000019ae: LT 000019af: ISZERO 000019b0: PUSH2 0x19c3 000019b3: JUMPI 000019b4: DUP2 000019b5: DUP2 000019b6: ADD 000019b7: MLOAD 000019b8: DUP4 000019b9: DUP3 000019ba: ADD 000019bb: MSTORE 000019bc: PUSH1 0x20 000019be: ADD 000019bf: PUSH2 0x19ab 000019c2: JUMP 000019c3: JUMPDEST 000019c4: POP 000019c5: POP 000019c6: POP 000019c7: POP 000019c8: SWAP1 000019c9: POP 000019ca: SWAP1 000019cb: DUP2 000019cc: ADD 000019cd: SWAP1 000019ce: PUSH1 0x1f 000019d0: AND 000019d1: DUP1 000019d2: ISZERO 000019d3: PUSH2 0x19f0 000019d6: JUMPI 000019d7: DUP1 000019d8: DUP3 000019d9: SUB 000019da: DUP1 000019db: MLOAD 000019dc: PUSH1 0x01 000019de: DUP4 000019df: PUSH1 0x20 000019e1: SUB 000019e2: PUSH2 0x0100 000019e5: EXP 000019e6: SUB 000019e7: NOT 000019e8: AND 000019e9: DUP2 000019ea: MSTORE 000019eb: PUSH1 0x20 000019ed: ADD 000019ee: SWAP2 000019ef: POP 000019f0: JUMPDEST 000019f1: POP 000019f2: SWAP3 000019f3: POP 000019f4: POP 000019f5: POP 000019f6: PUSH1 0x40 000019f8: MLOAD 000019f9: DUP1 000019fa: SWAP2 000019fb: SUB 000019fc: SWAP1 000019fd: REVERT 000019fe: JUMPDEST 000019ff: POP 00001a00: POP 00001a01: POP 00001a02: SWAP1 00001a03: SUB 00001a04: SWAP1 00001a05: JUMP 00001a06: JUMPDEST 00001a07: PUSH1 0x00 00001a09: DUP3 00001a0a: DUP3 00001a0b: ADD 00001a0c: DUP4 00001a0d: DUP2 00001a0e: LT 00001a0f: ISZERO 00001a10: PUSH2 0x0f33 00001a13: JUMPI 00001a14: PUSH1 0x40 00001a16: DUP1 00001a17: MLOAD 00001a18: PUSH3 0x461bcd 00001a1c: PUSH1 0xe5 00001a1e: SHL 00001a1f: DUP2 00001a20: MSTORE 00001a21: PUSH1 0x20 00001a23: PUSH1 0x04 00001a25: DUP3 00001a26: ADD 00001a27: MSTORE 00001a28: PUSH1 0x1b 00001a2a: PUSH1 0x24 00001a2c: DUP3 00001a2d: ADD 00001a2e: MSTORE 00001a2f: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00001a50: PUSH1 0x44 00001a52: DUP3 00001a53: ADD 00001a54: MSTORE 00001a55: SWAP1 00001a56: MLOAD 00001a57: SWAP1 00001a58: DUP2 00001a59: SWAP1 00001a5a: SUB 00001a5b: PUSH1 0x64 00001a5d: ADD 00001a5e: SWAP1 00001a5f: REVERT 00001a60: JUMPDEST 00001a61: PUSH1 0x01 00001a63: PUSH1 0x01 00001a65: PUSH1 0xa0 00001a67: SHL 00001a68: SUB 00001a69: DUP4 00001a6a: AND 00001a6b: PUSH2 0x1abb 00001a6e: JUMPI 00001a6f: PUSH1 0x40 00001a71: DUP1 00001a72: MLOAD 00001a73: PUSH3 0x461bcd 00001a77: PUSH1 0xe5 00001a79: SHL 00001a7a: DUP2 00001a7b: MSTORE 00001a7c: PUSH1 0x20 00001a7e: PUSH1 0x04 00001a80: DUP3 00001a81: ADD 00001a82: MSTORE 00001a83: PUSH1 0x1f 00001a85: PUSH1 0x24 00001a87: DUP3 00001a88: ADD 00001a89: MSTORE 00001a8a: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300 00001aab: PUSH1 0x44 00001aad: DUP3 00001aae: ADD 00001aaf: MSTORE 00001ab0: SWAP1 00001ab1: MLOAD 00001ab2: SWAP1 00001ab3: DUP2 00001ab4: SWAP1 00001ab5: SUB 00001ab6: PUSH1 0x64 00001ab8: ADD 00001ab9: SWAP1 00001aba: REVERT 00001abb: JUMPDEST 00001abc: PUSH1 0x04 00001abe: SLOAD 00001abf: PUSH2 0x1ac8 00001ac2: SWAP1 00001ac3: DUP4 00001ac4: PUSH2 0x1a06 00001ac7: JUMP 00001ac8: JUMPDEST 00001ac9: PUSH1 0x04 00001acb: SSTORE 00001acc: PUSH1 0x01 00001ace: PUSH1 0x01 00001ad0: PUSH1 0xa0 00001ad2: SHL 00001ad3: SUB 00001ad4: DUP4 00001ad5: AND 00001ad6: PUSH1 0x00 00001ad8: SWAP1 00001ad9: DUP2 00001ada: MSTORE 00001adb: PUSH1 0x01 00001add: PUSH1 0x20 00001adf: MSTORE 00001ae0: PUSH1 0x40 00001ae2: SWAP1 00001ae3: KECCAK256 00001ae4: SLOAD 00001ae5: PUSH2 0x1aee 00001ae8: SWAP1 00001ae9: DUP4 00001aea: PUSH2 0x1a06 00001aed: JUMP 00001aee: JUMPDEST 00001aef: PUSH1 0x01 00001af1: PUSH1 0x01 00001af3: PUSH1 0xa0 00001af5: SHL 00001af6: SUB 00001af7: DUP5 00001af8: AND 00001af9: PUSH1 0x00 00001afb: DUP2 00001afc: DUP2 00001afd: MSTORE 00001afe: PUSH1 0x01 00001b00: PUSH1 0x20 00001b02: SWAP1 00001b03: DUP2 00001b04: MSTORE 00001b05: PUSH1 0x40 00001b07: DUP1 00001b08: DUP4 00001b09: KECCAK256 00001b0a: SWAP5 00001b0b: SWAP1 00001b0c: SWAP5 00001b0d: SSTORE 00001b0e: DUP4 00001b0f: MLOAD 00001b10: DUP6 00001b11: DUP2 00001b12: MSTORE 00001b13: SWAP4 00001b14: MLOAD 00001b15: SWAP3 00001b16: SWAP4 00001b17: SWAP2 00001b18: SWAP3 00001b19: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001b3a: SWAP3 00001b3b: DUP2 00001b3c: SWAP1 00001b3d: SUB 00001b3e: SWAP1 00001b3f: SWAP2 00001b40: ADD 00001b41: SWAP1 00001b42: LOG3 00001b43: POP 00001b44: POP 00001b45: POP 00001b46: JUMP 00001b47: JUMPDEST 00001b48: DUP1 00001b49: PUSH1 0x01 00001b4b: PUSH1 0x01 00001b4d: PUSH1 0xa0 00001b4f: SHL 00001b50: SUB 00001b51: AND 00001b52: PUSH4 0x52d1902d 00001b57: PUSH1 0x40 00001b59: MLOAD 00001b5a: DUP2 00001b5b: PUSH4 0xffffffff 00001b60: AND 00001b61: PUSH1 0xe0 00001b63: SHL 00001b64: DUP2 00001b65: MSTORE 00001b66: PUSH1 0x04 00001b68: ADD 00001b69: PUSH1 0x20 00001b6b: PUSH1 0x40 00001b6d: MLOAD 00001b6e: DUP1 00001b6f: DUP4 00001b70: SUB 00001b71: DUP2 00001b72: DUP7 00001b73: DUP1 00001b74: EXTCODESIZE 00001b75: ISZERO 00001b76: DUP1 00001b77: ISZERO 00001b78: PUSH2 0x1b80 00001b7b: JUMPI 00001b7c: PUSH1 0x00 00001b7e: DUP1 00001b7f: REVERT 00001b80: JUMPDEST 00001b81: POP 00001b82: GAS 00001b83: STATICCALL 00001b84: ISZERO 00001b85: DUP1 00001b86: ISZERO 00001b87: PUSH2 0x1b94 00001b8a: JUMPI 00001b8b: RETURNDATASIZE 00001b8c: PUSH1 0x00 00001b8e: DUP1 00001b8f: RETURNDATACOPY 00001b90: RETURNDATASIZE 00001b91: PUSH1 0x00 00001b93: REVERT 00001b94: JUMPDEST 00001b95: POP 00001b96: POP 00001b97: POP 00001b98: POP 00001b99: PUSH1 0x40 00001b9b: MLOAD 00001b9c: RETURNDATASIZE 00001b9d: PUSH1 0x20 00001b9f: DUP2 00001ba0: LT 00001ba1: ISZERO 00001ba2: PUSH2 0x1baa 00001ba5: JUMPI 00001ba6: PUSH1 0x00 00001ba8: DUP1 00001ba9: REVERT 00001baa: JUMPDEST 00001bab: POP 00001bac: MLOAD 00001bad: PUSH32 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7 00001bce: EQ 00001bcf: PUSH2 0x1c10 00001bd2: JUMPI 00001bd3: PUSH1 0x40 00001bd5: DUP1 00001bd6: MLOAD 00001bd7: PUSH3 0x461bcd 00001bdb: PUSH1 0xe5 00001bdd: SHL 00001bde: DUP2 00001bdf: MSTORE 00001be0: PUSH1 0x20 00001be2: PUSH1 0x04 00001be4: DUP3 00001be5: ADD 00001be6: MSTORE 00001be7: PUSH1 0x0e 00001be9: PUSH1 0x24 00001beb: DUP3 00001bec: ADD 00001bed: MSTORE 00001bee: PUSH14 0x4e6f7420636f6d70617469626c65 00001bfd: PUSH1 0x90 00001bff: SHL 00001c00: PUSH1 0x44 00001c02: DUP3 00001c03: ADD 00001c04: MSTORE 00001c05: SWAP1 00001c06: MLOAD 00001c07: SWAP1 00001c08: DUP2 00001c09: SWAP1 00001c0a: SUB 00001c0b: PUSH1 0x64 00001c0d: ADD 00001c0e: SWAP1 00001c0f: REVERT 00001c10: JUMPDEST 00001c11: PUSH32 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7 00001c32: SSTORE 00001c33: JUMP 00001c34: JUMPDEST 00001c35: PUSH1 0x01 00001c37: PUSH1 0x01 00001c39: PUSH1 0xa0 00001c3b: SHL 00001c3c: SUB 00001c3d: DUP4 00001c3e: AND 00001c3f: PUSH2 0x1c79 00001c42: JUMPI 00001c43: PUSH1 0x40 00001c45: MLOAD 00001c46: PUSH3 0x461bcd 00001c4a: PUSH1 0xe5 00001c4c: SHL 00001c4d: DUP2 00001c4e: MSTORE 00001c4f: PUSH1 0x04 00001c51: ADD 00001c52: DUP1 00001c53: DUP1 00001c54: PUSH1 0x20 00001c56: ADD 00001c57: DUP3 00001c58: DUP2 00001c59: SUB 00001c5a: DUP3 00001c5b: MSTORE 00001c5c: PUSH1 0x21 00001c5e: DUP2 00001c5f: MSTORE 00001c60: PUSH1 0x20 00001c62: ADD 00001c63: DUP1 00001c64: PUSH2 0x1f5d 00001c67: PUSH1 0x21 00001c69: SWAP2 00001c6a: CODECOPY 00001c6b: PUSH1 0x40 00001c6d: ADD 00001c6e: SWAP2 00001c6f: POP 00001c70: POP 00001c71: PUSH1 0x40 00001c73: MLOAD 00001c74: DUP1 00001c75: SWAP2 00001c76: SUB 00001c77: SWAP1 00001c78: REVERT 00001c79: JUMPDEST 00001c7a: PUSH2 0x1cb6 00001c7d: DUP3 00001c7e: PUSH1 0x40 00001c80: MLOAD 00001c81: DUP1 00001c82: PUSH1 0x60 00001c84: ADD 00001c85: PUSH1 0x40 00001c87: MSTORE 00001c88: DUP1 00001c89: PUSH1 0x26 00001c8b: DUP2 00001c8c: MSTORE 00001c8d: PUSH1 0x20 00001c8f: ADD 00001c90: PUSH2 0x1e6c 00001c93: PUSH1 0x26 00001c95: SWAP2 00001c96: CODECOPY 00001c97: PUSH1 0x01 00001c99: PUSH1 0x01 00001c9b: PUSH1 0xa0 00001c9d: SHL 00001c9e: SUB 00001c9f: DUP7 00001ca0: AND 00001ca1: PUSH1 0x00 00001ca3: SWAP1 00001ca4: DUP2 00001ca5: MSTORE 00001ca6: PUSH1 0x01 00001ca8: PUSH1 0x20 00001caa: MSTORE 00001cab: PUSH1 0x40 00001cad: SWAP1 00001cae: KECCAK256 00001caf: SLOAD 00001cb0: SWAP2 00001cb1: SWAP1 00001cb2: PUSH2 0x196f 00001cb5: JUMP 00001cb6: JUMPDEST 00001cb7: PUSH1 0x01 00001cb9: PUSH1 0x01 00001cbb: PUSH1 0xa0 00001cbd: SHL 00001cbe: SUB 00001cbf: DUP5 00001cc0: AND 00001cc1: PUSH1 0x00 00001cc3: SWAP1 00001cc4: DUP2 00001cc5: MSTORE 00001cc6: PUSH1 0x01 00001cc8: PUSH1 0x20 00001cca: MSTORE 00001ccb: PUSH1 0x40 00001ccd: SWAP1 00001cce: KECCAK256 00001ccf: SSTORE 00001cd0: PUSH1 0x04 00001cd2: SLOAD 00001cd3: PUSH2 0x1cdc 00001cd6: SWAP1 00001cd7: DUP4 00001cd8: PUSH2 0x1d99 00001cdb: JUMP 00001cdc: JUMPDEST 00001cdd: PUSH1 0x04 00001cdf: SSTORE 00001ce0: PUSH1 0x40 00001ce2: DUP1 00001ce3: MLOAD 00001ce4: DUP3 00001ce5: DUP2 00001ce6: MSTORE 00001ce7: SWAP1 00001ce8: MLOAD 00001ce9: PUSH1 0x00 00001ceb: SWAP2 00001cec: PUSH1 0x01 00001cee: PUSH1 0x01 00001cf0: PUSH1 0xa0 00001cf2: SHL 00001cf3: SUB 00001cf4: DUP7 00001cf5: AND 00001cf6: SWAP2 00001cf7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001d18: SWAP2 00001d19: DUP2 00001d1a: SWAP1 00001d1b: SUB 00001d1c: PUSH1 0x20 00001d1e: ADD 00001d1f: SWAP1 00001d20: LOG3 00001d21: POP 00001d22: POP 00001d23: POP 00001d24: JUMP 00001d25: JUMPDEST 00001d26: PUSH1 0x00 00001d28: DUP1 00001d29: SLOAD 00001d2a: PUSH1 0xff 00001d2c: NOT 00001d2d: AND 00001d2e: PUSH1 0x01 00001d30: OR 00001d31: SWAP1 00001d32: SSTORE 00001d33: JUMP 00001d34: JUMPDEST 00001d35: PUSH1 0x00 00001d37: DUP2 00001d38: DUP4 00001d39: PUSH2 0x1d83 00001d3c: JUMPI 00001d3d: PUSH1 0x40 00001d3f: MLOAD 00001d40: PUSH3 0x461bcd 00001d44: PUSH1 0xe5 00001d46: SHL 00001d47: DUP2 00001d48: MSTORE 00001d49: PUSH1 0x20 00001d4b: PUSH1 0x04 00001d4d: DUP3 00001d4e: ADD 00001d4f: DUP2 00001d50: DUP2 00001d51: MSTORE 00001d52: DUP4 00001d53: MLOAD 00001d54: PUSH1 0x24 00001d56: DUP5 00001d57: ADD 00001d58: MSTORE 00001d59: DUP4 00001d5a: MLOAD 00001d5b: SWAP1 00001d5c: SWAP3 00001d5d: DUP4 00001d5e: SWAP3 00001d5f: PUSH1 0x44 00001d61: SWAP1 00001d62: SWAP2 00001d63: ADD 00001d64: SWAP2 00001d65: SWAP1 00001d66: DUP6 00001d67: ADD 00001d68: SWAP1 00001d69: DUP1 00001d6a: DUP4 00001d6b: DUP4 00001d6c: PUSH1 0x00 00001d6e: DUP4 00001d6f: ISZERO 00001d70: PUSH2 0x19c3 00001d73: JUMPI 00001d74: DUP2 00001d75: DUP2 00001d76: ADD 00001d77: MLOAD 00001d78: DUP4 00001d79: DUP3 00001d7a: ADD 00001d7b: MSTORE 00001d7c: PUSH1 0x20 00001d7e: ADD 00001d7f: PUSH2 0x19ab 00001d82: JUMP 00001d83: JUMPDEST 00001d84: POP 00001d85: PUSH1 0x00 00001d87: DUP4 00001d88: DUP6 00001d89: DUP2 00001d8a: PUSH2 0x1d8f 00001d8d: JUMPI 00001d8e: INVALID 00001d8f: JUMPDEST 00001d90: DIV 00001d91: SWAP6 00001d92: SWAP5 00001d93: POP 00001d94: POP 00001d95: POP 00001d96: POP 00001d97: POP 00001d98: JUMP 00001d99: JUMPDEST 00001d9a: PUSH1 0x00 00001d9c: PUSH2 0x0f33 00001d9f: DUP4 00001da0: DUP4 00001da1: PUSH1 0x40 00001da3: MLOAD 00001da4: DUP1 00001da5: PUSH1 0x40 00001da7: ADD 00001da8: PUSH1 0x40 00001daa: MSTORE 00001dab: DUP1 00001dac: PUSH1 0x1e 00001dae: DUP2 00001daf: MSTORE 00001db0: PUSH1 0x20 00001db2: ADD 00001db3: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 00001dd4: DUP2 00001dd5: MSTORE 00001dd6: POP 00001dd7: PUSH2 0x196f 00001dda: JUMP 00001ddb: INVALID 00001ddc: GASLIMIT 00001ddd: MSTORE 00001dde: NUMBER 00001ddf: ORIGIN 00001de0: ADDRESS 00001de1: GASPRICE 00001de2: KECCAK256 00001de3: PUSH21 0x72616e7366657220746f20746865207a65726f2061 00001df9: PUSH5 0x6472657373 00001dff: PUSH21 0x686520636f6e747261637420697320706175736564 00001e15: STOP 00001e16: STOP 00001e17: STOP 00001e18: STOP 00001e19: STOP 00001e1a: STOP 00001e1b: STOP 00001e1c: STOP 00001e1d: STOP 00001e1e: STOP 00001e1f: GASLIMIT 00001e20: MSTORE 00001e21: NUMBER 00001e22: ORIGIN 00001e23: ADDRESS 00001e24: GASPRICE 00001e25: KECCAK256 00001e26: PUSH21 0x72616e7366657220696e7465726e616c416d742065 00001e3c: PUSH25 0x63656564732062616c616e636545524332303a20617070726f 00001e56: PUSH23 0x6520746f20746865207a65726f20616464726573734552 00001e6e: NUMBER 00001e6f: ORIGIN 00001e70: ADDRESS 00001e71: GASPRICE 00001e72: KECCAK256 00001e73: PUSH3 0x75726e 00001e77: KECCAK256 00001e78: PUSH10 0x6e7465726e61416d7420 00001e83: PUSH6 0x786365656473 00001e8a: KECCAK256 00001e8b: PUSH3 0x616c61 00001e8f: PUSH15 0x6365546865206c6962726172792068 00001e9f: PUSH2 0x7320 00001ea2: PUSH2 0x6c72 00001ea5: PUSH6 0x616479206265 00001eac: PUSH6 0x6e20696e6974 00001eb3: PUSH10 0x616c697a65642e616363 00001ebe: PUSH16 0x756e7420697320626c61636b6c697374 00001ecf: PUSH6 0x640000000000 00001ed6: STOP 00001ed7: STOP 00001ed8: STOP 00001ed9: STOP 00001eda: STOP 00001edb: MSTORE8 00001edc: PUSH2 0x6665 00001edf: UNKNOWN(0x4D) 00001ee0: PUSH2 0x7468 00001ee3: GASPRICE 00001ee4: KECCAK256 00001ee5: PUSH14 0x756c7469706c69636174696f6e20 00001ef4: PUSH16 0x766572666c6f7745524332303a207472 00001f05: PUSH2 0x6e73 00001f08: PUSH7 0x657220616d6f75 00001f10: PUSH15 0x74206578636565647320616c6c6f77 00001f20: PUSH2 0x6e63 00001f23: PUSH6 0x746865206d75 00001f2a: PUSH13 0x7469706c6965722073686f756c 00001f38: PUSH5 0x2062652067 00001f3e: PUSH19 0x6561746572207468616e2070726576696f7573 00001f52: KECCAK256 00001f53: PUSH14 0x756c7469706c6965724552433230 00001f62: GASPRICE 00001f63: KECCAK256 00001f64: PUSH3 0x75726e 00001f68: KECCAK256 00001f69: PUSH7 0x726f6d20746865 00001f71: KECCAK256 00001f72: PUSH27 0x65726f206164647265737345524332303a207472616e7366657220 00001f8e: PUSH7 0x726f6d20746865 00001f96: KECCAK256 00001f97: PUSH27 0x65726f2061646472657373546865206c696272617279206973206c 00001fb3: PUSH16 0x636b65642e204e6f2064697265637420 00001fc4: UNKNOWN(0x27) 00001fc5: PUSH4 0x616c6c27 00001fca: KECCAK256 00001fcb: PUSH10 0x7320616c6c6f7765642e 00001fd6: GASLIMIT 00001fd7: MSTORE 00001fd8: NUMBER 00001fd9: ORIGIN 00001fda: ADDRESS 00001fdb: GASPRICE 00001fdc: KECCAK256 00001fdd: PUSH2 0x7070 00001fe0: PUSH19 0x6f76652066726f6d20746865207a65726f2061 00001ff4: PUSH5 0x6472657373 00001ffa: PUSH26 0x6f7520617265206e6f74207468652061646d696e000000000000 00002015: STOP 00002016: STOP 00002017: STOP 00002018: STOP 00002019: STOP 0000201a: PUSH21 0x686520696e70757420746f74616c20737570706c79 00002030: KECCAK256 00002031: PUSH10 0x73206e6f742067726561 0000203c: PUSH21 0x6572207468616e2070726573656e7420746f74616c 00002052: KECCAK256 00002053: PUSH20 0x7570706c7945524332303a206465637265617365 00002068: PUSH5 0x20616c6c6f 0000206e: PUSH24 0x616e63652062656c6f77207a65726fa26469706673582212 00002087: KECCAK256 00002088: SWAP8 00002089: UNKNOWN(0x2E) 0000208a: UNKNOWN(0xE3) 0000208b: UNKNOWN(0xDF) 0000208c: SWAP4 0000208d: PUSH32 0xfd8a3f679d5449372d23f4de04e74059671aad74998653fae24264736f6c6343 000020ae: STOP 000020af: MOD 000020b0: UNKNOWN(0x0C) 000020b1: STOP 000020b2: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | access_control | codex | Initializer is publicly callable, enabling admin takeover if proxy is left uninitialized | 85 | no | — |
viewevidence_json{
"evidence": "`function initialize(uint256 _totalsupply) public { ... admin = msg.sender; ... _balances[msg.sender] = _totalSupply; }`",
"locations": [
"contracts/Contract.sol"
],
"recommendation": "Restrict initialization (e.g., pass admin in constructor for non-proxy, or use an `initializer` modifier with an authorized deployer/manager) and ensure initialization is performed atomically during proxy deployment.",
"exploit_scenario": "A proxy is deployed but `initialize` is not called in the same transaction. An attacker calls `initialize`, becomes `admin`, receives the full initial supply, and can later call `updateCode` or mint/burn at will."
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf7ea7a3d",
"selector": "0xf7ea7a3d",
"calldata_variants": [
"0xf7ea7a3d",
"0xf7ea7a3d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf9f92be4",
"selector": "0xf9f92be4",
"calldata_variants": [
"0xf9f92be4",
"0xf9f92be40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe4b84df",
"selector": "0xfe4b84df",
"calldata_variants": [
"0xfe4b84df",
"0xfe4b84df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfaaa266",
"selector": "0xcfaaa266",
"calldata_variants": [
"0xcfaaa266",
"0xcfaaa2660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 7647,
"type": "tx_origin_used"
},
{
"pc": 7714,
"type": "tx_origin_used"
},
{
"pc": 7791,
"type": "tx_origin_used"
},
{
"pc": 8153,
"type": "tx_origin_used"
}
]
}
|
| medium | other | codex | Rounding in external↔internal unit conversion allows transfers exceeding displayed balance and misleading Transfer events | 75 | no | — |
viewevidence_json{
"evidence": "`internalAmt = externalAmt.mul(deci).div(multiplier); _balances[sender] = _balances[sender].sub(internalAmt, ...)` and `emit Transfer(sender, recipient, externalAmt);`",
"locations": [
"contracts/Contract.sol"
],
"recommendation": "Enforce `amount <= balanceOf(sender)` using external units, or compute `internalAmt` then derive a canonical external amount (`internalAmt * multiplier / deci`) and use that for checks/events; document minimum transferable unit when `multiplier` changes.",
"exploit_scenario": "With `multiplier > deci`, `internalAmt = amount * deci / multiplier` floors. A user can call `transfer` or `transferFrom` with an `amount` larger than their displayed `balanceOf`, yet `internalAmt` still fits their internal balance. The transfer succeeds, events report the larger amount, while recipient receives less. Integrations that trust the `amount` (or Transfer event) can be over-credited."
}
|