019c0ea9-06d5-7319-83a0-bdeeddb23af3
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 |
|---|---|---|---|---|
| 41473 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41474 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41475 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41476 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41477 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41478 | detector.run | complete | 1 / 3 | 2 months ago |
| 41479 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42173 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 42174 | tool.slither | failed | 2 / 2 | 2 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-wjg8_ba5)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-wjg8_ba5)
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-wjg8_ba5/out/build-info is not a directory.
{"no_findings":false,"summary":"Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.","findings":[{"severity":"medium","category":"auth","title":"Order signatures are replayable and lack domain separation/nonce protection","exploit_scenario":"A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress.","recommendation":"Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.","evidence":"buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.","locations":["WStock3.sol:41","WStock3.sol:44","WStock3.sol:45","WStock3.sol:64","WStock3.sol:68","WStock3.sol:69"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure","exploit_scenario":"If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens.","recommendation":"Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.","evidence":"Transfers are invoked without checking the returned boolean.","locations":["WStock3.sol:54","WStock3.sol:55","WStock3.sol:79","WStock3.sol:81","PrivateSale.sol:31"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-l9d94kd5
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0eac-241c-7181-ab1e-b12f87b06f54
--------
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 ls in /tmp/codex-l9d94kd5 succeeded in 6ms:
Address.sol
AUDIT_BUNDLE.txt
codex-output-schema.json
Context.sol
IERC1155MetadataURI.sol
IERC1155Receiver.sol
IERC1155.sol
IERC20.sol
Ownable.sol
PrivateSale.sol
ReentrancyGuard.sol
SafeMath.sol
StockToken.sol
WStock3.sol
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-l9d94kd5 succeeded in 7ms:
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: Address.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.7.3;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
exec
/bin/bash -lc 'rg -n "FILE: PrivateSale.sol" -n AUDIT_BUNDLE.txt' in /tmp/codex-l9d94kd5 succeeded in 18ms:
518:FILE: PrivateSale.sol
exec
/bin/bash -lc "sed -n '518,900p' AUDIT_BUNDLE.txt" in /tmp/codex-l9d94kd5 succeeded in 10ms:
FILE: PrivateSale.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.7.3;
import "./SafeMath.sol";
import "./IERC20.sol";
import "./Context.sol";
import "./ReentrancyGuard.sol";
import "./Ownable.sol";
contract PrivateSale is ReentrancyGuard, Context, Ownable {
using SafeMath for uint256;
constructor (address _gasToken , address payable _holdingAddress, uint256 _price) {
GAS_TOKEN = IERC20(_gasToken);
holdingAddress = _holdingAddress;
isFrozen = false;
price = _price;
exec
/bin/bash -lc 'nl -ba WStock3.sol' in /tmp/codex-l9d94kd5 succeeded in 13ms:
1 // SPDX-License-Identifier: MIT
2
3 pragma solidity 0.7.3;
4
5 import "./SafeMath.sol";
6 import "./IERC20.sol";
7 import "./Context.sol";
8 import "./ReentrancyGuard.sol";
9 import "./Ownable.sol";
10
11 contract WStock3 is ReentrancyGuard, Context, Ownable {
12 using SafeMath for uint256;
13
14 constructor (address _gasToken ,address _authAddress, address payable _holdingAddress, uint256 _feeRate, uint256 _acceptableTolerance, uint256 _reserve) {
15 GAS_TOKEN = IERC20(_gasToken);
16 authAddress = _authAddress;
17 holdingAddress = _holdingAddress;
18 feeRate = _feeRate;
19 acceptableTolerance = _acceptableTolerance;
20 reserve = _reserve;
exec
/bin/bash -lc 'nl -ba PrivateSale.sol' in /tmp/codex-l9d94kd5 succeeded in 5ms:
1 // SPDX-License-Identifier: MIT
2
3 pragma solidity 0.7.3;
4
5 import "./SafeMath.sol";
6 import "./IERC20.sol";
7 import "./Context.sol";
8 import "./ReentrancyGuard.sol";
9 import "./Ownable.sol";
10
11 contract PrivateSale is ReentrancyGuard, Context, Ownable {
12 using SafeMath for uint256;
13
14 constructor (address _gasToken , address payable _holdingAddress, uint256 _price) {
15 GAS_TOKEN = IERC20(_gasToken);
16 holdingAddress = _holdingAddress;
17 isFrozen = false;
18 price = _price;
19 }
20
codex
{"no_findings":false,"summary":"Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.","findings":[{"severity":"medium","category":"auth","title":"Order signatures are replayable and lack domain separation/nonce protection","exploit_scenario":"A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress.","recommendation":"Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.","evidence":"buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.","locations":["WStock3.sol:41","WStock3.sol:44","WStock3.sol:45","WStock3.sol:64","WStock3.sol:68","WStock3.sol:69"]},{"severity":"low","category":"other","title":"ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure","exploit_scenario":"If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens.","recommendation":"Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.","evidence":"Transfers are invoked without checking the returned boolean.","locations":["WStock3.sol:54","WStock3.sol:55","WStock3.sol:79","WStock3.sol:81","PrivateSale.sol:31"]}]}
tokens used
30,622
{
"codex": {
"ran_at": "2026-01-30T11:33:40.850556+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 12,
"import_count": 7,
"first_party_contracts_count": 12
},
"summary": "Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.",
"raw_final": {
"summary": "Found replayable/weakly validated order signatures in WStock3 and unchecked ERC20 transfer return values in WStock3/PrivateSale that can bypass fees or fail token delivery.",
"findings": [
{
"title": "Order signatures are replayable and lack domain separation/nonce protection",
"category": "auth",
"evidence": "buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.",
"severity": "medium",
"locations": [
"WStock3.sol:41",
"WStock3.sol:44",
"WStock3.sol:45",
"WStock3.sol:64",
"WStock3.sol:68",
"WStock3.sol:69"
],
"recommendation": "Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.",
"exploit_scenario": "A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress."
},
{
"title": "ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure",
"category": "other",
"evidence": "Transfers are invoked without checking the returned boolean.",
"severity": "low",
"locations": [
"WStock3.sol:54",
"WStock3.sol:55",
"WStock3.sol:79",
"WStock3.sol:81",
"PrivateSale.sol:31"
],
"recommendation": "Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.",
"exploit_scenario": "If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00f3 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x715018a6 00000019: GT 0000001a: PUSH2 0x008a 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xb5f6b3ef 00000024: GT 00000025: PUSH2 0x0059 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xb5f6b3ef 0000002f: EQ 00000030: PUSH2 0x041e 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xdc76f98a 0000003a: EQ 0000003b: PUSH2 0x0479 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe275c997 00000045: EQ 00000046: PUSH2 0x04a4 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x04cf 00000054: JUMPI 00000055: PUSH2 0x00f3 00000058: JUMP 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0x715018a6 00000060: EQ 00000061: PUSH2 0x0321 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x84e5eed0 0000006b: EQ 0000006c: PUSH2 0x0338 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x8da5cb5b 00000076: EQ 00000077: PUSH2 0x0363 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x9cef4c70 00000081: EQ 00000082: PUSH2 0x03a4 00000085: JUMPI 00000086: PUSH2 0x00f3 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x45596e2e 00000091: GT 00000092: PUSH2 0x00c6 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x45596e2e 0000009c: EQ 0000009d: PUSH2 0x023f 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x5590278e 000000a7: EQ 000000a8: PUSH2 0x027a 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x59bf5d39 000000b2: EQ 000000b3: PUSH2 0x02b5 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x66c3c92a 000000bd: EQ 000000be: PUSH2 0x02e0 000000c1: JUMPI 000000c2: PUSH2 0x00f3 000000c5: JUMP 000000c6: JUMPDEST 000000c7: DUP1 000000c8: PUSH4 0x09f82153 000000cd: EQ 000000ce: PUSH2 0x00f8 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x0da85728 000000d8: EQ 000000d9: PUSH2 0x015d 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x10265693 000000e3: EQ 000000e4: PUSH2 0x01c0 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x4256dbe3 000000ee: EQ 000000ef: PUSH2 0x0211 000000f2: JUMPI 000000f3: JUMPDEST 000000f4: PUSH1 0x00 000000f6: DUP1 000000f7: REVERT 000000f8: JUMPDEST 000000f9: CALLVALUE 000000fa: DUP1 000000fb: ISZERO 000000fc: PUSH2 0x0104 000000ff: JUMPI 00000100: PUSH1 0x00 00000102: DUP1 00000103: REVERT 00000104: JUMPDEST 00000105: POP 00000106: PUSH2 0x0131 00000109: PUSH1 0x04 0000010b: DUP1 0000010c: CALLDATASIZE 0000010d: SUB 0000010e: PUSH1 0x20 00000110: DUP2 00000111: LT 00000112: ISZERO 00000113: PUSH2 0x011b 00000116: JUMPI 00000117: PUSH1 0x00 00000119: DUP1 0000011a: REVERT 0000011b: JUMPDEST 0000011c: DUP2 0000011d: ADD 0000011e: SWAP1 0000011f: DUP1 00000120: DUP1 00000121: CALLDATALOAD 00000122: SWAP1 00000123: PUSH1 0x20 00000125: ADD 00000126: SWAP1 00000127: SWAP3 00000128: SWAP2 00000129: SWAP1 0000012a: POP 0000012b: POP 0000012c: POP 0000012d: PUSH2 0x0520 00000130: JUMP 00000131: JUMPDEST 00000132: PUSH1 0x40 00000134: MLOAD 00000135: DUP1 00000136: DUP3 00000137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000014c: AND 0000014d: DUP2 0000014e: MSTORE 0000014f: PUSH1 0x20 00000151: ADD 00000152: SWAP2 00000153: POP 00000154: POP 00000155: PUSH1 0x40 00000157: MLOAD 00000158: DUP1 00000159: SWAP2 0000015a: SUB 0000015b: SWAP1 0000015c: RETURN 0000015d: JUMPDEST 0000015e: PUSH2 0x01be 00000161: PUSH1 0x04 00000163: DUP1 00000164: CALLDATASIZE 00000165: SUB 00000166: PUSH1 0xc0 00000168: DUP2 00000169: LT 0000016a: ISZERO 0000016b: PUSH2 0x0173 0000016e: JUMPI 0000016f: PUSH1 0x00 00000171: DUP1 00000172: REVERT 00000173: JUMPDEST 00000174: DUP2 00000175: ADD 00000176: SWAP1 00000177: DUP1 00000178: DUP1 00000179: CALLDATALOAD 0000017a: SWAP1 0000017b: PUSH1 0x20 0000017d: ADD 0000017e: SWAP1 0000017f: SWAP3 00000180: SWAP2 00000181: SWAP1 00000182: DUP1 00000183: CALLDATALOAD 00000184: SWAP1 00000185: PUSH1 0x20 00000187: ADD 00000188: SWAP1 00000189: SWAP3 0000018a: SWAP2 0000018b: SWAP1 0000018c: DUP1 0000018d: CALLDATALOAD 0000018e: SWAP1 0000018f: PUSH1 0x20 00000191: ADD 00000192: SWAP1 00000193: SWAP3 00000194: SWAP2 00000195: SWAP1 00000196: DUP1 00000197: CALLDATALOAD 00000198: PUSH1 0xff 0000019a: AND 0000019b: SWAP1 0000019c: PUSH1 0x20 0000019e: ADD 0000019f: SWAP1 000001a0: SWAP3 000001a1: SWAP2 000001a2: SWAP1 000001a3: DUP1 000001a4: CALLDATALOAD 000001a5: SWAP1 000001a6: PUSH1 0x20 000001a8: ADD 000001a9: SWAP1 000001aa: SWAP3 000001ab: SWAP2 000001ac: SWAP1 000001ad: DUP1 000001ae: CALLDATALOAD 000001af: SWAP1 000001b0: PUSH1 0x20 000001b2: ADD 000001b3: SWAP1 000001b4: SWAP3 000001b5: SWAP2 000001b6: SWAP1 000001b7: POP 000001b8: POP 000001b9: POP 000001ba: PUSH2 0x0553 000001bd: JUMP 000001be: JUMPDEST 000001bf: STOP 000001c0: JUMPDEST 000001c1: CALLVALUE 000001c2: DUP1 000001c3: ISZERO 000001c4: PUSH2 0x01cc 000001c7: JUMPI 000001c8: PUSH1 0x00 000001ca: DUP1 000001cb: REVERT 000001cc: JUMPDEST 000001cd: POP 000001ce: PUSH2 0x020f 000001d1: PUSH1 0x04 000001d3: DUP1 000001d4: CALLDATASIZE 000001d5: SUB 000001d6: PUSH1 0x20 000001d8: DUP2 000001d9: LT 000001da: ISZERO 000001db: PUSH2 0x01e3 000001de: JUMPI 000001df: PUSH1 0x00 000001e1: DUP1 000001e2: REVERT 000001e3: JUMPDEST 000001e4: DUP2 000001e5: ADD 000001e6: SWAP1 000001e7: DUP1 000001e8: DUP1 000001e9: CALLDATALOAD 000001ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001ff: AND 00000200: SWAP1 00000201: PUSH1 0x20 00000203: ADD 00000204: SWAP1 00000205: SWAP3 00000206: SWAP2 00000207: SWAP1 00000208: POP 00000209: POP 0000020a: POP 0000020b: PUSH2 0x0e12 0000020e: JUMP 0000020f: JUMPDEST 00000210: STOP 00000211: JUMPDEST 00000212: PUSH2 0x023d 00000215: PUSH1 0x04 00000217: DUP1 00000218: CALLDATASIZE 00000219: SUB 0000021a: PUSH1 0x20 0000021c: DUP2 0000021d: LT 0000021e: ISZERO 0000021f: PUSH2 0x0227 00000222: JUMPI 00000223: PUSH1 0x00 00000225: DUP1 00000226: REVERT 00000227: JUMPDEST 00000228: DUP2 00000229: ADD 0000022a: SWAP1 0000022b: DUP1 0000022c: DUP1 0000022d: CALLDATALOAD 0000022e: SWAP1 0000022f: PUSH1 0x20 00000231: ADD 00000232: SWAP1 00000233: SWAP3 00000234: SWAP2 00000235: SWAP1 00000236: POP 00000237: POP 00000238: POP 00000239: PUSH2 0x0f20 0000023c: JUMP 0000023d: JUMPDEST 0000023e: STOP 0000023f: JUMPDEST 00000240: CALLVALUE 00000241: DUP1 00000242: ISZERO 00000243: PUSH2 0x024b 00000246: JUMPI 00000247: PUSH1 0x00 00000249: DUP1 0000024a: REVERT 0000024b: JUMPDEST 0000024c: POP 0000024d: PUSH2 0x0278 00000250: PUSH1 0x04 00000252: DUP1 00000253: CALLDATASIZE 00000254: SUB 00000255: PUSH1 0x20 00000257: DUP2 00000258: LT 00000259: ISZERO 0000025a: PUSH2 0x0262 0000025d: JUMPI 0000025e: PUSH1 0x00 00000260: DUP1 00000261: REVERT 00000262: JUMPDEST 00000263: DUP2 00000264: ADD 00000265: SWAP1 00000266: DUP1 00000267: DUP1 00000268: CALLDATALOAD 00000269: SWAP1 0000026a: PUSH1 0x20 0000026c: ADD 0000026d: SWAP1 0000026e: SWAP3 0000026f: SWAP2 00000270: SWAP1 00000271: POP 00000272: POP 00000273: POP 00000274: PUSH2 0x0ff4 00000277: JUMP 00000278: JUMPDEST 00000279: STOP 0000027a: JUMPDEST 0000027b: CALLVALUE 0000027c: DUP1 0000027d: ISZERO 0000027e: PUSH2 0x0286 00000281: JUMPI 00000282: PUSH1 0x00 00000284: DUP1 00000285: REVERT 00000286: JUMPDEST 00000287: POP 00000288: PUSH2 0x02b3 0000028b: PUSH1 0x04 0000028d: DUP1 0000028e: CALLDATASIZE 0000028f: SUB 00000290: PUSH1 0x20 00000292: DUP2 00000293: LT 00000294: ISZERO 00000295: PUSH2 0x029d 00000298: JUMPI 00000299: PUSH1 0x00 0000029b: DUP1 0000029c: REVERT 0000029d: JUMPDEST 0000029e: DUP2 0000029f: ADD 000002a0: SWAP1 000002a1: DUP1 000002a2: DUP1 000002a3: CALLDATALOAD 000002a4: SWAP1 000002a5: PUSH1 0x20 000002a7: ADD 000002a8: SWAP1 000002a9: SWAP3 000002aa: SWAP2 000002ab: SWAP1 000002ac: POP 000002ad: POP 000002ae: POP 000002af: PUSH2 0x10c8 000002b2: JUMP 000002b3: JUMPDEST 000002b4: STOP 000002b5: JUMPDEST 000002b6: CALLVALUE 000002b7: DUP1 000002b8: ISZERO 000002b9: PUSH2 0x02c1 000002bc: JUMPI 000002bd: PUSH1 0x00 000002bf: DUP1 000002c0: REVERT 000002c1: JUMPDEST 000002c2: POP 000002c3: PUSH2 0x02ca 000002c6: PUSH2 0x119c 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH1 0x40 000002cd: MLOAD 000002ce: DUP1 000002cf: DUP3 000002d0: DUP2 000002d1: MSTORE 000002d2: PUSH1 0x20 000002d4: ADD 000002d5: SWAP2 000002d6: POP 000002d7: POP 000002d8: PUSH1 0x40 000002da: MLOAD 000002db: DUP1 000002dc: SWAP2 000002dd: SUB 000002de: SWAP1 000002df: RETURN 000002e0: JUMPDEST 000002e1: CALLVALUE 000002e2: DUP1 000002e3: ISZERO 000002e4: PUSH2 0x02ec 000002e7: JUMPI 000002e8: PUSH1 0x00 000002ea: DUP1 000002eb: REVERT 000002ec: JUMPDEST 000002ed: POP 000002ee: PUSH2 0x02f5 000002f1: PUSH2 0x11a6 000002f4: JUMP 000002f5: JUMPDEST 000002f6: PUSH1 0x40 000002f8: MLOAD 000002f9: DUP1 000002fa: DUP3 000002fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000310: AND 00000311: DUP2 00000312: MSTORE 00000313: PUSH1 0x20 00000315: ADD 00000316: SWAP2 00000317: POP 00000318: POP 00000319: PUSH1 0x40 0000031b: MLOAD 0000031c: DUP1 0000031d: SWAP2 0000031e: SUB 0000031f: SWAP1 00000320: RETURN 00000321: JUMPDEST 00000322: CALLVALUE 00000323: DUP1 00000324: ISZERO 00000325: PUSH2 0x032d 00000328: JUMPI 00000329: PUSH1 0x00 0000032b: DUP1 0000032c: REVERT 0000032d: JUMPDEST 0000032e: POP 0000032f: PUSH2 0x0336 00000332: PUSH2 0x11d0 00000335: JUMP 00000336: JUMPDEST 00000337: STOP 00000338: JUMPDEST 00000339: CALLVALUE 0000033a: DUP1 0000033b: ISZERO 0000033c: PUSH2 0x0344 0000033f: JUMPI 00000340: PUSH1 0x00 00000342: DUP1 00000343: REVERT 00000344: JUMPDEST 00000345: POP 00000346: PUSH2 0x034d 00000349: PUSH2 0x135b 0000034c: JUMP 0000034d: JUMPDEST 0000034e: PUSH1 0x40 00000350: MLOAD 00000351: DUP1 00000352: DUP3 00000353: DUP2 00000354: MSTORE 00000355: PUSH1 0x20 00000357: ADD 00000358: SWAP2 00000359: POP 0000035a: POP 0000035b: PUSH1 0x40 0000035d: MLOAD 0000035e: DUP1 0000035f: SWAP2 00000360: SUB 00000361: SWAP1 00000362: RETURN 00000363: JUMPDEST 00000364: CALLVALUE 00000365: DUP1 00000366: ISZERO 00000367: PUSH2 0x036f 0000036a: JUMPI 0000036b: PUSH1 0x00 0000036d: DUP1 0000036e: REVERT 0000036f: JUMPDEST 00000370: POP 00000371: PUSH2 0x0378 00000374: PUSH2 0x1365 00000377: JUMP 00000378: JUMPDEST 00000379: PUSH1 0x40 0000037b: MLOAD 0000037c: DUP1 0000037d: DUP3 0000037e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000393: AND 00000394: DUP2 00000395: MSTORE 00000396: PUSH1 0x20 00000398: ADD 00000399: SWAP2 0000039a: POP 0000039b: POP 0000039c: PUSH1 0x40 0000039e: MLOAD 0000039f: DUP1 000003a0: SWAP2 000003a1: SUB 000003a2: SWAP1 000003a3: RETURN 000003a4: JUMPDEST 000003a5: CALLVALUE 000003a6: DUP1 000003a7: ISZERO 000003a8: PUSH2 0x03b0 000003ab: JUMPI 000003ac: PUSH1 0x00 000003ae: DUP1 000003af: REVERT 000003b0: JUMPDEST 000003b1: POP 000003b2: PUSH2 0x041c 000003b5: PUSH1 0x04 000003b7: DUP1 000003b8: CALLDATASIZE 000003b9: SUB 000003ba: PUSH1 0xe0 000003bc: DUP2 000003bd: LT 000003be: ISZERO 000003bf: PUSH2 0x03c7 000003c2: JUMPI 000003c3: PUSH1 0x00 000003c5: DUP1 000003c6: REVERT 000003c7: JUMPDEST 000003c8: DUP2 000003c9: ADD 000003ca: SWAP1 000003cb: DUP1 000003cc: DUP1 000003cd: CALLDATALOAD 000003ce: SWAP1 000003cf: PUSH1 0x20 000003d1: ADD 000003d2: SWAP1 000003d3: SWAP3 000003d4: SWAP2 000003d5: SWAP1 000003d6: DUP1 000003d7: CALLDATALOAD 000003d8: SWAP1 000003d9: PUSH1 0x20 000003db: ADD 000003dc: SWAP1 000003dd: SWAP3 000003de: SWAP2 000003df: SWAP1 000003e0: DUP1 000003e1: CALLDATALOAD 000003e2: SWAP1 000003e3: PUSH1 0x20 000003e5: ADD 000003e6: SWAP1 000003e7: SWAP3 000003e8: SWAP2 000003e9: SWAP1 000003ea: DUP1 000003eb: CALLDATALOAD 000003ec: SWAP1 000003ed: PUSH1 0x20 000003ef: ADD 000003f0: SWAP1 000003f1: SWAP3 000003f2: SWAP2 000003f3: SWAP1 000003f4: DUP1 000003f5: CALLDATALOAD 000003f6: PUSH1 0xff 000003f8: AND 000003f9: SWAP1 000003fa: PUSH1 0x20 000003fc: ADD 000003fd: SWAP1 000003fe: SWAP3 000003ff: SWAP2 00000400: SWAP1 00000401: DUP1 00000402: CALLDATALOAD 00000403: SWAP1 00000404: PUSH1 0x20 00000406: ADD 00000407: SWAP1 00000408: SWAP3 00000409: SWAP2 0000040a: SWAP1 0000040b: DUP1 0000040c: CALLDATALOAD 0000040d: SWAP1 0000040e: PUSH1 0x20 00000410: ADD 00000411: SWAP1 00000412: SWAP3 00000413: SWAP2 00000414: SWAP1 00000415: POP 00000416: POP 00000417: POP 00000418: PUSH2 0x138f 0000041b: JUMP 0000041c: JUMPDEST 0000041d: STOP 0000041e: JUMPDEST 0000041f: CALLVALUE 00000420: DUP1 00000421: ISZERO 00000422: PUSH2 0x042a 00000425: JUMPI 00000426: PUSH1 0x00 00000428: DUP1 00000429: REVERT 0000042a: JUMPDEST 0000042b: POP 0000042c: PUSH2 0x0477 0000042f: PUSH1 0x04 00000431: DUP1 00000432: CALLDATASIZE 00000433: SUB 00000434: PUSH1 0x40 00000436: DUP2 00000437: LT 00000438: ISZERO 00000439: PUSH2 0x0441 0000043c: JUMPI 0000043d: PUSH1 0x00 0000043f: DUP1 00000440: REVERT 00000441: JUMPDEST 00000442: DUP2 00000443: ADD 00000444: SWAP1 00000445: DUP1 00000446: DUP1 00000447: CALLDATALOAD 00000448: SWAP1 00000449: PUSH1 0x20 0000044b: ADD 0000044c: SWAP1 0000044d: SWAP3 0000044e: SWAP2 0000044f: SWAP1 00000450: DUP1 00000451: CALLDATALOAD 00000452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000467: AND 00000468: SWAP1 00000469: PUSH1 0x20 0000046b: ADD 0000046c: SWAP1 0000046d: SWAP3 0000046e: SWAP2 0000046f: SWAP1 00000470: POP 00000471: POP 00000472: POP 00000473: PUSH2 0x1eba 00000476: JUMP 00000477: JUMPDEST 00000478: STOP 00000479: JUMPDEST 0000047a: CALLVALUE 0000047b: DUP1 0000047c: ISZERO 0000047d: PUSH2 0x0485 00000480: JUMPI 00000481: PUSH1 0x00 00000483: DUP1 00000484: REVERT 00000485: JUMPDEST 00000486: POP 00000487: PUSH2 0x048e 0000048a: PUSH2 0x1fda 0000048d: JUMP 0000048e: JUMPDEST 0000048f: PUSH1 0x40 00000491: MLOAD 00000492: DUP1 00000493: DUP3 00000494: DUP2 00000495: MSTORE 00000496: PUSH1 0x20 00000498: ADD 00000499: SWAP2 0000049a: POP 0000049b: POP 0000049c: PUSH1 0x40 0000049e: MLOAD 0000049f: DUP1 000004a0: SWAP2 000004a1: SUB 000004a2: SWAP1 000004a3: RETURN 000004a4: JUMPDEST 000004a5: CALLVALUE 000004a6: DUP1 000004a7: ISZERO 000004a8: PUSH2 0x04b0 000004ab: JUMPI 000004ac: PUSH1 0x00 000004ae: DUP1 000004af: REVERT 000004b0: JUMPDEST 000004b1: POP 000004b2: PUSH2 0x04b9 000004b5: PUSH2 0x1fe4 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH1 0x40 000004bc: MLOAD 000004bd: DUP1 000004be: DUP3 000004bf: DUP2 000004c0: MSTORE 000004c1: PUSH1 0x20 000004c3: ADD 000004c4: SWAP2 000004c5: POP 000004c6: POP 000004c7: PUSH1 0x40 000004c9: MLOAD 000004ca: DUP1 000004cb: SWAP2 000004cc: SUB 000004cd: SWAP1 000004ce: RETURN 000004cf: JUMPDEST 000004d0: CALLVALUE 000004d1: DUP1 000004d2: ISZERO 000004d3: PUSH2 0x04db 000004d6: JUMPI 000004d7: PUSH1 0x00 000004d9: DUP1 000004da: REVERT 000004db: JUMPDEST 000004dc: POP 000004dd: PUSH2 0x051e 000004e0: PUSH1 0x04 000004e2: DUP1 000004e3: CALLDATASIZE 000004e4: SUB 000004e5: PUSH1 0x20 000004e7: DUP2 000004e8: LT 000004e9: ISZERO 000004ea: PUSH2 0x04f2 000004ed: JUMPI 000004ee: PUSH1 0x00 000004f0: DUP1 000004f1: REVERT 000004f2: JUMPDEST 000004f3: DUP2 000004f4: ADD 000004f5: SWAP1 000004f6: DUP1 000004f7: DUP1 000004f8: CALLDATALOAD 000004f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000050e: AND 0000050f: SWAP1 00000510: PUSH1 0x20 00000512: ADD 00000513: SWAP1 00000514: SWAP3 00000515: SWAP2 00000516: SWAP1 00000517: POP 00000518: POP 00000519: POP 0000051a: PUSH2 0x1fea 0000051d: JUMP 0000051e: JUMPDEST 0000051f: STOP 00000520: JUMPDEST 00000521: PUSH1 0x03 00000523: PUSH1 0x20 00000525: MSTORE 00000526: DUP1 00000527: PUSH1 0x00 00000529: MSTORE 0000052a: PUSH1 0x40 0000052c: PUSH1 0x00 0000052e: KECCAK256 0000052f: PUSH1 0x00 00000531: SWAP2 00000532: POP 00000533: SLOAD 00000534: SWAP1 00000535: PUSH2 0x0100 00000538: EXP 00000539: SWAP1 0000053a: DIV 0000053b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000550: AND 00000551: DUP2 00000552: JUMP 00000553: JUMPDEST 00000554: PUSH1 0x02 00000556: PUSH1 0x00 00000558: SLOAD 00000559: EQ 0000055a: ISZERO 0000055b: PUSH2 0x05cc 0000055e: JUMPI 0000055f: PUSH1 0x40 00000561: MLOAD 00000562: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000583: DUP2 00000584: MSTORE 00000585: PUSH1 0x04 00000587: ADD 00000588: DUP1 00000589: DUP1 0000058a: PUSH1 0x20 0000058c: ADD 0000058d: DUP3 0000058e: DUP2 0000058f: SUB 00000590: DUP3 00000591: MSTORE 00000592: PUSH1 0x1f 00000594: DUP2 00000595: MSTORE 00000596: PUSH1 0x20 00000598: ADD 00000599: DUP1 0000059a: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000005bb: DUP2 000005bc: MSTORE 000005bd: POP 000005be: PUSH1 0x20 000005c0: ADD 000005c1: SWAP2 000005c2: POP 000005c3: POP 000005c4: PUSH1 0x40 000005c6: MLOAD 000005c7: DUP1 000005c8: SWAP2 000005c9: SUB 000005ca: SWAP1 000005cb: REVERT 000005cc: JUMPDEST 000005cd: PUSH1 0x02 000005cf: PUSH1 0x00 000005d1: DUP2 000005d2: SWAP1 000005d3: SSTORE 000005d4: POP 000005d5: PUSH1 0x00 000005d7: DUP6 000005d8: GT 000005d9: PUSH2 0x064a 000005dc: JUMPI 000005dd: PUSH1 0x40 000005df: MLOAD 000005e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000601: DUP2 00000602: MSTORE 00000603: PUSH1 0x04 00000605: ADD 00000606: DUP1 00000607: DUP1 00000608: PUSH1 0x20 0000060a: ADD 0000060b: DUP3 0000060c: DUP2 0000060d: SUB 0000060e: DUP3 0000060f: MSTORE 00000610: PUSH1 0x1c 00000612: DUP2 00000613: MSTORE 00000614: PUSH1 0x20 00000616: ADD 00000617: DUP1 00000618: PUSH32 0x4d7573742062757920616e20616d6f756e74206f6620746f6b656e7300000000 00000639: DUP2 0000063a: MSTORE 0000063b: POP 0000063c: PUSH1 0x20 0000063e: ADD 0000063f: SWAP2 00000640: POP 00000641: POP 00000642: PUSH1 0x40 00000644: MLOAD 00000645: DUP1 00000646: SWAP2 00000647: SUB 00000648: SWAP1 00000649: REVERT 0000064a: JUMPDEST 0000064b: PUSH1 0x00 0000064d: CALLVALUE 0000064e: GT 0000064f: PUSH2 0x06c0 00000652: JUMPI 00000653: PUSH1 0x40 00000655: MLOAD 00000656: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000677: DUP2 00000678: MSTORE 00000679: PUSH1 0x04 0000067b: ADD 0000067c: DUP1 0000067d: DUP1 0000067e: PUSH1 0x20 00000680: ADD 00000681: DUP3 00000682: DUP2 00000683: SUB 00000684: DUP3 00000685: MSTORE 00000686: PUSH1 0x1f 00000688: DUP2 00000689: MSTORE 0000068a: PUSH1 0x20 0000068c: ADD 0000068d: DUP1 0000068e: PUSH32 0x746f74616c206d7573742062652067726561746572207468616e207a65726f00 000006af: DUP2 000006b0: MSTORE 000006b1: POP 000006b2: PUSH1 0x20 000006b4: ADD 000006b5: SWAP2 000006b6: POP 000006b7: POP 000006b8: PUSH1 0x40 000006ba: MLOAD 000006bb: DUP1 000006bc: SWAP2 000006bd: SUB 000006be: SWAP1 000006bf: REVERT 000006c0: JUMPDEST 000006c1: PUSH1 0x00 000006c3: PUSH2 0x06ca 000006c6: PUSH2 0x21fa 000006c9: JUMP 000006ca: JUMPDEST 000006cb: DUP8 000006cc: DUP8 000006cd: CALLVALUE 000006ce: DUP9 000006cf: PUSH1 0x40 000006d1: MLOAD 000006d2: PUSH1 0x20 000006d4: ADD 000006d5: DUP1 000006d6: DUP7 000006d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ec: AND 000006ed: DUP2 000006ee: MSTORE 000006ef: PUSH1 0x20 000006f1: ADD 000006f2: DUP6 000006f3: DUP2 000006f4: MSTORE 000006f5: PUSH1 0x20 000006f7: ADD 000006f8: DUP5 000006f9: DUP2 000006fa: MSTORE 000006fb: PUSH1 0x20 000006fd: ADD 000006fe: DUP4 000006ff: DUP2 00000700: MSTORE 00000701: PUSH1 0x20 00000703: ADD 00000704: DUP3 00000705: DUP2 00000706: MSTORE 00000707: PUSH1 0x20 00000709: ADD 0000070a: SWAP6 0000070b: POP 0000070c: POP 0000070d: POP 0000070e: POP 0000070f: POP 00000710: POP 00000711: PUSH1 0x40 00000713: MLOAD 00000714: PUSH1 0x20 00000716: DUP2 00000717: DUP4 00000718: SUB 00000719: SUB 0000071a: DUP2 0000071b: MSTORE 0000071c: SWAP1 0000071d: PUSH1 0x40 0000071f: MSTORE 00000720: DUP1 00000721: MLOAD 00000722: SWAP1 00000723: PUSH1 0x20 00000725: ADD 00000726: KECCAK256 00000727: SWAP1 00000728: POP 00000729: PUSH1 0x00 0000072b: PUSH1 0x01 0000072d: DUP3 0000072e: DUP7 0000072f: DUP7 00000730: DUP7 00000731: PUSH1 0x40 00000733: MLOAD 00000734: PUSH1 0x00 00000736: DUP2 00000737: MSTORE 00000738: PUSH1 0x20 0000073a: ADD 0000073b: PUSH1 0x40 0000073d: MSTORE 0000073e: PUSH1 0x40 00000740: MLOAD 00000741: DUP1 00000742: DUP6 00000743: DUP2 00000744: MSTORE 00000745: PUSH1 0x20 00000747: ADD 00000748: DUP5 00000749: PUSH1 0xff 0000074b: AND 0000074c: DUP2 0000074d: MSTORE 0000074e: PUSH1 0x20 00000750: ADD 00000751: DUP4 00000752: DUP2 00000753: MSTORE 00000754: PUSH1 0x20 00000756: ADD 00000757: DUP3 00000758: DUP2 00000759: MSTORE 0000075a: PUSH1 0x20 0000075c: ADD 0000075d: SWAP5 0000075e: POP 0000075f: POP 00000760: POP 00000761: POP 00000762: POP 00000763: PUSH1 0x20 00000765: PUSH1 0x40 00000767: MLOAD 00000768: PUSH1 0x20 0000076a: DUP2 0000076b: SUB 0000076c: SWAP1 0000076d: DUP1 0000076e: DUP5 0000076f: SUB 00000770: SWAP1 00000771: DUP6 00000772: GAS 00000773: STATICCALL 00000774: ISZERO 00000775: DUP1 00000776: ISZERO 00000777: PUSH2 0x0784 0000077a: JUMPI 0000077b: RETURNDATASIZE 0000077c: PUSH1 0x00 0000077e: DUP1 0000077f: RETURNDATACOPY 00000780: RETURNDATASIZE 00000781: PUSH1 0x00 00000783: REVERT 00000784: JUMPDEST 00000785: POP 00000786: POP 00000787: POP 00000788: PUSH1 0x20 0000078a: PUSH1 0x40 0000078c: MLOAD 0000078d: SUB 0000078e: MLOAD 0000078f: SWAP1 00000790: POP 00000791: PUSH1 0x04 00000793: PUSH1 0x00 00000795: SWAP1 00000796: SLOAD 00000797: SWAP1 00000798: PUSH2 0x0100 0000079b: EXP 0000079c: SWAP1 0000079d: DIV 0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b3: AND 000007b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007c9: AND 000007ca: DUP2 000007cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007e0: AND 000007e1: EQ 000007e2: PUSH2 0x0853 000007e5: JUMPI 000007e6: PUSH1 0x40 000007e8: MLOAD 000007e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000080a: DUP2 0000080b: MSTORE 0000080c: PUSH1 0x04 0000080e: ADD 0000080f: DUP1 00000810: DUP1 00000811: PUSH1 0x20 00000813: ADD 00000814: DUP3 00000815: DUP2 00000816: SUB 00000817: DUP3 00000818: MSTORE 00000819: PUSH1 0x11 0000081b: DUP2 0000081c: MSTORE 0000081d: PUSH1 0x20 0000081f: ADD 00000820: DUP1 00000821: PUSH32 0x496e76616c6964207369676e6174757265000000000000000000000000000000 00000842: DUP2 00000843: MSTORE 00000844: POP 00000845: PUSH1 0x20 00000847: ADD 00000848: SWAP2 00000849: POP 0000084a: POP 0000084b: PUSH1 0x40 0000084d: MLOAD 0000084e: DUP1 0000084f: SWAP2 00000850: SUB 00000851: SWAP1 00000852: REVERT 00000853: JUMPDEST 00000854: TIMESTAMP 00000855: PUSH2 0x0869 00000858: PUSH1 0x07 0000085a: SLOAD 0000085b: DUP9 0000085c: PUSH2 0x2202 0000085f: SWAP1 00000860: SWAP2 00000861: SWAP1 00000862: PUSH4 0xffffffff 00000867: AND 00000868: JUMP 00000869: JUMPDEST 0000086a: GT 0000086b: PUSH2 0x08dc 0000086e: JUMPI 0000086f: PUSH1 0x40 00000871: MLOAD 00000872: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000893: DUP2 00000894: MSTORE 00000895: PUSH1 0x04 00000897: ADD 00000898: DUP1 00000899: DUP1 0000089a: PUSH1 0x20 0000089c: ADD 0000089d: DUP3 0000089e: DUP2 0000089f: SUB 000008a0: DUP3 000008a1: MSTORE 000008a2: PUSH1 0x0d 000008a4: DUP2 000008a5: MSTORE 000008a6: PUSH1 0x20 000008a8: ADD 000008a9: DUP1 000008aa: PUSH32 0x45787069726564204f7264657200000000000000000000000000000000000000 000008cb: DUP2 000008cc: MSTORE 000008cd: POP 000008ce: PUSH1 0x20 000008d0: ADD 000008d1: SWAP2 000008d2: POP 000008d3: POP 000008d4: PUSH1 0x40 000008d6: MLOAD 000008d7: DUP1 000008d8: SWAP2 000008d9: SUB 000008da: SWAP1 000008db: REVERT 000008dc: JUMPDEST 000008dd: PUSH1 0x00 000008df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008f4: AND 000008f5: PUSH1 0x03 000008f7: PUSH1 0x00 000008f9: DUP11 000008fa: DUP2 000008fb: MSTORE 000008fc: PUSH1 0x20 000008fe: ADD 000008ff: SWAP1 00000900: DUP2 00000901: MSTORE 00000902: PUSH1 0x20 00000904: ADD 00000905: PUSH1 0x00 00000907: KECCAK256 00000908: PUSH1 0x00 0000090a: SWAP1 0000090b: SLOAD 0000090c: SWAP1 0000090d: PUSH2 0x0100 00000910: EXP 00000911: SWAP1 00000912: DIV 00000913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000928: AND 00000929: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000093e: AND 0000093f: EQ 00000940: ISZERO 00000941: PUSH2 0x09b2 00000944: JUMPI 00000945: PUSH1 0x40 00000947: MLOAD 00000948: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000969: DUP2 0000096a: MSTORE 0000096b: PUSH1 0x04 0000096d: ADD 0000096e: DUP1 0000096f: DUP1 00000970: PUSH1 0x20 00000972: ADD 00000973: DUP3 00000974: DUP2 00000975: SUB 00000976: DUP3 00000977: MSTORE 00000978: PUSH1 0x11 0000097a: DUP2 0000097b: MSTORE 0000097c: PUSH1 0x20 0000097e: ADD 0000097f: DUP1 00000980: PUSH32 0x756e737570706f72746564206173736574000000000000000000000000000000 000009a1: DUP2 000009a2: MSTORE 000009a3: POP 000009a4: PUSH1 0x20 000009a6: ADD 000009a7: SWAP2 000009a8: POP 000009a9: POP 000009aa: PUSH1 0x40 000009ac: MLOAD 000009ad: DUP1 000009ae: SWAP2 000009af: SUB 000009b0: SWAP1 000009b1: REVERT 000009b2: JUMPDEST 000009b3: PUSH1 0x00 000009b5: PUSH2 0x09c9 000009b8: PUSH1 0x06 000009ba: SLOAD 000009bb: CALLVALUE 000009bc: PUSH2 0x228a 000009bf: SWAP1 000009c0: SWAP2 000009c1: SWAP1 000009c2: PUSH4 0xffffffff 000009c7: AND 000009c8: JUMP 000009c9: JUMPDEST 000009ca: SWAP1 000009cb: POP 000009cc: PUSH1 0x02 000009ce: PUSH1 0x00 000009d0: SWAP1 000009d1: SLOAD 000009d2: SWAP1 000009d3: PUSH2 0x0100 000009d6: EXP 000009d7: SWAP1 000009d8: DIV 000009d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ee: AND 000009ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a04: AND 00000a05: PUSH4 0x70a08231 00000a0a: PUSH2 0x0a11 00000a0d: PUSH2 0x21fa 00000a10: JUMP 00000a11: JUMPDEST 00000a12: PUSH1 0x40 00000a14: MLOAD 00000a15: DUP3 00000a16: PUSH4 0xffffffff 00000a1b: AND 00000a1c: PUSH1 0xe0 00000a1e: SHL 00000a1f: DUP2 00000a20: MSTORE 00000a21: PUSH1 0x04 00000a23: ADD 00000a24: DUP1 00000a25: DUP3 00000a26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a3b: AND 00000a3c: DUP2 00000a3d: MSTORE 00000a3e: PUSH1 0x20 00000a40: ADD 00000a41: SWAP2 00000a42: POP 00000a43: POP 00000a44: PUSH1 0x20 00000a46: PUSH1 0x40 00000a48: MLOAD 00000a49: DUP1 00000a4a: DUP4 00000a4b: SUB 00000a4c: DUP2 00000a4d: DUP7 00000a4e: DUP1 00000a4f: EXTCODESIZE 00000a50: ISZERO 00000a51: DUP1 00000a52: ISZERO 00000a53: PUSH2 0x0a5b 00000a56: JUMPI 00000a57: PUSH1 0x00 00000a59: DUP1 00000a5a: REVERT 00000a5b: JUMPDEST 00000a5c: POP 00000a5d: GAS 00000a5e: STATICCALL 00000a5f: ISZERO 00000a60: DUP1 00000a61: ISZERO 00000a62: PUSH2 0x0a6f 00000a65: JUMPI 00000a66: RETURNDATASIZE 00000a67: PUSH1 0x00 00000a69: DUP1 00000a6a: RETURNDATACOPY 00000a6b: RETURNDATASIZE 00000a6c: PUSH1 0x00 00000a6e: REVERT 00000a6f: JUMPDEST 00000a70: POP 00000a71: POP 00000a72: POP 00000a73: POP 00000a74: PUSH1 0x40 00000a76: MLOAD 00000a77: RETURNDATASIZE 00000a78: PUSH1 0x20 00000a7a: DUP2 00000a7b: LT 00000a7c: ISZERO 00000a7d: PUSH2 0x0a85 00000a80: JUMPI 00000a81: PUSH1 0x00 00000a83: DUP1 00000a84: REVERT 00000a85: JUMPDEST 00000a86: DUP2 00000a87: ADD 00000a88: SWAP1 00000a89: DUP1 00000a8a: DUP1 00000a8b: MLOAD 00000a8c: SWAP1 00000a8d: PUSH1 0x20 00000a8f: ADD 00000a90: SWAP1 00000a91: SWAP3 00000a92: SWAP2 00000a93: SWAP1 00000a94: POP 00000a95: POP 00000a96: POP 00000a97: DUP2 00000a98: GT 00000a99: ISZERO 00000a9a: PUSH2 0x0b0b 00000a9d: JUMPI 00000a9e: PUSH1 0x40 00000aa0: MLOAD 00000aa1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ac2: DUP2 00000ac3: MSTORE 00000ac4: PUSH1 0x04 00000ac6: ADD 00000ac7: DUP1 00000ac8: DUP1 00000ac9: PUSH1 0x20 00000acb: ADD 00000acc: DUP3 00000acd: DUP2 00000ace: SUB 00000acf: DUP3 00000ad0: MSTORE 00000ad1: PUSH1 0x1e 00000ad3: DUP2 00000ad4: MSTORE 00000ad5: PUSH1 0x20 00000ad7: ADD 00000ad8: DUP1 00000ad9: PUSH32 0x696e73756666696369656e742067617320746f6b656e2062616c616e63650000 00000afa: DUP2 00000afb: MSTORE 00000afc: POP 00000afd: PUSH1 0x20 00000aff: ADD 00000b00: SWAP2 00000b01: POP 00000b02: POP 00000b03: PUSH1 0x40 00000b05: MLOAD 00000b06: DUP1 00000b07: SWAP2 00000b08: SUB 00000b09: SWAP1 00000b0a: REVERT 00000b0b: JUMPDEST 00000b0c: PUSH1 0x09 00000b0e: PUSH1 0x00 00000b10: DUP2 00000b11: SLOAD 00000b12: DUP1 00000b13: SWAP3 00000b14: SWAP2 00000b15: SWAP1 00000b16: PUSH1 0x01 00000b18: ADD 00000b19: SWAP2 00000b1a: SWAP1 00000b1b: POP 00000b1c: SSTORE 00000b1d: POP 00000b1e: PUSH1 0x09 00000b20: SLOAD 00000b21: PUSH32 0x2390012f9f3f55c6cd486205a2705f3b0632a0171e531c6ff2105237107d3ebc 00000b42: PUSH2 0x0b49 00000b45: PUSH2 0x21fa 00000b48: JUMP 00000b49: JUMPDEST 00000b4a: DUP12 00000b4b: PUSH1 0x01 00000b4d: DUP13 00000b4e: CALLVALUE 00000b4f: DUP8 00000b50: PUSH1 0x40 00000b52: MLOAD 00000b53: DUP1 00000b54: DUP8 00000b55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b6a: AND 00000b6b: DUP2 00000b6c: MSTORE 00000b6d: PUSH1 0x20 00000b6f: ADD 00000b70: DUP7 00000b71: DUP2 00000b72: MSTORE 00000b73: PUSH1 0x20 00000b75: ADD 00000b76: DUP6 00000b77: ISZERO 00000b78: ISZERO 00000b79: DUP2 00000b7a: MSTORE 00000b7b: PUSH1 0x20 00000b7d: ADD 00000b7e: DUP5 00000b7f: DUP2 00000b80: MSTORE 00000b81: PUSH1 0x20 00000b83: ADD 00000b84: DUP4 00000b85: DUP2 00000b86: MSTORE 00000b87: PUSH1 0x20 00000b89: ADD 00000b8a: DUP3 00000b8b: DUP2 00000b8c: MSTORE 00000b8d: PUSH1 0x20 00000b8f: ADD 00000b90: SWAP7 00000b91: POP 00000b92: POP 00000b93: POP 00000b94: POP 00000b95: POP 00000b96: POP 00000b97: POP 00000b98: PUSH1 0x40 00000b9a: MLOAD 00000b9b: DUP1 00000b9c: SWAP2 00000b9d: SUB 00000b9e: SWAP1 00000b9f: LOG2 00000ba0: PUSH1 0x03 00000ba2: PUSH1 0x00 00000ba4: DUP11 00000ba5: DUP2 00000ba6: MSTORE 00000ba7: PUSH1 0x20 00000ba9: ADD 00000baa: SWAP1 00000bab: DUP2 00000bac: MSTORE 00000bad: PUSH1 0x20 00000baf: ADD 00000bb0: PUSH1 0x00 00000bb2: KECCAK256 00000bb3: PUSH1 0x00 00000bb5: SWAP1 00000bb6: SLOAD 00000bb7: SWAP1 00000bb8: PUSH2 0x0100 00000bbb: EXP 00000bbc: SWAP1 00000bbd: DIV 00000bbe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bd3: AND 00000bd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be9: AND 00000bea: PUSH4 0x40c10f19 00000bef: PUSH2 0x0bf6 00000bf2: PUSH2 0x21fa 00000bf5: JUMP 00000bf6: JUMPDEST 00000bf7: DUP11 00000bf8: PUSH1 0x40 00000bfa: MLOAD 00000bfb: DUP4 00000bfc: PUSH4 0xffffffff 00000c01: AND 00000c02: PUSH1 0xe0 00000c04: SHL 00000c05: DUP2 00000c06: MSTORE 00000c07: PUSH1 0x04 00000c09: ADD 00000c0a: DUP1 00000c0b: DUP4 00000c0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c21: AND 00000c22: DUP2 00000c23: MSTORE 00000c24: PUSH1 0x20 00000c26: ADD 00000c27: DUP3 00000c28: DUP2 00000c29: MSTORE 00000c2a: PUSH1 0x20 00000c2c: ADD 00000c2d: SWAP3 00000c2e: POP 00000c2f: POP 00000c30: POP 00000c31: PUSH1 0x00 00000c33: PUSH1 0x40 00000c35: MLOAD 00000c36: DUP1 00000c37: DUP4 00000c38: SUB 00000c39: DUP2 00000c3a: PUSH1 0x00 00000c3c: DUP8 00000c3d: DUP1 00000c3e: EXTCODESIZE 00000c3f: ISZERO 00000c40: DUP1 00000c41: ISZERO 00000c42: PUSH2 0x0c4a 00000c45: JUMPI 00000c46: PUSH1 0x00 00000c48: DUP1 00000c49: REVERT 00000c4a: JUMPDEST 00000c4b: POP 00000c4c: GAS 00000c4d: CALL 00000c4e: ISZERO 00000c4f: DUP1 00000c50: ISZERO 00000c51: PUSH2 0x0c5e 00000c54: JUMPI 00000c55: RETURNDATASIZE 00000c56: PUSH1 0x00 00000c58: DUP1 00000c59: RETURNDATACOPY 00000c5a: RETURNDATASIZE 00000c5b: PUSH1 0x00 00000c5d: REVERT 00000c5e: JUMPDEST 00000c5f: POP 00000c60: POP 00000c61: POP 00000c62: POP 00000c63: PUSH1 0x02 00000c65: PUSH1 0x00 00000c67: SWAP1 00000c68: SLOAD 00000c69: SWAP1 00000c6a: PUSH2 0x0100 00000c6d: EXP 00000c6e: SWAP1 00000c6f: DIV 00000c70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c85: AND 00000c86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c9b: AND 00000c9c: PUSH4 0x23b872dd 00000ca1: PUSH2 0x0ca8 00000ca4: PUSH2 0x21fa 00000ca7: JUMP 00000ca8: JUMPDEST 00000ca9: PUSH1 0x05 00000cab: PUSH1 0x00 00000cad: SWAP1 00000cae: SLOAD 00000caf: SWAP1 00000cb0: PUSH2 0x0100 00000cb3: EXP 00000cb4: SWAP1 00000cb5: DIV 00000cb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ccb: AND 00000ccc: DUP5 00000ccd: PUSH1 0x40 00000ccf: MLOAD 00000cd0: DUP5 00000cd1: PUSH4 0xffffffff 00000cd6: AND 00000cd7: PUSH1 0xe0 00000cd9: SHL 00000cda: DUP2 00000cdb: MSTORE 00000cdc: PUSH1 0x04 00000cde: ADD 00000cdf: DUP1 00000ce0: DUP5 00000ce1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cf6: AND 00000cf7: DUP2 00000cf8: MSTORE 00000cf9: PUSH1 0x20 00000cfb: ADD 00000cfc: DUP4 00000cfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d12: AND 00000d13: DUP2 00000d14: MSTORE 00000d15: PUSH1 0x20 00000d17: ADD 00000d18: DUP3 00000d19: DUP2 00000d1a: MSTORE 00000d1b: PUSH1 0x20 00000d1d: ADD 00000d1e: SWAP4 00000d1f: POP 00000d20: POP 00000d21: POP 00000d22: POP 00000d23: PUSH1 0x20 00000d25: PUSH1 0x40 00000d27: MLOAD 00000d28: DUP1 00000d29: DUP4 00000d2a: SUB 00000d2b: DUP2 00000d2c: PUSH1 0x00 00000d2e: DUP8 00000d2f: DUP1 00000d30: EXTCODESIZE 00000d31: ISZERO 00000d32: DUP1 00000d33: ISZERO 00000d34: PUSH2 0x0d3c 00000d37: JUMPI 00000d38: PUSH1 0x00 00000d3a: DUP1 00000d3b: REVERT 00000d3c: JUMPDEST 00000d3d: POP 00000d3e: GAS 00000d3f: CALL 00000d40: ISZERO 00000d41: DUP1 00000d42: ISZERO 00000d43: PUSH2 0x0d50 00000d46: JUMPI 00000d47: RETURNDATASIZE 00000d48: PUSH1 0x00 00000d4a: DUP1 00000d4b: RETURNDATACOPY 00000d4c: RETURNDATASIZE 00000d4d: PUSH1 0x00 00000d4f: REVERT 00000d50: JUMPDEST 00000d51: POP 00000d52: POP 00000d53: POP 00000d54: POP 00000d55: PUSH1 0x40 00000d57: MLOAD 00000d58: RETURNDATASIZE 00000d59: PUSH1 0x20 00000d5b: DUP2 00000d5c: LT 00000d5d: ISZERO 00000d5e: PUSH2 0x0d66 00000d61: JUMPI 00000d62: PUSH1 0x00 00000d64: DUP1 00000d65: REVERT 00000d66: JUMPDEST 00000d67: DUP2 00000d68: ADD 00000d69: SWAP1 00000d6a: DUP1 00000d6b: DUP1 00000d6c: MLOAD 00000d6d: SWAP1 00000d6e: PUSH1 0x20 00000d70: ADD 00000d71: SWAP1 00000d72: SWAP3 00000d73: SWAP2 00000d74: SWAP1 00000d75: POP 00000d76: POP 00000d77: POP 00000d78: POP 00000d79: PUSH1 0x08 00000d7b: SLOAD 00000d7c: SELFBALANCE 00000d7d: LT 00000d7e: PUSH2 0x0db2 00000d81: JUMPI 00000d82: PUSH2 0x0dad 00000d85: PUSH1 0x05 00000d87: PUSH1 0x00 00000d89: SWAP1 00000d8a: SLOAD 00000d8b: SWAP1 00000d8c: PUSH2 0x0100 00000d8f: EXP 00000d90: SWAP1 00000d91: DIV 00000d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da7: AND 00000da8: CALLVALUE 00000da9: PUSH2 0x2310 00000dac: JUMP 00000dad: JUMPDEST 00000dae: PUSH2 0x0dff 00000db1: JUMP 00000db2: JUMPDEST 00000db3: PUSH2 0x0dc7 00000db6: SELFBALANCE 00000db7: PUSH1 0x08 00000db9: SLOAD 00000dba: PUSH2 0x2330 00000dbd: SWAP1 00000dbe: SWAP2 00000dbf: SWAP1 00000dc0: PUSH4 0xffffffff 00000dc5: AND 00000dc6: JUMP 00000dc7: JUMPDEST 00000dc8: PUSH32 0xb4be0029a34928dd22f31169dfc7e4783427bb61fd5fde3172275f17a42ff8db 00000de9: TIMESTAMP 00000dea: PUSH1 0x40 00000dec: MLOAD 00000ded: DUP1 00000dee: DUP3 00000def: DUP2 00000df0: MSTORE 00000df1: PUSH1 0x20 00000df3: ADD 00000df4: SWAP2 00000df5: POP 00000df6: POP 00000df7: PUSH1 0x40 00000df9: MLOAD 00000dfa: DUP1 00000dfb: SWAP2 00000dfc: SUB 00000dfd: SWAP1 00000dfe: LOG2 00000dff: JUMPDEST 00000e00: POP 00000e01: POP 00000e02: POP 00000e03: PUSH1 0x01 00000e05: PUSH1 0x00 00000e07: DUP2 00000e08: SWAP1 00000e09: SSTORE 00000e0a: POP 00000e0b: POP 00000e0c: POP 00000e0d: POP 00000e0e: POP 00000e0f: POP 00000e10: POP 00000e11: JUMP 00000e12: JUMPDEST 00000e13: PUSH2 0x0e1a 00000e16: PUSH2 0x21fa 00000e19: JUMP 00000e1a: JUMPDEST 00000e1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e30: AND 00000e31: PUSH1 0x04 00000e33: PUSH1 0x00 00000e35: SWAP1 00000e36: SLOAD 00000e37: SWAP1 00000e38: PUSH2 0x0100 00000e3b: EXP 00000e3c: SWAP1 00000e3d: DIV 00000e3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e53: AND 00000e54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e69: AND 00000e6a: EQ 00000e6b: PUSH2 0x0edc 00000e6e: JUMPI 00000e6f: PUSH1 0x40 00000e71: MLOAD 00000e72: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e93: DUP2 00000e94: MSTORE 00000e95: PUSH1 0x04 00000e97: ADD 00000e98: DUP1 00000e99: DUP1 00000e9a: PUSH1 0x20 00000e9c: ADD 00000e9d: DUP3 00000e9e: DUP2 00000e9f: SUB 00000ea0: DUP3 00000ea1: MSTORE 00000ea2: PUSH1 0x12 00000ea4: DUP2 00000ea5: MSTORE 00000ea6: PUSH1 0x20 00000ea8: ADD 00000ea9: DUP1 00000eaa: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000 00000ecb: DUP2 00000ecc: MSTORE 00000ecd: POP 00000ece: PUSH1 0x20 00000ed0: ADD 00000ed1: SWAP2 00000ed2: POP 00000ed3: POP 00000ed4: PUSH1 0x40 00000ed6: MLOAD 00000ed7: DUP1 00000ed8: SWAP2 00000ed9: SUB 00000eda: SWAP1 00000edb: REVERT 00000edc: JUMPDEST 00000edd: DUP1 00000ede: PUSH1 0x04 00000ee0: PUSH1 0x00 00000ee2: PUSH2 0x0100 00000ee5: EXP 00000ee6: DUP2 00000ee7: SLOAD 00000ee8: DUP2 00000ee9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000efe: MUL 00000eff: NOT 00000f00: AND 00000f01: SWAP1 00000f02: DUP4 00000f03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f18: AND 00000f19: MUL 00000f1a: OR 00000f1b: SWAP1 00000f1c: SSTORE 00000f1d: POP 00000f1e: POP 00000f1f: JUMP 00000f20: JUMPDEST 00000f21: PUSH2 0x0f28 00000f24: PUSH2 0x21fa 00000f27: JUMP 00000f28: JUMPDEST 00000f29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f3e: AND 00000f3f: PUSH1 0x04 00000f41: PUSH1 0x00 00000f43: SWAP1 00000f44: SLOAD 00000f45: SWAP1 00000f46: PUSH2 0x0100 00000f49: EXP 00000f4a: SWAP1 00000f4b: DIV 00000f4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f61: AND 00000f62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f77: AND 00000f78: EQ 00000f79: PUSH2 0x0fea 00000f7c: JUMPI 00000f7d: PUSH1 0x40 00000f7f: MLOAD 00000f80: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fa1: DUP2 00000fa2: MSTORE 00000fa3: PUSH1 0x04 00000fa5: ADD 00000fa6: DUP1 00000fa7: DUP1 00000fa8: PUSH1 0x20 00000faa: ADD 00000fab: DUP3 00000fac: DUP2 00000fad: SUB 00000fae: DUP3 00000faf: MSTORE 00000fb0: PUSH1 0x12 00000fb2: DUP2 00000fb3: MSTORE 00000fb4: PUSH1 0x20 00000fb6: ADD 00000fb7: DUP1 00000fb8: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000 00000fd9: DUP2 00000fda: MSTORE 00000fdb: POP 00000fdc: PUSH1 0x20 00000fde: ADD 00000fdf: SWAP2 00000fe0: POP 00000fe1: POP 00000fe2: PUSH1 0x40 00000fe4: MLOAD 00000fe5: DUP1 00000fe6: SWAP2 00000fe7: SUB 00000fe8: SWAP1 00000fe9: REVERT 00000fea: JUMPDEST 00000feb: DUP1 00000fec: PUSH1 0x08 00000fee: DUP2 00000fef: SWAP1 00000ff0: SSTORE 00000ff1: POP 00000ff2: POP 00000ff3: JUMP 00000ff4: JUMPDEST 00000ff5: PUSH2 0x0ffc 00000ff8: PUSH2 0x21fa 00000ffb: JUMP 00000ffc: JUMPDEST 00000ffd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001012: AND 00001013: PUSH1 0x04 00001015: PUSH1 0x00 00001017: SWAP1 00001018: SLOAD 00001019: SWAP1 0000101a: PUSH2 0x0100 0000101d: EXP 0000101e: SWAP1 0000101f: DIV 00001020: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001035: AND 00001036: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000104b: AND 0000104c: EQ 0000104d: PUSH2 0x10be 00001050: JUMPI 00001051: PUSH1 0x40 00001053: MLOAD 00001054: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001075: DUP2 00001076: MSTORE 00001077: PUSH1 0x04 00001079: ADD 0000107a: DUP1 0000107b: DUP1 0000107c: PUSH1 0x20 0000107e: ADD 0000107f: DUP3 00001080: DUP2 00001081: SUB 00001082: DUP3 00001083: MSTORE 00001084: PUSH1 0x12 00001086: DUP2 00001087: MSTORE 00001088: PUSH1 0x20 0000108a: ADD 0000108b: DUP1 0000108c: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000 000010ad: DUP2 000010ae: MSTORE 000010af: POP 000010b0: PUSH1 0x20 000010b2: ADD 000010b3: SWAP2 000010b4: POP 000010b5: POP 000010b6: PUSH1 0x40 000010b8: MLOAD 000010b9: DUP1 000010ba: SWAP2 000010bb: SUB 000010bc: SWAP1 000010bd: REVERT 000010be: JUMPDEST 000010bf: DUP1 000010c0: PUSH1 0x06 000010c2: DUP2 000010c3: SWAP1 000010c4: SSTORE 000010c5: POP 000010c6: POP 000010c7: JUMP 000010c8: JUMPDEST 000010c9: PUSH2 0x10d0 000010cc: PUSH2 0x21fa 000010cf: JUMP 000010d0: JUMPDEST 000010d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e6: AND 000010e7: PUSH1 0x04 000010e9: PUSH1 0x00 000010eb: SWAP1 000010ec: SLOAD 000010ed: SWAP1 000010ee: PUSH2 0x0100 000010f1: EXP 000010f2: SWAP1 000010f3: DIV 000010f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001109: AND 0000110a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000111f: AND 00001120: EQ 00001121: PUSH2 0x1192 00001124: JUMPI 00001125: PUSH1 0x40 00001127: MLOAD 00001128: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001149: DUP2 0000114a: MSTORE 0000114b: PUSH1 0x04 0000114d: ADD 0000114e: DUP1 0000114f: DUP1 00001150: PUSH1 0x20 00001152: ADD 00001153: DUP3 00001154: DUP2 00001155: SUB 00001156: DUP3 00001157: MSTORE 00001158: PUSH1 0x12 0000115a: DUP2 0000115b: MSTORE 0000115c: PUSH1 0x20 0000115e: ADD 0000115f: DUP1 00001160: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000 00001181: DUP2 00001182: MSTORE 00001183: POP 00001184: PUSH1 0x20 00001186: ADD 00001187: SWAP2 00001188: POP 00001189: POP 0000118a: PUSH1 0x40 0000118c: MLOAD 0000118d: DUP1 0000118e: SWAP2 0000118f: SUB 00001190: SWAP1 00001191: REVERT 00001192: JUMPDEST 00001193: DUP1 00001194: PUSH1 0x07 00001196: DUP2 00001197: SWAP1 00001198: SSTORE 00001199: POP 0000119a: POP 0000119b: JUMP 0000119c: JUMPDEST 0000119d: PUSH1 0x00 0000119f: PUSH1 0x08 000011a1: SLOAD 000011a2: SWAP1 000011a3: POP 000011a4: SWAP1 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH1 0x00 000011a9: PUSH1 0x04 000011ab: PUSH1 0x00 000011ad: SWAP1 000011ae: SLOAD 000011af: SWAP1 000011b0: PUSH2 0x0100 000011b3: EXP 000011b4: SWAP1 000011b5: DIV 000011b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011cb: AND 000011cc: SWAP1 000011cd: POP 000011ce: SWAP1 000011cf: JUMP 000011d0: JUMPDEST 000011d1: PUSH2 0x11d8 000011d4: PUSH2 0x21fa 000011d7: JUMP 000011d8: JUMPDEST 000011d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011ee: AND 000011ef: PUSH1 0x01 000011f1: PUSH1 0x00 000011f3: SWAP1 000011f4: SLOAD 000011f5: SWAP1 000011f6: PUSH2 0x0100 000011f9: EXP 000011fa: SWAP1 000011fb: DIV 000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001211: AND 00001212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001227: AND 00001228: EQ 00001229: PUSH2 0x129a 0000122c: JUMPI 0000122d: PUSH1 0x40 0000122f: MLOAD 00001230: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001251: DUP2 00001252: MSTORE 00001253: PUSH1 0x04 00001255: ADD 00001256: DUP1 00001257: DUP1 00001258: PUSH1 0x20 0000125a: ADD 0000125b: DUP3 0000125c: DUP2 0000125d: SUB 0000125e: DUP3 0000125f: MSTORE 00001260: PUSH1 0x20 00001262: DUP2 00001263: MSTORE 00001264: PUSH1 0x20 00001266: ADD 00001267: DUP1 00001268: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001289: DUP2 0000128a: MSTORE 0000128b: POP 0000128c: PUSH1 0x20 0000128e: ADD 0000128f: SWAP2 00001290: POP 00001291: POP 00001292: PUSH1 0x40 00001294: MLOAD 00001295: DUP1 00001296: SWAP2 00001297: SUB 00001298: SWAP1 00001299: REVERT 0000129a: JUMPDEST 0000129b: PUSH1 0x00 0000129d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b2: AND 000012b3: PUSH1 0x01 000012b5: PUSH1 0x00 000012b7: SWAP1 000012b8: SLOAD 000012b9: SWAP1 000012ba: PUSH2 0x0100 000012bd: EXP 000012be: SWAP1 000012bf: DIV 000012c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012d5: AND 000012d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012eb: AND 000012ec: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 0000130d: PUSH1 0x40 0000130f: MLOAD 00001310: PUSH1 0x40 00001312: MLOAD 00001313: DUP1 00001314: SWAP2 00001315: SUB 00001316: SWAP1 00001317: LOG3 00001318: PUSH1 0x00 0000131a: PUSH1 0x01 0000131c: PUSH1 0x00 0000131e: PUSH2 0x0100 00001321: EXP 00001322: DUP2 00001323: SLOAD 00001324: DUP2 00001325: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000133a: MUL 0000133b: NOT 0000133c: AND 0000133d: SWAP1 0000133e: DUP4 0000133f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001354: AND 00001355: MUL 00001356: OR 00001357: SWAP1 00001358: SSTORE 00001359: POP 0000135a: JUMP 0000135b: JUMPDEST 0000135c: PUSH1 0x00 0000135e: PUSH1 0x06 00001360: SLOAD 00001361: SWAP1 00001362: POP 00001363: SWAP1 00001364: JUMP 00001365: JUMPDEST 00001366: PUSH1 0x00 00001368: PUSH1 0x01 0000136a: PUSH1 0x00 0000136c: SWAP1 0000136d: SLOAD 0000136e: SWAP1 0000136f: PUSH2 0x0100 00001372: EXP 00001373: SWAP1 00001374: DIV 00001375: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000138a: AND 0000138b: SWAP1 0000138c: POP 0000138d: SWAP1 0000138e: JUMP 0000138f: JUMPDEST 00001390: PUSH1 0x02 00001392: PUSH1 0x00 00001394: SLOAD 00001395: EQ 00001396: ISZERO 00001397: PUSH2 0x1408 0000139a: JUMPI 0000139b: PUSH1 0x40 0000139d: MLOAD 0000139e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013bf: DUP2 000013c0: MSTORE 000013c1: PUSH1 0x04 000013c3: ADD 000013c4: DUP1 000013c5: DUP1 000013c6: PUSH1 0x20 000013c8: ADD 000013c9: DUP3 000013ca: DUP2 000013cb: SUB 000013cc: DUP3 000013cd: MSTORE 000013ce: PUSH1 0x1f 000013d0: DUP2 000013d1: MSTORE 000013d2: PUSH1 0x20 000013d4: ADD 000013d5: DUP1 000013d6: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000013f7: DUP2 000013f8: MSTORE 000013f9: POP 000013fa: PUSH1 0x20 000013fc: ADD 000013fd: SWAP2 000013fe: POP 000013ff: POP 00001400: PUSH1 0x40 00001402: MLOAD 00001403: DUP1 00001404: SWAP2 00001405: SUB 00001406: SWAP1 00001407: REVERT 00001408: JUMPDEST 00001409: PUSH1 0x02 0000140b: PUSH1 0x00 0000140d: DUP2 0000140e: SWAP1 0000140f: SSTORE 00001410: POP 00001411: PUSH1 0x00 00001413: DUP7 00001414: GT 00001415: PUSH2 0x1486 00001418: JUMPI 00001419: PUSH1 0x40 0000141b: MLOAD 0000141c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000143d: DUP2 0000143e: MSTORE 0000143f: PUSH1 0x04 00001441: ADD 00001442: DUP1 00001443: DUP1 00001444: PUSH1 0x20 00001446: ADD 00001447: DUP3 00001448: DUP2 00001449: SUB 0000144a: DUP3 0000144b: MSTORE 0000144c: PUSH1 0x1f 0000144e: DUP2 0000144f: MSTORE 00001450: PUSH1 0x20 00001452: ADD 00001453: DUP1 00001454: PUSH32 0x4d7573742073656c65637420616e20616d6f756e74206f6620746f6b656e7300 00001475: DUP2 00001476: MSTORE 00001477: POP 00001478: PUSH1 0x20 0000147a: ADD 0000147b: SWAP2 0000147c: POP 0000147d: POP 0000147e: PUSH1 0x40 00001480: MLOAD 00001481: DUP1 00001482: SWAP2 00001483: SUB 00001484: SWAP1 00001485: REVERT 00001486: JUMPDEST 00001487: PUSH1 0x00 00001489: DUP6 0000148a: GT 0000148b: PUSH2 0x14fc 0000148e: JUMPI 0000148f: PUSH1 0x40 00001491: MLOAD 00001492: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000014b3: DUP2 000014b4: MSTORE 000014b5: PUSH1 0x04 000014b7: ADD 000014b8: DUP1 000014b9: DUP1 000014ba: PUSH1 0x20 000014bc: ADD 000014bd: DUP3 000014be: DUP2 000014bf: SUB 000014c0: DUP3 000014c1: MSTORE 000014c2: PUSH1 0x1f 000014c4: DUP2 000014c5: MSTORE 000014c6: PUSH1 0x20 000014c8: ADD 000014c9: DUP1 000014ca: PUSH32 0x746f74616c206d7573742062652067726561746572207468616e207a65726f00 000014eb: DUP2 000014ec: MSTORE 000014ed: POP 000014ee: PUSH1 0x20 000014f0: ADD 000014f1: SWAP2 000014f2: POP 000014f3: POP 000014f4: PUSH1 0x40 000014f6: MLOAD 000014f7: DUP1 000014f8: SWAP2 000014f9: SUB 000014fa: SWAP1 000014fb: REVERT 000014fc: JUMPDEST 000014fd: PUSH1 0x03 000014ff: PUSH1 0x00 00001501: DUP9 00001502: DUP2 00001503: MSTORE 00001504: PUSH1 0x20 00001506: ADD 00001507: SWAP1 00001508: DUP2 00001509: MSTORE 0000150a: PUSH1 0x20 0000150c: ADD 0000150d: PUSH1 0x00 0000150f: KECCAK256 00001510: PUSH1 0x00 00001512: SWAP1 00001513: SLOAD 00001514: SWAP1 00001515: PUSH2 0x0100 00001518: EXP 00001519: SWAP1 0000151a: DIV 0000151b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001530: AND 00001531: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001546: AND 00001547: PUSH4 0x70a08231 0000154c: PUSH2 0x1553 0000154f: PUSH2 0x21fa 00001552: JUMP 00001553: JUMPDEST 00001554: PUSH1 0x40 00001556: MLOAD 00001557: DUP3 00001558: PUSH4 0xffffffff 0000155d: AND 0000155e: PUSH1 0xe0 00001560: SHL 00001561: DUP2 00001562: MSTORE 00001563: PUSH1 0x04 00001565: ADD 00001566: DUP1 00001567: DUP3 00001568: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000157d: AND 0000157e: DUP2 0000157f: MSTORE 00001580: PUSH1 0x20 00001582: ADD 00001583: SWAP2 00001584: POP 00001585: POP 00001586: PUSH1 0x20 00001588: PUSH1 0x40 0000158a: MLOAD 0000158b: DUP1 0000158c: DUP4 0000158d: SUB 0000158e: DUP2 0000158f: DUP7 00001590: DUP1 00001591: EXTCODESIZE 00001592: ISZERO 00001593: DUP1 00001594: ISZERO 00001595: PUSH2 0x159d 00001598: JUMPI 00001599: PUSH1 0x00 0000159b: DUP1 0000159c: REVERT 0000159d: JUMPDEST 0000159e: POP 0000159f: GAS 000015a0: STATICCALL 000015a1: ISZERO 000015a2: DUP1 000015a3: ISZERO 000015a4: PUSH2 0x15b1 000015a7: JUMPI 000015a8: RETURNDATASIZE 000015a9: PUSH1 0x00 000015ab: DUP1 000015ac: RETURNDATACOPY 000015ad: RETURNDATASIZE 000015ae: PUSH1 0x00 000015b0: REVERT 000015b1: JUMPDEST 000015b2: POP 000015b3: POP 000015b4: POP 000015b5: POP 000015b6: PUSH1 0x40 000015b8: MLOAD 000015b9: RETURNDATASIZE 000015ba: PUSH1 0x20 000015bc: DUP2 000015bd: LT 000015be: ISZERO 000015bf: PUSH2 0x15c7 000015c2: JUMPI 000015c3: PUSH1 0x00 000015c5: DUP1 000015c6: REVERT 000015c7: JUMPDEST 000015c8: DUP2 000015c9: ADD 000015ca: SWAP1 000015cb: DUP1 000015cc: DUP1 000015cd: MLOAD 000015ce: SWAP1 000015cf: PUSH1 0x20 000015d1: ADD 000015d2: SWAP1 000015d3: SWAP3 000015d4: SWAP2 000015d5: SWAP1 000015d6: POP 000015d7: POP 000015d8: POP 000015d9: DUP7 000015da: GT 000015db: ISZERO 000015dc: PUSH2 0x164d 000015df: JUMPI 000015e0: PUSH1 0x40 000015e2: MLOAD 000015e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001604: DUP2 00001605: MSTORE 00001606: PUSH1 0x04 00001608: ADD 00001609: DUP1 0000160a: DUP1 0000160b: PUSH1 0x20 0000160d: ADD 0000160e: DUP3 0000160f: DUP2 00001610: SUB 00001611: DUP3 00001612: MSTORE 00001613: PUSH1 0x1d 00001615: DUP2 00001616: MSTORE 00001617: PUSH1 0x20 00001619: ADD 0000161a: DUP1 0000161b: PUSH32 0x43616e6e6f742073656c6c206d6f7265207468616e2062616c616e6365000000 0000163c: DUP2 0000163d: MSTORE 0000163e: POP 0000163f: PUSH1 0x20 00001641: ADD 00001642: SWAP2 00001643: POP 00001644: POP 00001645: PUSH1 0x40 00001647: MLOAD 00001648: DUP1 00001649: SWAP2 0000164a: SUB 0000164b: SWAP1 0000164c: REVERT 0000164d: JUMPDEST 0000164e: PUSH1 0x00 00001650: PUSH2 0x1657 00001653: PUSH2 0x21fa 00001656: JUMP 00001657: JUMPDEST 00001658: DUP9 00001659: DUP9 0000165a: DUP9 0000165b: DUP9 0000165c: PUSH1 0x40 0000165e: MLOAD 0000165f: PUSH1 0x20 00001661: ADD 00001662: DUP1 00001663: DUP7 00001664: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001679: AND 0000167a: DUP2 0000167b: MSTORE 0000167c: PUSH1 0x20 0000167e: ADD 0000167f: DUP6 00001680: DUP2 00001681: MSTORE 00001682: PUSH1 0x20 00001684: ADD 00001685: DUP5 00001686: DUP2 00001687: MSTORE 00001688: PUSH1 0x20 0000168a: ADD 0000168b: DUP4 0000168c: DUP2 0000168d: MSTORE 0000168e: PUSH1 0x20 00001690: ADD 00001691: DUP3 00001692: DUP2 00001693: MSTORE 00001694: PUSH1 0x20 00001696: ADD 00001697: SWAP6 00001698: POP 00001699: POP 0000169a: POP 0000169b: POP 0000169c: POP 0000169d: POP 0000169e: PUSH1 0x40 000016a0: MLOAD 000016a1: PUSH1 0x20 000016a3: DUP2 000016a4: DUP4 000016a5: SUB 000016a6: SUB 000016a7: DUP2 000016a8: MSTORE 000016a9: SWAP1 000016aa: PUSH1 0x40 000016ac: MSTORE 000016ad: DUP1 000016ae: MLOAD 000016af: SWAP1 000016b0: PUSH1 0x20 000016b2: ADD 000016b3: KECCAK256 000016b4: SWAP1 000016b5: POP 000016b6: PUSH1 0x00 000016b8: PUSH1 0x01 000016ba: DUP3 000016bb: DUP7 000016bc: DUP7 000016bd: DUP7 000016be: PUSH1 0x40 000016c0: MLOAD 000016c1: PUSH1 0x00 000016c3: DUP2 000016c4: MSTORE 000016c5: PUSH1 0x20 000016c7: ADD 000016c8: PUSH1 0x40 000016ca: MSTORE 000016cb: PUSH1 0x40 000016cd: MLOAD 000016ce: DUP1 000016cf: DUP6 000016d0: DUP2 000016d1: MSTORE 000016d2: PUSH1 0x20 000016d4: ADD 000016d5: DUP5 000016d6: PUSH1 0xff 000016d8: AND 000016d9: DUP2 000016da: MSTORE 000016db: PUSH1 0x20 000016dd: ADD 000016de: DUP4 000016df: DUP2 000016e0: MSTORE 000016e1: PUSH1 0x20 000016e3: ADD 000016e4: DUP3 000016e5: DUP2 000016e6: MSTORE 000016e7: PUSH1 0x20 000016e9: ADD 000016ea: SWAP5 000016eb: POP 000016ec: POP 000016ed: POP 000016ee: POP 000016ef: POP 000016f0: PUSH1 0x20 000016f2: PUSH1 0x40 000016f4: MLOAD 000016f5: PUSH1 0x20 000016f7: DUP2 000016f8: SUB 000016f9: SWAP1 000016fa: DUP1 000016fb: DUP5 000016fc: SUB 000016fd: SWAP1 000016fe: DUP6 000016ff: GAS 00001700: STATICCALL 00001701: ISZERO 00001702: DUP1 00001703: ISZERO 00001704: PUSH2 0x1711 00001707: JUMPI 00001708: RETURNDATASIZE 00001709: PUSH1 0x00 0000170b: DUP1 0000170c: RETURNDATACOPY 0000170d: RETURNDATASIZE 0000170e: PUSH1 0x00 00001710: REVERT 00001711: JUMPDEST 00001712: POP 00001713: POP 00001714: POP 00001715: PUSH1 0x20 00001717: PUSH1 0x40 00001719: MLOAD 0000171a: SUB 0000171b: MLOAD 0000171c: SWAP1 0000171d: POP 0000171e: PUSH1 0x04 00001720: PUSH1 0x00 00001722: SWAP1 00001723: SLOAD 00001724: SWAP1 00001725: PUSH2 0x0100 00001728: EXP 00001729: SWAP1 0000172a: DIV 0000172b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001740: AND 00001741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001756: AND 00001757: DUP2 00001758: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000176d: AND 0000176e: EQ 0000176f: PUSH2 0x17e0 00001772: JUMPI 00001773: PUSH1 0x40 00001775: MLOAD 00001776: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001797: DUP2 00001798: MSTORE 00001799: PUSH1 0x04 0000179b: ADD 0000179c: DUP1 0000179d: DUP1 0000179e: PUSH1 0x20 000017a0: ADD 000017a1: DUP3 000017a2: DUP2 000017a3: SUB 000017a4: DUP3 000017a5: MSTORE 000017a6: PUSH1 0x11 000017a8: DUP2 000017a9: MSTORE 000017aa: PUSH1 0x20 000017ac: ADD 000017ad: DUP1 000017ae: PUSH32 0x496e76616c6964207369676e6174757265000000000000000000000000000000 000017cf: DUP2 000017d0: MSTORE 000017d1: POP 000017d2: PUSH1 0x20 000017d4: ADD 000017d5: SWAP2 000017d6: POP 000017d7: POP 000017d8: PUSH1 0x40 000017da: MLOAD 000017db: DUP1 000017dc: SWAP2 000017dd: SUB 000017de: SWAP1 000017df: REVERT 000017e0: JUMPDEST 000017e1: TIMESTAMP 000017e2: PUSH2 0x17f6 000017e5: PUSH1 0x07 000017e7: SLOAD 000017e8: DUP9 000017e9: PUSH2 0x2202 000017ec: SWAP1 000017ed: SWAP2 000017ee: SWAP1 000017ef: PUSH4 0xffffffff 000017f4: AND 000017f5: JUMP 000017f6: JUMPDEST 000017f7: GT 000017f8: PUSH2 0x1869 000017fb: JUMPI 000017fc: PUSH1 0x40 000017fe: MLOAD 000017ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001820: DUP2 00001821: MSTORE 00001822: PUSH1 0x04 00001824: ADD 00001825: DUP1 00001826: DUP1 00001827: PUSH1 0x20 00001829: ADD 0000182a: DUP3 0000182b: DUP2 0000182c: SUB 0000182d: DUP3 0000182e: MSTORE 0000182f: PUSH1 0x0d 00001831: DUP2 00001832: MSTORE 00001833: PUSH1 0x20 00001835: ADD 00001836: DUP1 00001837: PUSH32 0x45787069726564204f7264657200000000000000000000000000000000000000 00001858: DUP2 00001859: MSTORE 0000185a: POP 0000185b: PUSH1 0x20 0000185d: ADD 0000185e: SWAP2 0000185f: POP 00001860: POP 00001861: PUSH1 0x40 00001863: MLOAD 00001864: DUP1 00001865: SWAP2 00001866: SUB 00001867: SWAP1 00001868: REVERT 00001869: JUMPDEST 0000186a: SELFBALANCE 0000186b: DUP8 0000186c: GT 0000186d: ISZERO 0000186e: PUSH2 0x18c2 00001871: JUMPI 00001872: PUSH1 0x40 00001874: MLOAD 00001875: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001896: DUP2 00001897: MSTORE 00001898: PUSH1 0x04 0000189a: ADD 0000189b: DUP1 0000189c: DUP1 0000189d: PUSH1 0x20 0000189f: ADD 000018a0: DUP3 000018a1: DUP2 000018a2: SUB 000018a3: DUP3 000018a4: MSTORE 000018a5: PUSH1 0x23 000018a7: DUP2 000018a8: MSTORE 000018a9: PUSH1 0x20 000018ab: ADD 000018ac: DUP1 000018ad: PUSH2 0x25d5 000018b0: PUSH1 0x23 000018b2: SWAP2 000018b3: CODECOPY 000018b4: PUSH1 0x40 000018b6: ADD 000018b7: SWAP2 000018b8: POP 000018b9: POP 000018ba: PUSH1 0x40 000018bc: MLOAD 000018bd: DUP1 000018be: SWAP2 000018bf: SUB 000018c0: SWAP1 000018c1: REVERT 000018c2: JUMPDEST 000018c3: PUSH1 0x00 000018c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018da: AND 000018db: PUSH1 0x03 000018dd: PUSH1 0x00 000018df: DUP12 000018e0: DUP2 000018e1: MSTORE 000018e2: PUSH1 0x20 000018e4: ADD 000018e5: SWAP1 000018e6: DUP2 000018e7: MSTORE 000018e8: PUSH1 0x20 000018ea: ADD 000018eb: PUSH1 0x00 000018ed: KECCAK256 000018ee: PUSH1 0x00 000018f0: SWAP1 000018f1: SLOAD 000018f2: SWAP1 000018f3: PUSH2 0x0100 000018f6: EXP 000018f7: SWAP1 000018f8: DIV 000018f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000190e: AND 0000190f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001924: AND 00001925: EQ 00001926: ISZERO 00001927: PUSH2 0x1998 0000192a: JUMPI 0000192b: PUSH1 0x40 0000192d: MLOAD 0000192e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000194f: DUP2 00001950: MSTORE 00001951: PUSH1 0x04 00001953: ADD 00001954: DUP1 00001955: DUP1 00001956: PUSH1 0x20 00001958: ADD 00001959: DUP3 0000195a: DUP2 0000195b: SUB 0000195c: DUP3 0000195d: MSTORE 0000195e: PUSH1 0x11 00001960: DUP2 00001961: MSTORE 00001962: PUSH1 0x20 00001964: ADD 00001965: DUP1 00001966: PUSH32 0x756e737570706f72746564206173736574000000000000000000000000000000 00001987: DUP2 00001988: MSTORE 00001989: POP 0000198a: PUSH1 0x20 0000198c: ADD 0000198d: SWAP2 0000198e: POP 0000198f: POP 00001990: PUSH1 0x40 00001992: MLOAD 00001993: DUP1 00001994: SWAP2 00001995: SUB 00001996: SWAP1 00001997: REVERT 00001998: JUMPDEST 00001999: PUSH1 0x00 0000199b: PUSH2 0x19af 0000199e: PUSH1 0x06 000019a0: SLOAD 000019a1: DUP10 000019a2: PUSH2 0x228a 000019a5: SWAP1 000019a6: SWAP2 000019a7: SWAP1 000019a8: PUSH4 0xffffffff 000019ad: AND 000019ae: JUMP 000019af: JUMPDEST 000019b0: SWAP1 000019b1: POP 000019b2: PUSH1 0x02 000019b4: PUSH1 0x00 000019b6: SWAP1 000019b7: SLOAD 000019b8: SWAP1 000019b9: PUSH2 0x0100 000019bc: EXP 000019bd: SWAP1 000019be: DIV 000019bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019d4: AND 000019d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ea: AND 000019eb: PUSH4 0x70a08231 000019f0: PUSH2 0x19f7 000019f3: PUSH2 0x21fa 000019f6: JUMP 000019f7: JUMPDEST 000019f8: PUSH1 0x40 000019fa: MLOAD 000019fb: DUP3 000019fc: PUSH4 0xffffffff 00001a01: AND 00001a02: PUSH1 0xe0 00001a04: SHL 00001a05: DUP2 00001a06: MSTORE 00001a07: PUSH1 0x04 00001a09: ADD 00001a0a: DUP1 00001a0b: DUP3 00001a0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a21: AND 00001a22: DUP2 00001a23: MSTORE 00001a24: PUSH1 0x20 00001a26: ADD 00001a27: SWAP2 00001a28: POP 00001a29: POP 00001a2a: PUSH1 0x20 00001a2c: PUSH1 0x40 00001a2e: MLOAD 00001a2f: DUP1 00001a30: DUP4 00001a31: SUB 00001a32: DUP2 00001a33: DUP7 00001a34: DUP1 00001a35: EXTCODESIZE 00001a36: ISZERO 00001a37: DUP1 00001a38: ISZERO 00001a39: PUSH2 0x1a41 00001a3c: JUMPI 00001a3d: PUSH1 0x00 00001a3f: DUP1 00001a40: REVERT 00001a41: JUMPDEST 00001a42: POP 00001a43: GAS 00001a44: STATICCALL 00001a45: ISZERO 00001a46: DUP1 00001a47: ISZERO 00001a48: PUSH2 0x1a55 00001a4b: JUMPI 00001a4c: RETURNDATASIZE 00001a4d: PUSH1 0x00 00001a4f: DUP1 00001a50: RETURNDATACOPY 00001a51: RETURNDATASIZE 00001a52: PUSH1 0x00 00001a54: REVERT 00001a55: JUMPDEST 00001a56: POP 00001a57: POP 00001a58: POP 00001a59: POP 00001a5a: PUSH1 0x40 00001a5c: MLOAD 00001a5d: RETURNDATASIZE 00001a5e: PUSH1 0x20 00001a60: DUP2 00001a61: LT 00001a62: ISZERO 00001a63: PUSH2 0x1a6b 00001a66: JUMPI 00001a67: PUSH1 0x00 00001a69: DUP1 00001a6a: REVERT 00001a6b: JUMPDEST 00001a6c: DUP2 00001a6d: ADD 00001a6e: SWAP1 00001a6f: DUP1 00001a70: DUP1 00001a71: MLOAD 00001a72: SWAP1 00001a73: PUSH1 0x20 00001a75: ADD 00001a76: SWAP1 00001a77: SWAP3 00001a78: SWAP2 00001a79: SWAP1 00001a7a: POP 00001a7b: POP 00001a7c: POP 00001a7d: DUP2 00001a7e: GT 00001a7f: ISZERO 00001a80: PUSH2 0x1af1 00001a83: JUMPI 00001a84: PUSH1 0x40 00001a86: MLOAD 00001a87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001aa8: DUP2 00001aa9: MSTORE 00001aaa: PUSH1 0x04 00001aac: ADD 00001aad: DUP1 00001aae: DUP1 00001aaf: PUSH1 0x20 00001ab1: ADD 00001ab2: DUP3 00001ab3: DUP2 00001ab4: SUB 00001ab5: DUP3 00001ab6: MSTORE 00001ab7: PUSH1 0x1e 00001ab9: DUP2 00001aba: MSTORE 00001abb: PUSH1 0x20 00001abd: ADD 00001abe: DUP1 00001abf: PUSH32 0x696e73756666696369656e742067617320746f6b656e2062616c616e63650000 00001ae0: DUP2 00001ae1: MSTORE 00001ae2: POP 00001ae3: PUSH1 0x20 00001ae5: ADD 00001ae6: SWAP2 00001ae7: POP 00001ae8: POP 00001ae9: PUSH1 0x40 00001aeb: MLOAD 00001aec: DUP1 00001aed: SWAP2 00001aee: SUB 00001aef: SWAP1 00001af0: REVERT 00001af1: JUMPDEST 00001af2: PUSH1 0x09 00001af4: PUSH1 0x00 00001af6: DUP2 00001af7: SLOAD 00001af8: DUP1 00001af9: SWAP3 00001afa: SWAP2 00001afb: SWAP1 00001afc: PUSH1 0x01 00001afe: ADD 00001aff: SWAP2 00001b00: SWAP1 00001b01: POP 00001b02: SSTORE 00001b03: POP 00001b04: PUSH1 0x09 00001b06: SLOAD 00001b07: PUSH32 0x2390012f9f3f55c6cd486205a2705f3b0632a0171e531c6ff2105237107d3ebc 00001b28: PUSH2 0x1b2f 00001b2b: PUSH2 0x21fa 00001b2e: JUMP 00001b2f: JUMPDEST 00001b30: DUP13 00001b31: PUSH1 0x00 00001b33: DUP14 00001b34: DUP14 00001b35: DUP8 00001b36: PUSH1 0x40 00001b38: MLOAD 00001b39: DUP1 00001b3a: DUP8 00001b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b50: AND 00001b51: DUP2 00001b52: MSTORE 00001b53: PUSH1 0x20 00001b55: ADD 00001b56: DUP7 00001b57: DUP2 00001b58: MSTORE 00001b59: PUSH1 0x20 00001b5b: ADD 00001b5c: DUP6 00001b5d: ISZERO 00001b5e: ISZERO 00001b5f: DUP2 00001b60: MSTORE 00001b61: PUSH1 0x20 00001b63: ADD 00001b64: DUP5 00001b65: DUP2 00001b66: MSTORE 00001b67: PUSH1 0x20 00001b69: ADD 00001b6a: DUP4 00001b6b: DUP2 00001b6c: MSTORE 00001b6d: PUSH1 0x20 00001b6f: ADD 00001b70: DUP3 00001b71: DUP2 00001b72: MSTORE 00001b73: PUSH1 0x20 00001b75: ADD 00001b76: SWAP7 00001b77: POP 00001b78: POP 00001b79: POP 00001b7a: POP 00001b7b: POP 00001b7c: POP 00001b7d: POP 00001b7e: PUSH1 0x40 00001b80: MLOAD 00001b81: DUP1 00001b82: SWAP2 00001b83: SUB 00001b84: SWAP1 00001b85: LOG2 00001b86: PUSH1 0x03 00001b88: PUSH1 0x00 00001b8a: DUP12 00001b8b: DUP2 00001b8c: MSTORE 00001b8d: PUSH1 0x20 00001b8f: ADD 00001b90: SWAP1 00001b91: DUP2 00001b92: MSTORE 00001b93: PUSH1 0x20 00001b95: ADD 00001b96: PUSH1 0x00 00001b98: KECCAK256 00001b99: PUSH1 0x00 00001b9b: SWAP1 00001b9c: SLOAD 00001b9d: SWAP1 00001b9e: PUSH2 0x0100 00001ba1: EXP 00001ba2: SWAP1 00001ba3: DIV 00001ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bb9: AND 00001bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bcf: AND 00001bd0: PUSH4 0x23b872dd 00001bd5: PUSH2 0x1bdc 00001bd8: PUSH2 0x21fa 00001bdb: JUMP 00001bdc: JUMPDEST 00001bdd: ADDRESS 00001bde: DUP13 00001bdf: PUSH1 0x40 00001be1: MLOAD 00001be2: DUP5 00001be3: PUSH4 0xffffffff 00001be8: AND 00001be9: PUSH1 0xe0 00001beb: SHL 00001bec: DUP2 00001bed: MSTORE 00001bee: PUSH1 0x04 00001bf0: ADD 00001bf1: DUP1 00001bf2: DUP5 00001bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c08: AND 00001c09: DUP2 00001c0a: MSTORE 00001c0b: PUSH1 0x20 00001c0d: ADD 00001c0e: DUP4 00001c0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c24: AND 00001c25: DUP2 00001c26: MSTORE 00001c27: PUSH1 0x20 00001c29: ADD 00001c2a: DUP3 00001c2b: DUP2 00001c2c: MSTORE 00001c2d: PUSH1 0x20 00001c2f: ADD 00001c30: SWAP4 00001c31: POP 00001c32: POP 00001c33: POP 00001c34: POP 00001c35: PUSH1 0x20 00001c37: PUSH1 0x40 00001c39: MLOAD 00001c3a: DUP1 00001c3b: DUP4 00001c3c: SUB 00001c3d: DUP2 00001c3e: PUSH1 0x00 00001c40: DUP8 00001c41: DUP1 00001c42: EXTCODESIZE 00001c43: ISZERO 00001c44: DUP1 00001c45: ISZERO 00001c46: PUSH2 0x1c4e 00001c49: JUMPI 00001c4a: PUSH1 0x00 00001c4c: DUP1 00001c4d: REVERT 00001c4e: JUMPDEST 00001c4f: POP 00001c50: GAS 00001c51: CALL 00001c52: ISZERO 00001c53: DUP1 00001c54: ISZERO 00001c55: PUSH2 0x1c62 00001c58: JUMPI 00001c59: RETURNDATASIZE 00001c5a: PUSH1 0x00 00001c5c: DUP1 00001c5d: RETURNDATACOPY 00001c5e: RETURNDATASIZE 00001c5f: PUSH1 0x00 00001c61: REVERT 00001c62: JUMPDEST 00001c63: POP 00001c64: POP 00001c65: POP 00001c66: POP 00001c67: PUSH1 0x40 00001c69: MLOAD 00001c6a: RETURNDATASIZE 00001c6b: PUSH1 0x20 00001c6d: DUP2 00001c6e: LT 00001c6f: ISZERO 00001c70: PUSH2 0x1c78 00001c73: JUMPI 00001c74: PUSH1 0x00 00001c76: DUP1 00001c77: REVERT 00001c78: JUMPDEST 00001c79: DUP2 00001c7a: ADD 00001c7b: SWAP1 00001c7c: DUP1 00001c7d: DUP1 00001c7e: MLOAD 00001c7f: SWAP1 00001c80: PUSH1 0x20 00001c82: ADD 00001c83: SWAP1 00001c84: SWAP3 00001c85: SWAP2 00001c86: SWAP1 00001c87: POP 00001c88: POP 00001c89: POP 00001c8a: POP 00001c8b: PUSH1 0x03 00001c8d: PUSH1 0x00 00001c8f: DUP12 00001c90: DUP2 00001c91: MSTORE 00001c92: PUSH1 0x20 00001c94: ADD 00001c95: SWAP1 00001c96: DUP2 00001c97: MSTORE 00001c98: PUSH1 0x20 00001c9a: ADD 00001c9b: PUSH1 0x00 00001c9d: KECCAK256 00001c9e: PUSH1 0x00 00001ca0: SWAP1 00001ca1: SLOAD 00001ca2: SWAP1 00001ca3: PUSH2 0x0100 00001ca6: EXP 00001ca7: SWAP1 00001ca8: DIV 00001ca9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cbe: AND 00001cbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cd4: AND 00001cd5: PUSH4 0x42966c68 00001cda: DUP11 00001cdb: PUSH1 0x40 00001cdd: MLOAD 00001cde: DUP3 00001cdf: PUSH4 0xffffffff 00001ce4: AND 00001ce5: PUSH1 0xe0 00001ce7: SHL 00001ce8: DUP2 00001ce9: MSTORE 00001cea: PUSH1 0x04 00001cec: ADD 00001ced: DUP1 00001cee: DUP3 00001cef: DUP2 00001cf0: MSTORE 00001cf1: PUSH1 0x20 00001cf3: ADD 00001cf4: SWAP2 00001cf5: POP 00001cf6: POP 00001cf7: PUSH1 0x00 00001cf9: PUSH1 0x40 00001cfb: MLOAD 00001cfc: DUP1 00001cfd: DUP4 00001cfe: SUB 00001cff: DUP2 00001d00: PUSH1 0x00 00001d02: DUP8 00001d03: DUP1 00001d04: EXTCODESIZE 00001d05: ISZERO 00001d06: DUP1 00001d07: ISZERO 00001d08: PUSH2 0x1d10 00001d0b: JUMPI 00001d0c: PUSH1 0x00 00001d0e: DUP1 00001d0f: REVERT 00001d10: JUMPDEST 00001d11: POP 00001d12: GAS 00001d13: CALL 00001d14: ISZERO 00001d15: DUP1 00001d16: ISZERO 00001d17: PUSH2 0x1d24 00001d1a: JUMPI 00001d1b: RETURNDATASIZE 00001d1c: PUSH1 0x00 00001d1e: DUP1 00001d1f: RETURNDATACOPY 00001d20: RETURNDATASIZE 00001d21: PUSH1 0x00 00001d23: REVERT 00001d24: JUMPDEST 00001d25: POP 00001d26: POP 00001d27: POP 00001d28: POP 00001d29: PUSH1 0x02 00001d2b: PUSH1 0x00 00001d2d: SWAP1 00001d2e: SLOAD 00001d2f: SWAP1 00001d30: PUSH2 0x0100 00001d33: EXP 00001d34: SWAP1 00001d35: DIV 00001d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d4b: AND 00001d4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d61: AND 00001d62: PUSH4 0x23b872dd 00001d67: PUSH2 0x1d6e 00001d6a: PUSH2 0x21fa 00001d6d: JUMP 00001d6e: JUMPDEST 00001d6f: PUSH1 0x05 00001d71: PUSH1 0x00 00001d73: SWAP1 00001d74: SLOAD 00001d75: SWAP1 00001d76: PUSH2 0x0100 00001d79: EXP 00001d7a: SWAP1 00001d7b: DIV 00001d7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d91: AND 00001d92: DUP5 00001d93: PUSH1 0x40 00001d95: MLOAD 00001d96: DUP5 00001d97: PUSH4 0xffffffff 00001d9c: AND 00001d9d: PUSH1 0xe0 00001d9f: SHL 00001da0: DUP2 00001da1: MSTORE 00001da2: PUSH1 0x04 00001da4: ADD 00001da5: DUP1 00001da6: DUP5 00001da7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dbc: AND 00001dbd: DUP2 00001dbe: MSTORE 00001dbf: PUSH1 0x20 00001dc1: ADD 00001dc2: DUP4 00001dc3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dd8: AND 00001dd9: DUP2 00001dda: MSTORE 00001ddb: PUSH1 0x20 00001ddd: ADD 00001dde: DUP3 00001ddf: DUP2 00001de0: MSTORE 00001de1: PUSH1 0x20 00001de3: ADD 00001de4: SWAP4 00001de5: POP 00001de6: POP 00001de7: POP 00001de8: POP 00001de9: PUSH1 0x20 00001deb: PUSH1 0x40 00001ded: MLOAD 00001dee: DUP1 00001def: DUP4 00001df0: SUB 00001df1: DUP2 00001df2: PUSH1 0x00 00001df4: DUP8 00001df5: DUP1 00001df6: EXTCODESIZE 00001df7: ISZERO 00001df8: DUP1 00001df9: ISZERO 00001dfa: PUSH2 0x1e02 00001dfd: JUMPI 00001dfe: PUSH1 0x00 00001e00: DUP1 00001e01: REVERT 00001e02: JUMPDEST 00001e03: POP 00001e04: GAS 00001e05: CALL 00001e06: ISZERO 00001e07: DUP1 00001e08: ISZERO 00001e09: PUSH2 0x1e16 00001e0c: JUMPI 00001e0d: RETURNDATASIZE 00001e0e: PUSH1 0x00 00001e10: DUP1 00001e11: RETURNDATACOPY 00001e12: RETURNDATASIZE 00001e13: PUSH1 0x00 00001e15: REVERT 00001e16: JUMPDEST 00001e17: POP 00001e18: POP 00001e19: POP 00001e1a: POP 00001e1b: PUSH1 0x40 00001e1d: MLOAD 00001e1e: RETURNDATASIZE 00001e1f: PUSH1 0x20 00001e21: DUP2 00001e22: LT 00001e23: ISZERO 00001e24: PUSH2 0x1e2c 00001e27: JUMPI 00001e28: PUSH1 0x00 00001e2a: DUP1 00001e2b: REVERT 00001e2c: JUMPDEST 00001e2d: DUP2 00001e2e: ADD 00001e2f: SWAP1 00001e30: DUP1 00001e31: DUP1 00001e32: MLOAD 00001e33: SWAP1 00001e34: PUSH1 0x20 00001e36: ADD 00001e37: SWAP1 00001e38: SWAP3 00001e39: SWAP2 00001e3a: SWAP1 00001e3b: POP 00001e3c: POP 00001e3d: POP 00001e3e: POP 00001e3f: PUSH2 0x1e4f 00001e42: PUSH2 0x1e49 00001e45: PUSH2 0x21fa 00001e48: JUMP 00001e49: JUMPDEST 00001e4a: DUP10 00001e4b: PUSH2 0x2310 00001e4e: JUMP 00001e4f: JUMPDEST 00001e50: PUSH1 0x08 00001e52: SLOAD 00001e53: SELFBALANCE 00001e54: LT 00001e55: ISZERO 00001e56: PUSH2 0x1ea6 00001e59: JUMPI 00001e5a: PUSH2 0x1e6e 00001e5d: SELFBALANCE 00001e5e: PUSH1 0x08 00001e60: SLOAD 00001e61: PUSH2 0x2330 00001e64: SWAP1 00001e65: SWAP2 00001e66: SWAP1 00001e67: PUSH4 0xffffffff 00001e6c: AND 00001e6d: JUMP 00001e6e: JUMPDEST 00001e6f: PUSH32 0xb4be0029a34928dd22f31169dfc7e4783427bb61fd5fde3172275f17a42ff8db 00001e90: TIMESTAMP 00001e91: PUSH1 0x40 00001e93: MLOAD 00001e94: DUP1 00001e95: DUP3 00001e96: DUP2 00001e97: MSTORE 00001e98: PUSH1 0x20 00001e9a: ADD 00001e9b: SWAP2 00001e9c: POP 00001e9d: POP 00001e9e: PUSH1 0x40 00001ea0: MLOAD 00001ea1: DUP1 00001ea2: SWAP2 00001ea3: SUB 00001ea4: SWAP1 00001ea5: LOG2 00001ea6: JUMPDEST 00001ea7: POP 00001ea8: POP 00001ea9: POP 00001eaa: PUSH1 0x01 00001eac: PUSH1 0x00 00001eae: DUP2 00001eaf: SWAP1 00001eb0: SSTORE 00001eb1: POP 00001eb2: POP 00001eb3: POP 00001eb4: POP 00001eb5: POP 00001eb6: POP 00001eb7: POP 00001eb8: POP 00001eb9: JUMP 00001eba: JUMPDEST 00001ebb: PUSH2 0x1ec2 00001ebe: PUSH2 0x21fa 00001ec1: JUMP 00001ec2: JUMPDEST 00001ec3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ed8: AND 00001ed9: PUSH1 0x04 00001edb: PUSH1 0x00 00001edd: SWAP1 00001ede: SLOAD 00001edf: SWAP1 00001ee0: PUSH2 0x0100 00001ee3: EXP 00001ee4: SWAP1 00001ee5: DIV 00001ee6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001efb: AND 00001efc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f11: AND 00001f12: EQ 00001f13: PUSH2 0x1f84 00001f16: JUMPI 00001f17: PUSH1 0x40 00001f19: MLOAD 00001f1a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001f3b: DUP2 00001f3c: MSTORE 00001f3d: PUSH1 0x04 00001f3f: ADD 00001f40: DUP1 00001f41: DUP1 00001f42: PUSH1 0x20 00001f44: ADD 00001f45: DUP3 00001f46: DUP2 00001f47: SUB 00001f48: DUP3 00001f49: MSTORE 00001f4a: PUSH1 0x12 00001f4c: DUP2 00001f4d: MSTORE 00001f4e: PUSH1 0x20 00001f50: ADD 00001f51: DUP1 00001f52: PUSH32 0x556e617574686f72697a65642075736167650000000000000000000000000000 00001f73: DUP2 00001f74: MSTORE 00001f75: POP 00001f76: PUSH1 0x20 00001f78: ADD 00001f79: SWAP2 00001f7a: POP 00001f7b: POP 00001f7c: PUSH1 0x40 00001f7e: MLOAD 00001f7f: DUP1 00001f80: SWAP2 00001f81: SUB 00001f82: SWAP1 00001f83: REVERT 00001f84: JUMPDEST 00001f85: DUP1 00001f86: PUSH1 0x03 00001f88: PUSH1 0x00 00001f8a: DUP5 00001f8b: DUP2 00001f8c: MSTORE 00001f8d: PUSH1 0x20 00001f8f: ADD 00001f90: SWAP1 00001f91: DUP2 00001f92: MSTORE 00001f93: PUSH1 0x20 00001f95: ADD 00001f96: PUSH1 0x00 00001f98: KECCAK256 00001f99: PUSH1 0x00 00001f9b: PUSH2 0x0100 00001f9e: EXP 00001f9f: DUP2 00001fa0: SLOAD 00001fa1: DUP2 00001fa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fb7: MUL 00001fb8: NOT 00001fb9: AND 00001fba: SWAP1 00001fbb: DUP4 00001fbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fd1: AND 00001fd2: MUL 00001fd3: OR 00001fd4: SWAP1 00001fd5: SSTORE 00001fd6: POP 00001fd7: POP 00001fd8: POP 00001fd9: JUMP 00001fda: JUMPDEST 00001fdb: PUSH1 0x00 00001fdd: PUSH1 0x07 00001fdf: SLOAD 00001fe0: SWAP1 00001fe1: POP 00001fe2: SWAP1 00001fe3: JUMP 00001fe4: JUMPDEST 00001fe5: PUSH1 0x09 00001fe7: SLOAD 00001fe8: DUP2 00001fe9: JUMP 00001fea: JUMPDEST 00001feb: PUSH2 0x1ff2 00001fee: PUSH2 0x21fa 00001ff1: JUMP 00001ff2: JUMPDEST 00001ff3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002008: AND 00002009: PUSH1 0x01 0000200b: PUSH1 0x00 0000200d: SWAP1 0000200e: SLOAD 0000200f: SWAP1 00002010: PUSH2 0x0100 00002013: EXP 00002014: SWAP1 00002015: DIV 00002016: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000202b: AND 0000202c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002041: AND 00002042: EQ 00002043: PUSH2 0x20b4 00002046: JUMPI 00002047: PUSH1 0x40 00002049: MLOAD 0000204a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000206b: DUP2 0000206c: MSTORE 0000206d: PUSH1 0x04 0000206f: ADD 00002070: DUP1 00002071: DUP1 00002072: PUSH1 0x20 00002074: ADD 00002075: DUP3 00002076: DUP2 00002077: SUB 00002078: DUP3 00002079: MSTORE 0000207a: PUSH1 0x20 0000207c: DUP2 0000207d: MSTORE 0000207e: PUSH1 0x20 00002080: ADD 00002081: DUP1 00002082: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 000020a3: DUP2 000020a4: MSTORE 000020a5: POP 000020a6: PUSH1 0x20 000020a8: ADD 000020a9: SWAP2 000020aa: POP 000020ab: POP 000020ac: PUSH1 0x40 000020ae: MLOAD 000020af: DUP1 000020b0: SWAP2 000020b1: SUB 000020b2: SWAP1 000020b3: REVERT 000020b4: JUMPDEST 000020b5: PUSH1 0x00 000020b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020cc: AND 000020cd: DUP2 000020ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e3: AND 000020e4: EQ 000020e5: ISZERO 000020e6: PUSH2 0x213a 000020e9: JUMPI 000020ea: PUSH1 0x40 000020ec: MLOAD 000020ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000210e: DUP2 0000210f: MSTORE 00002110: PUSH1 0x04 00002112: ADD 00002113: DUP1 00002114: DUP1 00002115: PUSH1 0x20 00002117: ADD 00002118: DUP3 00002119: DUP2 0000211a: SUB 0000211b: DUP3 0000211c: MSTORE 0000211d: PUSH1 0x26 0000211f: DUP2 00002120: MSTORE 00002121: PUSH1 0x20 00002123: ADD 00002124: DUP1 00002125: PUSH2 0x2575 00002128: PUSH1 0x26 0000212a: SWAP2 0000212b: CODECOPY 0000212c: PUSH1 0x40 0000212e: ADD 0000212f: SWAP2 00002130: POP 00002131: POP 00002132: PUSH1 0x40 00002134: MLOAD 00002135: DUP1 00002136: SWAP2 00002137: SUB 00002138: SWAP1 00002139: REVERT 0000213a: JUMPDEST 0000213b: DUP1 0000213c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002151: AND 00002152: PUSH1 0x01 00002154: PUSH1 0x00 00002156: SWAP1 00002157: SLOAD 00002158: SWAP1 00002159: PUSH2 0x0100 0000215c: EXP 0000215d: SWAP1 0000215e: DIV 0000215f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002174: AND 00002175: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000218a: AND 0000218b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000021ac: PUSH1 0x40 000021ae: MLOAD 000021af: PUSH1 0x40 000021b1: MLOAD 000021b2: DUP1 000021b3: SWAP2 000021b4: SUB 000021b5: SWAP1 000021b6: LOG3 000021b7: DUP1 000021b8: PUSH1 0x01 000021ba: PUSH1 0x00 000021bc: PUSH2 0x0100 000021bf: EXP 000021c0: DUP2 000021c1: SLOAD 000021c2: DUP2 000021c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021d8: MUL 000021d9: NOT 000021da: AND 000021db: SWAP1 000021dc: DUP4 000021dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021f2: AND 000021f3: MUL 000021f4: OR 000021f5: SWAP1 000021f6: SSTORE 000021f7: POP 000021f8: POP 000021f9: JUMP 000021fa: JUMPDEST 000021fb: PUSH1 0x00 000021fd: CALLER 000021fe: SWAP1 000021ff: POP 00002200: SWAP1 00002201: JUMP 00002202: JUMPDEST 00002203: PUSH1 0x00 00002205: DUP1 00002206: DUP3 00002207: DUP5 00002208: ADD 00002209: SWAP1 0000220a: POP 0000220b: DUP4 0000220c: DUP2 0000220d: LT 0000220e: ISZERO 0000220f: PUSH2 0x2280 00002212: JUMPI 00002213: PUSH1 0x40 00002215: MLOAD 00002216: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002237: DUP2 00002238: MSTORE 00002239: PUSH1 0x04 0000223b: ADD 0000223c: DUP1 0000223d: DUP1 0000223e: PUSH1 0x20 00002240: ADD 00002241: DUP3 00002242: DUP2 00002243: SUB 00002244: DUP3 00002245: MSTORE 00002246: PUSH1 0x1b 00002248: DUP2 00002249: MSTORE 0000224a: PUSH1 0x20 0000224c: ADD 0000224d: DUP1 0000224e: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 0000226f: DUP2 00002270: MSTORE 00002271: POP 00002272: PUSH1 0x20 00002274: ADD 00002275: SWAP2 00002276: POP 00002277: POP 00002278: PUSH1 0x40 0000227a: MLOAD 0000227b: DUP1 0000227c: SWAP2 0000227d: SUB 0000227e: SWAP1 0000227f: REVERT 00002280: JUMPDEST 00002281: DUP1 00002282: SWAP2 00002283: POP 00002284: POP 00002285: SWAP3 00002286: SWAP2 00002287: POP 00002288: POP 00002289: JUMP 0000228a: JUMPDEST 0000228b: PUSH1 0x00 0000228d: DUP1 0000228e: DUP4 0000228f: EQ 00002290: ISZERO 00002291: PUSH2 0x229d 00002294: JUMPI 00002295: PUSH1 0x00 00002297: SWAP1 00002298: POP 00002299: PUSH2 0x230a 0000229c: JUMP 0000229d: JUMPDEST 0000229e: PUSH1 0x00 000022a0: DUP3 000022a1: DUP5 000022a2: MUL 000022a3: SWAP1 000022a4: POP 000022a5: DUP3 000022a6: DUP5 000022a7: DUP3 000022a8: DUP2 000022a9: PUSH2 0x22ae 000022ac: JUMPI 000022ad: INVALID 000022ae: JUMPDEST 000022af: DIV 000022b0: EQ 000022b1: PUSH2 0x2305 000022b4: JUMPI 000022b5: PUSH1 0x40 000022b7: MLOAD 000022b8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000022d9: DUP2 000022da: MSTORE 000022db: PUSH1 0x04 000022dd: ADD 000022de: DUP1 000022df: DUP1 000022e0: PUSH1 0x20 000022e2: ADD 000022e3: DUP3 000022e4: DUP2 000022e5: SUB 000022e6: DUP3 000022e7: MSTORE 000022e8: PUSH1 0x21 000022ea: DUP2 000022eb: MSTORE 000022ec: PUSH1 0x20 000022ee: ADD 000022ef: DUP1 000022f0: PUSH2 0x25f8 000022f3: PUSH1 0x21 000022f5: SWAP2 000022f6: CODECOPY 000022f7: PUSH1 0x40 000022f9: ADD 000022fa: SWAP2 000022fb: POP 000022fc: POP 000022fd: PUSH1 0x40 000022ff: MLOAD 00002300: DUP1 00002301: SWAP2 00002302: SUB 00002303: SWAP1 00002304: REVERT 00002305: JUMPDEST 00002306: DUP1 00002307: SWAP2 00002308: POP 00002309: POP 0000230a: JUMPDEST 0000230b: SWAP3 0000230c: SWAP2 0000230d: POP 0000230e: POP 0000230f: JUMP 00002310: JUMPDEST 00002311: PUSH1 0x00 00002313: SELFBALANCE 00002314: SWAP1 00002315: POP 00002316: DUP1 00002317: DUP3 00002318: GT 00002319: ISZERO 0000231a: PUSH2 0x2321 0000231d: JUMPI 0000231e: DUP1 0000231f: SWAP2 00002320: POP 00002321: JUMPDEST 00002322: PUSH2 0x232b 00002325: DUP4 00002326: DUP4 00002327: PUSH2 0x237a 0000232a: JUMP 0000232b: JUMPDEST 0000232c: POP 0000232d: POP 0000232e: POP 0000232f: JUMP 00002330: JUMPDEST 00002331: PUSH1 0x00 00002333: PUSH2 0x2372 00002336: DUP4 00002337: DUP4 00002338: PUSH1 0x40 0000233a: MLOAD 0000233b: DUP1 0000233c: PUSH1 0x40 0000233e: ADD 0000233f: PUSH1 0x40 00002341: MSTORE 00002342: DUP1 00002343: PUSH1 0x1e 00002345: DUP2 00002346: MSTORE 00002347: PUSH1 0x20 00002349: ADD 0000234a: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 0000236b: DUP2 0000236c: MSTORE 0000236d: POP 0000236e: PUSH2 0x24b4 00002371: JUMP 00002372: JUMPDEST 00002373: SWAP1 00002374: POP 00002375: SWAP3 00002376: SWAP2 00002377: POP 00002378: POP 00002379: JUMP 0000237a: JUMPDEST 0000237b: DUP1 0000237c: SELFBALANCE 0000237d: LT 0000237e: ISZERO 0000237f: PUSH2 0x23f0 00002382: JUMPI 00002383: PUSH1 0x40 00002385: MLOAD 00002386: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023a7: DUP2 000023a8: MSTORE 000023a9: PUSH1 0x04 000023ab: ADD 000023ac: DUP1 000023ad: DUP1 000023ae: PUSH1 0x20 000023b0: ADD 000023b1: DUP3 000023b2: DUP2 000023b3: SUB 000023b4: DUP3 000023b5: MSTORE 000023b6: PUSH1 0x1d 000023b8: DUP2 000023b9: MSTORE 000023ba: PUSH1 0x20 000023bc: ADD 000023bd: DUP1 000023be: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 000023df: DUP2 000023e0: MSTORE 000023e1: POP 000023e2: PUSH1 0x20 000023e4: ADD 000023e5: SWAP2 000023e6: POP 000023e7: POP 000023e8: PUSH1 0x40 000023ea: MLOAD 000023eb: DUP1 000023ec: SWAP2 000023ed: SUB 000023ee: SWAP1 000023ef: REVERT 000023f0: JUMPDEST 000023f1: PUSH1 0x00 000023f3: DUP3 000023f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002409: AND 0000240a: DUP3 0000240b: PUSH1 0x40 0000240d: MLOAD 0000240e: DUP1 0000240f: PUSH1 0x00 00002411: ADD 00002412: SWAP1 00002413: POP 00002414: PUSH1 0x00 00002416: PUSH1 0x40 00002418: MLOAD 00002419: DUP1 0000241a: DUP4 0000241b: SUB 0000241c: DUP2 0000241d: DUP6 0000241e: DUP8 0000241f: GAS 00002420: CALL 00002421: SWAP3 00002422: POP 00002423: POP 00002424: POP 00002425: RETURNDATASIZE 00002426: DUP1 00002427: PUSH1 0x00 00002429: DUP2 0000242a: EQ 0000242b: PUSH2 0x2450 0000242e: JUMPI 0000242f: PUSH1 0x40 00002431: MLOAD 00002432: SWAP2 00002433: POP 00002434: PUSH1 0x1f 00002436: NOT 00002437: PUSH1 0x3f 00002439: RETURNDATASIZE 0000243a: ADD 0000243b: AND 0000243c: DUP3 0000243d: ADD 0000243e: PUSH1 0x40 00002440: MSTORE 00002441: RETURNDATASIZE 00002442: DUP3 00002443: MSTORE 00002444: RETURNDATASIZE 00002445: PUSH1 0x00 00002447: PUSH1 0x20 00002449: DUP5 0000244a: ADD 0000244b: RETURNDATACOPY 0000244c: PUSH2 0x2455 0000244f: JUMP 00002450: JUMPDEST 00002451: PUSH1 0x60 00002453: SWAP2 00002454: POP 00002455: JUMPDEST 00002456: POP 00002457: POP 00002458: SWAP1 00002459: POP 0000245a: DUP1 0000245b: PUSH2 0x24af 0000245e: JUMPI 0000245f: PUSH1 0x40 00002461: MLOAD 00002462: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002483: DUP2 00002484: MSTORE 00002485: PUSH1 0x04 00002487: ADD 00002488: DUP1 00002489: DUP1 0000248a: PUSH1 0x20 0000248c: ADD 0000248d: DUP3 0000248e: DUP2 0000248f: SUB 00002490: DUP3 00002491: MSTORE 00002492: PUSH1 0x3a 00002494: DUP2 00002495: MSTORE 00002496: PUSH1 0x20 00002498: ADD 00002499: DUP1 0000249a: PUSH2 0x259b 0000249d: PUSH1 0x3a 0000249f: SWAP2 000024a0: CODECOPY 000024a1: PUSH1 0x40 000024a3: ADD 000024a4: SWAP2 000024a5: POP 000024a6: POP 000024a7: PUSH1 0x40 000024a9: MLOAD 000024aa: DUP1 000024ab: SWAP2 000024ac: SUB 000024ad: SWAP1 000024ae: REVERT 000024af: JUMPDEST 000024b0: POP 000024b1: POP 000024b2: POP 000024b3: JUMP 000024b4: JUMPDEST 000024b5: PUSH1 0x00 000024b7: DUP4 000024b8: DUP4 000024b9: GT 000024ba: ISZERO 000024bb: DUP3 000024bc: SWAP1 000024bd: PUSH2 0x2561 000024c0: JUMPI 000024c1: PUSH1 0x40 000024c3: MLOAD 000024c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000024e5: DUP2 000024e6: MSTORE 000024e7: PUSH1 0x04 000024e9: ADD 000024ea: DUP1 000024eb: DUP1 000024ec: PUSH1 0x20 000024ee: ADD 000024ef: DUP3 000024f0: DUP2 000024f1: SUB 000024f2: DUP3 000024f3: MSTORE 000024f4: DUP4 000024f5: DUP2 000024f6: DUP2 000024f7: MLOAD 000024f8: DUP2 000024f9: MSTORE 000024fa: PUSH1 0x20 000024fc: ADD 000024fd: SWAP2 000024fe: POP 000024ff: DUP1 00002500: MLOAD 00002501: SWAP1 00002502: PUSH1 0x20 00002504: ADD 00002505: SWAP1 00002506: DUP1 00002507: DUP4 00002508: DUP4 00002509: PUSH1 0x00 0000250b: JUMPDEST 0000250c: DUP4 0000250d: DUP2 0000250e: LT 0000250f: ISZERO 00002510: PUSH2 0x2526 00002513: JUMPI 00002514: DUP1 00002515: DUP3 00002516: ADD 00002517: MLOAD 00002518: DUP2 00002519: DUP5 0000251a: ADD 0000251b: MSTORE 0000251c: PUSH1 0x20 0000251e: DUP2 0000251f: ADD 00002520: SWAP1 00002521: POP 00002522: PUSH2 0x250b 00002525: JUMP 00002526: JUMPDEST 00002527: POP 00002528: POP 00002529: POP 0000252a: POP 0000252b: SWAP1 0000252c: POP 0000252d: SWAP1 0000252e: DUP2 0000252f: ADD 00002530: SWAP1 00002531: PUSH1 0x1f 00002533: AND 00002534: DUP1 00002535: ISZERO 00002536: PUSH2 0x2553 00002539: JUMPI 0000253a: DUP1 0000253b: DUP3 0000253c: SUB 0000253d: DUP1 0000253e: MLOAD 0000253f: PUSH1 0x01 00002541: DUP4 00002542: PUSH1 0x20 00002544: SUB 00002545: PUSH2 0x0100 00002548: EXP 00002549: SUB 0000254a: NOT 0000254b: AND 0000254c: DUP2 0000254d: MSTORE 0000254e: PUSH1 0x20 00002550: ADD 00002551: SWAP2 00002552: POP 00002553: JUMPDEST 00002554: POP 00002555: SWAP3 00002556: POP 00002557: POP 00002558: POP 00002559: PUSH1 0x40 0000255b: MLOAD 0000255c: DUP1 0000255d: SWAP2 0000255e: SUB 0000255f: SWAP1 00002560: REVERT 00002561: JUMPDEST 00002562: POP 00002563: PUSH1 0x00 00002565: DUP4 00002566: DUP6 00002567: SUB 00002568: SWAP1 00002569: POP 0000256a: DUP1 0000256b: SWAP2 0000256c: POP 0000256d: POP 0000256e: SWAP4 0000256f: SWAP3 00002570: POP 00002571: POP 00002572: POP 00002573: JUMP 00002574: INVALID 00002575: UNKNOWN(0x4F) 00002576: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520 0000258f: PUSH27 0x65726f2061646472657373416464726573733a20756e61626c6520 000025ab: PUSH21 0x6f2073656e642076616c75652c2072656369706965 000025c1: PUSH15 0x74206d617920686176652072657665 000025d1: PUSH19 0x746564696e73756666696369656e742066756e 000025e5: PUSH5 0x732c207472 000025eb: PUSH26 0x20616761696e206c61746572536166654d6174683a206d756c74 00002606: PUSH10 0x706c69636174696f6e20 00002611: PUSH16 0x766572666c6f77a26469706673582212 00002622: KECCAK256 00002623: PUSH25 0x840b6f2094a78d457d7edef1e52a0cf2b80efdaf9d4aa82a3c 0000263d: UNKNOWN(0xCC) 0000263e: STOP 0000263f: UNKNOWN(0x0D) 00002640: UNKNOWN(0xF9) 00002641: UNKNOWN(0x28) 00002642: UNKNOWN(0xD2) 00002643: PUSH5 0x736f6c6343 00002649: STOP 0000264a: SMOD 0000264b: SUB 0000264c: STOP 0000264d: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad
call_targets:
0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb5f6b3ef",
"selector": "0xb5f6b3ef",
"calldata_variants": [
"0xb5f6b3ef",
"0xb5f6b3ef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc76f98a",
"selector": "0xdc76f98a",
"calldata_variants": [
"0xdc76f98a",
"0xdc76f98a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe275c997",
"selector": "0xe275c997",
"calldata_variants": [
"0xe275c997",
"0xe275c9970000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x84e5eed0",
"selector": "0x84e5eed0",
"calldata_variants": [
"0x84e5eed0",
"0x84e5eed00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9cef4c70",
"selector": "0x9cef4c70",
"calldata_variants": [
"0x9cef4c70",
"0x9cef4c700000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7249,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [],
"untrusted_call_count": 6
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad
call_targets:
0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd01bb1137edddddb2d10a8c577239464a2b18c03462c85b36aa18e9fd138b6ad",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x15c5f0f18feb8a9f5808ccd2fc4ac279d9d89bb8"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb5f6b3ef",
"selector": "0xb5f6b3ef",
"calldata_variants": [
"0xb5f6b3ef",
"0xb5f6b3ef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc76f98a",
"selector": "0xdc76f98a",
"calldata_variants": [
"0xdc76f98a",
"0xdc76f98a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe275c997",
"selector": "0xe275c997",
"calldata_variants": [
"0xe275c997",
"0xe275c9970000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x84e5eed0",
"selector": "0x84e5eed0",
"calldata_variants": [
"0x84e5eed0",
"0x84e5eed00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9cef4c70",
"selector": "0x9cef4c70",
"calldata_variants": [
"0x9cef4c70",
"0x9cef4c700000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7249,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": []
}
|
| medium | auth | codex | Order signatures are replayable and lack domain separation/nonce protection | 75 | no | — |
viewevidence_json{
"evidence": "buy/sell compute `hash = keccak256(abi.encode(...))` and accept any matching ecrecover signer without nonce or domain separation.",
"locations": [
"WStock3.sol:41",
"WStock3.sol:44",
"WStock3.sol:45",
"WStock3.sol:64",
"WStock3.sol:68",
"WStock3.sol:69"
],
"recommendation": "Include a per-user nonce (or order id) in the signed data and track it as used; bind signatures to this contract and chainId; and validate signatures using EIP-712 or at least toEthSignedMessageHash plus strict v/s checks to prevent malleability.",
"exploit_scenario": "A trader obtains a valid signed order from authAddress and can call buy/sell repeatedly with the same signature until it expires (or even long after if timestamp is in the future), executing the same price multiple times. This allows reuse of stale prices and can drain ETH reserves or mint tokens at an unintended rate. Because the signed hash omits contract address/chainId and uses raw ecrecover without an EIP-191/EIP-712 prefix or nonce, signatures can also be replayed across contracts or chains that share the same authAddress."
}
|
| low | other | codex | ERC20 transfer/transferFrom return values are ignored, enabling fee bypass or silent token delivery failure | 65 | no | — |
viewevidence_json{
"evidence": "Transfers are invoked without checking the returned boolean.",
"locations": [
"WStock3.sol:54",
"WStock3.sol:55",
"WStock3.sol:79",
"WStock3.sol:81",
"PrivateSale.sol:31"
],
"recommendation": "Use SafeERC20 (safeTransfer/safeTransferFrom) or explicitly require the returned boolean to be true for all ERC20 transfers.",
"exploit_scenario": "If GAS_TOKEN or a stock token follows the ERC20 variant that returns false instead of reverting (e.g., insufficient allowance), WStock3 continues executing after a failed transferFrom. A trader can trade without paying the GAS_TOKEN fee (or without transferring stock tokens) if transferFrom returns false rather than reverting. In PrivateSale, a failed transferFrom would still forward ETH to the holding address, causing buyers to pay but receive no tokens."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 8
}
|