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

Analysis Run

019c0ea9-076e-7168-9503-51be12255f63

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41592 artifact.fetch complete 1 / 3 2 months ago
41593 proxy.resolve complete 1 / 3 2 months ago
41594 tool.cast_disasm complete 1 / 3 2 months ago
41595 analysis.bundle complete 1 / 3 2 months ago
41596 capability.graph complete 1 / 3 2 months ago
41597 detector.run complete 1 / 3 2 months ago
41598 validation.fork complete 1 / 3 2 months ago
42216 report.consolidate complete 1 / 6 2 months ago
42217 tool.slither complete 1 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
1
Solc
0.6.6 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-djzjglu7)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-djzjglu7)

Contract locking ether found:
	Contract UChildERC20 (contracts/Contract.sol#1420-1509) has payable functions:
	 - NativeMetaTransaction.executeMetaTransaction(address,bytes,bytes32,bytes32,uint8) (contracts/Contract.sol#1309-1348)
	But does not have a function to withdraw the ether
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#contracts-that-lock-ether

ERC20.constructor(string,string).name (contracts/Contract.sol#462-464) shadows:
	- ERC20.name() (contracts/Contract.sol#471-474) (function)
ERC20.constructor(string,string).symbol (contracts/Contract.sol#464) shadows:
	- ERC20.symbol() (contracts/Contract.sol#479-481) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing

Address.isContract(address) (contracts/Contract.sol#288-301) uses assembly
	- INLINE ASM (contracts/Contract.sol#299)
Address._functionCallWithValue(address,bytes,uint256,string) (contracts/Contract.sol#381-400) uses assembly
	- INLINE ASM (contracts/Contract.sol#394-398)
EIP712Base.getChainId() (contracts/Contract.sol#1255-1260) uses assembly
	- INLINE ASM (contracts/Contract.sol#1258-1259)
ContextMixin.msgSender() (contracts/Contract.sol#1393-1418) uses assembly
	- INLINE ASM (contracts/Contract.sol#1403-1415)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

3 different versions of Solidity are used:
	- Version constraint ^0.6.0 is used by:
		-^0.6.0 (contracts/Contract.sol#3-5)
		-^0.6.0 (contracts/Contract.sol#30)
		-^0.6.0 (contracts/Contract.sol#105-108)
		-^0.6.0 (contracts/Contract.sol#402)
		-^0.6.0 (contracts/Contract.sol#727)
		-^0.6.0 (contracts/Contract.sol#961)
	- Version constraint ^0.6.2 is used by:
		-^0.6.2 (contracts/Contract.sol#263-264)
	- Version constraint 0.6.6 is used by:
		-0.6.6 (contracts/Contract.sol#1172-1173)
		-0.6.6 (contracts/Contract.sol#1186)
		-0.6.6 (contracts/Contract.sol#1191)
		-0.6.6 (contracts/Contract.sol#1196-1197)
		-0.6.6 (contracts/Contract.sol#1283)
		-0.6.6 (contracts/Contract.sol#1381-1384)
		-0.6.6 (contracts/Contract.sol#1392-1393)
		-0.6.6 (contracts/Contract.sol#1420)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

AccessControl._setRoleAdmin(bytes32,bytes32) (contracts/Contract.sol#1152-1159) is never used and should be removed
Context._msgData() (contracts/Contract.sol#19-24) is never used and should be removed
Context._msgSender() (contracts/Contract.sol#17-19) is never used and should be removed
ERC20._setupDecimals(uint8) (contracts/Contract.sol#705-707) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- NestedCalldataArrayAbiReencodingSizeValidation
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- MissingEscapingInFormatting
	- ArraySliceDynamicallyEncodedBaseType
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow
	- YulOptimizerRedundantAssignmentBreakContinue.
It is used by:
	- ^0.6.0 (contracts/Contract.sol#3-5)
	- ^0.6.0 (contracts/Contract.sol#30)
	- ^0.6.0 (contracts/Contract.sol#105-108)
	- ^0.6.0 (contracts/Contract.sol#402)
	- ^0.6.0 (contracts/Contract.sol#727)
	- ^0.6.0 (contracts/Contract.sol#961)
Version constraint ^0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- NestedCalldataArrayAbiReencodingSizeValidation
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- MissingEscapingInFormatting
	- ArraySliceDynamicallyEncodedBaseType
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow.
It is used by:
	- ^0.6.2 (contracts/Contract.sol#263-264)
Version constraint 0.6.6 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- MissingEscapingInFormatting
	- ArraySliceDynamicallyEncodedBaseType
	- ImplicitConstructorCallvalueCheck.
It is used by:
	- 0.6.6 (contracts/Contract.sol#1172-1173)
	- 0.6.6 (contracts/Contract.sol#1186)
	- 0.6.6 (contracts/Contract.sol#1191)
	- 0.6.6 (contracts/Contract.sol#1196-1197)
	- 0.6.6 (contracts/Contract.sol#1283)
	- 0.6.6 (contracts/Contract.sol#1381-1384)
	- 0.6.6 (contracts/Contract.sol#1392-1393)
	- 0.6.6 (contracts/Contract.sol#1420)
solc-0.6.6 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in Address.sendValue(address,uint256) (contracts/Contract.sol#319-324):
	- (success,None) = recipient.call{value: amount}() (contracts/Contract.sol#322)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (contracts/Contract.sol#381-400):
	- (success,returndata) = target.call{value: weiValue}(data) (contracts/Contract.sol#386-387)
Low level call in NativeMetaTransaction.executeMetaTransaction(address,bytes,bytes32,bytes32,uint8) (contracts/Contract.sol#1309-1348):
	- (success,returnData) = address(this).call(abi.encodePacked(functionSignature,userAddress)) (contracts/Contract.sol#1341-1347)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Redundant expression "this (contracts/Contract.sol#22)" inContext (contracts/Contract.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements

executeMetaTransaction(address,bytes,bytes32,bytes32,uint8) should be declared external:
	- NativeMetaTransaction.executeMetaTransaction(address,bytes,bytes32,bytes32,uint8) (contracts/Contract.sol#1309-1348)
Moreover, the following function parameters should change its data location:
functionSignature location should be calldata
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external
. analyzed (15 contracts with 100 detectors), 21 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.6.6",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.6.6",
        "install_stderr": null,
        "install_stdout": "Version '0.6.6' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-djzjglu7 --allow-paths /tmp/slither-djzjglu7,/tmp/slither-djzjglu7/lib,/tmp/slither-djzjglu7/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 21,
    "workspace_hash": "1063ed94baf125561785197d1199bc1f3057581a7cb11b8a61f6ca090554976e",
    "duration_seconds": 0.9021847248077393,
    "solc_version_requested": "0.6.6"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found 2 issues: the upgradeable initializer is unprotected and can be front-run to seize admin/minting control on an uninitialized proxy, and meta‑tx signature verification permits malleable signatures.
View stdout
{"no_findings":false,"summary":"Found 2 issues: the upgradeable initializer is unprotected and can be front-run to seize admin/minting control on an uninitialized proxy, and meta‑tx signature verification permits malleable signatures.","findings":[{"severity":"high","category":"upgradeability","title":"Unprotected initializer allows takeover of uninitialized proxy","exploit_scenario":"If the proxy is deployed without calling `initialize` atomically, any account can call `initialize` first, setting themselves as `DEFAULT_ADMIN_ROLE` and choosing a malicious `childChainManager` for `DEPOSITOR_ROLE`. The attacker can then mint arbitrary tokens via `deposit` or otherwise control roles.","recommendation":"Ensure the proxy is initialized in the deployment transaction (e.g., proxy constructor `data`), or gate `initialize` with an access control check. Also consider calling `_disableInitializers()` in the implementation contract to prevent misuse.","evidence":"`initialize` is `external` and lacks any access control while setting admin and depositor roles.","locations":["contracts/Contract.sol:1500","contracts/Contract.sol:1512","contracts/Contract.sol:1513","contracts/Contract.sol:1514"]},{"severity":"low","category":"auth","title":"Meta‑transaction signature verification allows malleable signatures","exploit_scenario":"Because `verify` uses raw `ecrecover` without enforcing `sigS` in the lower half order or validating `sigV`, the same meta‑tx can be represented by multiple valid signatures. This can enable replay in off‑chain systems that rely on signature uniqueness or cause duplicated relayer submissions.","recommendation":"Use OpenZeppelin `ECDSA.recover` or add EIP‑2 checks: require `sigV` in {27,28} and `sigS` <= secp256k1n/2.","evidence":"`verify` uses `ecrecover` directly without validating `sigV`/`sigS`.","locations":["contracts/Contract.sol:1413","contracts/Contract.sol:1420","contracts/Contract.sol:1423"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-h6g2ffrj
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0ed4-fe03-7c70-b100-beb24088599d
--------
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-h6g2ffrj succeeded in 7ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-h6g2ffrj succeeded in 13ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
// File: @openzeppelin/contracts/GSN/Context.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
exec
/bin/bash -lc "rg -n \"delegatecall|call\\{ value|call\\(|sendValue|external\" AUDIT_BUNDLE.txt" in /tmp/codex-h6g2ffrj succeeded in 19ms:
47:    function totalSupply() external view returns (uint256);
52:    function balanceOf(address account) external view returns (uint256);
61:    function transfer(address recipient, uint256 amount) external returns (bool);
70:    function allowance(address owner, address spender) external view returns (uint256);
86:    function approve(address spender, uint256 amount) external returns (bool);
97:    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
292:     * false is an externally-owned account (EOA) and not a contract.
297:     *  - an externally-owned account
321:     * `transfer`. {sendValue} removes this limitation.
330:    function sendValue(address payable recipient, uint256 amount) internal {
334:        (bool success, ) = recipient.call{ value: amount }("");
400:        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
1009: * in the external API and be unique. The best way to achieve this is by
1239:    function deposit(address user, bytes calldata depositData) external;
1391:        (bool success, bytes memory returnData) = address(this).call(
1512:        external
1544:        external
1557:    function withdraw(uint256 amount) external {
exec
/bin/bash -lc 'rg -n "contract UChildERC20|function initialize|executeMetaTransaction|EIP712Base|NativeMetaTransaction" contracts -g"*.sol"' in /tmp/codex-h6g2ffrj succeeded in 15ms:
contracts/Contract.sol:1250:// File: contracts/common/EIP712Base.sol
contracts/Contract.sol:1255:contract EIP712Base is Initializable {
contracts/Contract.sol:1326:// File: contracts/common/NativeMetaTransaction.sol
contracts/Contract.sol:1332:contract NativeMetaTransaction is EIP712Base {
contracts/Contract.sol:1357:    function executeMetaTransaction(
contracts/Contract.sol:1420:        require(signer != address(0), "NativeMetaTransaction: INVALID_SIGNER");
contracts/Contract.sol:1484:contract UChildERC20 is
contracts/Contract.sol:1488:    NativeMetaTransaction,
contracts/Contract.sol:1500:    function initialize(
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1480,1565p'" in /tmp/codex-h6g2ffrj succeeded in 6ms:
  1480	
  1481	
  1482	
  1483	
  1484	contract UChildERC20 is
  1485	    ERC20,
  1486	    IChildToken,
  1487	    AccessControlMixin,
  1488	    NativeMetaTransaction,
  1489	    ChainConstants,
  1490	    ContextMixin
  1491	{
  1492	    bytes32 public constant DEPOSITOR_ROLE = keccak256("DEPOSITOR_ROLE");
  1493	
  1494	    constructor() public ERC20("", "") {}
  1495	
  1496	    /**
  1497	     * @notice Initialize the contract after it has been proxified
  1498	     * @dev meant to be called once immediately after deployment
  1499	     */
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1330,1415p'" in /tmp/codex-h6g2ffrj succeeded in 7ms:
  1330	
  1331	
  1332	contract NativeMetaTransaction is EIP712Base {
  1333	    using SafeMath for uint256;
  1334	    bytes32 private constant META_TRANSACTION_TYPEHASH = keccak256(
  1335	        bytes(
  1336	            "MetaTransaction(uint256 nonce,address from,bytes functionSignature)"
  1337	        )
  1338	    );
  1339	    event MetaTransactionExecuted(
  1340	        address userAddress,
  1341	        address payable relayerAddress,
  1342	        bytes functionSignature
  1343	    );
  1344	    mapping(address => uint256) nonces;
  1345	
  1346	    /*
  1347	     * Meta transaction structure.
  1348	     * No point of including value field here as if user is doing value transfer then he has the funds to pay for gas
  1349	     * He should call the desired function directly in that case.
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1413,1445p'" in /tmp/codex-h6g2ffrj succeeded in 6ms:
  1413	    function verify(
  1414	        address signer,
  1415	        MetaTransaction memory metaTx,
  1416	        bytes32 sigR,
  1417	        bytes32 sigS,
  1418	        uint8 sigV
  1419	    ) internal view returns (bool) {
  1420	        require(signer != address(0), "NativeMetaTransaction: INVALID_SIGNER");
  1421	        return
  1422	            signer ==
  1423	            ecrecover(
  1424	                toTypedMessageHash(hashMetaTransaction(metaTx)),
  1425	                sigV,
  1426	                sigR,
  1427	                sigS
  1428	            );
  1429	    }
  1430	}
  1431	
  1432	// File: contracts/ChainConstants.sol
codex
{"no_findings":false,"summary":"Found 2 issues: the upgradeable initializer is unprotected and can be front-run to seize admin/minting control on an uninitialized proxy, and meta‑tx signature verification permits malleable signatures.","findings":[{"severity":"high","category":"upgradeability","title":"Unprotected initializer allows takeover of uninitialized proxy","exploit_scenario":"If the proxy is deployed without calling `initialize` atomically, any account can call `initialize` first, setting themselves as `DEFAULT_ADMIN_ROLE` and choosing a malicious `childChainManager` for `DEPOSITOR_ROLE`. The attacker can then mint arbitrary tokens via `deposit` or otherwise control roles.","recommendation":"Ensure the proxy is initialized in the deployment transaction (e.g., proxy constructor `data`), or gate `initialize` with an access control check. Also consider calling `_disableInitializers()` in the implementation contract to prevent misuse.","evidence":"`initialize` is `external` and lacks any access control while setting admin and depositor roles.","locations":["contracts/Contract.sol:1500","contracts/Contract.sol:1512","contracts/Contract.sol:1513","contracts/Contract.sol:1514"]},{"severity":"low","category":"auth","title":"Meta‑transaction signature verification allows malleable signatures","exploit_scenario":"Because `verify` uses raw `ecrecover` without enforcing `sigS` in the lower half order or validating `sigV`, the same meta‑tx can be represented by multiple valid signatures. This can enable replay in off‑chain systems that rely on signature uniqueness or cause duplicated relayer submissions.","recommendation":"Use OpenZeppelin `ECDSA.recover` or add EIP‑2 checks: require `sigV` in {27,28} and `sigS` <= secp256k1n/2.","evidence":"`verify` uses `ecrecover` directly without validating `sigV`/`sigS`.","locations":["contracts/Contract.sol:1413","contracts/Contract.sol:1420","contracts/Contract.sol:1423"]}]}
tokens used
30,861
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T12:18:44.531366+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Found 2 issues: the upgradeable initializer is unprotected and can be front-run to seize admin/minting control on an uninitialized proxy, and meta\u2011tx signature verification permits malleable signatures.",
    "raw_final": {
        "summary": "Found 2 issues: the upgradeable initializer is unprotected and can be front-run to seize admin/minting control on an uninitialized proxy, and meta\u2011tx signature verification permits malleable signatures.",
        "findings": [
            {
                "title": "Unprotected initializer allows takeover of uninitialized proxy",
                "category": "upgradeability",
                "evidence": "`initialize` is `external` and lacks any access control while setting admin and depositor roles.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:1500",
                    "contracts/Contract.sol:1512",
                    "contracts/Contract.sol:1513",
                    "contracts/Contract.sol:1514"
                ],
                "recommendation": "Ensure the proxy is initialized in the deployment transaction (e.g., proxy constructor `data`), or gate `initialize` with an access control check. Also consider calling `_disableInitializers()` in the implementation contract to prevent misuse.",
                "exploit_scenario": "If the proxy is deployed without calling `initialize` atomically, any account can call `initialize` first, setting themselves as `DEFAULT_ADMIN_ROLE` and choosing a malicious `childChainManager` for `DEPOSITOR_ROLE`. The attacker can then mint arbitrary tokens via `deposit` or otherwise control roles."
            },
            {
                "title": "Meta\u2011transaction signature verification allows malleable signatures",
                "category": "auth",
                "evidence": "`verify` uses `ecrecover` directly without validating `sigV`/`sigS`.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:1413",
                    "contracts/Contract.sol:1420",
                    "contracts/Contract.sol:1423"
                ],
                "recommendation": "Use OpenZeppelin `ECDSA.recover` or add EIP\u20112 checks: require `sigV` in {27,28} and `sigS` <= secp256k1n/2.",
                "exploit_scenario": "Because `verify` uses raw `ecrecover` without enforcing `sigS` in the lower half order or validating `sigV`, the same meta\u2011tx can be represented by multiple valid signatures. This can enable replay in off\u2011chain systems that rely on signature uniqueness or cause duplicated relayer submissions."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
0
Total opcodes
7712
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01e3
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x39509351
00000019: GT
0000001a: PUSH2 0x0102
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xa3b0b5a3
00000024: GT
00000025: PUSH2 0x0095
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xcf2c52cb
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xcf2c52cb
0000003a: EQ
0000003b: PUSH2 0x0d3b
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd547741f
00000045: EQ
00000046: PUSH2 0x0de1
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xdd62ed3e
00000050: EQ
00000051: PUSH2 0x0e3c
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xde7ea79d
0000005b: EQ
0000005c: PUSH2 0x0ec1
0000005f: JUMPI
00000060: PUSH2 0x01e3
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xa3b0b5a3
0000006b: EQ
0000006c: PUSH2 0x0bdb
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xa457c2d7
00000076: EQ
00000077: PUSH2 0x0c06
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xa9059cbb
00000081: EQ
00000082: PUSH2 0x0c79
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xca15c873
0000008c: EQ
0000008d: PUSH2 0x0cec
00000090: JUMPI
00000091: PUSH2 0x01e3
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0x9010d07c
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x9010d07c
000000a7: EQ
000000a8: PUSH2 0x0a28
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x91d14854
000000b2: EQ
000000b3: PUSH2 0x0aad
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x95d89b41
000000bd: EQ
000000be: PUSH2 0x0b20
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xa217fddf
000000c8: EQ
000000c9: PUSH2 0x0bb0
000000cc: JUMPI
000000cd: PUSH2 0x01e3
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0x39509351
000000d8: EQ
000000d9: PUSH2 0x08fa
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x626381a0
000000e3: EQ
000000e4: PUSH2 0x096d
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x70a08231
000000ee: EQ
000000ef: PUSH2 0x0998
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x8acfcaf7
000000f9: EQ
000000fa: PUSH2 0x09fd
000000fd: JUMPI
000000fe: PUSH2 0x01e3
00000101: JUMP
00000102: JUMPDEST
00000103: DUP1
00000104: PUSH4 0x23b872dd
00000109: GT
0000010a: PUSH2 0x017a
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x2f2ff15d
00000114: GT
00000115: PUSH2 0x0149
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x2f2ff15d
0000011f: EQ
00000120: PUSH2 0x07e8
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x313ce567
0000012a: EQ
0000012b: PUSH2 0x0843
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x3408e470
00000135: EQ
00000136: PUSH2 0x0874
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x36568abe
00000140: EQ
00000141: PUSH2 0x089f
00000144: JUMPI
00000145: PUSH2 0x01e3
00000148: JUMP
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH4 0x23b872dd
00000150: EQ
00000151: PUSH2 0x0666
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x248a9ca3
0000015b: EQ
0000015c: PUSH2 0x06f9
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x2d0335ab
00000166: EQ
00000167: PUSH2 0x0748
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x2e1a7d4d
00000171: EQ
00000172: PUSH2 0x07ad
00000175: JUMPI
00000176: PUSH2 0x01e3
00000179: JUMP
0000017a: JUMPDEST
0000017b: DUP1
0000017c: PUSH4 0x0dd7531a
00000181: GT
00000182: PUSH2 0x01b6
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x0dd7531a
0000018c: EQ
0000018d: PUSH2 0x04f0
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x0f7e5970
00000197: EQ
00000198: PUSH2 0x0580
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x18160ddd
000001a2: EQ
000001a3: PUSH2 0x0610
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0x20379ee5
000001ad: EQ
000001ae: PUSH2 0x063b
000001b1: JUMPI
000001b2: PUSH2 0x01e3
000001b5: JUMP
000001b6: JUMPDEST
000001b7: DUP1
000001b8: PUSH4 0x06fdde03
000001bd: EQ
000001be: PUSH2 0x01e8
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x095ea7b3
000001c8: EQ
000001c9: PUSH2 0x0278
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x0b54817c
000001d3: EQ
000001d4: PUSH2 0x02eb
000001d7: JUMPI
000001d8: DUP1
000001d9: PUSH4 0x0c53c51c
000001de: EQ
000001df: PUSH2 0x037b
000001e2: JUMPI
000001e3: JUMPDEST
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: CALLVALUE
000001ea: DUP1
000001eb: ISZERO
000001ec: PUSH2 0x01f4
000001ef: JUMPI
000001f0: PUSH1 0x00
000001f2: DUP1
000001f3: REVERT
000001f4: JUMPDEST
000001f5: POP
000001f6: PUSH2 0x01fd
000001f9: PUSH2 0x0fc9
000001fc: JUMP
000001fd: JUMPDEST
000001fe: PUSH1 0x40
00000200: MLOAD
00000201: DUP1
00000202: DUP1
00000203: PUSH1 0x20
00000205: ADD
00000206: DUP3
00000207: DUP2
00000208: SUB
00000209: DUP3
0000020a: MSTORE
0000020b: DUP4
0000020c: DUP2
0000020d: DUP2
0000020e: MLOAD
0000020f: DUP2
00000210: MSTORE
00000211: PUSH1 0x20
00000213: ADD
00000214: SWAP2
00000215: POP
00000216: DUP1
00000217: MLOAD
00000218: SWAP1
00000219: PUSH1 0x20
0000021b: ADD
0000021c: SWAP1
0000021d: DUP1
0000021e: DUP4
0000021f: DUP4
00000220: PUSH1 0x00
00000222: JUMPDEST
00000223: DUP4
00000224: DUP2
00000225: LT
00000226: ISZERO
00000227: PUSH2 0x023d
0000022a: JUMPI
0000022b: DUP1
0000022c: DUP3
0000022d: ADD
0000022e: MLOAD
0000022f: DUP2
00000230: DUP5
00000231: ADD
00000232: MSTORE
00000233: PUSH1 0x20
00000235: DUP2
00000236: ADD
00000237: SWAP1
00000238: POP
00000239: PUSH2 0x0222
0000023c: JUMP
0000023d: JUMPDEST
0000023e: POP
0000023f: POP
00000240: POP
00000241: POP
00000242: SWAP1
00000243: POP
00000244: SWAP1
00000245: DUP2
00000246: ADD
00000247: SWAP1
00000248: PUSH1 0x1f
0000024a: AND
0000024b: DUP1
0000024c: ISZERO
0000024d: PUSH2 0x026a
00000250: JUMPI
00000251: DUP1
00000252: DUP3
00000253: SUB
00000254: DUP1
00000255: MLOAD
00000256: PUSH1 0x01
00000258: DUP4
00000259: PUSH1 0x20
0000025b: SUB
0000025c: PUSH2 0x0100
0000025f: EXP
00000260: SUB
00000261: NOT
00000262: AND
00000263: DUP2
00000264: MSTORE
00000265: PUSH1 0x20
00000267: ADD
00000268: SWAP2
00000269: POP
0000026a: JUMPDEST
0000026b: POP
0000026c: SWAP3
0000026d: POP
0000026e: POP
0000026f: POP
00000270: PUSH1 0x40
00000272: MLOAD
00000273: DUP1
00000274: SWAP2
00000275: SUB
00000276: SWAP1
00000277: RETURN
00000278: JUMPDEST
00000279: CALLVALUE
0000027a: DUP1
0000027b: ISZERO
0000027c: PUSH2 0x0284
0000027f: JUMPI
00000280: PUSH1 0x00
00000282: DUP1
00000283: REVERT
00000284: JUMPDEST
00000285: POP
00000286: PUSH2 0x02d1
00000289: PUSH1 0x04
0000028b: DUP1
0000028c: CALLDATASIZE
0000028d: SUB
0000028e: PUSH1 0x40
00000290: DUP2
00000291: LT
00000292: ISZERO
00000293: PUSH2 0x029b
00000296: JUMPI
00000297: PUSH1 0x00
00000299: DUP1
0000029a: REVERT
0000029b: JUMPDEST
0000029c: DUP2
0000029d: ADD
0000029e: SWAP1
0000029f: DUP1
000002a0: DUP1
000002a1: CALLDATALOAD
000002a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002b7: AND
000002b8: SWAP1
000002b9: PUSH1 0x20
000002bb: ADD
000002bc: SWAP1
000002bd: SWAP3
000002be: SWAP2
000002bf: SWAP1
000002c0: DUP1
000002c1: CALLDATALOAD
000002c2: SWAP1
000002c3: PUSH1 0x20
000002c5: ADD
000002c6: SWAP1
000002c7: SWAP3
000002c8: SWAP2
000002c9: SWAP1
000002ca: POP
000002cb: POP
000002cc: POP
000002cd: PUSH2 0x106b
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH1 0x40
000002d4: MLOAD
000002d5: DUP1
000002d6: DUP3
000002d7: ISZERO
000002d8: ISZERO
000002d9: ISZERO
000002da: ISZERO
000002db: DUP2
000002dc: MSTORE
000002dd: PUSH1 0x20
000002df: ADD
000002e0: SWAP2
000002e1: POP
000002e2: POP
000002e3: PUSH1 0x40
000002e5: MLOAD
000002e6: DUP1
000002e7: SWAP2
000002e8: SUB
000002e9: SWAP1
000002ea: RETURN
000002eb: JUMPDEST
000002ec: CALLVALUE
000002ed: DUP1
000002ee: ISZERO
000002ef: PUSH2 0x02f7
000002f2: JUMPI
000002f3: PUSH1 0x00
000002f5: DUP1
000002f6: REVERT
000002f7: JUMPDEST
000002f8: POP
000002f9: PUSH2 0x0300
000002fc: PUSH2 0x1089
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH1 0x40
00000303: MLOAD
00000304: DUP1
00000305: DUP1
00000306: PUSH1 0x20
00000308: ADD
00000309: DUP3
0000030a: DUP2
0000030b: SUB
0000030c: DUP3
0000030d: MSTORE
0000030e: DUP4
0000030f: DUP2
00000310: DUP2
00000311: MLOAD
00000312: DUP2
00000313: MSTORE
00000314: PUSH1 0x20
00000316: ADD
00000317: SWAP2
00000318: POP
00000319: DUP1
0000031a: MLOAD
0000031b: SWAP1
0000031c: PUSH1 0x20
0000031e: ADD
0000031f: SWAP1
00000320: DUP1
00000321: DUP4
00000322: DUP4
00000323: PUSH1 0x00
00000325: JUMPDEST
00000326: DUP4
00000327: DUP2
00000328: LT
00000329: ISZERO
0000032a: PUSH2 0x0340
0000032d: JUMPI
0000032e: DUP1
0000032f: DUP3
00000330: ADD
00000331: MLOAD
00000332: DUP2
00000333: DUP5
00000334: ADD
00000335: MSTORE
00000336: PUSH1 0x20
00000338: DUP2
00000339: ADD
0000033a: SWAP1
0000033b: POP
0000033c: PUSH2 0x0325
0000033f: JUMP
00000340: JUMPDEST
00000341: POP
00000342: POP
00000343: POP
00000344: POP
00000345: SWAP1
00000346: POP
00000347: SWAP1
00000348: DUP2
00000349: ADD
0000034a: SWAP1
0000034b: PUSH1 0x1f
0000034d: AND
0000034e: DUP1
0000034f: ISZERO
00000350: PUSH2 0x036d
00000353: JUMPI
00000354: DUP1
00000355: DUP3
00000356: SUB
00000357: DUP1
00000358: MLOAD
00000359: PUSH1 0x01
0000035b: DUP4
0000035c: PUSH1 0x20
0000035e: SUB
0000035f: PUSH2 0x0100
00000362: EXP
00000363: SUB
00000364: NOT
00000365: AND
00000366: DUP2
00000367: MSTORE
00000368: PUSH1 0x20
0000036a: ADD
0000036b: SWAP2
0000036c: POP
0000036d: JUMPDEST
0000036e: POP
0000036f: SWAP3
00000370: POP
00000371: POP
00000372: POP
00000373: PUSH1 0x40
00000375: MLOAD
00000376: DUP1
00000377: SWAP2
00000378: SUB
00000379: SWAP1
0000037a: RETURN
0000037b: JUMPDEST
0000037c: PUSH2 0x0475
0000037f: PUSH1 0x04
00000381: DUP1
00000382: CALLDATASIZE
00000383: SUB
00000384: PUSH1 0xa0
00000386: DUP2
00000387: LT
00000388: ISZERO
00000389: PUSH2 0x0391
0000038c: JUMPI
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: REVERT
00000391: JUMPDEST
00000392: DUP2
00000393: ADD
00000394: SWAP1
00000395: DUP1
00000396: DUP1
00000397: CALLDATALOAD
00000398: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ad: AND
000003ae: SWAP1
000003af: PUSH1 0x20
000003b1: ADD
000003b2: SWAP1
000003b3: SWAP3
000003b4: SWAP2
000003b5: SWAP1
000003b6: DUP1
000003b7: CALLDATALOAD
000003b8: SWAP1
000003b9: PUSH1 0x20
000003bb: ADD
000003bc: SWAP1
000003bd: PUSH5 0x0100000000
000003c3: DUP2
000003c4: GT
000003c5: ISZERO
000003c6: PUSH2 0x03ce
000003c9: JUMPI
000003ca: PUSH1 0x00
000003cc: DUP1
000003cd: REVERT
000003ce: JUMPDEST
000003cf: DUP3
000003d0: ADD
000003d1: DUP4
000003d2: PUSH1 0x20
000003d4: DUP3
000003d5: ADD
000003d6: GT
000003d7: ISZERO
000003d8: PUSH2 0x03e0
000003db: JUMPI
000003dc: PUSH1 0x00
000003de: DUP1
000003df: REVERT
000003e0: JUMPDEST
000003e1: DUP1
000003e2: CALLDATALOAD
000003e3: SWAP1
000003e4: PUSH1 0x20
000003e6: ADD
000003e7: SWAP2
000003e8: DUP5
000003e9: PUSH1 0x01
000003eb: DUP4
000003ec: MUL
000003ed: DUP5
000003ee: ADD
000003ef: GT
000003f0: PUSH5 0x0100000000
000003f6: DUP4
000003f7: GT
000003f8: OR
000003f9: ISZERO
000003fa: PUSH2 0x0402
000003fd: JUMPI
000003fe: PUSH1 0x00
00000400: DUP1
00000401: REVERT
00000402: JUMPDEST
00000403: SWAP2
00000404: SWAP1
00000405: DUP1
00000406: DUP1
00000407: PUSH1 0x1f
00000409: ADD
0000040a: PUSH1 0x20
0000040c: DUP1
0000040d: SWAP2
0000040e: DIV
0000040f: MUL
00000410: PUSH1 0x20
00000412: ADD
00000413: PUSH1 0x40
00000415: MLOAD
00000416: SWAP1
00000417: DUP2
00000418: ADD
00000419: PUSH1 0x40
0000041b: MSTORE
0000041c: DUP1
0000041d: SWAP4
0000041e: SWAP3
0000041f: SWAP2
00000420: SWAP1
00000421: DUP2
00000422: DUP2
00000423: MSTORE
00000424: PUSH1 0x20
00000426: ADD
00000427: DUP4
00000428: DUP4
00000429: DUP1
0000042a: DUP3
0000042b: DUP5
0000042c: CALLDATACOPY
0000042d: PUSH1 0x00
0000042f: DUP2
00000430: DUP5
00000431: ADD
00000432: MSTORE
00000433: PUSH1 0x1f
00000435: NOT
00000436: PUSH1 0x1f
00000438: DUP3
00000439: ADD
0000043a: AND
0000043b: SWAP1
0000043c: POP
0000043d: DUP1
0000043e: DUP4
0000043f: ADD
00000440: SWAP3
00000441: POP
00000442: POP
00000443: POP
00000444: POP
00000445: POP
00000446: POP
00000447: POP
00000448: SWAP2
00000449: SWAP3
0000044a: SWAP2
0000044b: SWAP3
0000044c: SWAP1
0000044d: DUP1
0000044e: CALLDATALOAD
0000044f: SWAP1
00000450: PUSH1 0x20
00000452: ADD
00000453: SWAP1
00000454: SWAP3
00000455: SWAP2
00000456: SWAP1
00000457: DUP1
00000458: CALLDATALOAD
00000459: SWAP1
0000045a: PUSH1 0x20
0000045c: ADD
0000045d: SWAP1
0000045e: SWAP3
0000045f: SWAP2
00000460: SWAP1
00000461: DUP1
00000462: CALLDATALOAD
00000463: PUSH1 0xff
00000465: AND
00000466: SWAP1
00000467: PUSH1 0x20
00000469: ADD
0000046a: SWAP1
0000046b: SWAP3
0000046c: SWAP2
0000046d: SWAP1
0000046e: POP
0000046f: POP
00000470: POP
00000471: PUSH2 0x10c2
00000474: JUMP
00000475: JUMPDEST
00000476: PUSH1 0x40
00000478: MLOAD
00000479: DUP1
0000047a: DUP1
0000047b: PUSH1 0x20
0000047d: ADD
0000047e: DUP3
0000047f: DUP2
00000480: SUB
00000481: DUP3
00000482: MSTORE
00000483: DUP4
00000484: DUP2
00000485: DUP2
00000486: MLOAD
00000487: DUP2
00000488: MSTORE
00000489: PUSH1 0x20
0000048b: ADD
0000048c: SWAP2
0000048d: POP
0000048e: DUP1
0000048f: MLOAD
00000490: SWAP1
00000491: PUSH1 0x20
00000493: ADD
00000494: SWAP1
00000495: DUP1
00000496: DUP4
00000497: DUP4
00000498: PUSH1 0x00
0000049a: JUMPDEST
0000049b: DUP4
0000049c: DUP2
0000049d: LT
0000049e: ISZERO
0000049f: PUSH2 0x04b5
000004a2: JUMPI
000004a3: DUP1
000004a4: DUP3
000004a5: ADD
000004a6: MLOAD
000004a7: DUP2
000004a8: DUP5
000004a9: ADD
000004aa: MSTORE
000004ab: PUSH1 0x20
000004ad: DUP2
000004ae: ADD
000004af: SWAP1
000004b0: POP
000004b1: PUSH2 0x049a
000004b4: JUMP
000004b5: JUMPDEST
000004b6: POP
000004b7: POP
000004b8: POP
000004b9: POP
000004ba: SWAP1
000004bb: POP
000004bc: SWAP1
000004bd: DUP2
000004be: ADD
000004bf: SWAP1
000004c0: PUSH1 0x1f
000004c2: AND
000004c3: DUP1
000004c4: ISZERO
000004c5: PUSH2 0x04e2
000004c8: JUMPI
000004c9: DUP1
000004ca: DUP3
000004cb: SUB
000004cc: DUP1
000004cd: MLOAD
000004ce: PUSH1 0x01
000004d0: DUP4
000004d1: PUSH1 0x20
000004d3: SUB
000004d4: PUSH2 0x0100
000004d7: EXP
000004d8: SUB
000004d9: NOT
000004da: AND
000004db: DUP2
000004dc: MSTORE
000004dd: PUSH1 0x20
000004df: ADD
000004e0: SWAP2
000004e1: POP
000004e2: JUMPDEST
000004e3: POP
000004e4: SWAP3
000004e5: POP
000004e6: POP
000004e7: POP
000004e8: PUSH1 0x40
000004ea: MLOAD
000004eb: DUP1
000004ec: SWAP2
000004ed: SUB
000004ee: SWAP1
000004ef: RETURN
000004f0: JUMPDEST
000004f1: CALLVALUE
000004f2: DUP1
000004f3: ISZERO
000004f4: PUSH2 0x04fc
000004f7: JUMPI
000004f8: PUSH1 0x00
000004fa: DUP1
000004fb: REVERT
000004fc: JUMPDEST
000004fd: POP
000004fe: PUSH2 0x0505
00000501: PUSH2 0x1518
00000504: JUMP
00000505: JUMPDEST
00000506: PUSH1 0x40
00000508: MLOAD
00000509: DUP1
0000050a: DUP1
0000050b: PUSH1 0x20
0000050d: ADD
0000050e: DUP3
0000050f: DUP2
00000510: SUB
00000511: DUP3
00000512: MSTORE
00000513: DUP4
00000514: DUP2
00000515: DUP2
00000516: MLOAD
00000517: DUP2
00000518: MSTORE
00000519: PUSH1 0x20
0000051b: ADD
0000051c: SWAP2
0000051d: POP
0000051e: DUP1
0000051f: MLOAD
00000520: SWAP1
00000521: PUSH1 0x20
00000523: ADD
00000524: SWAP1
00000525: DUP1
00000526: DUP4
00000527: DUP4
00000528: PUSH1 0x00
0000052a: JUMPDEST
0000052b: DUP4
0000052c: DUP2
0000052d: LT
0000052e: ISZERO
0000052f: PUSH2 0x0545
00000532: JUMPI
00000533: DUP1
00000534: DUP3
00000535: ADD
00000536: MLOAD
00000537: DUP2
00000538: DUP5
00000539: ADD
0000053a: MSTORE
0000053b: PUSH1 0x20
0000053d: DUP2
0000053e: ADD
0000053f: SWAP1
00000540: POP
00000541: PUSH2 0x052a
00000544: JUMP
00000545: JUMPDEST
00000546: POP
00000547: POP
00000548: POP
00000549: POP
0000054a: SWAP1
0000054b: POP
0000054c: SWAP1
0000054d: DUP2
0000054e: ADD
0000054f: SWAP1
00000550: PUSH1 0x1f
00000552: AND
00000553: DUP1
00000554: ISZERO
00000555: PUSH2 0x0572
00000558: JUMPI
00000559: DUP1
0000055a: DUP3
0000055b: SUB
0000055c: DUP1
0000055d: MLOAD
0000055e: PUSH1 0x01
00000560: DUP4
00000561: PUSH1 0x20
00000563: SUB
00000564: PUSH2 0x0100
00000567: EXP
00000568: SUB
00000569: NOT
0000056a: AND
0000056b: DUP2
0000056c: MSTORE
0000056d: PUSH1 0x20
0000056f: ADD
00000570: SWAP2
00000571: POP
00000572: JUMPDEST
00000573: POP
00000574: SWAP3
00000575: POP
00000576: POP
00000577: POP
00000578: PUSH1 0x40
0000057a: MLOAD
0000057b: DUP1
0000057c: SWAP2
0000057d: SUB
0000057e: SWAP1
0000057f: RETURN
00000580: JUMPDEST
00000581: CALLVALUE
00000582: DUP1
00000583: ISZERO
00000584: PUSH2 0x058c
00000587: JUMPI
00000588: PUSH1 0x00
0000058a: DUP1
0000058b: REVERT
0000058c: JUMPDEST
0000058d: POP
0000058e: PUSH2 0x0595
00000591: PUSH2 0x1551
00000594: JUMP
00000595: JUMPDEST
00000596: PUSH1 0x40
00000598: MLOAD
00000599: DUP1
0000059a: DUP1
0000059b: PUSH1 0x20
0000059d: ADD
0000059e: DUP3
0000059f: DUP2
000005a0: SUB
000005a1: DUP3
000005a2: MSTORE
000005a3: DUP4
000005a4: DUP2
000005a5: DUP2
000005a6: MLOAD
000005a7: DUP2
000005a8: MSTORE
000005a9: PUSH1 0x20
000005ab: ADD
000005ac: SWAP2
000005ad: POP
000005ae: DUP1
000005af: MLOAD
000005b0: SWAP1
000005b1: PUSH1 0x20
000005b3: ADD
000005b4: SWAP1
000005b5: DUP1
000005b6: DUP4
000005b7: DUP4
000005b8: PUSH1 0x00
000005ba: JUMPDEST
000005bb: DUP4
000005bc: DUP2
000005bd: LT
000005be: ISZERO
000005bf: PUSH2 0x05d5
000005c2: JUMPI
000005c3: DUP1
000005c4: DUP3
000005c5: ADD
000005c6: MLOAD
000005c7: DUP2
000005c8: DUP5
000005c9: ADD
000005ca: MSTORE
000005cb: PUSH1 0x20
000005cd: DUP2
000005ce: ADD
000005cf: SWAP1
000005d0: POP
000005d1: PUSH2 0x05ba
000005d4: JUMP
000005d5: JUMPDEST
000005d6: POP
000005d7: POP
000005d8: POP
000005d9: POP
000005da: SWAP1
000005db: POP
000005dc: SWAP1
000005dd: DUP2
000005de: ADD
000005df: SWAP1
000005e0: PUSH1 0x1f
000005e2: AND
000005e3: DUP1
000005e4: ISZERO
000005e5: PUSH2 0x0602
000005e8: JUMPI
000005e9: DUP1
000005ea: DUP3
000005eb: SUB
000005ec: DUP1
000005ed: MLOAD
000005ee: PUSH1 0x01
000005f0: DUP4
000005f1: PUSH1 0x20
000005f3: SUB
000005f4: PUSH2 0x0100
000005f7: EXP
000005f8: SUB
000005f9: NOT
000005fa: AND
000005fb: DUP2
000005fc: MSTORE
000005fd: PUSH1 0x20
000005ff: ADD
00000600: SWAP2
00000601: POP
00000602: JUMPDEST
00000603: POP
00000604: SWAP3
00000605: POP
00000606: POP
00000607: POP
00000608: PUSH1 0x40
0000060a: MLOAD
0000060b: DUP1
0000060c: SWAP2
0000060d: SUB
0000060e: SWAP1
0000060f: RETURN
00000610: JUMPDEST
00000611: CALLVALUE
00000612: DUP1
00000613: ISZERO
00000614: PUSH2 0x061c
00000617: JUMPI
00000618: PUSH1 0x00
0000061a: DUP1
0000061b: REVERT
0000061c: JUMPDEST
0000061d: POP
0000061e: PUSH2 0x0625
00000621: PUSH2 0x158a
00000624: JUMP
00000625: JUMPDEST
00000626: PUSH1 0x40
00000628: MLOAD
00000629: DUP1
0000062a: DUP3
0000062b: DUP2
0000062c: MSTORE
0000062d: PUSH1 0x20
0000062f: ADD
00000630: SWAP2
00000631: POP
00000632: POP
00000633: PUSH1 0x40
00000635: MLOAD
00000636: DUP1
00000637: SWAP2
00000638: SUB
00000639: SWAP1
0000063a: RETURN
0000063b: JUMPDEST
0000063c: CALLVALUE
0000063d: DUP1
0000063e: ISZERO
0000063f: PUSH2 0x0647
00000642: JUMPI
00000643: PUSH1 0x00
00000645: DUP1
00000646: REVERT
00000647: JUMPDEST
00000648: POP
00000649: PUSH2 0x0650
0000064c: PUSH2 0x1594
0000064f: JUMP
00000650: JUMPDEST
00000651: PUSH1 0x40
00000653: MLOAD
00000654: DUP1
00000655: DUP3
00000656: DUP2
00000657: MSTORE
00000658: PUSH1 0x20
0000065a: ADD
0000065b: SWAP2
0000065c: POP
0000065d: POP
0000065e: PUSH1 0x40
00000660: MLOAD
00000661: DUP1
00000662: SWAP2
00000663: SUB
00000664: SWAP1
00000665: RETURN
00000666: JUMPDEST
00000667: CALLVALUE
00000668: DUP1
00000669: ISZERO
0000066a: PUSH2 0x0672
0000066d: JUMPI
0000066e: PUSH1 0x00
00000670: DUP1
00000671: REVERT
00000672: JUMPDEST
00000673: POP
00000674: PUSH2 0x06df
00000677: PUSH1 0x04
00000679: DUP1
0000067a: CALLDATASIZE
0000067b: SUB
0000067c: PUSH1 0x60
0000067e: DUP2
0000067f: LT
00000680: ISZERO
00000681: PUSH2 0x0689
00000684: JUMPI
00000685: PUSH1 0x00
00000687: DUP1
00000688: REVERT
00000689: JUMPDEST
0000068a: DUP2
0000068b: ADD
0000068c: SWAP1
0000068d: DUP1
0000068e: DUP1
0000068f: CALLDATALOAD
00000690: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a5: AND
000006a6: SWAP1
000006a7: PUSH1 0x20
000006a9: ADD
000006aa: SWAP1
000006ab: SWAP3
000006ac: SWAP2
000006ad: SWAP1
000006ae: DUP1
000006af: CALLDATALOAD
000006b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006c5: AND
000006c6: SWAP1
000006c7: PUSH1 0x20
000006c9: ADD
000006ca: SWAP1
000006cb: SWAP3
000006cc: SWAP2
000006cd: SWAP1
000006ce: DUP1
000006cf: CALLDATALOAD
000006d0: SWAP1
000006d1: PUSH1 0x20
000006d3: ADD
000006d4: SWAP1
000006d5: SWAP3
000006d6: SWAP2
000006d7: SWAP1
000006d8: POP
000006d9: POP
000006da: POP
000006db: PUSH2 0x159e
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH1 0x40
000006e2: MLOAD
000006e3: DUP1
000006e4: DUP3
000006e5: ISZERO
000006e6: ISZERO
000006e7: ISZERO
000006e8: ISZERO
000006e9: DUP2
000006ea: MSTORE
000006eb: PUSH1 0x20
000006ed: ADD
000006ee: SWAP2
000006ef: POP
000006f0: POP
000006f1: PUSH1 0x40
000006f3: MLOAD
000006f4: DUP1
000006f5: SWAP2
000006f6: SUB
000006f7: SWAP1
000006f8: RETURN
000006f9: JUMPDEST
000006fa: CALLVALUE
000006fb: DUP1
000006fc: ISZERO
000006fd: PUSH2 0x0705
00000700: JUMPI
00000701: PUSH1 0x00
00000703: DUP1
00000704: REVERT
00000705: JUMPDEST
00000706: POP
00000707: PUSH2 0x0732
0000070a: PUSH1 0x04
0000070c: DUP1
0000070d: CALLDATASIZE
0000070e: SUB
0000070f: PUSH1 0x20
00000711: DUP2
00000712: LT
00000713: ISZERO
00000714: PUSH2 0x071c
00000717: JUMPI
00000718: PUSH1 0x00
0000071a: DUP1
0000071b: REVERT
0000071c: JUMPDEST
0000071d: DUP2
0000071e: ADD
0000071f: SWAP1
00000720: DUP1
00000721: DUP1
00000722: CALLDATALOAD
00000723: SWAP1
00000724: PUSH1 0x20
00000726: ADD
00000727: SWAP1
00000728: SWAP3
00000729: SWAP2
0000072a: SWAP1
0000072b: POP
0000072c: POP
0000072d: POP
0000072e: PUSH2 0x1677
00000731: JUMP
00000732: JUMPDEST
00000733: PUSH1 0x40
00000735: MLOAD
00000736: DUP1
00000737: DUP3
00000738: DUP2
00000739: MSTORE
0000073a: PUSH1 0x20
0000073c: ADD
0000073d: SWAP2
0000073e: POP
0000073f: POP
00000740: PUSH1 0x40
00000742: MLOAD
00000743: DUP1
00000744: SWAP2
00000745: SUB
00000746: SWAP1
00000747: RETURN
00000748: JUMPDEST
00000749: CALLVALUE
0000074a: DUP1
0000074b: ISZERO
0000074c: PUSH2 0x0754
0000074f: JUMPI
00000750: PUSH1 0x00
00000752: DUP1
00000753: REVERT
00000754: JUMPDEST
00000755: POP
00000756: PUSH2 0x0797
00000759: PUSH1 0x04
0000075b: DUP1
0000075c: CALLDATASIZE
0000075d: SUB
0000075e: PUSH1 0x20
00000760: DUP2
00000761: LT
00000762: ISZERO
00000763: PUSH2 0x076b
00000766: JUMPI
00000767: PUSH1 0x00
00000769: DUP1
0000076a: REVERT
0000076b: JUMPDEST
0000076c: DUP2
0000076d: ADD
0000076e: SWAP1
0000076f: DUP1
00000770: DUP1
00000771: CALLDATALOAD
00000772: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000787: AND
00000788: SWAP1
00000789: PUSH1 0x20
0000078b: ADD
0000078c: SWAP1
0000078d: SWAP3
0000078e: SWAP2
0000078f: SWAP1
00000790: POP
00000791: POP
00000792: POP
00000793: PUSH2 0x1697
00000796: JUMP
00000797: JUMPDEST
00000798: PUSH1 0x40
0000079a: MLOAD
0000079b: DUP1
0000079c: DUP3
0000079d: DUP2
0000079e: MSTORE
0000079f: PUSH1 0x20
000007a1: ADD
000007a2: SWAP2
000007a3: POP
000007a4: POP
000007a5: PUSH1 0x40
000007a7: MLOAD
000007a8: DUP1
000007a9: SWAP2
000007aa: SUB
000007ab: SWAP1
000007ac: RETURN
000007ad: JUMPDEST
000007ae: CALLVALUE
000007af: DUP1
000007b0: ISZERO
000007b1: PUSH2 0x07b9
000007b4: JUMPI
000007b5: PUSH1 0x00
000007b7: DUP1
000007b8: REVERT
000007b9: JUMPDEST
000007ba: POP
000007bb: PUSH2 0x07e6
000007be: PUSH1 0x04
000007c0: DUP1
000007c1: CALLDATASIZE
000007c2: SUB
000007c3: PUSH1 0x20
000007c5: DUP2
000007c6: LT
000007c7: ISZERO
000007c8: PUSH2 0x07d0
000007cb: JUMPI
000007cc: PUSH1 0x00
000007ce: DUP1
000007cf: REVERT
000007d0: JUMPDEST
000007d1: DUP2
000007d2: ADD
000007d3: SWAP1
000007d4: DUP1
000007d5: DUP1
000007d6: CALLDATALOAD
000007d7: SWAP1
000007d8: PUSH1 0x20
000007da: ADD
000007db: SWAP1
000007dc: SWAP3
000007dd: SWAP2
000007de: SWAP1
000007df: POP
000007e0: POP
000007e1: POP
000007e2: PUSH2 0x16e0
000007e5: JUMP
000007e6: JUMPDEST
000007e7: STOP
000007e8: JUMPDEST
000007e9: CALLVALUE
000007ea: DUP1
000007eb: ISZERO
000007ec: PUSH2 0x07f4
000007ef: JUMPI
000007f0: PUSH1 0x00
000007f2: DUP1
000007f3: REVERT
000007f4: JUMPDEST
000007f5: POP
000007f6: PUSH2 0x0841
000007f9: PUSH1 0x04
000007fb: DUP1
000007fc: CALLDATASIZE
000007fd: SUB
000007fe: PUSH1 0x40
00000800: DUP2
00000801: LT
00000802: ISZERO
00000803: PUSH2 0x080b
00000806: JUMPI
00000807: PUSH1 0x00
00000809: DUP1
0000080a: REVERT
0000080b: JUMPDEST
0000080c: DUP2
0000080d: ADD
0000080e: SWAP1
0000080f: DUP1
00000810: DUP1
00000811: CALLDATALOAD
00000812: SWAP1
00000813: PUSH1 0x20
00000815: ADD
00000816: SWAP1
00000817: SWAP3
00000818: SWAP2
00000819: SWAP1
0000081a: DUP1
0000081b: CALLDATALOAD
0000081c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000831: AND
00000832: SWAP1
00000833: PUSH1 0x20
00000835: ADD
00000836: SWAP1
00000837: SWAP3
00000838: SWAP2
00000839: SWAP1
0000083a: POP
0000083b: POP
0000083c: POP
0000083d: PUSH2 0x16f4
00000840: JUMP
00000841: JUMPDEST
00000842: STOP
00000843: JUMPDEST
00000844: CALLVALUE
00000845: DUP1
00000846: ISZERO
00000847: PUSH2 0x084f
0000084a: JUMPI
0000084b: PUSH1 0x00
0000084d: DUP1
0000084e: REVERT
0000084f: JUMPDEST
00000850: POP
00000851: PUSH2 0x0858
00000854: PUSH2 0x177e
00000857: JUMP
00000858: JUMPDEST
00000859: PUSH1 0x40
0000085b: MLOAD
0000085c: DUP1
0000085d: DUP3
0000085e: PUSH1 0xff
00000860: AND
00000861: PUSH1 0xff
00000863: AND
00000864: DUP2
00000865: MSTORE
00000866: PUSH1 0x20
00000868: ADD
00000869: SWAP2
0000086a: POP
0000086b: POP
0000086c: PUSH1 0x40
0000086e: MLOAD
0000086f: DUP1
00000870: SWAP2
00000871: SUB
00000872: SWAP1
00000873: RETURN
00000874: JUMPDEST
00000875: CALLVALUE
00000876: DUP1
00000877: ISZERO
00000878: PUSH2 0x0880
0000087b: JUMPI
0000087c: PUSH1 0x00
0000087e: DUP1
0000087f: REVERT
00000880: JUMPDEST
00000881: POP
00000882: PUSH2 0x0889
00000885: PUSH2 0x1795
00000888: JUMP
00000889: JUMPDEST
0000088a: PUSH1 0x40
0000088c: MLOAD
0000088d: DUP1
0000088e: DUP3
0000088f: DUP2
00000890: MSTORE
00000891: PUSH1 0x20
00000893: ADD
00000894: SWAP2
00000895: POP
00000896: POP
00000897: PUSH1 0x40
00000899: MLOAD
0000089a: DUP1
0000089b: SWAP2
0000089c: SUB
0000089d: SWAP1
0000089e: RETURN
0000089f: JUMPDEST
000008a0: CALLVALUE
000008a1: DUP1
000008a2: ISZERO
000008a3: PUSH2 0x08ab
000008a6: JUMPI
000008a7: PUSH1 0x00
000008a9: DUP1
000008aa: REVERT
000008ab: JUMPDEST
000008ac: POP
000008ad: PUSH2 0x08f8
000008b0: PUSH1 0x04
000008b2: DUP1
000008b3: CALLDATASIZE
000008b4: SUB
000008b5: PUSH1 0x40
000008b7: DUP2
000008b8: LT
000008b9: ISZERO
000008ba: PUSH2 0x08c2
000008bd: JUMPI
000008be: PUSH1 0x00
000008c0: DUP1
000008c1: REVERT
000008c2: JUMPDEST
000008c3: DUP2
000008c4: ADD
000008c5: SWAP1
000008c6: DUP1
000008c7: DUP1
000008c8: CALLDATALOAD
000008c9: SWAP1
000008ca: PUSH1 0x20
000008cc: ADD
000008cd: SWAP1
000008ce: SWAP3
000008cf: SWAP2
000008d0: SWAP1
000008d1: DUP1
000008d2: CALLDATALOAD
000008d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e8: AND
000008e9: SWAP1
000008ea: PUSH1 0x20
000008ec: ADD
000008ed: SWAP1
000008ee: SWAP3
000008ef: SWAP2
000008f0: SWAP1
000008f1: POP
000008f2: POP
000008f3: POP
000008f4: PUSH2 0x17a2
000008f7: JUMP
000008f8: JUMPDEST
000008f9: STOP
000008fa: JUMPDEST
000008fb: CALLVALUE
000008fc: DUP1
000008fd: ISZERO
000008fe: PUSH2 0x0906
00000901: JUMPI
00000902: PUSH1 0x00
00000904: DUP1
00000905: REVERT
00000906: JUMPDEST
00000907: POP
00000908: PUSH2 0x0953
0000090b: PUSH1 0x04
0000090d: DUP1
0000090e: CALLDATASIZE
0000090f: SUB
00000910: PUSH1 0x40
00000912: DUP2
00000913: LT
00000914: ISZERO
00000915: PUSH2 0x091d
00000918: JUMPI
00000919: PUSH1 0x00
0000091b: DUP1
0000091c: REVERT
0000091d: JUMPDEST
0000091e: DUP2
0000091f: ADD
00000920: SWAP1
00000921: DUP1
00000922: DUP1
00000923: CALLDATALOAD
00000924: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000939: AND
0000093a: SWAP1
0000093b: PUSH1 0x20
0000093d: ADD
0000093e: SWAP1
0000093f: SWAP3
00000940: SWAP2
00000941: SWAP1
00000942: DUP1
00000943: CALLDATALOAD
00000944: SWAP1
00000945: PUSH1 0x20
00000947: ADD
00000948: SWAP1
00000949: SWAP3
0000094a: SWAP2
0000094b: SWAP1
0000094c: POP
0000094d: POP
0000094e: POP
0000094f: PUSH2 0x183b
00000952: JUMP
00000953: JUMPDEST
00000954: PUSH1 0x40
00000956: MLOAD
00000957: DUP1
00000958: DUP3
00000959: ISZERO
0000095a: ISZERO
0000095b: ISZERO
0000095c: ISZERO
0000095d: DUP2
0000095e: MSTORE
0000095f: PUSH1 0x20
00000961: ADD
00000962: SWAP2
00000963: POP
00000964: POP
00000965: PUSH1 0x40
00000967: MLOAD
00000968: DUP1
00000969: SWAP2
0000096a: SUB
0000096b: SWAP1
0000096c: RETURN
0000096d: JUMPDEST
0000096e: CALLVALUE
0000096f: DUP1
00000970: ISZERO
00000971: PUSH2 0x0979
00000974: JUMPI
00000975: PUSH1 0x00
00000977: DUP1
00000978: REVERT
00000979: JUMPDEST
0000097a: POP
0000097b: PUSH2 0x0982
0000097e: PUSH2 0x18ee
00000981: JUMP
00000982: JUMPDEST
00000983: PUSH1 0x40
00000985: MLOAD
00000986: DUP1
00000987: DUP3
00000988: DUP2
00000989: MSTORE
0000098a: PUSH1 0x20
0000098c: ADD
0000098d: SWAP2
0000098e: POP
0000098f: POP
00000990: PUSH1 0x40
00000992: MLOAD
00000993: DUP1
00000994: SWAP2
00000995: SUB
00000996: SWAP1
00000997: RETURN
00000998: JUMPDEST
00000999: CALLVALUE
0000099a: DUP1
0000099b: ISZERO
0000099c: PUSH2 0x09a4
0000099f: JUMPI
000009a0: PUSH1 0x00
000009a2: DUP1
000009a3: REVERT
000009a4: JUMPDEST
000009a5: POP
000009a6: PUSH2 0x09e7
000009a9: PUSH1 0x04
000009ab: DUP1
000009ac: CALLDATASIZE
000009ad: SUB
000009ae: PUSH1 0x20
000009b0: DUP2
000009b1: LT
000009b2: ISZERO
000009b3: PUSH2 0x09bb
000009b6: JUMPI
000009b7: PUSH1 0x00
000009b9: DUP1
000009ba: REVERT
000009bb: JUMPDEST
000009bc: DUP2
000009bd: ADD
000009be: SWAP1
000009bf: DUP1
000009c0: DUP1
000009c1: CALLDATALOAD
000009c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009d7: AND
000009d8: SWAP1
000009d9: PUSH1 0x20
000009db: ADD
000009dc: SWAP1
000009dd: SWAP3
000009de: SWAP2
000009df: SWAP1
000009e0: POP
000009e1: POP
000009e2: POP
000009e3: PUSH2 0x18f3
000009e6: JUMP
000009e7: JUMPDEST
000009e8: PUSH1 0x40
000009ea: MLOAD
000009eb: DUP1
000009ec: DUP3
000009ed: DUP2
000009ee: MSTORE
000009ef: PUSH1 0x20
000009f1: ADD
000009f2: SWAP2
000009f3: POP
000009f4: POP
000009f5: PUSH1 0x40
000009f7: MLOAD
000009f8: DUP1
000009f9: SWAP2
000009fa: SUB
000009fb: SWAP1
000009fc: RETURN
000009fd: JUMPDEST
000009fe: CALLVALUE
000009ff: DUP1
00000a00: ISZERO
00000a01: PUSH2 0x0a09
00000a04: JUMPI
00000a05: PUSH1 0x00
00000a07: DUP1
00000a08: REVERT
00000a09: JUMPDEST
00000a0a: POP
00000a0b: PUSH2 0x0a12
00000a0e: PUSH2 0x193b
00000a11: JUMP
00000a12: JUMPDEST
00000a13: PUSH1 0x40
00000a15: MLOAD
00000a16: DUP1
00000a17: DUP3
00000a18: DUP2
00000a19: MSTORE
00000a1a: PUSH1 0x20
00000a1c: ADD
00000a1d: SWAP2
00000a1e: POP
00000a1f: POP
00000a20: PUSH1 0x40
00000a22: MLOAD
00000a23: DUP1
00000a24: SWAP2
00000a25: SUB
00000a26: SWAP1
00000a27: RETURN
00000a28: JUMPDEST
00000a29: CALLVALUE
00000a2a: DUP1
00000a2b: ISZERO
00000a2c: PUSH2 0x0a34
00000a2f: JUMPI
00000a30: PUSH1 0x00
00000a32: DUP1
00000a33: REVERT
00000a34: JUMPDEST
00000a35: POP
00000a36: PUSH2 0x0a6b
00000a39: PUSH1 0x04
00000a3b: DUP1
00000a3c: CALLDATASIZE
00000a3d: SUB
00000a3e: PUSH1 0x40
00000a40: DUP2
00000a41: LT
00000a42: ISZERO
00000a43: PUSH2 0x0a4b
00000a46: JUMPI
00000a47: PUSH1 0x00
00000a49: DUP1
00000a4a: REVERT
00000a4b: JUMPDEST
00000a4c: DUP2
00000a4d: ADD
00000a4e: SWAP1
00000a4f: DUP1
00000a50: DUP1
00000a51: CALLDATALOAD
00000a52: SWAP1
00000a53: PUSH1 0x20
00000a55: ADD
00000a56: SWAP1
00000a57: SWAP3
00000a58: SWAP2
00000a59: SWAP1
00000a5a: DUP1
00000a5b: CALLDATALOAD
00000a5c: SWAP1
00000a5d: PUSH1 0x20
00000a5f: ADD
00000a60: SWAP1
00000a61: SWAP3
00000a62: SWAP2
00000a63: SWAP1
00000a64: POP
00000a65: POP
00000a66: POP
00000a67: PUSH2 0x1940
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: PUSH1 0x40
00000a6e: MLOAD
00000a6f: DUP1
00000a70: DUP3
00000a71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a86: AND
00000a87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a9c: AND
00000a9d: DUP2
00000a9e: MSTORE
00000a9f: PUSH1 0x20
00000aa1: ADD
00000aa2: SWAP2
00000aa3: POP
00000aa4: POP
00000aa5: PUSH1 0x40
00000aa7: MLOAD
00000aa8: DUP1
00000aa9: SWAP2
00000aaa: SUB
00000aab: SWAP1
00000aac: RETURN
00000aad: JUMPDEST
00000aae: CALLVALUE
00000aaf: DUP1
00000ab0: ISZERO
00000ab1: PUSH2 0x0ab9
00000ab4: JUMPI
00000ab5: PUSH1 0x00
00000ab7: DUP1
00000ab8: REVERT
00000ab9: JUMPDEST
00000aba: POP
00000abb: PUSH2 0x0b06
00000abe: PUSH1 0x04
00000ac0: DUP1
00000ac1: CALLDATASIZE
00000ac2: SUB
00000ac3: PUSH1 0x40
00000ac5: DUP2
00000ac6: LT
00000ac7: ISZERO
00000ac8: PUSH2 0x0ad0
00000acb: JUMPI
00000acc: PUSH1 0x00
00000ace: DUP1
00000acf: REVERT
00000ad0: JUMPDEST
00000ad1: DUP2
00000ad2: ADD
00000ad3: SWAP1
00000ad4: DUP1
00000ad5: DUP1
00000ad6: CALLDATALOAD
00000ad7: SWAP1
00000ad8: PUSH1 0x20
00000ada: ADD
00000adb: SWAP1
00000adc: SWAP3
00000add: SWAP2
00000ade: SWAP1
00000adf: DUP1
00000ae0: CALLDATALOAD
00000ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af6: AND
00000af7: SWAP1
00000af8: PUSH1 0x20
00000afa: ADD
00000afb: SWAP1
00000afc: SWAP3
00000afd: SWAP2
00000afe: SWAP1
00000aff: POP
00000b00: POP
00000b01: POP
00000b02: PUSH2 0x1972
00000b05: JUMP
00000b06: JUMPDEST
00000b07: PUSH1 0x40
00000b09: MLOAD
00000b0a: DUP1
00000b0b: DUP3
00000b0c: ISZERO
00000b0d: ISZERO
00000b0e: ISZERO
00000b0f: ISZERO
00000b10: DUP2
00000b11: MSTORE
00000b12: PUSH1 0x20
00000b14: ADD
00000b15: SWAP2
00000b16: POP
00000b17: POP
00000b18: PUSH1 0x40
00000b1a: MLOAD
00000b1b: DUP1
00000b1c: SWAP2
00000b1d: SUB
00000b1e: SWAP1
00000b1f: RETURN
00000b20: JUMPDEST
00000b21: CALLVALUE
00000b22: DUP1
00000b23: ISZERO
00000b24: PUSH2 0x0b2c
00000b27: JUMPI
00000b28: PUSH1 0x00
00000b2a: DUP1
00000b2b: REVERT
00000b2c: JUMPDEST
00000b2d: POP
00000b2e: PUSH2 0x0b35
00000b31: PUSH2 0x19a4
00000b34: JUMP
00000b35: JUMPDEST
00000b36: PUSH1 0x40
00000b38: MLOAD
00000b39: DUP1
00000b3a: DUP1
00000b3b: PUSH1 0x20
00000b3d: ADD
00000b3e: DUP3
00000b3f: DUP2
00000b40: SUB
00000b41: DUP3
00000b42: MSTORE
00000b43: DUP4
00000b44: DUP2
00000b45: DUP2
00000b46: MLOAD
00000b47: DUP2
00000b48: MSTORE
00000b49: PUSH1 0x20
00000b4b: ADD
00000b4c: SWAP2
00000b4d: POP
00000b4e: DUP1
00000b4f: MLOAD
00000b50: SWAP1
00000b51: PUSH1 0x20
00000b53: ADD
00000b54: SWAP1
00000b55: DUP1
00000b56: DUP4
00000b57: DUP4
00000b58: PUSH1 0x00
00000b5a: JUMPDEST
00000b5b: DUP4
00000b5c: DUP2
00000b5d: LT
00000b5e: ISZERO
00000b5f: PUSH2 0x0b75
00000b62: JUMPI
00000b63: DUP1
00000b64: DUP3
00000b65: ADD
00000b66: MLOAD
00000b67: DUP2
00000b68: DUP5
00000b69: ADD
00000b6a: MSTORE
00000b6b: PUSH1 0x20
00000b6d: DUP2
00000b6e: ADD
00000b6f: SWAP1
00000b70: POP
00000b71: PUSH2 0x0b5a
00000b74: JUMP
00000b75: JUMPDEST
00000b76: POP
00000b77: POP
00000b78: POP
00000b79: POP
00000b7a: SWAP1
00000b7b: POP
00000b7c: SWAP1
00000b7d: DUP2
00000b7e: ADD
00000b7f: SWAP1
00000b80: PUSH1 0x1f
00000b82: AND
00000b83: DUP1
00000b84: ISZERO
00000b85: PUSH2 0x0ba2
00000b88: JUMPI
00000b89: DUP1
00000b8a: DUP3
00000b8b: SUB
00000b8c: DUP1
00000b8d: MLOAD
00000b8e: PUSH1 0x01
00000b90: DUP4
00000b91: PUSH1 0x20
00000b93: SUB
00000b94: PUSH2 0x0100
00000b97: EXP
00000b98: SUB
00000b99: NOT
00000b9a: AND
00000b9b: DUP2
00000b9c: MSTORE
00000b9d: PUSH1 0x20
00000b9f: ADD
00000ba0: SWAP2
00000ba1: POP
00000ba2: JUMPDEST
00000ba3: POP
00000ba4: SWAP3
00000ba5: POP
00000ba6: POP
00000ba7: POP
00000ba8: PUSH1 0x40
00000baa: MLOAD
00000bab: DUP1
00000bac: SWAP2
00000bad: SUB
00000bae: SWAP1
00000baf: RETURN
00000bb0: JUMPDEST
00000bb1: CALLVALUE
00000bb2: DUP1
00000bb3: ISZERO
00000bb4: PUSH2 0x0bbc
00000bb7: JUMPI
00000bb8: PUSH1 0x00
00000bba: DUP1
00000bbb: REVERT
00000bbc: JUMPDEST
00000bbd: POP
00000bbe: PUSH2 0x0bc5
00000bc1: PUSH2 0x1a46
00000bc4: JUMP
00000bc5: JUMPDEST
00000bc6: PUSH1 0x40
00000bc8: MLOAD
00000bc9: DUP1
00000bca: DUP3
00000bcb: DUP2
00000bcc: MSTORE
00000bcd: PUSH1 0x20
00000bcf: ADD
00000bd0: SWAP2
00000bd1: POP
00000bd2: POP
00000bd3: PUSH1 0x40
00000bd5: MLOAD
00000bd6: DUP1
00000bd7: SWAP2
00000bd8: SUB
00000bd9: SWAP1
00000bda: RETURN
00000bdb: JUMPDEST
00000bdc: CALLVALUE
00000bdd: DUP1
00000bde: ISZERO
00000bdf: PUSH2 0x0be7
00000be2: JUMPI
00000be3: PUSH1 0x00
00000be5: DUP1
00000be6: REVERT
00000be7: JUMPDEST
00000be8: POP
00000be9: PUSH2 0x0bf0
00000bec: PUSH2 0x1a4d
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: PUSH1 0x40
00000bf3: MLOAD
00000bf4: DUP1
00000bf5: DUP3
00000bf6: DUP2
00000bf7: MSTORE
00000bf8: PUSH1 0x20
00000bfa: ADD
00000bfb: SWAP2
00000bfc: POP
00000bfd: POP
00000bfe: PUSH1 0x40
00000c00: MLOAD
00000c01: DUP1
00000c02: SWAP2
00000c03: SUB
00000c04: SWAP1
00000c05: RETURN
00000c06: JUMPDEST
00000c07: CALLVALUE
00000c08: DUP1
00000c09: ISZERO
00000c0a: PUSH2 0x0c12
00000c0d: JUMPI
00000c0e: PUSH1 0x00
00000c10: DUP1
00000c11: REVERT
00000c12: JUMPDEST
00000c13: POP
00000c14: PUSH2 0x0c5f
00000c17: PUSH1 0x04
00000c19: DUP1
00000c1a: CALLDATASIZE
00000c1b: SUB
00000c1c: PUSH1 0x40
00000c1e: DUP2
00000c1f: LT
00000c20: ISZERO
00000c21: PUSH2 0x0c29
00000c24: JUMPI
00000c25: PUSH1 0x00
00000c27: DUP1
00000c28: REVERT
00000c29: JUMPDEST
00000c2a: DUP2
00000c2b: ADD
00000c2c: SWAP1
00000c2d: DUP1
00000c2e: DUP1
00000c2f: CALLDATALOAD
00000c30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c45: AND
00000c46: SWAP1
00000c47: PUSH1 0x20
00000c49: ADD
00000c4a: SWAP1
00000c4b: SWAP3
00000c4c: SWAP2
00000c4d: SWAP1
00000c4e: DUP1
00000c4f: CALLDATALOAD
00000c50: SWAP1
00000c51: PUSH1 0x20
00000c53: ADD
00000c54: SWAP1
00000c55: SWAP3
00000c56: SWAP2
00000c57: SWAP1
00000c58: POP
00000c59: POP
00000c5a: POP
00000c5b: PUSH2 0x1a86
00000c5e: JUMP
00000c5f: JUMPDEST
00000c60: PUSH1 0x40
00000c62: MLOAD
00000c63: DUP1
00000c64: DUP3
00000c65: ISZERO
00000c66: ISZERO
00000c67: ISZERO
00000c68: ISZERO
00000c69: DUP2
00000c6a: MSTORE
00000c6b: PUSH1 0x20
00000c6d: ADD
00000c6e: SWAP2
00000c6f: POP
00000c70: POP
00000c71: PUSH1 0x40
00000c73: MLOAD
00000c74: DUP1
00000c75: SWAP2
00000c76: SUB
00000c77: SWAP1
00000c78: RETURN
00000c79: JUMPDEST
00000c7a: CALLVALUE
00000c7b: DUP1
00000c7c: ISZERO
00000c7d: PUSH2 0x0c85
00000c80: JUMPI
00000c81: PUSH1 0x00
00000c83: DUP1
00000c84: REVERT
00000c85: JUMPDEST
00000c86: POP
00000c87: PUSH2 0x0cd2
00000c8a: PUSH1 0x04
00000c8c: DUP1
00000c8d: CALLDATASIZE
00000c8e: SUB
00000c8f: PUSH1 0x40
00000c91: DUP2
00000c92: LT
00000c93: ISZERO
00000c94: PUSH2 0x0c9c
00000c97: JUMPI
00000c98: PUSH1 0x00
00000c9a: DUP1
00000c9b: REVERT
00000c9c: JUMPDEST
00000c9d: DUP2
00000c9e: ADD
00000c9f: SWAP1
00000ca0: DUP1
00000ca1: DUP1
00000ca2: CALLDATALOAD
00000ca3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb8: AND
00000cb9: SWAP1
00000cba: PUSH1 0x20
00000cbc: ADD
00000cbd: SWAP1
00000cbe: SWAP3
00000cbf: SWAP2
00000cc0: SWAP1
00000cc1: DUP1
00000cc2: CALLDATALOAD
00000cc3: SWAP1
00000cc4: PUSH1 0x20
00000cc6: ADD
00000cc7: SWAP1
00000cc8: SWAP3
00000cc9: SWAP2
00000cca: SWAP1
00000ccb: POP
00000ccc: POP
00000ccd: POP
00000cce: PUSH2 0x1b53
00000cd1: JUMP
00000cd2: JUMPDEST
00000cd3: PUSH1 0x40
00000cd5: MLOAD
00000cd6: DUP1
00000cd7: DUP3
00000cd8: ISZERO
00000cd9: ISZERO
00000cda: ISZERO
00000cdb: ISZERO
00000cdc: DUP2
00000cdd: MSTORE
00000cde: PUSH1 0x20
00000ce0: ADD
00000ce1: SWAP2
00000ce2: POP
00000ce3: POP
00000ce4: PUSH1 0x40
00000ce6: MLOAD
00000ce7: DUP1
00000ce8: SWAP2
00000ce9: SUB
00000cea: SWAP1
00000ceb: RETURN
00000cec: JUMPDEST
00000ced: CALLVALUE
00000cee: DUP1
00000cef: ISZERO
00000cf0: PUSH2 0x0cf8
00000cf3: JUMPI
00000cf4: PUSH1 0x00
00000cf6: DUP1
00000cf7: REVERT
00000cf8: JUMPDEST
00000cf9: POP
00000cfa: PUSH2 0x0d25
00000cfd: PUSH1 0x04
00000cff: DUP1
00000d00: CALLDATASIZE
00000d01: SUB
00000d02: PUSH1 0x20
00000d04: DUP2
00000d05: LT
00000d06: ISZERO
00000d07: PUSH2 0x0d0f
00000d0a: JUMPI
00000d0b: PUSH1 0x00
00000d0d: DUP1
00000d0e: REVERT
00000d0f: JUMPDEST
00000d10: DUP2
00000d11: ADD
00000d12: SWAP1
00000d13: DUP1
00000d14: DUP1
00000d15: CALLDATALOAD
00000d16: SWAP1
00000d17: PUSH1 0x20
00000d19: ADD
00000d1a: SWAP1
00000d1b: SWAP3
00000d1c: SWAP2
00000d1d: SWAP1
00000d1e: POP
00000d1f: POP
00000d20: POP
00000d21: PUSH2 0x1b71
00000d24: JUMP
00000d25: JUMPDEST
00000d26: PUSH1 0x40
00000d28: MLOAD
00000d29: DUP1
00000d2a: DUP3
00000d2b: DUP2
00000d2c: MSTORE
00000d2d: PUSH1 0x20
00000d2f: ADD
00000d30: SWAP2
00000d31: POP
00000d32: POP
00000d33: PUSH1 0x40
00000d35: MLOAD
00000d36: DUP1
00000d37: SWAP2
00000d38: SUB
00000d39: SWAP1
00000d3a: RETURN
00000d3b: JUMPDEST
00000d3c: CALLVALUE
00000d3d: DUP1
00000d3e: ISZERO
00000d3f: PUSH2 0x0d47
00000d42: JUMPI
00000d43: PUSH1 0x00
00000d45: DUP1
00000d46: REVERT
00000d47: JUMPDEST
00000d48: POP
00000d49: PUSH2 0x0ddf
00000d4c: PUSH1 0x04
00000d4e: DUP1
00000d4f: CALLDATASIZE
00000d50: SUB
00000d51: PUSH1 0x40
00000d53: DUP2
00000d54: LT
00000d55: ISZERO
00000d56: PUSH2 0x0d5e
00000d59: JUMPI
00000d5a: PUSH1 0x00
00000d5c: DUP1
00000d5d: REVERT
00000d5e: JUMPDEST
00000d5f: DUP2
00000d60: ADD
00000d61: SWAP1
00000d62: DUP1
00000d63: DUP1
00000d64: CALLDATALOAD
00000d65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d7a: AND
00000d7b: SWAP1
00000d7c: PUSH1 0x20
00000d7e: ADD
00000d7f: SWAP1
00000d80: SWAP3
00000d81: SWAP2
00000d82: SWAP1
00000d83: DUP1
00000d84: CALLDATALOAD
00000d85: SWAP1
00000d86: PUSH1 0x20
00000d88: ADD
00000d89: SWAP1
00000d8a: PUSH5 0x0100000000
00000d90: DUP2
00000d91: GT
00000d92: ISZERO
00000d93: PUSH2 0x0d9b
00000d96: JUMPI
00000d97: PUSH1 0x00
00000d99: DUP1
00000d9a: REVERT
00000d9b: JUMPDEST
00000d9c: DUP3
00000d9d: ADD
00000d9e: DUP4
00000d9f: PUSH1 0x20
00000da1: DUP3
00000da2: ADD
00000da3: GT
00000da4: ISZERO
00000da5: PUSH2 0x0dad
00000da8: JUMPI
00000da9: PUSH1 0x00
00000dab: DUP1
00000dac: REVERT
00000dad: JUMPDEST
00000dae: DUP1
00000daf: CALLDATALOAD
00000db0: SWAP1
00000db1: PUSH1 0x20
00000db3: ADD
00000db4: SWAP2
00000db5: DUP5
00000db6: PUSH1 0x01
00000db8: DUP4
00000db9: MUL
00000dba: DUP5
00000dbb: ADD
00000dbc: GT
00000dbd: PUSH5 0x0100000000
00000dc3: DUP4
00000dc4: GT
00000dc5: OR
00000dc6: ISZERO
00000dc7: PUSH2 0x0dcf
00000dca: JUMPI
00000dcb: PUSH1 0x00
00000dcd: DUP1
00000dce: REVERT
00000dcf: JUMPDEST
00000dd0: SWAP1
00000dd1: SWAP2
00000dd2: SWAP3
00000dd3: SWAP4
00000dd4: SWAP2
00000dd5: SWAP3
00000dd6: SWAP4
00000dd7: SWAP1
00000dd8: POP
00000dd9: POP
00000dda: POP
00000ddb: PUSH2 0x1b98
00000dde: JUMP
00000ddf: JUMPDEST
00000de0: STOP
00000de1: JUMPDEST
00000de2: CALLVALUE
00000de3: DUP1
00000de4: ISZERO
00000de5: PUSH2 0x0ded
00000de8: JUMPI
00000de9: PUSH1 0x00
00000deb: DUP1
00000dec: REVERT
00000ded: JUMPDEST
00000dee: POP
00000def: PUSH2 0x0e3a
00000df2: PUSH1 0x04
00000df4: DUP1
00000df5: CALLDATASIZE
00000df6: SUB
00000df7: PUSH1 0x40
00000df9: DUP2
00000dfa: LT
00000dfb: ISZERO
00000dfc: PUSH2 0x0e04
00000dff: JUMPI
00000e00: PUSH1 0x00
00000e02: DUP1
00000e03: REVERT
00000e04: JUMPDEST
00000e05: DUP2
00000e06: ADD
00000e07: SWAP1
00000e08: DUP1
00000e09: DUP1
00000e0a: CALLDATALOAD
00000e0b: SWAP1
00000e0c: PUSH1 0x20
00000e0e: ADD
00000e0f: SWAP1
00000e10: SWAP3
00000e11: SWAP2
00000e12: SWAP1
00000e13: DUP1
00000e14: CALLDATALOAD
00000e15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e2a: AND
00000e2b: SWAP1
00000e2c: PUSH1 0x20
00000e2e: ADD
00000e2f: SWAP1
00000e30: SWAP3
00000e31: SWAP2
00000e32: SWAP1
00000e33: POP
00000e34: POP
00000e35: POP
00000e36: PUSH2 0x1cdb
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: STOP
00000e3c: JUMPDEST
00000e3d: CALLVALUE
00000e3e: DUP1
00000e3f: ISZERO
00000e40: PUSH2 0x0e48
00000e43: JUMPI
00000e44: PUSH1 0x00
00000e46: DUP1
00000e47: REVERT
00000e48: JUMPDEST
00000e49: POP
00000e4a: PUSH2 0x0eab
00000e4d: PUSH1 0x04
00000e4f: DUP1
00000e50: CALLDATASIZE
00000e51: SUB
00000e52: PUSH1 0x40
00000e54: DUP2
00000e55: LT
00000e56: ISZERO
00000e57: PUSH2 0x0e5f
00000e5a: JUMPI
00000e5b: PUSH1 0x00
00000e5d: DUP1
00000e5e: REVERT
00000e5f: JUMPDEST
00000e60: DUP2
00000e61: ADD
00000e62: SWAP1
00000e63: DUP1
00000e64: DUP1
00000e65: CALLDATALOAD
00000e66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e7b: AND
00000e7c: SWAP1
00000e7d: PUSH1 0x20
00000e7f: ADD
00000e80: SWAP1
00000e81: SWAP3
00000e82: SWAP2
00000e83: SWAP1
00000e84: DUP1
00000e85: CALLDATALOAD
00000e86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e9b: AND
00000e9c: SWAP1
00000e9d: PUSH1 0x20
00000e9f: ADD
00000ea0: SWAP1
00000ea1: SWAP3
00000ea2: SWAP2
00000ea3: SWAP1
00000ea4: POP
00000ea5: POP
00000ea6: POP
00000ea7: PUSH2 0x1d65
00000eaa: JUMP
00000eab: JUMPDEST
00000eac: PUSH1 0x40
00000eae: MLOAD
00000eaf: DUP1
00000eb0: DUP3
00000eb1: DUP2
00000eb2: MSTORE
00000eb3: PUSH1 0x20
00000eb5: ADD
00000eb6: SWAP2
00000eb7: POP
00000eb8: POP
00000eb9: PUSH1 0x40
00000ebb: MLOAD
00000ebc: DUP1
00000ebd: SWAP2
00000ebe: SUB
00000ebf: SWAP1
00000ec0: RETURN
00000ec1: JUMPDEST
00000ec2: CALLVALUE
00000ec3: DUP1
00000ec4: ISZERO
00000ec5: PUSH2 0x0ecd
00000ec8: JUMPI
00000ec9: PUSH1 0x00
00000ecb: DUP1
00000ecc: REVERT
00000ecd: JUMPDEST
00000ece: POP
00000ecf: PUSH2 0x0fc7
00000ed2: PUSH1 0x04
00000ed4: DUP1
00000ed5: CALLDATASIZE
00000ed6: SUB
00000ed7: PUSH1 0x80
00000ed9: DUP2
00000eda: LT
00000edb: ISZERO
00000edc: PUSH2 0x0ee4
00000edf: JUMPI
00000ee0: PUSH1 0x00
00000ee2: DUP1
00000ee3: REVERT
00000ee4: JUMPDEST
00000ee5: DUP2
00000ee6: ADD
00000ee7: SWAP1
00000ee8: DUP1
00000ee9: DUP1
00000eea: CALLDATALOAD
00000eeb: SWAP1
00000eec: PUSH1 0x20
00000eee: ADD
00000eef: SWAP1
00000ef0: PUSH5 0x0100000000
00000ef6: DUP2
00000ef7: GT
00000ef8: ISZERO
00000ef9: PUSH2 0x0f01
00000efc: JUMPI
00000efd: PUSH1 0x00
00000eff: DUP1
00000f00: REVERT
00000f01: JUMPDEST
00000f02: DUP3
00000f03: ADD
00000f04: DUP4
00000f05: PUSH1 0x20
00000f07: DUP3
00000f08: ADD
00000f09: GT
00000f0a: ISZERO
00000f0b: PUSH2 0x0f13
00000f0e: JUMPI
00000f0f: PUSH1 0x00
00000f11: DUP1
00000f12: REVERT
00000f13: JUMPDEST
00000f14: DUP1
00000f15: CALLDATALOAD
00000f16: SWAP1
00000f17: PUSH1 0x20
00000f19: ADD
00000f1a: SWAP2
00000f1b: DUP5
00000f1c: PUSH1 0x01
00000f1e: DUP4
00000f1f: MUL
00000f20: DUP5
00000f21: ADD
00000f22: GT
00000f23: PUSH5 0x0100000000
00000f29: DUP4
00000f2a: GT
00000f2b: OR
00000f2c: ISZERO
00000f2d: PUSH2 0x0f35
00000f30: JUMPI
00000f31: PUSH1 0x00
00000f33: DUP1
00000f34: REVERT
00000f35: JUMPDEST
00000f36: SWAP1
00000f37: SWAP2
00000f38: SWAP3
00000f39: SWAP4
00000f3a: SWAP2
00000f3b: SWAP3
00000f3c: SWAP4
00000f3d: SWAP1
00000f3e: DUP1
00000f3f: CALLDATALOAD
00000f40: SWAP1
00000f41: PUSH1 0x20
00000f43: ADD
00000f44: SWAP1
00000f45: PUSH5 0x0100000000
00000f4b: DUP2
00000f4c: GT
00000f4d: ISZERO
00000f4e: PUSH2 0x0f56
00000f51: JUMPI
00000f52: PUSH1 0x00
00000f54: DUP1
00000f55: REVERT
00000f56: JUMPDEST
00000f57: DUP3
00000f58: ADD
00000f59: DUP4
00000f5a: PUSH1 0x20
00000f5c: DUP3
00000f5d: ADD
00000f5e: GT
00000f5f: ISZERO
00000f60: PUSH2 0x0f68
00000f63: JUMPI
00000f64: PUSH1 0x00
00000f66: DUP1
00000f67: REVERT
00000f68: JUMPDEST
00000f69: DUP1
00000f6a: CALLDATALOAD
00000f6b: SWAP1
00000f6c: PUSH1 0x20
00000f6e: ADD
00000f6f: SWAP2
00000f70: DUP5
00000f71: PUSH1 0x01
00000f73: DUP4
00000f74: MUL
00000f75: DUP5
00000f76: ADD
00000f77: GT
00000f78: PUSH5 0x0100000000
00000f7e: DUP4
00000f7f: GT
00000f80: OR
00000f81: ISZERO
00000f82: PUSH2 0x0f8a
00000f85: JUMPI
00000f86: PUSH1 0x00
00000f88: DUP1
00000f89: REVERT
00000f8a: JUMPDEST
00000f8b: SWAP1
00000f8c: SWAP2
00000f8d: SWAP3
00000f8e: SWAP4
00000f8f: SWAP2
00000f90: SWAP3
00000f91: SWAP4
00000f92: SWAP1
00000f93: DUP1
00000f94: CALLDATALOAD
00000f95: PUSH1 0xff
00000f97: AND
00000f98: SWAP1
00000f99: PUSH1 0x20
00000f9b: ADD
00000f9c: SWAP1
00000f9d: SWAP3
00000f9e: SWAP2
00000f9f: SWAP1
00000fa0: DUP1
00000fa1: CALLDATALOAD
00000fa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fb7: AND
00000fb8: SWAP1
00000fb9: PUSH1 0x20
00000fbb: ADD
00000fbc: SWAP1
00000fbd: SWAP3
00000fbe: SWAP2
00000fbf: SWAP1
00000fc0: POP
00000fc1: POP
00000fc2: POP
00000fc3: PUSH2 0x1dec
00000fc6: JUMP
00000fc7: JUMPDEST
00000fc8: STOP
00000fc9: JUMPDEST
00000fca: PUSH1 0x60
00000fcc: PUSH1 0x03
00000fce: DUP1
00000fcf: SLOAD
00000fd0: PUSH1 0x01
00000fd2: DUP2
00000fd3: PUSH1 0x01
00000fd5: AND
00000fd6: ISZERO
00000fd7: PUSH2 0x0100
00000fda: MUL
00000fdb: SUB
00000fdc: AND
00000fdd: PUSH1 0x02
00000fdf: SWAP1
00000fe0: DIV
00000fe1: DUP1
00000fe2: PUSH1 0x1f
00000fe4: ADD
00000fe5: PUSH1 0x20
00000fe7: DUP1
00000fe8: SWAP2
00000fe9: DIV
00000fea: MUL
00000feb: PUSH1 0x20
00000fed: ADD
00000fee: PUSH1 0x40
00000ff0: MLOAD
00000ff1: SWAP1
00000ff2: DUP2
00000ff3: ADD
00000ff4: PUSH1 0x40
00000ff6: MSTORE
00000ff7: DUP1
00000ff8: SWAP3
00000ff9: SWAP2
00000ffa: SWAP1
00000ffb: DUP2
00000ffc: DUP2
00000ffd: MSTORE
00000ffe: PUSH1 0x20
00001000: ADD
00001001: DUP3
00001002: DUP1
00001003: SLOAD
00001004: PUSH1 0x01
00001006: DUP2
00001007: PUSH1 0x01
00001009: AND
0000100a: ISZERO
0000100b: PUSH2 0x0100
0000100e: MUL
0000100f: SUB
00001010: AND
00001011: PUSH1 0x02
00001013: SWAP1
00001014: DIV
00001015: DUP1
00001016: ISZERO
00001017: PUSH2 0x1061
0000101a: JUMPI
0000101b: DUP1
0000101c: PUSH1 0x1f
0000101e: LT
0000101f: PUSH2 0x1036
00001022: JUMPI
00001023: PUSH2 0x0100
00001026: DUP1
00001027: DUP4
00001028: SLOAD
00001029: DIV
0000102a: MUL
0000102b: DUP4
0000102c: MSTORE
0000102d: SWAP2
0000102e: PUSH1 0x20
00001030: ADD
00001031: SWAP2
00001032: PUSH2 0x1061
00001035: JUMP
00001036: JUMPDEST
00001037: DUP3
00001038: ADD
00001039: SWAP2
0000103a: SWAP1
0000103b: PUSH1 0x00
0000103d: MSTORE
0000103e: PUSH1 0x20
00001040: PUSH1 0x00
00001042: KECCAK256
00001043: SWAP1
00001044: JUMPDEST
00001045: DUP2
00001046: SLOAD
00001047: DUP2
00001048: MSTORE
00001049: SWAP1
0000104a: PUSH1 0x01
0000104c: ADD
0000104d: SWAP1
0000104e: PUSH1 0x20
00001050: ADD
00001051: DUP1
00001052: DUP4
00001053: GT
00001054: PUSH2 0x1044
00001057: JUMPI
00001058: DUP3
00001059: SWAP1
0000105a: SUB
0000105b: PUSH1 0x1f
0000105d: AND
0000105e: DUP3
0000105f: ADD
00001060: SWAP2
00001061: JUMPDEST
00001062: POP
00001063: POP
00001064: POP
00001065: POP
00001066: POP
00001067: SWAP1
00001068: POP
00001069: SWAP1
0000106a: JUMP
0000106b: JUMPDEST
0000106c: PUSH1 0x00
0000106e: PUSH2 0x107f
00001071: PUSH2 0x1078
00001074: PUSH2 0x2064
00001077: JUMP
00001078: JUMPDEST
00001079: DUP5
0000107a: DUP5
0000107b: PUSH2 0x2073
0000107e: JUMP
0000107f: JUMPDEST
00001080: PUSH1 0x01
00001082: SWAP1
00001083: POP
00001084: SWAP3
00001085: SWAP2
00001086: POP
00001087: POP
00001088: JUMP
00001089: JUMPDEST
0000108a: PUSH1 0x40
0000108c: MLOAD
0000108d: DUP1
0000108e: PUSH1 0x40
00001090: ADD
00001091: PUSH1 0x40
00001093: MSTORE
00001094: DUP1
00001095: PUSH1 0x01
00001097: DUP2
00001098: MSTORE
00001099: PUSH1 0x20
0000109b: ADD
0000109c: PUSH32 0x8900000000000000000000000000000000000000000000000000000000000000
000010bd: DUP2
000010be: MSTORE
000010bf: POP
000010c0: DUP2
000010c1: JUMP
000010c2: JUMPDEST
000010c3: PUSH1 0x60
000010c5: PUSH2 0x10cc
000010c8: PUSH2 0x33a8
000010cb: JUMP
000010cc: JUMPDEST
000010cd: PUSH1 0x40
000010cf: MLOAD
000010d0: DUP1
000010d1: PUSH1 0x60
000010d3: ADD
000010d4: PUSH1 0x40
000010d6: MSTORE
000010d7: DUP1
000010d8: PUSH1 0x0a
000010da: PUSH1 0x00
000010dc: DUP11
000010dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010f2: AND
000010f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001108: AND
00001109: DUP2
0000110a: MSTORE
0000110b: PUSH1 0x20
0000110d: ADD
0000110e: SWAP1
0000110f: DUP2
00001110: MSTORE
00001111: PUSH1 0x20
00001113: ADD
00001114: PUSH1 0x00
00001116: KECCAK256
00001117: SLOAD
00001118: DUP2
00001119: MSTORE
0000111a: PUSH1 0x20
0000111c: ADD
0000111d: DUP9
0000111e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001133: AND
00001134: DUP2
00001135: MSTORE
00001136: PUSH1 0x20
00001138: ADD
00001139: DUP8
0000113a: DUP2
0000113b: MSTORE
0000113c: POP
0000113d: SWAP1
0000113e: POP
0000113f: PUSH2 0x114b
00001142: DUP8
00001143: DUP3
00001144: DUP8
00001145: DUP8
00001146: DUP8
00001147: PUSH2 0x226a
0000114a: JUMP
0000114b: JUMPDEST
0000114c: PUSH2 0x11a0
0000114f: JUMPI
00001150: PUSH1 0x40
00001152: MLOAD
00001153: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001174: DUP2
00001175: MSTORE
00001176: PUSH1 0x04
00001178: ADD
00001179: DUP1
0000117a: DUP1
0000117b: PUSH1 0x20
0000117d: ADD
0000117e: DUP3
0000117f: DUP2
00001180: SUB
00001181: DUP3
00001182: MSTORE
00001183: PUSH1 0x21
00001185: DUP2
00001186: MSTORE
00001187: PUSH1 0x20
00001189: ADD
0000118a: DUP1
0000118b: PUSH2 0x3672
0000118e: PUSH1 0x21
00001190: SWAP2
00001191: CODECOPY
00001192: PUSH1 0x40
00001194: ADD
00001195: SWAP2
00001196: POP
00001197: POP
00001198: PUSH1 0x40
0000119a: MLOAD
0000119b: DUP1
0000119c: SWAP2
0000119d: SUB
0000119e: SWAP1
0000119f: REVERT
000011a0: JUMPDEST
000011a1: PUSH2 0x11f3
000011a4: PUSH1 0x01
000011a6: PUSH1 0x0a
000011a8: PUSH1 0x00
000011aa: DUP11
000011ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011c0: AND
000011c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d6: AND
000011d7: DUP2
000011d8: MSTORE
000011d9: PUSH1 0x20
000011db: ADD
000011dc: SWAP1
000011dd: DUP2
000011de: MSTORE
000011df: PUSH1 0x20
000011e1: ADD
000011e2: PUSH1 0x00
000011e4: KECCAK256
000011e5: SLOAD
000011e6: PUSH2 0x23a1
000011e9: SWAP1
000011ea: SWAP2
000011eb: SWAP1
000011ec: PUSH4 0xffffffff
000011f1: AND
000011f2: JUMP
000011f3: JUMPDEST
000011f4: PUSH1 0x0a
000011f6: PUSH1 0x00
000011f8: DUP10
000011f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000120e: AND
0000120f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001224: AND
00001225: DUP2
00001226: MSTORE
00001227: PUSH1 0x20
00001229: ADD
0000122a: SWAP1
0000122b: DUP2
0000122c: MSTORE
0000122d: PUSH1 0x20
0000122f: ADD
00001230: PUSH1 0x00
00001232: KECCAK256
00001233: DUP2
00001234: SWAP1
00001235: SSTORE
00001236: POP
00001237: PUSH32 0x5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b
00001258: DUP8
00001259: CALLER
0000125a: DUP9
0000125b: PUSH1 0x40
0000125d: MLOAD
0000125e: DUP1
0000125f: DUP5
00001260: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001275: AND
00001276: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000128b: AND
0000128c: DUP2
0000128d: MSTORE
0000128e: PUSH1 0x20
00001290: ADD
00001291: DUP4
00001292: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012a7: AND
000012a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012bd: AND
000012be: DUP2
000012bf: MSTORE
000012c0: PUSH1 0x20
000012c2: ADD
000012c3: DUP1
000012c4: PUSH1 0x20
000012c6: ADD
000012c7: DUP3
000012c8: DUP2
000012c9: SUB
000012ca: DUP3
000012cb: MSTORE
000012cc: DUP4
000012cd: DUP2
000012ce: DUP2
000012cf: MLOAD
000012d0: DUP2
000012d1: MSTORE
000012d2: PUSH1 0x20
000012d4: ADD
000012d5: SWAP2
000012d6: POP
000012d7: DUP1
000012d8: MLOAD
000012d9: SWAP1
000012da: PUSH1 0x20
000012dc: ADD
000012dd: SWAP1
000012de: DUP1
000012df: DUP4
000012e0: DUP4
000012e1: PUSH1 0x00
000012e3: JUMPDEST
000012e4: DUP4
000012e5: DUP2
000012e6: LT
000012e7: ISZERO
000012e8: PUSH2 0x12fe
000012eb: JUMPI
000012ec: DUP1
000012ed: DUP3
000012ee: ADD
000012ef: MLOAD
000012f0: DUP2
000012f1: DUP5
000012f2: ADD
000012f3: MSTORE
000012f4: PUSH1 0x20
000012f6: DUP2
000012f7: ADD
000012f8: SWAP1
000012f9: POP
000012fa: PUSH2 0x12e3
000012fd: JUMP
000012fe: JUMPDEST
000012ff: POP
00001300: POP
00001301: POP
00001302: POP
00001303: SWAP1
00001304: POP
00001305: SWAP1
00001306: DUP2
00001307: ADD
00001308: SWAP1
00001309: PUSH1 0x1f
0000130b: AND
0000130c: DUP1
0000130d: ISZERO
0000130e: PUSH2 0x132b
00001311: JUMPI
00001312: DUP1
00001313: DUP3
00001314: SUB
00001315: DUP1
00001316: MLOAD
00001317: PUSH1 0x01
00001319: DUP4
0000131a: PUSH1 0x20
0000131c: SUB
0000131d: PUSH2 0x0100
00001320: EXP
00001321: SUB
00001322: NOT
00001323: AND
00001324: DUP2
00001325: MSTORE
00001326: PUSH1 0x20
00001328: ADD
00001329: SWAP2
0000132a: POP
0000132b: JUMPDEST
0000132c: POP
0000132d: SWAP5
0000132e: POP
0000132f: POP
00001330: POP
00001331: POP
00001332: POP
00001333: PUSH1 0x40
00001335: MLOAD
00001336: DUP1
00001337: SWAP2
00001338: SUB
00001339: SWAP1
0000133a: LOG1
0000133b: PUSH1 0x00
0000133d: PUSH1 0x60
0000133f: ADDRESS
00001340: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001355: AND
00001356: DUP9
00001357: DUP11
00001358: PUSH1 0x40
0000135a: MLOAD
0000135b: PUSH1 0x20
0000135d: ADD
0000135e: DUP1
0000135f: DUP4
00001360: DUP1
00001361: MLOAD
00001362: SWAP1
00001363: PUSH1 0x20
00001365: ADD
00001366: SWAP1
00001367: DUP1
00001368: DUP4
00001369: DUP4
0000136a: JUMPDEST
0000136b: PUSH1 0x20
0000136d: DUP4
0000136e: LT
0000136f: PUSH2 0x138d
00001372: JUMPI
00001373: DUP1
00001374: MLOAD
00001375: DUP3
00001376: MSTORE
00001377: PUSH1 0x20
00001379: DUP3
0000137a: ADD
0000137b: SWAP2
0000137c: POP
0000137d: PUSH1 0x20
0000137f: DUP2
00001380: ADD
00001381: SWAP1
00001382: POP
00001383: PUSH1 0x20
00001385: DUP4
00001386: SUB
00001387: SWAP3
00001388: POP
00001389: PUSH2 0x136a
0000138c: JUMP
0000138d: JUMPDEST
0000138e: PUSH1 0x01
00001390: DUP4
00001391: PUSH1 0x20
00001393: SUB
00001394: PUSH2 0x0100
00001397: EXP
00001398: SUB
00001399: DUP1
0000139a: NOT
0000139b: DUP3
0000139c: MLOAD
0000139d: AND
0000139e: DUP2
0000139f: DUP5
000013a0: MLOAD
000013a1: AND
000013a2: DUP1
000013a3: DUP3
000013a4: OR
000013a5: DUP6
000013a6: MSTORE
000013a7: POP
000013a8: POP
000013a9: POP
000013aa: POP
000013ab: POP
000013ac: POP
000013ad: SWAP1
000013ae: POP
000013af: ADD
000013b0: DUP3
000013b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013c6: AND
000013c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013dc: AND
000013dd: PUSH1 0x60
000013df: SHL
000013e0: DUP2
000013e1: MSTORE
000013e2: PUSH1 0x14
000013e4: ADD
000013e5: SWAP3
000013e6: POP
000013e7: POP
000013e8: POP
000013e9: PUSH1 0x40
000013eb: MLOAD
000013ec: PUSH1 0x20
000013ee: DUP2
000013ef: DUP4
000013f0: SUB
000013f1: SUB
000013f2: DUP2
000013f3: MSTORE
000013f4: SWAP1
000013f5: PUSH1 0x40
000013f7: MSTORE
000013f8: PUSH1 0x40
000013fa: MLOAD
000013fb: DUP1
000013fc: DUP3
000013fd: DUP1
000013fe: MLOAD
000013ff: SWAP1
00001400: PUSH1 0x20
00001402: ADD
00001403: SWAP1
00001404: DUP1
00001405: DUP4
00001406: DUP4
00001407: JUMPDEST
00001408: PUSH1 0x20
0000140a: DUP4
0000140b: LT
0000140c: PUSH2 0x142a
0000140f: JUMPI
00001410: DUP1
00001411: MLOAD
00001412: DUP3
00001413: MSTORE
00001414: PUSH1 0x20
00001416: DUP3
00001417: ADD
00001418: SWAP2
00001419: POP
0000141a: PUSH1 0x20
0000141c: DUP2
0000141d: ADD
0000141e: SWAP1
0000141f: POP
00001420: PUSH1 0x20
00001422: DUP4
00001423: SUB
00001424: SWAP3
00001425: POP
00001426: PUSH2 0x1407
00001429: JUMP
0000142a: JUMPDEST
0000142b: PUSH1 0x01
0000142d: DUP4
0000142e: PUSH1 0x20
00001430: SUB
00001431: PUSH2 0x0100
00001434: EXP
00001435: SUB
00001436: DUP1
00001437: NOT
00001438: DUP3
00001439: MLOAD
0000143a: AND
0000143b: DUP2
0000143c: DUP5
0000143d: MLOAD
0000143e: AND
0000143f: DUP1
00001440: DUP3
00001441: OR
00001442: DUP6
00001443: MSTORE
00001444: POP
00001445: POP
00001446: POP
00001447: POP
00001448: POP
00001449: POP
0000144a: SWAP1
0000144b: POP
0000144c: ADD
0000144d: SWAP2
0000144e: POP
0000144f: POP
00001450: PUSH1 0x00
00001452: PUSH1 0x40
00001454: MLOAD
00001455: DUP1
00001456: DUP4
00001457: SUB
00001458: DUP2
00001459: PUSH1 0x00
0000145b: DUP7
0000145c: GAS
0000145d: CALL
0000145e: SWAP2
0000145f: POP
00001460: POP
00001461: RETURNDATASIZE
00001462: DUP1
00001463: PUSH1 0x00
00001465: DUP2
00001466: EQ
00001467: PUSH2 0x148c
0000146a: JUMPI
0000146b: PUSH1 0x40
0000146d: MLOAD
0000146e: SWAP2
0000146f: POP
00001470: PUSH1 0x1f
00001472: NOT
00001473: PUSH1 0x3f
00001475: RETURNDATASIZE
00001476: ADD
00001477: AND
00001478: DUP3
00001479: ADD
0000147a: PUSH1 0x40
0000147c: MSTORE
0000147d: RETURNDATASIZE
0000147e: DUP3
0000147f: MSTORE
00001480: RETURNDATASIZE
00001481: PUSH1 0x00
00001483: PUSH1 0x20
00001485: DUP5
00001486: ADD
00001487: RETURNDATACOPY
00001488: PUSH2 0x1491
0000148b: JUMP
0000148c: JUMPDEST
0000148d: PUSH1 0x60
0000148f: SWAP2
00001490: POP
00001491: JUMPDEST
00001492: POP
00001493: SWAP2
00001494: POP
00001495: SWAP2
00001496: POP
00001497: DUP2
00001498: PUSH2 0x1509
0000149b: JUMPI
0000149c: PUSH1 0x40
0000149e: MLOAD
0000149f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014c0: DUP2
000014c1: MSTORE
000014c2: PUSH1 0x04
000014c4: ADD
000014c5: DUP1
000014c6: DUP1
000014c7: PUSH1 0x20
000014c9: ADD
000014ca: DUP3
000014cb: DUP2
000014cc: SUB
000014cd: DUP3
000014ce: MSTORE
000014cf: PUSH1 0x1c
000014d1: DUP2
000014d2: MSTORE
000014d3: PUSH1 0x20
000014d5: ADD
000014d6: DUP1
000014d7: PUSH32 0x46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000
000014f8: DUP2
000014f9: MSTORE
000014fa: POP
000014fb: PUSH1 0x20
000014fd: ADD
000014fe: SWAP2
000014ff: POP
00001500: POP
00001501: PUSH1 0x40
00001503: MLOAD
00001504: DUP1
00001505: SWAP2
00001506: SUB
00001507: SWAP1
00001508: REVERT
00001509: JUMPDEST
0000150a: DUP1
0000150b: SWAP4
0000150c: POP
0000150d: POP
0000150e: POP
0000150f: POP
00001510: SWAP6
00001511: SWAP5
00001512: POP
00001513: POP
00001514: POP
00001515: POP
00001516: POP
00001517: JUMP
00001518: JUMPDEST
00001519: PUSH1 0x40
0000151b: MLOAD
0000151c: DUP1
0000151d: PUSH1 0x40
0000151f: ADD
00001520: PUSH1 0x40
00001522: MSTORE
00001523: DUP1
00001524: PUSH1 0x01
00001526: DUP2
00001527: MSTORE
00001528: PUSH1 0x20
0000152a: ADD
0000152b: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
0000154c: DUP2
0000154d: MSTORE
0000154e: POP
0000154f: DUP2
00001550: JUMP
00001551: JUMPDEST
00001552: PUSH1 0x40
00001554: MLOAD
00001555: DUP1
00001556: PUSH1 0x40
00001558: ADD
00001559: PUSH1 0x40
0000155b: MSTORE
0000155c: DUP1
0000155d: PUSH1 0x01
0000155f: DUP2
00001560: MSTORE
00001561: PUSH1 0x20
00001563: ADD
00001564: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000000
00001585: DUP2
00001586: MSTORE
00001587: POP
00001588: DUP2
00001589: JUMP
0000158a: JUMPDEST
0000158b: PUSH1 0x00
0000158d: PUSH1 0x02
0000158f: SLOAD
00001590: SWAP1
00001591: POP
00001592: SWAP1
00001593: JUMP
00001594: JUMPDEST
00001595: PUSH1 0x00
00001597: PUSH1 0x09
00001599: SLOAD
0000159a: SWAP1
0000159b: POP
0000159c: SWAP1
0000159d: JUMP
0000159e: JUMPDEST
0000159f: PUSH1 0x00
000015a1: PUSH2 0x15ab
000015a4: DUP5
000015a5: DUP5
000015a6: DUP5
000015a7: PUSH2 0x2429
000015aa: JUMP
000015ab: JUMPDEST
000015ac: PUSH2 0x166c
000015af: DUP5
000015b0: PUSH2 0x15b7
000015b3: PUSH2 0x2064
000015b6: JUMP
000015b7: JUMPDEST
000015b8: PUSH2 0x1667
000015bb: DUP6
000015bc: PUSH1 0x40
000015be: MLOAD
000015bf: DUP1
000015c0: PUSH1 0x60
000015c2: ADD
000015c3: PUSH1 0x40
000015c5: MSTORE
000015c6: DUP1
000015c7: PUSH1 0x28
000015c9: DUP2
000015ca: MSTORE
000015cb: PUSH1 0x20
000015cd: ADD
000015ce: PUSH2 0x364a
000015d1: PUSH1 0x28
000015d3: SWAP2
000015d4: CODECOPY
000015d5: PUSH1 0x01
000015d7: PUSH1 0x00
000015d9: DUP12
000015da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ef: AND
000015f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001605: AND
00001606: DUP2
00001607: MSTORE
00001608: PUSH1 0x20
0000160a: ADD
0000160b: SWAP1
0000160c: DUP2
0000160d: MSTORE
0000160e: PUSH1 0x20
00001610: ADD
00001611: PUSH1 0x00
00001613: KECCAK256
00001614: PUSH1 0x00
00001616: PUSH2 0x161d
00001619: PUSH2 0x2064
0000161c: JUMP
0000161d: JUMPDEST
0000161e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001633: AND
00001634: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001649: AND
0000164a: DUP2
0000164b: MSTORE
0000164c: PUSH1 0x20
0000164e: ADD
0000164f: SWAP1
00001650: DUP2
00001651: MSTORE
00001652: PUSH1 0x20
00001654: ADD
00001655: PUSH1 0x00
00001657: KECCAK256
00001658: SLOAD
00001659: PUSH2 0x26ea
0000165c: SWAP1
0000165d: SWAP3
0000165e: SWAP2
0000165f: SWAP1
00001660: PUSH4 0xffffffff
00001665: AND
00001666: JUMP
00001667: JUMPDEST
00001668: PUSH2 0x2073
0000166b: JUMP
0000166c: JUMPDEST
0000166d: PUSH1 0x01
0000166f: SWAP1
00001670: POP
00001671: SWAP4
00001672: SWAP3
00001673: POP
00001674: POP
00001675: POP
00001676: JUMP
00001677: JUMPDEST
00001678: PUSH1 0x00
0000167a: PUSH1 0x06
0000167c: PUSH1 0x00
0000167e: DUP4
0000167f: DUP2
00001680: MSTORE
00001681: PUSH1 0x20
00001683: ADD
00001684: SWAP1
00001685: DUP2
00001686: MSTORE
00001687: PUSH1 0x20
00001689: ADD
0000168a: PUSH1 0x00
0000168c: KECCAK256
0000168d: PUSH1 0x02
0000168f: ADD
00001690: SLOAD
00001691: SWAP1
00001692: POP
00001693: SWAP2
00001694: SWAP1
00001695: POP
00001696: JUMP
00001697: JUMPDEST
00001698: PUSH1 0x00
0000169a: PUSH1 0x0a
0000169c: PUSH1 0x00
0000169e: DUP4
0000169f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b4: AND
000016b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016ca: AND
000016cb: DUP2
000016cc: MSTORE
000016cd: PUSH1 0x20
000016cf: ADD
000016d0: SWAP1
000016d1: DUP2
000016d2: MSTORE
000016d3: PUSH1 0x20
000016d5: ADD
000016d6: PUSH1 0x00
000016d8: KECCAK256
000016d9: SLOAD
000016da: SWAP1
000016db: POP
000016dc: SWAP2
000016dd: SWAP1
000016de: POP
000016df: JUMP
000016e0: JUMPDEST
000016e1: PUSH2 0x16f1
000016e4: PUSH2 0x16eb
000016e7: PUSH2 0x2064
000016ea: JUMP
000016eb: JUMPDEST
000016ec: DUP3
000016ed: PUSH2 0x27aa
000016f0: JUMP
000016f1: JUMPDEST
000016f2: POP
000016f3: JUMP
000016f4: JUMPDEST
000016f5: PUSH2 0x171b
000016f8: PUSH1 0x06
000016fa: PUSH1 0x00
000016fc: DUP5
000016fd: DUP2
000016fe: MSTORE
000016ff: PUSH1 0x20
00001701: ADD
00001702: SWAP1
00001703: DUP2
00001704: MSTORE
00001705: PUSH1 0x20
00001707: ADD
00001708: PUSH1 0x00
0000170a: KECCAK256
0000170b: PUSH1 0x02
0000170d: ADD
0000170e: SLOAD
0000170f: PUSH2 0x1716
00001712: PUSH2 0x2064
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH2 0x1972
0000171a: JUMP
0000171b: JUMPDEST
0000171c: PUSH2 0x1770
0000171f: JUMPI
00001720: PUSH1 0x40
00001722: MLOAD
00001723: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001744: DUP2
00001745: MSTORE
00001746: PUSH1 0x04
00001748: ADD
00001749: DUP1
0000174a: DUP1
0000174b: PUSH1 0x20
0000174d: ADD
0000174e: DUP3
0000174f: DUP2
00001750: SUB
00001751: DUP3
00001752: MSTORE
00001753: PUSH1 0x2f
00001755: DUP2
00001756: MSTORE
00001757: PUSH1 0x20
00001759: ADD
0000175a: DUP1
0000175b: PUSH2 0x34ca
0000175e: PUSH1 0x2f
00001760: SWAP2
00001761: CODECOPY
00001762: PUSH1 0x40
00001764: ADD
00001765: SWAP2
00001766: POP
00001767: POP
00001768: PUSH1 0x40
0000176a: MLOAD
0000176b: DUP1
0000176c: SWAP2
0000176d: SUB
0000176e: SWAP1
0000176f: REVERT
00001770: JUMPDEST
00001771: PUSH2 0x177a
00001774: DUP3
00001775: DUP3
00001776: PUSH2 0x296e
00001779: JUMP
0000177a: JUMPDEST
0000177b: POP
0000177c: POP
0000177d: JUMP
0000177e: JUMPDEST
0000177f: PUSH1 0x00
00001781: PUSH1 0x05
00001783: PUSH1 0x00
00001785: SWAP1
00001786: SLOAD
00001787: SWAP1
00001788: PUSH2 0x0100
0000178b: EXP
0000178c: SWAP1
0000178d: DIV
0000178e: PUSH1 0xff
00001790: AND
00001791: SWAP1
00001792: POP
00001793: SWAP1
00001794: JUMP
00001795: JUMPDEST
00001796: PUSH1 0x00
00001798: DUP1
00001799: CHAINID
0000179a: SWAP1
0000179b: POP
0000179c: DUP1
0000179d: SWAP2
0000179e: POP
0000179f: POP
000017a0: SWAP1
000017a1: JUMP
000017a2: JUMPDEST
000017a3: PUSH2 0x17aa
000017a6: PUSH2 0x2064
000017a9: JUMP
000017aa: JUMPDEST
000017ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c0: AND
000017c1: DUP2
000017c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017d7: AND
000017d8: EQ
000017d9: PUSH2 0x182d
000017dc: JUMPI
000017dd: PUSH1 0x40
000017df: MLOAD
000017e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001801: DUP2
00001802: MSTORE
00001803: PUSH1 0x04
00001805: ADD
00001806: DUP1
00001807: DUP1
00001808: PUSH1 0x20
0000180a: ADD
0000180b: DUP3
0000180c: DUP2
0000180d: SUB
0000180e: DUP3
0000180f: MSTORE
00001810: PUSH1 0x2f
00001812: DUP2
00001813: MSTORE
00001814: PUSH1 0x20
00001816: ADD
00001817: DUP1
00001818: PUSH2 0x3722
0000181b: PUSH1 0x2f
0000181d: SWAP2
0000181e: CODECOPY
0000181f: PUSH1 0x40
00001821: ADD
00001822: SWAP2
00001823: POP
00001824: POP
00001825: PUSH1 0x40
00001827: MLOAD
00001828: DUP1
00001829: SWAP2
0000182a: SUB
0000182b: SWAP1
0000182c: REVERT
0000182d: JUMPDEST
0000182e: PUSH2 0x1837
00001831: DUP3
00001832: DUP3
00001833: PUSH2 0x2a02
00001836: JUMP
00001837: JUMPDEST
00001838: POP
00001839: POP
0000183a: JUMP
0000183b: JUMPDEST
0000183c: PUSH1 0x00
0000183e: PUSH2 0x18e4
00001841: PUSH2 0x1848
00001844: PUSH2 0x2064
00001847: JUMP
00001848: JUMPDEST
00001849: DUP5
0000184a: PUSH2 0x18df
0000184d: DUP6
0000184e: PUSH1 0x01
00001850: PUSH1 0x00
00001852: PUSH2 0x1859
00001855: PUSH2 0x2064
00001858: JUMP
00001859: JUMPDEST
0000185a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000186f: AND
00001870: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001885: AND
00001886: DUP2
00001887: MSTORE
00001888: PUSH1 0x20
0000188a: ADD
0000188b: SWAP1
0000188c: DUP2
0000188d: MSTORE
0000188e: PUSH1 0x20
00001890: ADD
00001891: PUSH1 0x00
00001893: KECCAK256
00001894: PUSH1 0x00
00001896: DUP10
00001897: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ac: AND
000018ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c2: AND
000018c3: DUP2
000018c4: MSTORE
000018c5: PUSH1 0x20
000018c7: ADD
000018c8: SWAP1
000018c9: DUP2
000018ca: MSTORE
000018cb: PUSH1 0x20
000018cd: ADD
000018ce: PUSH1 0x00
000018d0: KECCAK256
000018d1: SLOAD
000018d2: PUSH2 0x23a1
000018d5: SWAP1
000018d6: SWAP2
000018d7: SWAP1
000018d8: PUSH4 0xffffffff
000018dd: AND
000018de: JUMP
000018df: JUMPDEST
000018e0: PUSH2 0x2073
000018e3: JUMP
000018e4: JUMPDEST
000018e5: PUSH1 0x01
000018e7: SWAP1
000018e8: POP
000018e9: SWAP3
000018ea: SWAP2
000018eb: POP
000018ec: POP
000018ed: JUMP
000018ee: JUMPDEST
000018ef: PUSH1 0x89
000018f1: DUP2
000018f2: JUMP
000018f3: JUMPDEST
000018f4: PUSH1 0x00
000018f6: DUP1
000018f7: PUSH1 0x00
000018f9: DUP4
000018fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190f: AND
00001910: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001925: AND
00001926: DUP2
00001927: MSTORE
00001928: PUSH1 0x20
0000192a: ADD
0000192b: SWAP1
0000192c: DUP2
0000192d: MSTORE
0000192e: PUSH1 0x20
00001930: ADD
00001931: PUSH1 0x00
00001933: KECCAK256
00001934: SLOAD
00001935: SWAP1
00001936: POP
00001937: SWAP2
00001938: SWAP1
00001939: POP
0000193a: JUMP
0000193b: JUMPDEST
0000193c: PUSH1 0x01
0000193e: DUP2
0000193f: JUMP
00001940: JUMPDEST
00001941: PUSH1 0x00
00001943: PUSH2 0x196a
00001946: DUP3
00001947: PUSH1 0x06
00001949: PUSH1 0x00
0000194b: DUP7
0000194c: DUP2
0000194d: MSTORE
0000194e: PUSH1 0x20
00001950: ADD
00001951: SWAP1
00001952: DUP2
00001953: MSTORE
00001954: PUSH1 0x20
00001956: ADD
00001957: PUSH1 0x00
00001959: KECCAK256
0000195a: PUSH1 0x00
0000195c: ADD
0000195d: PUSH2 0x2a96
00001960: SWAP1
00001961: SWAP2
00001962: SWAP1
00001963: PUSH4 0xffffffff
00001968: AND
00001969: JUMP
0000196a: JUMPDEST
0000196b: SWAP1
0000196c: POP
0000196d: SWAP3
0000196e: SWAP2
0000196f: POP
00001970: POP
00001971: JUMP
00001972: JUMPDEST
00001973: PUSH1 0x00
00001975: PUSH2 0x199c
00001978: DUP3
00001979: PUSH1 0x06
0000197b: PUSH1 0x00
0000197d: DUP7
0000197e: DUP2
0000197f: MSTORE
00001980: PUSH1 0x20
00001982: ADD
00001983: SWAP1
00001984: DUP2
00001985: MSTORE
00001986: PUSH1 0x20
00001988: ADD
00001989: PUSH1 0x00
0000198b: KECCAK256
0000198c: PUSH1 0x00
0000198e: ADD
0000198f: PUSH2 0x2ab0
00001992: SWAP1
00001993: SWAP2
00001994: SWAP1
00001995: PUSH4 0xffffffff
0000199a: AND
0000199b: JUMP
0000199c: JUMPDEST
0000199d: SWAP1
0000199e: POP
0000199f: SWAP3
000019a0: SWAP2
000019a1: POP
000019a2: POP
000019a3: JUMP
000019a4: JUMPDEST
000019a5: PUSH1 0x60
000019a7: PUSH1 0x04
000019a9: DUP1
000019aa: SLOAD
000019ab: PUSH1 0x01
000019ad: DUP2
000019ae: PUSH1 0x01
000019b0: AND
000019b1: ISZERO
000019b2: PUSH2 0x0100
000019b5: MUL
000019b6: SUB
000019b7: AND
000019b8: PUSH1 0x02
000019ba: SWAP1
000019bb: DIV
000019bc: DUP1
000019bd: PUSH1 0x1f
000019bf: ADD
000019c0: PUSH1 0x20
000019c2: DUP1
000019c3: SWAP2
000019c4: DIV
000019c5: MUL
000019c6: PUSH1 0x20
000019c8: ADD
000019c9: PUSH1 0x40
000019cb: MLOAD
000019cc: SWAP1
000019cd: DUP2
000019ce: ADD
000019cf: PUSH1 0x40
000019d1: MSTORE
000019d2: DUP1
000019d3: SWAP3
000019d4: SWAP2
000019d5: SWAP1
000019d6: DUP2
000019d7: DUP2
000019d8: MSTORE
000019d9: PUSH1 0x20
000019db: ADD
000019dc: DUP3
000019dd: DUP1
000019de: SLOAD
000019df: PUSH1 0x01
000019e1: DUP2
000019e2: PUSH1 0x01
000019e4: AND
000019e5: ISZERO
000019e6: PUSH2 0x0100
000019e9: MUL
000019ea: SUB
000019eb: AND
000019ec: PUSH1 0x02
000019ee: SWAP1
000019ef: DIV
000019f0: DUP1
000019f1: ISZERO
000019f2: PUSH2 0x1a3c
000019f5: JUMPI
000019f6: DUP1
000019f7: PUSH1 0x1f
000019f9: LT
000019fa: PUSH2 0x1a11
000019fd: JUMPI
000019fe: PUSH2 0x0100
00001a01: DUP1
00001a02: DUP4
00001a03: SLOAD
00001a04: DIV
00001a05: MUL
00001a06: DUP4
00001a07: MSTORE
00001a08: SWAP2
00001a09: PUSH1 0x20
00001a0b: ADD
00001a0c: SWAP2
00001a0d: PUSH2 0x1a3c
00001a10: JUMP
00001a11: JUMPDEST
00001a12: DUP3
00001a13: ADD
00001a14: SWAP2
00001a15: SWAP1
00001a16: PUSH1 0x00
00001a18: MSTORE
00001a19: PUSH1 0x20
00001a1b: PUSH1 0x00
00001a1d: KECCAK256
00001a1e: SWAP1
00001a1f: JUMPDEST
00001a20: DUP2
00001a21: SLOAD
00001a22: DUP2
00001a23: MSTORE
00001a24: SWAP1
00001a25: PUSH1 0x01
00001a27: ADD
00001a28: SWAP1
00001a29: PUSH1 0x20
00001a2b: ADD
00001a2c: DUP1
00001a2d: DUP4
00001a2e: GT
00001a2f: PUSH2 0x1a1f
00001a32: JUMPI
00001a33: DUP3
00001a34: SWAP1
00001a35: SUB
00001a36: PUSH1 0x1f
00001a38: AND
00001a39: DUP3
00001a3a: ADD
00001a3b: SWAP2
00001a3c: JUMPDEST
00001a3d: POP
00001a3e: POP
00001a3f: POP
00001a40: POP
00001a41: POP
00001a42: SWAP1
00001a43: POP
00001a44: SWAP1
00001a45: JUMP
00001a46: JUMPDEST
00001a47: PUSH1 0x00
00001a49: DUP1
00001a4a: SHL
00001a4b: DUP2
00001a4c: JUMP
00001a4d: JUMPDEST
00001a4e: PUSH1 0x40
00001a50: MLOAD
00001a51: DUP1
00001a52: DUP1
00001a53: PUSH32 0x4445504f5349544f525f524f4c45000000000000000000000000000000000000
00001a74: DUP2
00001a75: MSTORE
00001a76: POP
00001a77: PUSH1 0x0e
00001a79: ADD
00001a7a: SWAP1
00001a7b: POP
00001a7c: PUSH1 0x40
00001a7e: MLOAD
00001a7f: DUP1
00001a80: SWAP2
00001a81: SUB
00001a82: SWAP1
00001a83: KECCAK256
00001a84: DUP2
00001a85: JUMP
00001a86: JUMPDEST
00001a87: PUSH1 0x00
00001a89: PUSH2 0x1b49
00001a8c: PUSH2 0x1a93
00001a8f: PUSH2 0x2064
00001a92: JUMP
00001a93: JUMPDEST
00001a94: DUP5
00001a95: PUSH2 0x1b44
00001a98: DUP6
00001a99: PUSH1 0x40
00001a9b: MLOAD
00001a9c: DUP1
00001a9d: PUSH1 0x60
00001a9f: ADD
00001aa0: PUSH1 0x40
00001aa2: MSTORE
00001aa3: DUP1
00001aa4: PUSH1 0x25
00001aa6: DUP2
00001aa7: MSTORE
00001aa8: PUSH1 0x20
00001aaa: ADD
00001aab: PUSH2 0x36fd
00001aae: PUSH1 0x25
00001ab0: SWAP2
00001ab1: CODECOPY
00001ab2: PUSH1 0x01
00001ab4: PUSH1 0x00
00001ab6: PUSH2 0x1abd
00001ab9: PUSH2 0x2064
00001abc: JUMP
00001abd: JUMPDEST
00001abe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ad3: AND
00001ad4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ae9: AND
00001aea: DUP2
00001aeb: MSTORE
00001aec: PUSH1 0x20
00001aee: ADD
00001aef: SWAP1
00001af0: DUP2
00001af1: MSTORE
00001af2: PUSH1 0x20
00001af4: ADD
00001af5: PUSH1 0x00
00001af7: KECCAK256
00001af8: PUSH1 0x00
00001afa: DUP11
00001afb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b10: AND
00001b11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b26: AND
00001b27: DUP2
00001b28: MSTORE
00001b29: PUSH1 0x20
00001b2b: ADD
00001b2c: SWAP1
00001b2d: DUP2
00001b2e: MSTORE
00001b2f: PUSH1 0x20
00001b31: ADD
00001b32: PUSH1 0x00
00001b34: KECCAK256
00001b35: SLOAD
00001b36: PUSH2 0x26ea
00001b39: SWAP1
00001b3a: SWAP3
00001b3b: SWAP2
00001b3c: SWAP1
00001b3d: PUSH4 0xffffffff
00001b42: AND
00001b43: JUMP
00001b44: JUMPDEST
00001b45: PUSH2 0x2073
00001b48: JUMP
00001b49: JUMPDEST
00001b4a: PUSH1 0x01
00001b4c: SWAP1
00001b4d: POP
00001b4e: SWAP3
00001b4f: SWAP2
00001b50: POP
00001b51: POP
00001b52: JUMP
00001b53: JUMPDEST
00001b54: PUSH1 0x00
00001b56: PUSH2 0x1b67
00001b59: PUSH2 0x1b60
00001b5c: PUSH2 0x2064
00001b5f: JUMP
00001b60: JUMPDEST
00001b61: DUP5
00001b62: DUP5
00001b63: PUSH2 0x2429
00001b66: JUMP
00001b67: JUMPDEST
00001b68: PUSH1 0x01
00001b6a: SWAP1
00001b6b: POP
00001b6c: SWAP3
00001b6d: SWAP2
00001b6e: POP
00001b6f: POP
00001b70: JUMP
00001b71: JUMPDEST
00001b72: PUSH1 0x00
00001b74: PUSH2 0x1b91
00001b77: PUSH1 0x06
00001b79: PUSH1 0x00
00001b7b: DUP5
00001b7c: DUP2
00001b7d: MSTORE
00001b7e: PUSH1 0x20
00001b80: ADD
00001b81: SWAP1
00001b82: DUP2
00001b83: MSTORE
00001b84: PUSH1 0x20
00001b86: ADD
00001b87: PUSH1 0x00
00001b89: KECCAK256
00001b8a: PUSH1 0x00
00001b8c: ADD
00001b8d: PUSH2 0x2ae0
00001b90: JUMP
00001b91: JUMPDEST
00001b92: SWAP1
00001b93: POP
00001b94: SWAP2
00001b95: SWAP1
00001b96: POP
00001b97: JUMP
00001b98: JUMPDEST
00001b99: PUSH1 0x40
00001b9b: MLOAD
00001b9c: DUP1
00001b9d: DUP1
00001b9e: PUSH32 0x4445504f5349544f525f524f4c45000000000000000000000000000000000000
00001bbf: DUP2
00001bc0: MSTORE
00001bc1: POP
00001bc2: PUSH1 0x0e
00001bc4: ADD
00001bc5: SWAP1
00001bc6: POP
00001bc7: PUSH1 0x40
00001bc9: MLOAD
00001bca: DUP1
00001bcb: SWAP2
00001bcc: SUB
00001bcd: SWAP1
00001bce: KECCAK256
00001bcf: PUSH2 0x1bdf
00001bd2: DUP2
00001bd3: PUSH2 0x1bda
00001bd6: PUSH2 0x2064
00001bd9: JUMP
00001bda: JUMPDEST
00001bdb: PUSH2 0x1972
00001bde: JUMP
00001bdf: JUMPDEST
00001be0: PUSH1 0x07
00001be2: SWAP1
00001be3: PUSH2 0x1ca4
00001be6: JUMPI
00001be7: PUSH1 0x40
00001be9: MLOAD
00001bea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c0b: DUP2
00001c0c: MSTORE
00001c0d: PUSH1 0x04
00001c0f: ADD
00001c10: DUP1
00001c11: DUP1
00001c12: PUSH1 0x20
00001c14: ADD
00001c15: DUP3
00001c16: DUP2
00001c17: SUB
00001c18: DUP3
00001c19: MSTORE
00001c1a: DUP4
00001c1b: DUP2
00001c1c: DUP2
00001c1d: SLOAD
00001c1e: PUSH1 0x01
00001c20: DUP2
00001c21: PUSH1 0x01
00001c23: AND
00001c24: ISZERO
00001c25: PUSH2 0x0100
00001c28: MUL
00001c29: SUB
00001c2a: AND
00001c2b: PUSH1 0x02
00001c2d: SWAP1
00001c2e: DIV
00001c2f: DUP2
00001c30: MSTORE
00001c31: PUSH1 0x20
00001c33: ADD
00001c34: SWAP2
00001c35: POP
00001c36: DUP1
00001c37: SLOAD
00001c38: PUSH1 0x01
00001c3a: DUP2
00001c3b: PUSH1 0x01
00001c3d: AND
00001c3e: ISZERO
00001c3f: PUSH2 0x0100
00001c42: MUL
00001c43: SUB
00001c44: AND
00001c45: PUSH1 0x02
00001c47: SWAP1
00001c48: DIV
00001c49: DUP1
00001c4a: ISZERO
00001c4b: PUSH2 0x1c95
00001c4e: JUMPI
00001c4f: DUP1
00001c50: PUSH1 0x1f
00001c52: LT
00001c53: PUSH2 0x1c6a
00001c56: JUMPI
00001c57: PUSH2 0x0100
00001c5a: DUP1
00001c5b: DUP4
00001c5c: SLOAD
00001c5d: DIV
00001c5e: MUL
00001c5f: DUP4
00001c60: MSTORE
00001c61: SWAP2
00001c62: PUSH1 0x20
00001c64: ADD
00001c65: SWAP2
00001c66: PUSH2 0x1c95
00001c69: JUMP
00001c6a: JUMPDEST
00001c6b: DUP3
00001c6c: ADD
00001c6d: SWAP2
00001c6e: SWAP1
00001c6f: PUSH1 0x00
00001c71: MSTORE
00001c72: PUSH1 0x20
00001c74: PUSH1 0x00
00001c76: KECCAK256
00001c77: SWAP1
00001c78: JUMPDEST
00001c79: DUP2
00001c7a: SLOAD
00001c7b: DUP2
00001c7c: MSTORE
00001c7d: SWAP1
00001c7e: PUSH1 0x01
00001c80: ADD
00001c81: SWAP1
00001c82: PUSH1 0x20
00001c84: ADD
00001c85: DUP1
00001c86: DUP4
00001c87: GT
00001c88: PUSH2 0x1c78
00001c8b: JUMPI
00001c8c: DUP3
00001c8d: SWAP1
00001c8e: SUB
00001c8f: PUSH1 0x1f
00001c91: AND
00001c92: DUP3
00001c93: ADD
00001c94: SWAP2
00001c95: JUMPDEST
00001c96: POP
00001c97: POP
00001c98: SWAP3
00001c99: POP
00001c9a: POP
00001c9b: POP
00001c9c: PUSH1 0x40
00001c9e: MLOAD
00001c9f: DUP1
00001ca0: SWAP2
00001ca1: SUB
00001ca2: SWAP1
00001ca3: REVERT
00001ca4: JUMPDEST
00001ca5: POP
00001ca6: PUSH1 0x00
00001ca8: DUP4
00001ca9: DUP4
00001caa: PUSH1 0x20
00001cac: DUP2
00001cad: LT
00001cae: ISZERO
00001caf: PUSH2 0x1cb7
00001cb2: JUMPI
00001cb3: PUSH1 0x00
00001cb5: DUP1
00001cb6: REVERT
00001cb7: JUMPDEST
00001cb8: DUP2
00001cb9: ADD
00001cba: SWAP1
00001cbb: DUP1
00001cbc: DUP1
00001cbd: CALLDATALOAD
00001cbe: SWAP1
00001cbf: PUSH1 0x20
00001cc1: ADD
00001cc2: SWAP1
00001cc3: SWAP3
00001cc4: SWAP2
00001cc5: SWAP1
00001cc6: POP
00001cc7: POP
00001cc8: POP
00001cc9: SWAP1
00001cca: POP
00001ccb: PUSH2 0x1cd4
00001cce: DUP6
00001ccf: DUP3
00001cd0: PUSH2 0x2af5
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: POP
00001cd6: POP
00001cd7: POP
00001cd8: POP
00001cd9: POP
00001cda: JUMP
00001cdb: JUMPDEST
00001cdc: PUSH2 0x1d02
00001cdf: PUSH1 0x06
00001ce1: PUSH1 0x00
00001ce3: DUP5
00001ce4: DUP2
00001ce5: MSTORE
00001ce6: PUSH1 0x20
00001ce8: ADD
00001ce9: SWAP1
00001cea: DUP2
00001ceb: MSTORE
00001cec: PUSH1 0x20
00001cee: ADD
00001cef: PUSH1 0x00
00001cf1: KECCAK256
00001cf2: PUSH1 0x02
00001cf4: ADD
00001cf5: SLOAD
00001cf6: PUSH2 0x1cfd
00001cf9: PUSH2 0x2064
00001cfc: JUMP
00001cfd: JUMPDEST
00001cfe: PUSH2 0x1972
00001d01: JUMP
00001d02: JUMPDEST
00001d03: PUSH2 0x1d57
00001d06: JUMPI
00001d07: PUSH1 0x40
00001d09: MLOAD
00001d0a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d2b: DUP2
00001d2c: MSTORE
00001d2d: PUSH1 0x04
00001d2f: ADD
00001d30: DUP1
00001d31: DUP1
00001d32: PUSH1 0x20
00001d34: ADD
00001d35: DUP3
00001d36: DUP2
00001d37: SUB
00001d38: DUP3
00001d39: MSTORE
00001d3a: PUSH1 0x30
00001d3c: DUP2
00001d3d: MSTORE
00001d3e: PUSH1 0x20
00001d40: ADD
00001d41: DUP1
00001d42: PUSH2 0x35f5
00001d45: PUSH1 0x30
00001d47: SWAP2
00001d48: CODECOPY
00001d49: PUSH1 0x40
00001d4b: ADD
00001d4c: SWAP2
00001d4d: POP
00001d4e: POP
00001d4f: PUSH1 0x40
00001d51: MLOAD
00001d52: DUP1
00001d53: SWAP2
00001d54: SUB
00001d55: SWAP1
00001d56: REVERT
00001d57: JUMPDEST
00001d58: PUSH2 0x1d61
00001d5b: DUP3
00001d5c: DUP3
00001d5d: PUSH2 0x2a02
00001d60: JUMP
00001d61: JUMPDEST
00001d62: POP
00001d63: POP
00001d64: JUMP
00001d65: JUMPDEST
00001d66: PUSH1 0x00
00001d68: PUSH1 0x01
00001d6a: PUSH1 0x00
00001d6c: DUP5
00001d6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d82: AND
00001d83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d98: AND
00001d99: DUP2
00001d9a: MSTORE
00001d9b: PUSH1 0x20
00001d9d: ADD
00001d9e: SWAP1
00001d9f: DUP2
00001da0: MSTORE
00001da1: PUSH1 0x20
00001da3: ADD
00001da4: PUSH1 0x00
00001da6: KECCAK256
00001da7: PUSH1 0x00
00001da9: DUP4
00001daa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbf: AND
00001dc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dd5: AND
00001dd6: DUP2
00001dd7: MSTORE
00001dd8: PUSH1 0x20
00001dda: ADD
00001ddb: SWAP1
00001ddc: DUP2
00001ddd: MSTORE
00001dde: PUSH1 0x20
00001de0: ADD
00001de1: PUSH1 0x00
00001de3: KECCAK256
00001de4: SLOAD
00001de5: SWAP1
00001de6: POP
00001de7: SWAP3
00001de8: SWAP2
00001de9: POP
00001dea: POP
00001deb: JUMP
00001dec: JUMPDEST
00001ded: PUSH1 0x08
00001def: PUSH1 0x00
00001df1: SWAP1
00001df2: SLOAD
00001df3: SWAP1
00001df4: PUSH2 0x0100
00001df7: EXP
00001df8: SWAP1
00001df9: DIV
00001dfa: PUSH1 0xff
00001dfc: AND
00001dfd: ISZERO
00001dfe: PUSH2 0x1e6f
00001e01: JUMPI
00001e02: PUSH1 0x40
00001e04: MLOAD
00001e05: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e26: DUP2
00001e27: MSTORE
00001e28: PUSH1 0x04
00001e2a: ADD
00001e2b: DUP1
00001e2c: DUP1
00001e2d: PUSH1 0x20
00001e2f: ADD
00001e30: DUP3
00001e31: DUP2
00001e32: SUB
00001e33: DUP3
00001e34: MSTORE
00001e35: PUSH1 0x0e
00001e37: DUP2
00001e38: MSTORE
00001e39: PUSH1 0x20
00001e3b: ADD
00001e3c: DUP1
00001e3d: PUSH32 0x616c726561647920696e69746564000000000000000000000000000000000000
00001e5e: DUP2
00001e5f: MSTORE
00001e60: POP
00001e61: PUSH1 0x20
00001e63: ADD
00001e64: SWAP2
00001e65: POP
00001e66: POP
00001e67: PUSH1 0x40
00001e69: MLOAD
00001e6a: DUP1
00001e6b: SWAP2
00001e6c: SUB
00001e6d: SWAP1
00001e6e: REVERT
00001e6f: JUMPDEST
00001e70: PUSH2 0x1ebc
00001e73: DUP7
00001e74: DUP7
00001e75: DUP1
00001e76: DUP1
00001e77: PUSH1 0x1f
00001e79: ADD
00001e7a: PUSH1 0x20
00001e7c: DUP1
00001e7d: SWAP2
00001e7e: DIV
00001e7f: MUL
00001e80: PUSH1 0x20
00001e82: ADD
00001e83: PUSH1 0x40
00001e85: MLOAD
00001e86: SWAP1
00001e87: DUP2
00001e88: ADD
00001e89: PUSH1 0x40
00001e8b: MSTORE
00001e8c: DUP1
00001e8d: SWAP4
00001e8e: SWAP3
00001e8f: SWAP2
00001e90: SWAP1
00001e91: DUP2
00001e92: DUP2
00001e93: MSTORE
00001e94: PUSH1 0x20
00001e96: ADD
00001e97: DUP4
00001e98: DUP4
00001e99: DUP1
00001e9a: DUP3
00001e9b: DUP5
00001e9c: CALLDATACOPY
00001e9d: PUSH1 0x00
00001e9f: DUP2
00001ea0: DUP5
00001ea1: ADD
00001ea2: MSTORE
00001ea3: PUSH1 0x1f
00001ea5: NOT
00001ea6: PUSH1 0x1f
00001ea8: DUP3
00001ea9: ADD
00001eaa: AND
00001eab: SWAP1
00001eac: POP
00001ead: DUP1
00001eae: DUP4
00001eaf: ADD
00001eb0: SWAP3
00001eb1: POP
00001eb2: POP
00001eb3: POP
00001eb4: POP
00001eb5: POP
00001eb6: POP
00001eb7: POP
00001eb8: PUSH2 0x2cbc
00001ebb: JUMP
00001ebc: JUMPDEST
00001ebd: PUSH2 0x1f09
00001ec0: DUP5
00001ec1: DUP5
00001ec2: DUP1
00001ec3: DUP1
00001ec4: PUSH1 0x1f
00001ec6: ADD
00001ec7: PUSH1 0x20
00001ec9: DUP1
00001eca: SWAP2
00001ecb: DIV
00001ecc: MUL
00001ecd: PUSH1 0x20
00001ecf: ADD
00001ed0: PUSH1 0x40
00001ed2: MLOAD
00001ed3: SWAP1
00001ed4: DUP2
00001ed5: ADD
00001ed6: PUSH1 0x40
00001ed8: MSTORE
00001ed9: DUP1
00001eda: SWAP4
00001edb: SWAP3
00001edc: SWAP2
00001edd: SWAP1
00001ede: DUP2
00001edf: DUP2
00001ee0: MSTORE
00001ee1: PUSH1 0x20
00001ee3: ADD
00001ee4: DUP4
00001ee5: DUP4
00001ee6: DUP1
00001ee7: DUP3
00001ee8: DUP5
00001ee9: CALLDATACOPY
00001eea: PUSH1 0x00
00001eec: DUP2
00001eed: DUP5
00001eee: ADD
00001eef: MSTORE
00001ef0: PUSH1 0x1f
00001ef2: NOT
00001ef3: PUSH1 0x1f
00001ef5: DUP3
00001ef6: ADD
00001ef7: AND
00001ef8: SWAP1
00001ef9: POP
00001efa: DUP1
00001efb: DUP4
00001efc: ADD
00001efd: SWAP3
00001efe: POP
00001eff: POP
00001f00: POP
00001f01: POP
00001f02: POP
00001f03: POP
00001f04: POP
00001f05: PUSH2 0x2cd6
00001f08: JUMP
00001f09: JUMPDEST
00001f0a: PUSH2 0x1f12
00001f0d: DUP3
00001f0e: PUSH2 0x2cf0
00001f11: JUMP
00001f12: JUMPDEST
00001f13: PUSH2 0x1f6b
00001f16: DUP5
00001f17: DUP5
00001f18: PUSH1 0x40
00001f1a: MLOAD
00001f1b: PUSH1 0x20
00001f1d: ADD
00001f1e: DUP1
00001f1f: DUP1
00001f20: PUSH32 0x4368696c64000000000000000000000000000000000000000000000000000000
00001f41: DUP2
00001f42: MSTORE
00001f43: POP
00001f44: PUSH1 0x05
00001f46: ADD
00001f47: DUP4
00001f48: DUP4
00001f49: DUP1
00001f4a: DUP3
00001f4b: DUP5
00001f4c: CALLDATACOPY
00001f4d: DUP1
00001f4e: DUP4
00001f4f: ADD
00001f50: SWAP3
00001f51: POP
00001f52: POP
00001f53: POP
00001f54: SWAP3
00001f55: POP
00001f56: POP
00001f57: POP
00001f58: PUSH1 0x40
00001f5a: MLOAD
00001f5b: PUSH1 0x20
00001f5d: DUP2
00001f5e: DUP4
00001f5f: SUB
00001f60: SUB
00001f61: DUP2
00001f62: MSTORE
00001f63: SWAP1
00001f64: PUSH1 0x40
00001f66: MSTORE
00001f67: PUSH2 0x2d0e
00001f6a: JUMP
00001f6b: JUMPDEST
00001f6c: PUSH2 0x1f7f
00001f6f: PUSH1 0x00
00001f71: DUP1
00001f72: SHL
00001f73: PUSH2 0x1f7a
00001f76: PUSH2 0x2064
00001f79: JUMP
00001f7a: JUMPDEST
00001f7b: PUSH2 0x2dba
00001f7e: JUMP
00001f7f: JUMPDEST
00001f80: PUSH2 0x1fbe
00001f83: PUSH1 0x40
00001f85: MLOAD
00001f86: DUP1
00001f87: DUP1
00001f88: PUSH32 0x4445504f5349544f525f524f4c45000000000000000000000000000000000000
00001fa9: DUP2
00001faa: MSTORE
00001fab: POP
00001fac: PUSH1 0x0e
00001fae: ADD
00001faf: SWAP1
00001fb0: POP
00001fb1: PUSH1 0x40
00001fb3: MLOAD
00001fb4: DUP1
00001fb5: SWAP2
00001fb6: SUB
00001fb7: SWAP1
00001fb8: KECCAK256
00001fb9: DUP3
00001fba: PUSH2 0x2dba
00001fbd: JUMP
00001fbe: JUMPDEST
00001fbf: PUSH2 0x2041
00001fc2: DUP7
00001fc3: DUP7
00001fc4: DUP1
00001fc5: DUP1
00001fc6: PUSH1 0x1f
00001fc8: ADD
00001fc9: PUSH1 0x20
00001fcb: DUP1
00001fcc: SWAP2
00001fcd: DIV
00001fce: MUL
00001fcf: PUSH1 0x20
00001fd1: ADD
00001fd2: PUSH1 0x40
00001fd4: MLOAD
00001fd5: SWAP1
00001fd6: DUP2
00001fd7: ADD
00001fd8: PUSH1 0x40
00001fda: MSTORE
00001fdb: DUP1
00001fdc: SWAP4
00001fdd: SWAP3
00001fde: SWAP2
00001fdf: SWAP1
00001fe0: DUP2
00001fe1: DUP2
00001fe2: MSTORE
00001fe3: PUSH1 0x20
00001fe5: ADD
00001fe6: DUP4
00001fe7: DUP4
00001fe8: DUP1
00001fe9: DUP3
00001fea: DUP5
00001feb: CALLDATACOPY
00001fec: PUSH1 0x00
00001fee: DUP2
00001fef: DUP5
00001ff0: ADD
00001ff1: MSTORE
00001ff2: PUSH1 0x1f
00001ff4: NOT
00001ff5: PUSH1 0x1f
00001ff7: DUP3
00001ff8: ADD
00001ff9: AND
00001ffa: SWAP1
00001ffb: POP
00001ffc: DUP1
00001ffd: DUP4
00001ffe: ADD
00001fff: SWAP3
00002000: POP
00002001: POP
00002002: POP
00002003: POP
00002004: POP
00002005: POP
00002006: POP
00002007: PUSH1 0x40
00002009: MLOAD
0000200a: DUP1
0000200b: PUSH1 0x40
0000200d: ADD
0000200e: PUSH1 0x40
00002010: MSTORE
00002011: DUP1
00002012: PUSH1 0x01
00002014: DUP2
00002015: MSTORE
00002016: PUSH1 0x20
00002018: ADD
00002019: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000000
0000203a: DUP2
0000203b: MSTORE
0000203c: POP
0000203d: PUSH2 0x2dc8
00002040: JUMP
00002041: JUMPDEST
00002042: PUSH1 0x01
00002044: PUSH1 0x08
00002046: PUSH1 0x00
00002048: PUSH2 0x0100
0000204b: EXP
0000204c: DUP2
0000204d: SLOAD
0000204e: DUP2
0000204f: PUSH1 0xff
00002051: MUL
00002052: NOT
00002053: AND
00002054: SWAP1
00002055: DUP4
00002056: ISZERO
00002057: ISZERO
00002058: MUL
00002059: OR
0000205a: SWAP1
0000205b: SSTORE
0000205c: POP
0000205d: POP
0000205e: POP
0000205f: POP
00002060: POP
00002061: POP
00002062: POP
00002063: JUMP
00002064: JUMPDEST
00002065: PUSH1 0x00
00002067: PUSH2 0x206e
0000206a: PUSH2 0x2e74
0000206d: JUMP
0000206e: JUMPDEST
0000206f: SWAP1
00002070: POP
00002071: SWAP1
00002072: JUMP
00002073: JUMPDEST
00002074: PUSH1 0x00
00002076: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000208b: AND
0000208c: DUP4
0000208d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020a2: AND
000020a3: EQ
000020a4: ISZERO
000020a5: PUSH2 0x20f9
000020a8: JUMPI
000020a9: PUSH1 0x40
000020ab: MLOAD
000020ac: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000020cd: DUP2
000020ce: MSTORE
000020cf: PUSH1 0x04
000020d1: ADD
000020d2: DUP1
000020d3: DUP1
000020d4: PUSH1 0x20
000020d6: ADD
000020d7: DUP3
000020d8: DUP2
000020d9: SUB
000020da: DUP3
000020db: MSTORE
000020dc: PUSH1 0x24
000020de: DUP2
000020df: MSTORE
000020e0: PUSH1 0x20
000020e2: ADD
000020e3: DUP1
000020e4: PUSH2 0x36d9
000020e7: PUSH1 0x24
000020e9: SWAP2
000020ea: CODECOPY
000020eb: PUSH1 0x40
000020ed: ADD
000020ee: SWAP2
000020ef: POP
000020f0: POP
000020f1: PUSH1 0x40
000020f3: MLOAD
000020f4: DUP1
000020f5: SWAP2
000020f6: SUB
000020f7: SWAP1
000020f8: REVERT
000020f9: JUMPDEST
000020fa: PUSH1 0x00
000020fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002111: AND
00002112: DUP3
00002113: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002128: AND
00002129: EQ
0000212a: ISZERO
0000212b: PUSH2 0x217f
0000212e: JUMPI
0000212f: PUSH1 0x40
00002131: MLOAD
00002132: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002153: DUP2
00002154: MSTORE
00002155: PUSH1 0x04
00002157: ADD
00002158: DUP1
00002159: DUP1
0000215a: PUSH1 0x20
0000215c: ADD
0000215d: DUP3
0000215e: DUP2
0000215f: SUB
00002160: DUP3
00002161: MSTORE
00002162: PUSH1 0x22
00002164: DUP2
00002165: MSTORE
00002166: PUSH1 0x20
00002168: ADD
00002169: DUP1
0000216a: PUSH2 0x355e
0000216d: PUSH1 0x22
0000216f: SWAP2
00002170: CODECOPY
00002171: PUSH1 0x40
00002173: ADD
00002174: SWAP2
00002175: POP
00002176: POP
00002177: PUSH1 0x40
00002179: MLOAD
0000217a: DUP1
0000217b: SWAP2
0000217c: SUB
0000217d: SWAP1
0000217e: REVERT
0000217f: JUMPDEST
00002180: DUP1
00002181: PUSH1 0x01
00002183: PUSH1 0x00
00002185: DUP6
00002186: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000219b: AND
0000219c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021b1: AND
000021b2: DUP2
000021b3: MSTORE
000021b4: PUSH1 0x20
000021b6: ADD
000021b7: SWAP1
000021b8: DUP2
000021b9: MSTORE
000021ba: PUSH1 0x20
000021bc: ADD
000021bd: PUSH1 0x00
000021bf: KECCAK256
000021c0: PUSH1 0x00
000021c2: DUP5
000021c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d8: AND
000021d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021ee: AND
000021ef: DUP2
000021f0: MSTORE
000021f1: PUSH1 0x20
000021f3: ADD
000021f4: SWAP1
000021f5: DUP2
000021f6: MSTORE
000021f7: PUSH1 0x20
000021f9: ADD
000021fa: PUSH1 0x00
000021fc: KECCAK256
000021fd: DUP2
000021fe: SWAP1
000021ff: SSTORE
00002200: POP
00002201: DUP2
00002202: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002217: AND
00002218: DUP4
00002219: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000222e: AND
0000222f: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002250: DUP4
00002251: PUSH1 0x40
00002253: MLOAD
00002254: DUP1
00002255: DUP3
00002256: DUP2
00002257: MSTORE
00002258: PUSH1 0x20
0000225a: ADD
0000225b: SWAP2
0000225c: POP
0000225d: POP
0000225e: PUSH1 0x40
00002260: MLOAD
00002261: DUP1
00002262: SWAP2
00002263: SUB
00002264: SWAP1
00002265: LOG3
00002266: POP
00002267: POP
00002268: POP
00002269: JUMP
0000226a: JUMPDEST
0000226b: PUSH1 0x00
0000226d: DUP1
0000226e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002283: AND
00002284: DUP7
00002285: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000229a: AND
0000229b: EQ
0000229c: ISZERO
0000229d: PUSH2 0x22f1
000022a0: JUMPI
000022a1: PUSH1 0x40
000022a3: MLOAD
000022a4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000022c5: DUP2
000022c6: MSTORE
000022c7: PUSH1 0x04
000022c9: ADD
000022ca: DUP1
000022cb: DUP1
000022cc: PUSH1 0x20
000022ce: ADD
000022cf: DUP3
000022d0: DUP2
000022d1: SUB
000022d2: DUP3
000022d3: MSTORE
000022d4: PUSH1 0x25
000022d6: DUP2
000022d7: MSTORE
000022d8: PUSH1 0x20
000022da: ADD
000022db: DUP1
000022dc: PUSH2 0x3625
000022df: PUSH1 0x25
000022e1: SWAP2
000022e2: CODECOPY
000022e3: PUSH1 0x40
000022e5: ADD
000022e6: SWAP2
000022e7: POP
000022e8: POP
000022e9: PUSH1 0x40
000022eb: MLOAD
000022ec: DUP1
000022ed: SWAP2
000022ee: SUB
000022ef: SWAP1
000022f0: REVERT
000022f1: JUMPDEST
000022f2: PUSH1 0x01
000022f4: PUSH2 0x2304
000022f7: PUSH2 0x22ff
000022fa: DUP8
000022fb: PUSH2 0x2f29
000022fe: JUMP
000022ff: JUMPDEST
00002300: PUSH2 0x2fcf
00002303: JUMP
00002304: JUMPDEST
00002305: DUP4
00002306: DUP7
00002307: DUP7
00002308: PUSH1 0x40
0000230a: MLOAD
0000230b: PUSH1 0x00
0000230d: DUP2
0000230e: MSTORE
0000230f: PUSH1 0x20
00002311: ADD
00002312: PUSH1 0x40
00002314: MSTORE
00002315: PUSH1 0x40
00002317: MLOAD
00002318: DUP1
00002319: DUP6
0000231a: DUP2
0000231b: MSTORE
0000231c: PUSH1 0x20
0000231e: ADD
0000231f: DUP5
00002320: PUSH1 0xff
00002322: AND
00002323: PUSH1 0xff
00002325: AND
00002326: DUP2
00002327: MSTORE
00002328: PUSH1 0x20
0000232a: ADD
0000232b: DUP4
0000232c: DUP2
0000232d: MSTORE
0000232e: PUSH1 0x20
00002330: ADD
00002331: DUP3
00002332: DUP2
00002333: MSTORE
00002334: PUSH1 0x20
00002336: ADD
00002337: SWAP5
00002338: POP
00002339: POP
0000233a: POP
0000233b: POP
0000233c: POP
0000233d: PUSH1 0x20
0000233f: PUSH1 0x40
00002341: MLOAD
00002342: PUSH1 0x20
00002344: DUP2
00002345: SUB
00002346: SWAP1
00002347: DUP1
00002348: DUP5
00002349: SUB
0000234a: SWAP1
0000234b: DUP6
0000234c: GAS
0000234d: STATICCALL
0000234e: ISZERO
0000234f: DUP1
00002350: ISZERO
00002351: PUSH2 0x235e
00002354: JUMPI
00002355: RETURNDATASIZE
00002356: PUSH1 0x00
00002358: DUP1
00002359: RETURNDATACOPY
0000235a: RETURNDATASIZE
0000235b: PUSH1 0x00
0000235d: REVERT
0000235e: JUMPDEST
0000235f: POP
00002360: POP
00002361: POP
00002362: PUSH1 0x20
00002364: PUSH1 0x40
00002366: MLOAD
00002367: SUB
00002368: MLOAD
00002369: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000237e: AND
0000237f: DUP7
00002380: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002395: AND
00002396: EQ
00002397: SWAP1
00002398: POP
00002399: SWAP6
0000239a: SWAP5
0000239b: POP
0000239c: POP
0000239d: POP
0000239e: POP
0000239f: POP
000023a0: JUMP
000023a1: JUMPDEST
000023a2: PUSH1 0x00
000023a4: DUP1
000023a5: DUP3
000023a6: DUP5
000023a7: ADD
000023a8: SWAP1
000023a9: POP
000023aa: DUP4
000023ab: DUP2
000023ac: LT
000023ad: ISZERO
000023ae: PUSH2 0x241f
000023b1: JUMPI
000023b2: PUSH1 0x40
000023b4: MLOAD
000023b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023d6: DUP2
000023d7: MSTORE
000023d8: PUSH1 0x04
000023da: ADD
000023db: DUP1
000023dc: DUP1
000023dd: PUSH1 0x20
000023df: ADD
000023e0: DUP3
000023e1: DUP2
000023e2: SUB
000023e3: DUP3
000023e4: MSTORE
000023e5: PUSH1 0x1b
000023e7: DUP2
000023e8: MSTORE
000023e9: PUSH1 0x20
000023eb: ADD
000023ec: DUP1
000023ed: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000240e: DUP2
0000240f: MSTORE
00002410: POP
00002411: PUSH1 0x20
00002413: ADD
00002414: SWAP2
00002415: POP
00002416: POP
00002417: PUSH1 0x40
00002419: MLOAD
0000241a: DUP1
0000241b: SWAP2
0000241c: SUB
0000241d: SWAP1
0000241e: REVERT
0000241f: JUMPDEST
00002420: DUP1
00002421: SWAP2
00002422: POP
00002423: POP
00002424: SWAP3
00002425: SWAP2
00002426: POP
00002427: POP
00002428: JUMP
00002429: JUMPDEST
0000242a: PUSH1 0x00
0000242c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002441: AND
00002442: DUP4
00002443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002458: AND
00002459: EQ
0000245a: ISZERO
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 0x25
00002494: DUP2
00002495: MSTORE
00002496: PUSH1 0x20
00002498: ADD
00002499: DUP1
0000249a: PUSH2 0x36b4
0000249d: PUSH1 0x25
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: PUSH1 0x00
000024b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024c7: AND
000024c8: DUP3
000024c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024de: AND
000024df: EQ
000024e0: ISZERO
000024e1: PUSH2 0x2535
000024e4: JUMPI
000024e5: PUSH1 0x40
000024e7: MLOAD
000024e8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002509: DUP2
0000250a: MSTORE
0000250b: PUSH1 0x04
0000250d: ADD
0000250e: DUP1
0000250f: DUP1
00002510: PUSH1 0x20
00002512: ADD
00002513: DUP3
00002514: DUP2
00002515: SUB
00002516: DUP3
00002517: MSTORE
00002518: PUSH1 0x23
0000251a: DUP2
0000251b: MSTORE
0000251c: PUSH1 0x20
0000251e: ADD
0000251f: DUP1
00002520: PUSH2 0x34a7
00002523: PUSH1 0x23
00002525: SWAP2
00002526: CODECOPY
00002527: PUSH1 0x40
00002529: ADD
0000252a: SWAP2
0000252b: POP
0000252c: POP
0000252d: PUSH1 0x40
0000252f: MLOAD
00002530: DUP1
00002531: SWAP2
00002532: SUB
00002533: SWAP1
00002534: REVERT
00002535: JUMPDEST
00002536: PUSH2 0x2540
00002539: DUP4
0000253a: DUP4
0000253b: DUP4
0000253c: PUSH2 0x3036
0000253f: JUMP
00002540: JUMPDEST
00002541: PUSH2 0x25ab
00002544: DUP2
00002545: PUSH1 0x40
00002547: MLOAD
00002548: DUP1
00002549: PUSH1 0x60
0000254b: ADD
0000254c: PUSH1 0x40
0000254e: MSTORE
0000254f: DUP1
00002550: PUSH1 0x26
00002552: DUP2
00002553: MSTORE
00002554: PUSH1 0x20
00002556: ADD
00002557: PUSH2 0x35cf
0000255a: PUSH1 0x26
0000255c: SWAP2
0000255d: CODECOPY
0000255e: PUSH1 0x00
00002560: DUP1
00002561: DUP8
00002562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002577: AND
00002578: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000258d: AND
0000258e: DUP2
0000258f: MSTORE
00002590: PUSH1 0x20
00002592: ADD
00002593: SWAP1
00002594: DUP2
00002595: MSTORE
00002596: PUSH1 0x20
00002598: ADD
00002599: PUSH1 0x00
0000259b: KECCAK256
0000259c: SLOAD
0000259d: PUSH2 0x26ea
000025a0: SWAP1
000025a1: SWAP3
000025a2: SWAP2
000025a3: SWAP1
000025a4: PUSH4 0xffffffff
000025a9: AND
000025aa: JUMP
000025ab: JUMPDEST
000025ac: PUSH1 0x00
000025ae: DUP1
000025af: DUP6
000025b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025c5: AND
000025c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025db: AND
000025dc: DUP2
000025dd: MSTORE
000025de: PUSH1 0x20
000025e0: ADD
000025e1: SWAP1
000025e2: DUP2
000025e3: MSTORE
000025e4: PUSH1 0x20
000025e6: ADD
000025e7: PUSH1 0x00
000025e9: KECCAK256
000025ea: DUP2
000025eb: SWAP1
000025ec: SSTORE
000025ed: POP
000025ee: PUSH2 0x263e
000025f1: DUP2
000025f2: PUSH1 0x00
000025f4: DUP1
000025f5: DUP6
000025f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000260b: AND
0000260c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002621: AND
00002622: DUP2
00002623: MSTORE
00002624: PUSH1 0x20
00002626: ADD
00002627: SWAP1
00002628: DUP2
00002629: MSTORE
0000262a: PUSH1 0x20
0000262c: ADD
0000262d: PUSH1 0x00
0000262f: KECCAK256
00002630: SLOAD
00002631: PUSH2 0x23a1
00002634: SWAP1
00002635: SWAP2
00002636: SWAP1
00002637: PUSH4 0xffffffff
0000263c: AND
0000263d: JUMP
0000263e: JUMPDEST
0000263f: PUSH1 0x00
00002641: DUP1
00002642: DUP5
00002643: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002658: AND
00002659: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000266e: AND
0000266f: DUP2
00002670: MSTORE
00002671: PUSH1 0x20
00002673: ADD
00002674: SWAP1
00002675: DUP2
00002676: MSTORE
00002677: PUSH1 0x20
00002679: ADD
0000267a: PUSH1 0x00
0000267c: KECCAK256
0000267d: DUP2
0000267e: SWAP1
0000267f: SSTORE
00002680: POP
00002681: DUP2
00002682: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002697: AND
00002698: DUP4
00002699: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026ae: AND
000026af: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000026d0: DUP4
000026d1: PUSH1 0x40
000026d3: MLOAD
000026d4: DUP1
000026d5: DUP3
000026d6: DUP2
000026d7: MSTORE
000026d8: PUSH1 0x20
000026da: ADD
000026db: SWAP2
000026dc: POP
000026dd: POP
000026de: PUSH1 0x40
000026e0: MLOAD
000026e1: DUP1
000026e2: SWAP2
000026e3: SUB
000026e4: SWAP1
000026e5: LOG3
000026e6: POP
000026e7: POP
000026e8: POP
000026e9: JUMP
000026ea: JUMPDEST
000026eb: PUSH1 0x00
000026ed: DUP4
000026ee: DUP4
000026ef: GT
000026f0: ISZERO
000026f1: DUP3
000026f2: SWAP1
000026f3: PUSH2 0x2797
000026f6: JUMPI
000026f7: PUSH1 0x40
000026f9: MLOAD
000026fa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000271b: DUP2
0000271c: MSTORE
0000271d: PUSH1 0x04
0000271f: ADD
00002720: DUP1
00002721: DUP1
00002722: PUSH1 0x20
00002724: ADD
00002725: DUP3
00002726: DUP2
00002727: SUB
00002728: DUP3
00002729: MSTORE
0000272a: DUP4
0000272b: DUP2
0000272c: DUP2
0000272d: MLOAD
0000272e: DUP2
0000272f: MSTORE
00002730: PUSH1 0x20
00002732: ADD
00002733: SWAP2
00002734: POP
00002735: DUP1
00002736: MLOAD
00002737: SWAP1
00002738: PUSH1 0x20
0000273a: ADD
0000273b: SWAP1
0000273c: DUP1
0000273d: DUP4
0000273e: DUP4
0000273f: PUSH1 0x00
00002741: JUMPDEST
00002742: DUP4
00002743: DUP2
00002744: LT
00002745: ISZERO
00002746: PUSH2 0x275c
00002749: JUMPI
0000274a: DUP1
0000274b: DUP3
0000274c: ADD
0000274d: MLOAD
0000274e: DUP2
0000274f: DUP5
00002750: ADD
00002751: MSTORE
00002752: PUSH1 0x20
00002754: DUP2
00002755: ADD
00002756: SWAP1
00002757: POP
00002758: PUSH2 0x2741
0000275b: JUMP
0000275c: JUMPDEST
0000275d: POP
0000275e: POP
0000275f: POP
00002760: POP
00002761: SWAP1
00002762: POP
00002763: SWAP1
00002764: DUP2
00002765: ADD
00002766: SWAP1
00002767: PUSH1 0x1f
00002769: AND
0000276a: DUP1
0000276b: ISZERO
0000276c: PUSH2 0x2789
0000276f: JUMPI
00002770: DUP1
00002771: DUP3
00002772: SUB
00002773: DUP1
00002774: MLOAD
00002775: PUSH1 0x01
00002777: DUP4
00002778: PUSH1 0x20
0000277a: SUB
0000277b: PUSH2 0x0100
0000277e: EXP
0000277f: SUB
00002780: NOT
00002781: AND
00002782: DUP2
00002783: MSTORE
00002784: PUSH1 0x20
00002786: ADD
00002787: SWAP2
00002788: POP
00002789: JUMPDEST
0000278a: POP
0000278b: SWAP3
0000278c: POP
0000278d: POP
0000278e: POP
0000278f: PUSH1 0x40
00002791: MLOAD
00002792: DUP1
00002793: SWAP2
00002794: SUB
00002795: SWAP1
00002796: REVERT
00002797: JUMPDEST
00002798: POP
00002799: PUSH1 0x00
0000279b: DUP4
0000279c: DUP6
0000279d: SUB
0000279e: SWAP1
0000279f: POP
000027a0: DUP1
000027a1: SWAP2
000027a2: POP
000027a3: POP
000027a4: SWAP4
000027a5: SWAP3
000027a6: POP
000027a7: POP
000027a8: POP
000027a9: JUMP
000027aa: JUMPDEST
000027ab: PUSH1 0x00
000027ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027c2: AND
000027c3: DUP3
000027c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027d9: AND
000027da: EQ
000027db: ISZERO
000027dc: PUSH2 0x2830
000027df: JUMPI
000027e0: PUSH1 0x40
000027e2: MLOAD
000027e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002804: DUP2
00002805: MSTORE
00002806: PUSH1 0x04
00002808: ADD
00002809: DUP1
0000280a: DUP1
0000280b: PUSH1 0x20
0000280d: ADD
0000280e: DUP3
0000280f: DUP2
00002810: SUB
00002811: DUP3
00002812: MSTORE
00002813: PUSH1 0x21
00002815: DUP2
00002816: MSTORE
00002817: PUSH1 0x20
00002819: ADD
0000281a: DUP1
0000281b: PUSH2 0x3693
0000281e: PUSH1 0x21
00002820: SWAP2
00002821: CODECOPY
00002822: PUSH1 0x40
00002824: ADD
00002825: SWAP2
00002826: POP
00002827: POP
00002828: PUSH1 0x40
0000282a: MLOAD
0000282b: DUP1
0000282c: SWAP2
0000282d: SUB
0000282e: SWAP1
0000282f: REVERT
00002830: JUMPDEST
00002831: PUSH2 0x283c
00002834: DUP3
00002835: PUSH1 0x00
00002837: DUP4
00002838: PUSH2 0x3036
0000283b: JUMP
0000283c: JUMPDEST
0000283d: PUSH2 0x28a7
00002840: DUP2
00002841: PUSH1 0x40
00002843: MLOAD
00002844: DUP1
00002845: PUSH1 0x60
00002847: ADD
00002848: PUSH1 0x40
0000284a: MSTORE
0000284b: DUP1
0000284c: PUSH1 0x22
0000284e: DUP2
0000284f: MSTORE
00002850: PUSH1 0x20
00002852: ADD
00002853: PUSH2 0x34f9
00002856: PUSH1 0x22
00002858: SWAP2
00002859: CODECOPY
0000285a: PUSH1 0x00
0000285c: DUP1
0000285d: DUP7
0000285e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002873: AND
00002874: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002889: AND
0000288a: DUP2
0000288b: MSTORE
0000288c: PUSH1 0x20
0000288e: ADD
0000288f: SWAP1
00002890: DUP2
00002891: MSTORE
00002892: PUSH1 0x20
00002894: ADD
00002895: PUSH1 0x00
00002897: KECCAK256
00002898: SLOAD
00002899: PUSH2 0x26ea
0000289c: SWAP1
0000289d: SWAP3
0000289e: SWAP2
0000289f: SWAP1
000028a0: PUSH4 0xffffffff
000028a5: AND
000028a6: JUMP
000028a7: JUMPDEST
000028a8: PUSH1 0x00
000028aa: DUP1
000028ab: DUP5
000028ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028c1: AND
000028c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028d7: AND
000028d8: DUP2
000028d9: MSTORE
000028da: PUSH1 0x20
000028dc: ADD
000028dd: SWAP1
000028de: DUP2
000028df: MSTORE
000028e0: PUSH1 0x20
000028e2: ADD
000028e3: PUSH1 0x00
000028e5: KECCAK256
000028e6: DUP2
000028e7: SWAP1
000028e8: SSTORE
000028e9: POP
000028ea: PUSH2 0x28fe
000028ed: DUP2
000028ee: PUSH1 0x02
000028f0: SLOAD
000028f1: PUSH2 0x303b
000028f4: SWAP1
000028f5: SWAP2
000028f6: SWAP1
000028f7: PUSH4 0xffffffff
000028fc: AND
000028fd: JUMP
000028fe: JUMPDEST
000028ff: PUSH1 0x02
00002901: DUP2
00002902: SWAP1
00002903: SSTORE
00002904: POP
00002905: PUSH1 0x00
00002907: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000291c: AND
0000291d: DUP3
0000291e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002933: AND
00002934: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002955: DUP4
00002956: PUSH1 0x40
00002958: MLOAD
00002959: DUP1
0000295a: DUP3
0000295b: DUP2
0000295c: MSTORE
0000295d: PUSH1 0x20
0000295f: ADD
00002960: SWAP2
00002961: POP
00002962: POP
00002963: PUSH1 0x40
00002965: MLOAD
00002966: DUP1
00002967: SWAP2
00002968: SUB
00002969: SWAP1
0000296a: LOG3
0000296b: POP
0000296c: POP
0000296d: JUMP
0000296e: JUMPDEST
0000296f: PUSH2 0x2996
00002972: DUP2
00002973: PUSH1 0x06
00002975: PUSH1 0x00
00002977: DUP6
00002978: DUP2
00002979: MSTORE
0000297a: PUSH1 0x20
0000297c: ADD
0000297d: SWAP1
0000297e: DUP2
0000297f: MSTORE
00002980: PUSH1 0x20
00002982: ADD
00002983: PUSH1 0x00
00002985: KECCAK256
00002986: PUSH1 0x00
00002988: ADD
00002989: PUSH2 0x3085
0000298c: SWAP1
0000298d: SWAP2
0000298e: SWAP1
0000298f: PUSH4 0xffffffff
00002994: AND
00002995: JUMP
00002996: JUMPDEST
00002997: ISZERO
00002998: PUSH2 0x29fe
0000299b: JUMPI
0000299c: PUSH2 0x29a3
0000299f: PUSH2 0x2064
000029a2: JUMP
000029a3: JUMPDEST
000029a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029b9: AND
000029ba: DUP2
000029bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029d0: AND
000029d1: DUP4
000029d2: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000029f3: PUSH1 0x40
000029f5: MLOAD
000029f6: PUSH1 0x40
000029f8: MLOAD
000029f9: DUP1
000029fa: SWAP2
000029fb: SUB
000029fc: SWAP1
000029fd: LOG4
000029fe: JUMPDEST
000029ff: POP
00002a00: POP
00002a01: JUMP
00002a02: JUMPDEST
00002a03: PUSH2 0x2a2a
00002a06: DUP2
00002a07: PUSH1 0x06
00002a09: PUSH1 0x00
00002a0b: DUP6
00002a0c: DUP2
00002a0d: MSTORE
00002a0e: PUSH1 0x20
00002a10: ADD
00002a11: SWAP1
00002a12: DUP2
00002a13: MSTORE
00002a14: PUSH1 0x20
00002a16: ADD
00002a17: PUSH1 0x00
00002a19: KECCAK256
00002a1a: PUSH1 0x00
00002a1c: ADD
00002a1d: PUSH2 0x30b5
00002a20: SWAP1
00002a21: SWAP2
00002a22: SWAP1
00002a23: PUSH4 0xffffffff
00002a28: AND
00002a29: JUMP
00002a2a: JUMPDEST
00002a2b: ISZERO
00002a2c: PUSH2 0x2a92
00002a2f: JUMPI
00002a30: PUSH2 0x2a37
00002a33: PUSH2 0x2064
00002a36: JUMP
00002a37: JUMPDEST
00002a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a4d: AND
00002a4e: DUP2
00002a4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a64: AND
00002a65: DUP4
00002a66: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00002a87: PUSH1 0x40
00002a89: MLOAD
00002a8a: PUSH1 0x40
00002a8c: MLOAD
00002a8d: DUP1
00002a8e: SWAP2
00002a8f: SUB
00002a90: SWAP1
00002a91: LOG4
00002a92: JUMPDEST
00002a93: POP
00002a94: POP
00002a95: JUMP
00002a96: JUMPDEST
00002a97: PUSH1 0x00
00002a99: PUSH2 0x2aa5
00002a9c: DUP4
00002a9d: PUSH1 0x00
00002a9f: ADD
00002aa0: DUP4
00002aa1: PUSH2 0x30e5
00002aa4: JUMP
00002aa5: JUMPDEST
00002aa6: PUSH1 0x00
00002aa8: SHR
00002aa9: SWAP1
00002aaa: POP
00002aab: SWAP3
00002aac: SWAP2
00002aad: POP
00002aae: POP
00002aaf: JUMP
00002ab0: JUMPDEST
00002ab1: PUSH1 0x00
00002ab3: PUSH2 0x2ad8
00002ab6: DUP4
00002ab7: PUSH1 0x00
00002ab9: ADD
00002aba: DUP4
00002abb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ad0: AND
00002ad1: PUSH1 0x00
00002ad3: SHL
00002ad4: PUSH2 0x3168
00002ad7: JUMP
00002ad8: JUMPDEST
00002ad9: SWAP1
00002ada: POP
00002adb: SWAP3
00002adc: SWAP2
00002add: POP
00002ade: POP
00002adf: JUMP
00002ae0: JUMPDEST
00002ae1: PUSH1 0x00
00002ae3: PUSH2 0x2aee
00002ae6: DUP3
00002ae7: PUSH1 0x00
00002ae9: ADD
00002aea: PUSH2 0x318b
00002aed: JUMP
00002aee: JUMPDEST
00002aef: SWAP1
00002af0: POP
00002af1: SWAP2
00002af2: SWAP1
00002af3: POP
00002af4: JUMP
00002af5: JUMPDEST
00002af6: PUSH1 0x00
00002af8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b0d: AND
00002b0e: DUP3
00002b0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b24: AND
00002b25: EQ
00002b26: ISZERO
00002b27: PUSH2 0x2b98
00002b2a: JUMPI
00002b2b: PUSH1 0x40
00002b2d: MLOAD
00002b2e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002b4f: DUP2
00002b50: MSTORE
00002b51: PUSH1 0x04
00002b53: ADD
00002b54: DUP1
00002b55: DUP1
00002b56: PUSH1 0x20
00002b58: ADD
00002b59: DUP3
00002b5a: DUP2
00002b5b: SUB
00002b5c: DUP3
00002b5d: MSTORE
00002b5e: PUSH1 0x1f
00002b60: DUP2
00002b61: MSTORE
00002b62: PUSH1 0x20
00002b64: ADD
00002b65: DUP1
00002b66: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
00002b87: DUP2
00002b88: MSTORE
00002b89: POP
00002b8a: PUSH1 0x20
00002b8c: ADD
00002b8d: SWAP2
00002b8e: POP
00002b8f: POP
00002b90: PUSH1 0x40
00002b92: MLOAD
00002b93: DUP1
00002b94: SWAP2
00002b95: SUB
00002b96: SWAP1
00002b97: REVERT
00002b98: JUMPDEST
00002b99: PUSH2 0x2ba4
00002b9c: PUSH1 0x00
00002b9e: DUP4
00002b9f: DUP4
00002ba0: PUSH2 0x3036
00002ba3: JUMP
00002ba4: JUMPDEST
00002ba5: PUSH2 0x2bb9
00002ba8: DUP2
00002ba9: PUSH1 0x02
00002bab: SLOAD
00002bac: PUSH2 0x23a1
00002baf: SWAP1
00002bb0: SWAP2
00002bb1: SWAP1
00002bb2: PUSH4 0xffffffff
00002bb7: AND
00002bb8: JUMP
00002bb9: JUMPDEST
00002bba: PUSH1 0x02
00002bbc: DUP2
00002bbd: SWAP1
00002bbe: SSTORE
00002bbf: POP
00002bc0: PUSH2 0x2c10
00002bc3: DUP2
00002bc4: PUSH1 0x00
00002bc6: DUP1
00002bc7: DUP6
00002bc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bdd: AND
00002bde: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bf3: AND
00002bf4: DUP2
00002bf5: MSTORE
00002bf6: PUSH1 0x20
00002bf8: ADD
00002bf9: SWAP1
00002bfa: DUP2
00002bfb: MSTORE
00002bfc: PUSH1 0x20
00002bfe: ADD
00002bff: PUSH1 0x00
00002c01: KECCAK256
00002c02: SLOAD
00002c03: PUSH2 0x23a1
00002c06: SWAP1
00002c07: SWAP2
00002c08: SWAP1
00002c09: PUSH4 0xffffffff
00002c0e: AND
00002c0f: JUMP
00002c10: JUMPDEST
00002c11: PUSH1 0x00
00002c13: DUP1
00002c14: DUP5
00002c15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c2a: AND
00002c2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c40: AND
00002c41: DUP2
00002c42: MSTORE
00002c43: PUSH1 0x20
00002c45: ADD
00002c46: SWAP1
00002c47: DUP2
00002c48: MSTORE
00002c49: PUSH1 0x20
00002c4b: ADD
00002c4c: PUSH1 0x00
00002c4e: KECCAK256
00002c4f: DUP2
00002c50: SWAP1
00002c51: SSTORE
00002c52: POP
00002c53: DUP2
00002c54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c69: AND
00002c6a: PUSH1 0x00
00002c6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c81: AND
00002c82: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002ca3: DUP4
00002ca4: PUSH1 0x40
00002ca6: MLOAD
00002ca7: DUP1
00002ca8: DUP3
00002ca9: DUP2
00002caa: MSTORE
00002cab: PUSH1 0x20
00002cad: ADD
00002cae: SWAP2
00002caf: POP
00002cb0: POP
00002cb1: PUSH1 0x40
00002cb3: MLOAD
00002cb4: DUP1
00002cb5: SWAP2
00002cb6: SUB
00002cb7: SWAP1
00002cb8: LOG3
00002cb9: POP
00002cba: POP
00002cbb: JUMP
00002cbc: JUMPDEST
00002cbd: DUP1
00002cbe: PUSH1 0x03
00002cc0: SWAP1
00002cc1: DUP1
00002cc2: MLOAD
00002cc3: SWAP1
00002cc4: PUSH1 0x20
00002cc6: ADD
00002cc7: SWAP1
00002cc8: PUSH2 0x2cd2
00002ccb: SWAP3
00002ccc: SWAP2
00002ccd: SWAP1
00002cce: PUSH2 0x33df
00002cd1: JUMP
00002cd2: JUMPDEST
00002cd3: POP
00002cd4: POP
00002cd5: JUMP
00002cd6: JUMPDEST
00002cd7: DUP1
00002cd8: PUSH1 0x04
00002cda: SWAP1
00002cdb: DUP1
00002cdc: MLOAD
00002cdd: SWAP1
00002cde: PUSH1 0x20
00002ce0: ADD
00002ce1: SWAP1
00002ce2: PUSH2 0x2cec
00002ce5: SWAP3
00002ce6: SWAP2
00002ce7: SWAP1
00002ce8: PUSH2 0x33df
00002ceb: JUMP
00002cec: JUMPDEST
00002ced: POP
00002cee: POP
00002cef: JUMP
00002cf0: JUMPDEST
00002cf1: DUP1
00002cf2: PUSH1 0x05
00002cf4: PUSH1 0x00
00002cf6: PUSH2 0x0100
00002cf9: EXP
00002cfa: DUP2
00002cfb: SLOAD
00002cfc: DUP2
00002cfd: PUSH1 0xff
00002cff: MUL
00002d00: NOT
00002d01: AND
00002d02: SWAP1
00002d03: DUP4
00002d04: PUSH1 0xff
00002d06: AND
00002d07: MUL
00002d08: OR
00002d09: SWAP1
00002d0a: SSTORE
00002d0b: POP
00002d0c: POP
00002d0d: JUMP
00002d0e: JUMPDEST
00002d0f: DUP1
00002d10: PUSH1 0x40
00002d12: MLOAD
00002d13: PUSH1 0x20
00002d15: ADD
00002d16: DUP1
00002d17: DUP3
00002d18: DUP1
00002d19: MLOAD
00002d1a: SWAP1
00002d1b: PUSH1 0x20
00002d1d: ADD
00002d1e: SWAP1
00002d1f: DUP1
00002d20: DUP4
00002d21: DUP4
00002d22: JUMPDEST
00002d23: PUSH1 0x20
00002d25: DUP4
00002d26: LT
00002d27: PUSH2 0x2d45
00002d2a: JUMPI
00002d2b: DUP1
00002d2c: MLOAD
00002d2d: DUP3
00002d2e: MSTORE
00002d2f: PUSH1 0x20
00002d31: DUP3
00002d32: ADD
00002d33: SWAP2
00002d34: POP
00002d35: PUSH1 0x20
00002d37: DUP2
00002d38: ADD
00002d39: SWAP1
00002d3a: POP
00002d3b: PUSH1 0x20
00002d3d: DUP4
00002d3e: SUB
00002d3f: SWAP3
00002d40: POP
00002d41: PUSH2 0x2d22
00002d44: JUMP
00002d45: JUMPDEST
00002d46: PUSH1 0x01
00002d48: DUP4
00002d49: PUSH1 0x20
00002d4b: SUB
00002d4c: PUSH2 0x0100
00002d4f: EXP
00002d50: SUB
00002d51: DUP1
00002d52: NOT
00002d53: DUP3
00002d54: MLOAD
00002d55: AND
00002d56: DUP2
00002d57: DUP5
00002d58: MLOAD
00002d59: AND
00002d5a: DUP1
00002d5b: DUP3
00002d5c: OR
00002d5d: DUP6
00002d5e: MSTORE
00002d5f: POP
00002d60: POP
00002d61: POP
00002d62: POP
00002d63: POP
00002d64: POP
00002d65: SWAP1
00002d66: POP
00002d67: ADD
00002d68: DUP1
00002d69: PUSH32 0x3a20494e53554646494349454e545f5045524d495353494f4e53000000000000
00002d8a: DUP2
00002d8b: MSTORE
00002d8c: POP
00002d8d: PUSH1 0x1a
00002d8f: ADD
00002d90: SWAP2
00002d91: POP
00002d92: POP
00002d93: PUSH1 0x40
00002d95: MLOAD
00002d96: PUSH1 0x20
00002d98: DUP2
00002d99: DUP4
00002d9a: SUB
00002d9b: SUB
00002d9c: DUP2
00002d9d: MSTORE
00002d9e: SWAP1
00002d9f: PUSH1 0x40
00002da1: MSTORE
00002da2: PUSH1 0x07
00002da4: SWAP1
00002da5: DUP1
00002da6: MLOAD
00002da7: SWAP1
00002da8: PUSH1 0x20
00002daa: ADD
00002dab: SWAP1
00002dac: PUSH2 0x2db6
00002daf: SWAP3
00002db0: SWAP2
00002db1: SWAP1
00002db2: PUSH2 0x33df
00002db5: JUMP
00002db6: JUMPDEST
00002db7: POP
00002db8: POP
00002db9: JUMP
00002dba: JUMPDEST
00002dbb: PUSH2 0x2dc4
00002dbe: DUP3
00002dbf: DUP3
00002dc0: PUSH2 0x296e
00002dc3: JUMP
00002dc4: JUMPDEST
00002dc5: POP
00002dc6: POP
00002dc7: JUMP
00002dc8: JUMPDEST
00002dc9: PUSH1 0x08
00002dcb: PUSH1 0x00
00002dcd: SWAP1
00002dce: SLOAD
00002dcf: SWAP1
00002dd0: PUSH2 0x0100
00002dd3: EXP
00002dd4: SWAP1
00002dd5: DIV
00002dd6: PUSH1 0xff
00002dd8: AND
00002dd9: ISZERO
00002dda: PUSH2 0x2e4b
00002ddd: JUMPI
00002dde: PUSH1 0x40
00002de0: MLOAD
00002de1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002e02: DUP2
00002e03: MSTORE
00002e04: PUSH1 0x04
00002e06: ADD
00002e07: DUP1
00002e08: DUP1
00002e09: PUSH1 0x20
00002e0b: ADD
00002e0c: DUP3
00002e0d: DUP2
00002e0e: SUB
00002e0f: DUP3
00002e10: MSTORE
00002e11: PUSH1 0x0e
00002e13: DUP2
00002e14: MSTORE
00002e15: PUSH1 0x20
00002e17: ADD
00002e18: DUP1
00002e19: PUSH32 0x616c726561647920696e69746564000000000000000000000000000000000000
00002e3a: DUP2
00002e3b: MSTORE
00002e3c: POP
00002e3d: PUSH1 0x20
00002e3f: ADD
00002e40: SWAP2
00002e41: POP
00002e42: POP
00002e43: PUSH1 0x40
00002e45: MLOAD
00002e46: DUP1
00002e47: SWAP2
00002e48: SUB
00002e49: SWAP1
00002e4a: REVERT
00002e4b: JUMPDEST
00002e4c: PUSH2 0x2e55
00002e4f: DUP3
00002e50: DUP3
00002e51: PUSH2 0x319c
00002e54: JUMP
00002e55: JUMPDEST
00002e56: PUSH1 0x01
00002e58: PUSH1 0x08
00002e5a: PUSH1 0x00
00002e5c: PUSH2 0x0100
00002e5f: EXP
00002e60: DUP2
00002e61: SLOAD
00002e62: DUP2
00002e63: PUSH1 0xff
00002e65: MUL
00002e66: NOT
00002e67: AND
00002e68: SWAP1
00002e69: DUP4
00002e6a: ISZERO
00002e6b: ISZERO
00002e6c: MUL
00002e6d: OR
00002e6e: SWAP1
00002e6f: SSTORE
00002e70: POP
00002e71: POP
00002e72: POP
00002e73: JUMP
00002e74: JUMPDEST
00002e75: PUSH1 0x00
00002e77: ADDRESS
00002e78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e8d: AND
00002e8e: CALLER
00002e8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ea4: AND
00002ea5: EQ
00002ea6: ISZERO
00002ea7: PUSH2 0x2f1f
00002eaa: JUMPI
00002eab: PUSH1 0x60
00002ead: PUSH1 0x00
00002eaf: CALLDATASIZE
00002eb0: DUP1
00002eb1: DUP1
00002eb2: PUSH1 0x1f
00002eb4: ADD
00002eb5: PUSH1 0x20
00002eb7: DUP1
00002eb8: SWAP2
00002eb9: DIV
00002eba: MUL
00002ebb: PUSH1 0x20
00002ebd: ADD
00002ebe: PUSH1 0x40
00002ec0: MLOAD
00002ec1: SWAP1
00002ec2: DUP2
00002ec3: ADD
00002ec4: PUSH1 0x40
00002ec6: MSTORE
00002ec7: DUP1
00002ec8: SWAP4
00002ec9: SWAP3
00002eca: SWAP2
00002ecb: SWAP1
00002ecc: DUP2
00002ecd: DUP2
00002ece: MSTORE
00002ecf: PUSH1 0x20
00002ed1: ADD
00002ed2: DUP4
00002ed3: DUP4
00002ed4: DUP1
00002ed5: DUP3
00002ed6: DUP5
00002ed7: CALLDATACOPY
00002ed8: PUSH1 0x00
00002eda: DUP2
00002edb: DUP5
00002edc: ADD
00002edd: MSTORE
00002ede: PUSH1 0x1f
00002ee0: NOT
00002ee1: PUSH1 0x1f
00002ee3: DUP3
00002ee4: ADD
00002ee5: AND
00002ee6: SWAP1
00002ee7: POP
00002ee8: DUP1
00002ee9: DUP4
00002eea: ADD
00002eeb: SWAP3
00002eec: POP
00002eed: POP
00002eee: POP
00002eef: POP
00002ef0: POP
00002ef1: POP
00002ef2: POP
00002ef3: SWAP1
00002ef4: POP
00002ef5: PUSH1 0x00
00002ef7: DUP1
00002ef8: CALLDATASIZE
00002ef9: SWAP1
00002efa: POP
00002efb: SWAP1
00002efc: POP
00002efd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f12: DUP2
00002f13: DUP4
00002f14: ADD
00002f15: MLOAD
00002f16: AND
00002f17: SWAP3
00002f18: POP
00002f19: POP
00002f1a: POP
00002f1b: PUSH2 0x2f23
00002f1e: JUMP
00002f1f: JUMPDEST
00002f20: CALLER
00002f21: SWAP1
00002f22: POP
00002f23: JUMPDEST
00002f24: DUP1
00002f25: SWAP1
00002f26: POP
00002f27: SWAP1
00002f28: JUMP
00002f29: JUMPDEST
00002f2a: PUSH1 0x00
00002f2c: PUSH1 0x40
00002f2e: MLOAD
00002f2f: DUP1
00002f30: PUSH1 0x80
00002f32: ADD
00002f33: PUSH1 0x40
00002f35: MSTORE
00002f36: DUP1
00002f37: PUSH1 0x43
00002f39: DUP2
00002f3a: MSTORE
00002f3b: PUSH1 0x20
00002f3d: ADD
00002f3e: PUSH2 0x351b
00002f41: PUSH1 0x43
00002f43: SWAP2
00002f44: CODECOPY
00002f45: DUP1
00002f46: MLOAD
00002f47: SWAP1
00002f48: PUSH1 0x20
00002f4a: ADD
00002f4b: KECCAK256
00002f4c: DUP3
00002f4d: PUSH1 0x00
00002f4f: ADD
00002f50: MLOAD
00002f51: DUP4
00002f52: PUSH1 0x20
00002f54: ADD
00002f55: MLOAD
00002f56: DUP5
00002f57: PUSH1 0x40
00002f59: ADD
00002f5a: MLOAD
00002f5b: DUP1
00002f5c: MLOAD
00002f5d: SWAP1
00002f5e: PUSH1 0x20
00002f60: ADD
00002f61: KECCAK256
00002f62: PUSH1 0x40
00002f64: MLOAD
00002f65: PUSH1 0x20
00002f67: ADD
00002f68: DUP1
00002f69: DUP6
00002f6a: DUP2
00002f6b: MSTORE
00002f6c: PUSH1 0x20
00002f6e: ADD
00002f6f: DUP5
00002f70: DUP2
00002f71: MSTORE
00002f72: PUSH1 0x20
00002f74: ADD
00002f75: DUP4
00002f76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f8b: AND
00002f8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fa1: AND
00002fa2: DUP2
00002fa3: MSTORE
00002fa4: PUSH1 0x20
00002fa6: ADD
00002fa7: DUP3
00002fa8: DUP2
00002fa9: MSTORE
00002faa: PUSH1 0x20
00002fac: ADD
00002fad: SWAP5
00002fae: POP
00002faf: POP
00002fb0: POP
00002fb1: POP
00002fb2: POP
00002fb3: PUSH1 0x40
00002fb5: MLOAD
00002fb6: PUSH1 0x20
00002fb8: DUP2
00002fb9: DUP4
00002fba: SUB
00002fbb: SUB
00002fbc: DUP2
00002fbd: MSTORE
00002fbe: SWAP1
00002fbf: PUSH1 0x40
00002fc1: MSTORE
00002fc2: DUP1
00002fc3: MLOAD
00002fc4: SWAP1
00002fc5: PUSH1 0x20
00002fc7: ADD
00002fc8: KECCAK256
00002fc9: SWAP1
00002fca: POP
00002fcb: SWAP2
00002fcc: SWAP1
00002fcd: POP
00002fce: JUMP
00002fcf: JUMPDEST
00002fd0: PUSH1 0x00
00002fd2: PUSH2 0x2fd9
00002fd5: PUSH2 0x1594
00002fd8: JUMP
00002fd9: JUMPDEST
00002fda: DUP3
00002fdb: PUSH1 0x40
00002fdd: MLOAD
00002fde: PUSH1 0x20
00002fe0: ADD
00002fe1: DUP1
00002fe2: DUP1
00002fe3: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00003004: DUP2
00003005: MSTORE
00003006: POP
00003007: PUSH1 0x02
00003009: ADD
0000300a: DUP4
0000300b: DUP2
0000300c: MSTORE
0000300d: PUSH1 0x20
0000300f: ADD
00003010: DUP3
00003011: DUP2
00003012: MSTORE
00003013: PUSH1 0x20
00003015: ADD
00003016: SWAP3
00003017: POP
00003018: POP
00003019: POP
0000301a: PUSH1 0x40
0000301c: MLOAD
0000301d: PUSH1 0x20
0000301f: DUP2
00003020: DUP4
00003021: SUB
00003022: SUB
00003023: DUP2
00003024: MSTORE
00003025: SWAP1
00003026: PUSH1 0x40
00003028: MSTORE
00003029: DUP1
0000302a: MLOAD
0000302b: SWAP1
0000302c: PUSH1 0x20
0000302e: ADD
0000302f: KECCAK256
00003030: SWAP1
00003031: POP
00003032: SWAP2
00003033: SWAP1
00003034: POP
00003035: JUMP
00003036: JUMPDEST
00003037: POP
00003038: POP
00003039: POP
0000303a: JUMP
0000303b: JUMPDEST
0000303c: PUSH1 0x00
0000303e: PUSH2 0x307d
00003041: DUP4
00003042: DUP4
00003043: PUSH1 0x40
00003045: MLOAD
00003046: DUP1
00003047: PUSH1 0x40
00003049: ADD
0000304a: PUSH1 0x40
0000304c: MSTORE
0000304d: DUP1
0000304e: PUSH1 0x1e
00003050: DUP2
00003051: MSTORE
00003052: PUSH1 0x20
00003054: ADD
00003055: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00003076: DUP2
00003077: MSTORE
00003078: POP
00003079: PUSH2 0x26ea
0000307c: JUMP
0000307d: JUMPDEST
0000307e: SWAP1
0000307f: POP
00003080: SWAP3
00003081: SWAP2
00003082: POP
00003083: POP
00003084: JUMP
00003085: JUMPDEST
00003086: PUSH1 0x00
00003088: PUSH2 0x30ad
0000308b: DUP4
0000308c: PUSH1 0x00
0000308e: ADD
0000308f: DUP4
00003090: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030a5: AND
000030a6: PUSH1 0x00
000030a8: SHL
000030a9: PUSH2 0x3250
000030ac: JUMP
000030ad: JUMPDEST
000030ae: SWAP1
000030af: POP
000030b0: SWAP3
000030b1: SWAP2
000030b2: POP
000030b3: POP
000030b4: JUMP
000030b5: JUMPDEST
000030b6: PUSH1 0x00
000030b8: PUSH2 0x30dd
000030bb: DUP4
000030bc: PUSH1 0x00
000030be: ADD
000030bf: DUP4
000030c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030d5: AND
000030d6: PUSH1 0x00
000030d8: SHL
000030d9: PUSH2 0x32c0
000030dc: JUMP
000030dd: JUMPDEST
000030de: SWAP1
000030df: POP
000030e0: SWAP3
000030e1: SWAP2
000030e2: POP
000030e3: POP
000030e4: JUMP
000030e5: JUMPDEST
000030e6: PUSH1 0x00
000030e8: DUP2
000030e9: DUP4
000030ea: PUSH1 0x00
000030ec: ADD
000030ed: DUP1
000030ee: SLOAD
000030ef: SWAP1
000030f0: POP
000030f1: GT
000030f2: PUSH2 0x3146
000030f5: JUMPI
000030f6: PUSH1 0x40
000030f8: MLOAD
000030f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000311a: DUP2
0000311b: MSTORE
0000311c: PUSH1 0x04
0000311e: ADD
0000311f: DUP1
00003120: DUP1
00003121: PUSH1 0x20
00003123: ADD
00003124: DUP3
00003125: DUP2
00003126: SUB
00003127: DUP3
00003128: MSTORE
00003129: PUSH1 0x22
0000312b: DUP2
0000312c: MSTORE
0000312d: PUSH1 0x20
0000312f: ADD
00003130: DUP1
00003131: PUSH2 0x3485
00003134: PUSH1 0x22
00003136: SWAP2
00003137: CODECOPY
00003138: PUSH1 0x40
0000313a: ADD
0000313b: SWAP2
0000313c: POP
0000313d: POP
0000313e: PUSH1 0x40
00003140: MLOAD
00003141: DUP1
00003142: SWAP2
00003143: SUB
00003144: SWAP1
00003145: REVERT
00003146: JUMPDEST
00003147: DUP3
00003148: PUSH1 0x00
0000314a: ADD
0000314b: DUP3
0000314c: DUP2
0000314d: SLOAD
0000314e: DUP2
0000314f: LT
00003150: PUSH2 0x3155
00003153: JUMPI
00003154: INVALID
00003155: JUMPDEST
00003156: SWAP1
00003157: PUSH1 0x00
00003159: MSTORE
0000315a: PUSH1 0x20
0000315c: PUSH1 0x00
0000315e: KECCAK256
0000315f: ADD
00003160: SLOAD
00003161: SWAP1
00003162: POP
00003163: SWAP3
00003164: SWAP2
00003165: POP
00003166: POP
00003167: JUMP
00003168: JUMPDEST
00003169: PUSH1 0x00
0000316b: DUP1
0000316c: DUP4
0000316d: PUSH1 0x01
0000316f: ADD
00003170: PUSH1 0x00
00003172: DUP5
00003173: DUP2
00003174: MSTORE
00003175: PUSH1 0x20
00003177: ADD
00003178: SWAP1
00003179: DUP2
0000317a: MSTORE
0000317b: PUSH1 0x20
0000317d: ADD
0000317e: PUSH1 0x00
00003180: KECCAK256
00003181: SLOAD
00003182: EQ
00003183: ISZERO
00003184: SWAP1
00003185: POP
00003186: SWAP3
00003187: SWAP2
00003188: POP
00003189: POP
0000318a: JUMP
0000318b: JUMPDEST
0000318c: PUSH1 0x00
0000318e: DUP2
0000318f: PUSH1 0x00
00003191: ADD
00003192: DUP1
00003193: SLOAD
00003194: SWAP1
00003195: POP
00003196: SWAP1
00003197: POP
00003198: SWAP2
00003199: SWAP1
0000319a: POP
0000319b: JUMP
0000319c: JUMPDEST
0000319d: PUSH1 0x40
0000319f: MLOAD
000031a0: DUP1
000031a1: PUSH1 0x80
000031a3: ADD
000031a4: PUSH1 0x40
000031a6: MSTORE
000031a7: DUP1
000031a8: PUSH1 0x4f
000031aa: DUP2
000031ab: MSTORE
000031ac: PUSH1 0x20
000031ae: ADD
000031af: PUSH2 0x3580
000031b2: PUSH1 0x4f
000031b4: SWAP2
000031b5: CODECOPY
000031b6: DUP1
000031b7: MLOAD
000031b8: SWAP1
000031b9: PUSH1 0x20
000031bb: ADD
000031bc: KECCAK256
000031bd: DUP3
000031be: DUP1
000031bf: MLOAD
000031c0: SWAP1
000031c1: PUSH1 0x20
000031c3: ADD
000031c4: KECCAK256
000031c5: DUP3
000031c6: DUP1
000031c7: MLOAD
000031c8: SWAP1
000031c9: PUSH1 0x20
000031cb: ADD
000031cc: KECCAK256
000031cd: ADDRESS
000031ce: PUSH2 0x31d5
000031d1: PUSH2 0x1795
000031d4: JUMP
000031d5: JUMPDEST
000031d6: PUSH1 0x00
000031d8: SHL
000031d9: PUSH1 0x40
000031db: MLOAD
000031dc: PUSH1 0x20
000031de: ADD
000031df: DUP1
000031e0: DUP7
000031e1: DUP2
000031e2: MSTORE
000031e3: PUSH1 0x20
000031e5: ADD
000031e6: DUP6
000031e7: DUP2
000031e8: MSTORE
000031e9: PUSH1 0x20
000031eb: ADD
000031ec: DUP5
000031ed: DUP2
000031ee: MSTORE
000031ef: PUSH1 0x20
000031f1: ADD
000031f2: DUP4
000031f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003208: AND
00003209: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000321e: AND
0000321f: DUP2
00003220: MSTORE
00003221: PUSH1 0x20
00003223: ADD
00003224: DUP3
00003225: DUP2
00003226: MSTORE
00003227: PUSH1 0x20
00003229: ADD
0000322a: SWAP6
0000322b: POP
0000322c: POP
0000322d: POP
0000322e: POP
0000322f: POP
00003230: POP
00003231: PUSH1 0x40
00003233: MLOAD
00003234: PUSH1 0x20
00003236: DUP2
00003237: DUP4
00003238: SUB
00003239: SUB
0000323a: DUP2
0000323b: MSTORE
0000323c: SWAP1
0000323d: PUSH1 0x40
0000323f: MSTORE
00003240: DUP1
00003241: MLOAD
00003242: SWAP1
00003243: PUSH1 0x20
00003245: ADD
00003246: KECCAK256
00003247: PUSH1 0x09
00003249: DUP2
0000324a: SWAP1
0000324b: SSTORE
0000324c: POP
0000324d: POP
0000324e: POP
0000324f: JUMP
00003250: JUMPDEST
00003251: PUSH1 0x00
00003253: PUSH2 0x325c
00003256: DUP4
00003257: DUP4
00003258: PUSH2 0x3168
0000325b: JUMP
0000325c: JUMPDEST
0000325d: PUSH2 0x32b5
00003260: JUMPI
00003261: DUP3
00003262: PUSH1 0x00
00003264: ADD
00003265: DUP3
00003266: SWAP1
00003267: DUP1
00003268: PUSH1 0x01
0000326a: DUP2
0000326b: SLOAD
0000326c: ADD
0000326d: DUP1
0000326e: DUP3
0000326f: SSTORE
00003270: DUP1
00003271: SWAP2
00003272: POP
00003273: POP
00003274: PUSH1 0x01
00003276: SWAP1
00003277: SUB
00003278: SWAP1
00003279: PUSH1 0x00
0000327b: MSTORE
0000327c: PUSH1 0x20
0000327e: PUSH1 0x00
00003280: KECCAK256
00003281: ADD
00003282: PUSH1 0x00
00003284: SWAP1
00003285: SWAP2
00003286: SWAP1
00003287: SWAP2
00003288: SWAP1
00003289: SWAP2
0000328a: POP
0000328b: SSTORE
0000328c: DUP3
0000328d: PUSH1 0x00
0000328f: ADD
00003290: DUP1
00003291: SLOAD
00003292: SWAP1
00003293: POP
00003294: DUP4
00003295: PUSH1 0x01
00003297: ADD
00003298: PUSH1 0x00
0000329a: DUP5
0000329b: DUP2
0000329c: MSTORE
0000329d: PUSH1 0x20
0000329f: ADD
000032a0: SWAP1
000032a1: DUP2
000032a2: MSTORE
000032a3: PUSH1 0x20
000032a5: ADD
000032a6: PUSH1 0x00
000032a8: KECCAK256
000032a9: DUP2
000032aa: SWAP1
000032ab: SSTORE
000032ac: POP
000032ad: PUSH1 0x01
000032af: SWAP1
000032b0: POP
000032b1: PUSH2 0x32ba
000032b4: JUMP
000032b5: JUMPDEST
000032b6: PUSH1 0x00
000032b8: SWAP1
000032b9: POP
000032ba: JUMPDEST
000032bb: SWAP3
000032bc: SWAP2
000032bd: POP
000032be: POP
000032bf: JUMP
000032c0: JUMPDEST
000032c1: PUSH1 0x00
000032c3: DUP1
000032c4: DUP4
000032c5: PUSH1 0x01
000032c7: ADD
000032c8: PUSH1 0x00
000032ca: DUP5
000032cb: DUP2
000032cc: MSTORE
000032cd: PUSH1 0x20
000032cf: ADD
000032d0: SWAP1
000032d1: DUP2
000032d2: MSTORE
000032d3: PUSH1 0x20
000032d5: ADD
000032d6: PUSH1 0x00
000032d8: KECCAK256
000032d9: SLOAD
000032da: SWAP1
000032db: POP
000032dc: PUSH1 0x00
000032de: DUP2
000032df: EQ
000032e0: PUSH2 0x339c
000032e3: JUMPI
000032e4: PUSH1 0x00
000032e6: PUSH1 0x01
000032e8: DUP3
000032e9: SUB
000032ea: SWAP1
000032eb: POP
000032ec: PUSH1 0x00
000032ee: PUSH1 0x01
000032f0: DUP7
000032f1: PUSH1 0x00
000032f3: ADD
000032f4: DUP1
000032f5: SLOAD
000032f6: SWAP1
000032f7: POP
000032f8: SUB
000032f9: SWAP1
000032fa: POP
000032fb: PUSH1 0x00
000032fd: DUP7
000032fe: PUSH1 0x00
00003300: ADD
00003301: DUP3
00003302: DUP2
00003303: SLOAD
00003304: DUP2
00003305: LT
00003306: PUSH2 0x330b
00003309: JUMPI
0000330a: INVALID
0000330b: JUMPDEST
0000330c: SWAP1
0000330d: PUSH1 0x00
0000330f: MSTORE
00003310: PUSH1 0x20
00003312: PUSH1 0x00
00003314: KECCAK256
00003315: ADD
00003316: SLOAD
00003317: SWAP1
00003318: POP
00003319: DUP1
0000331a: DUP8
0000331b: PUSH1 0x00
0000331d: ADD
0000331e: DUP5
0000331f: DUP2
00003320: SLOAD
00003321: DUP2
00003322: LT
00003323: PUSH2 0x3328
00003326: JUMPI
00003327: INVALID
00003328: JUMPDEST
00003329: SWAP1
0000332a: PUSH1 0x00
0000332c: MSTORE
0000332d: PUSH1 0x20
0000332f: PUSH1 0x00
00003331: KECCAK256
00003332: ADD
00003333: DUP2
00003334: SWAP1
00003335: SSTORE
00003336: POP
00003337: PUSH1 0x01
00003339: DUP4
0000333a: ADD
0000333b: DUP8
0000333c: PUSH1 0x01
0000333e: ADD
0000333f: PUSH1 0x00
00003341: DUP4
00003342: DUP2
00003343: MSTORE
00003344: PUSH1 0x20
00003346: ADD
00003347: SWAP1
00003348: DUP2
00003349: MSTORE
0000334a: PUSH1 0x20
0000334c: ADD
0000334d: PUSH1 0x00
0000334f: KECCAK256
00003350: DUP2
00003351: SWAP1
00003352: SSTORE
00003353: POP
00003354: DUP7
00003355: PUSH1 0x00
00003357: ADD
00003358: DUP1
00003359: SLOAD
0000335a: DUP1
0000335b: PUSH2 0x3360
0000335e: JUMPI
0000335f: INVALID
00003360: JUMPDEST
00003361: PUSH1 0x01
00003363: SWAP1
00003364: SUB
00003365: DUP2
00003366: DUP2
00003367: SWAP1
00003368: PUSH1 0x00
0000336a: MSTORE
0000336b: PUSH1 0x20
0000336d: PUSH1 0x00
0000336f: KECCAK256
00003370: ADD
00003371: PUSH1 0x00
00003373: SWAP1
00003374: SSTORE
00003375: SWAP1
00003376: SSTORE
00003377: DUP7
00003378: PUSH1 0x01
0000337a: ADD
0000337b: PUSH1 0x00
0000337d: DUP8
0000337e: DUP2
0000337f: MSTORE
00003380: PUSH1 0x20
00003382: ADD
00003383: SWAP1
00003384: DUP2
00003385: MSTORE
00003386: PUSH1 0x20
00003388: ADD
00003389: PUSH1 0x00
0000338b: KECCAK256
0000338c: PUSH1 0x00
0000338e: SWAP1
0000338f: SSTORE
00003390: PUSH1 0x01
00003392: SWAP5
00003393: POP
00003394: POP
00003395: POP
00003396: POP
00003397: POP
00003398: PUSH2 0x33a2
0000339b: JUMP
0000339c: JUMPDEST
0000339d: PUSH1 0x00
0000339f: SWAP2
000033a0: POP
000033a1: POP
000033a2: JUMPDEST
000033a3: SWAP3
000033a4: SWAP2
000033a5: POP
000033a6: POP
000033a7: JUMP
000033a8: JUMPDEST
000033a9: PUSH1 0x40
000033ab: MLOAD
000033ac: DUP1
000033ad: PUSH1 0x60
000033af: ADD
000033b0: PUSH1 0x40
000033b2: MSTORE
000033b3: DUP1
000033b4: PUSH1 0x00
000033b6: DUP2
000033b7: MSTORE
000033b8: PUSH1 0x20
000033ba: ADD
000033bb: PUSH1 0x00
000033bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033d2: AND
000033d3: DUP2
000033d4: MSTORE
000033d5: PUSH1 0x20
000033d7: ADD
000033d8: PUSH1 0x60
000033da: DUP2
000033db: MSTORE
000033dc: POP
000033dd: SWAP1
000033de: JUMP
000033df: JUMPDEST
000033e0: DUP3
000033e1: DUP1
000033e2: SLOAD
000033e3: PUSH1 0x01
000033e5: DUP2
000033e6: PUSH1 0x01
000033e8: AND
000033e9: ISZERO
000033ea: PUSH2 0x0100
000033ed: MUL
000033ee: SUB
000033ef: AND
000033f0: PUSH1 0x02
000033f2: SWAP1
000033f3: DIV
000033f4: SWAP1
000033f5: PUSH1 0x00
000033f7: MSTORE
000033f8: PUSH1 0x20
000033fa: PUSH1 0x00
000033fc: KECCAK256
000033fd: SWAP1
000033fe: PUSH1 0x1f
00003400: ADD
00003401: PUSH1 0x20
00003403: SWAP1
00003404: DIV
00003405: DUP2
00003406: ADD
00003407: SWAP3
00003408: DUP3
00003409: PUSH1 0x1f
0000340b: LT
0000340c: PUSH2 0x3420
0000340f: JUMPI
00003410: DUP1
00003411: MLOAD
00003412: PUSH1 0xff
00003414: NOT
00003415: AND
00003416: DUP4
00003417: DUP1
00003418: ADD
00003419: OR
0000341a: DUP6
0000341b: SSTORE
0000341c: PUSH2 0x344e
0000341f: JUMP
00003420: JUMPDEST
00003421: DUP3
00003422: DUP1
00003423: ADD
00003424: PUSH1 0x01
00003426: ADD
00003427: DUP6
00003428: SSTORE
00003429: DUP3
0000342a: ISZERO
0000342b: PUSH2 0x344e
0000342e: JUMPI
0000342f: SWAP2
00003430: DUP3
00003431: ADD
00003432: JUMPDEST
00003433: DUP3
00003434: DUP2
00003435: GT
00003436: ISZERO
00003437: PUSH2 0x344d
0000343a: JUMPI
0000343b: DUP3
0000343c: MLOAD
0000343d: DUP3
0000343e: SSTORE
0000343f: SWAP2
00003440: PUSH1 0x20
00003442: ADD
00003443: SWAP2
00003444: SWAP1
00003445: PUSH1 0x01
00003447: ADD
00003448: SWAP1
00003449: PUSH2 0x3432
0000344c: JUMP
0000344d: JUMPDEST
0000344e: JUMPDEST
0000344f: POP
00003450: SWAP1
00003451: POP
00003452: PUSH2 0x345b
00003455: SWAP2
00003456: SWAP1
00003457: PUSH2 0x345f
0000345a: JUMP
0000345b: JUMPDEST
0000345c: POP
0000345d: SWAP1
0000345e: JUMP
0000345f: JUMPDEST
00003460: PUSH2 0x3481
00003463: SWAP2
00003464: SWAP1
00003465: JUMPDEST
00003466: DUP1
00003467: DUP3
00003468: GT
00003469: ISZERO
0000346a: PUSH2 0x347d
0000346d: JUMPI
0000346e: PUSH1 0x00
00003470: DUP2
00003471: PUSH1 0x00
00003473: SWAP1
00003474: SSTORE
00003475: POP
00003476: PUSH1 0x01
00003478: ADD
00003479: PUSH2 0x3465
0000347c: JUMP
0000347d: JUMPDEST
0000347e: POP
0000347f: SWAP1
00003480: JUMP
00003481: JUMPDEST
00003482: SWAP1
00003483: JUMP
00003484: INVALID
00003485: GASLIMIT
00003486: PUSH15 0x756d657261626c655365743a20696e
00003496: PUSH5 0x6578206f75
0000349c: PUSH21 0x206f6620626f756e647345524332303a207472616e
000034b2: PUSH20 0x66657220746f20746865207a65726f2061646472
000034c7: PUSH6 0x737341636365
000034ce: PUSH20 0x73436f6e74726f6c3a2073656e646572206d7573
000034e3: PUSH21 0x20626520616e2061646d696e20746f206772616e74
000034f9: GASLIMIT
000034fa: MSTORE
000034fb: NUMBER
000034fc: ORIGIN
000034fd: ADDRESS
000034fe: GASPRICE
000034ff: KECCAK256
00003500: PUSH3 0x75726e
00003504: KECCAK256
00003505: PUSH2 0x6d6f
00003508: PUSH22 0x6e7420657863656564732062616c616e63654d657461
0000351f: SLOAD
00003520: PUSH19 0x616e73616374696f6e2875696e74323536206e
00003534: PUSH16 0x6e63652c616464726573732066726f6d
00003545: UNKNOWN(0x2C)
00003546: PUSH3 0x797465
0000354a: PUSH20 0x2066756e6374696f6e5369676e61747572652945
0000355f: MSTORE
00003560: NUMBER
00003561: ORIGIN
00003562: ADDRESS
00003563: GASPRICE
00003564: KECCAK256
00003565: PUSH2 0x7070
00003568: PUSH19 0x6f766520746f20746865207a65726f20616464
0000357c: PUSH19 0x657373454950373132446f6d61696e28737472
00003590: PUSH10 0x6e67206e616d652c7374
0000359b: PUSH19 0x696e672076657273696f6e2c61646472657373
000035af: KECCAK256
000035b0: PUSH23 0x6572696679696e67436f6e74726163742c627974657333
000035c8: ORIGIN
000035c9: KECCAK256
000035ca: PUSH20 0x616c742945524332303a207472616e7366657220
000035df: PUSH2 0x6d6f
000035e2: PUSH22 0x6e7420657863656564732062616c616e636541636365
000035f9: PUSH20 0x73436f6e74726f6c3a2073656e646572206d7573
0000360e: PUSH21 0x20626520616e2061646d696e20746f207265766f6b
00003624: PUSH6 0x4e6174697665
0000362b: UNKNOWN(0x4D)
0000362c: PUSH6 0x74615472616e
00003633: PUSH20 0x616374696f6e3a20494e56414c49445f5349474e
00003648: GASLIMIT
00003649: MSTORE
0000364a: GASLIMIT
0000364b: MSTORE
0000364c: NUMBER
0000364d: ORIGIN
0000364e: ADDRESS
0000364f: GASPRICE
00003650: KECCAK256
00003651: PUSH21 0x72616e7366657220616d6f756e7420657863656564
00003667: PUSH20 0x20616c6c6f77616e63655369676e657220616e64
0000367c: KECCAK256
0000367d: PUSH20 0x69676e617475726520646f206e6f74206d617463
00003692: PUSH9 0x45524332303a206275
0000369c: PUSH19 0x6e2066726f6d20746865207a65726f20616464
000036b0: PUSH19 0x65737345524332303a207472616e7366657220
000036c4: PUSH7 0x726f6d20746865
000036cc: KECCAK256
000036cd: PUSH27 0x65726f206164647265737345524332303a20617070726f76652066
000036e9: PUSH19 0x6f6d20746865207a65726f2061646472657373
000036fd: GASLIMIT
000036fe: MSTORE
000036ff: NUMBER
00003700: ORIGIN
00003701: ADDRESS
00003702: GASPRICE
00003703: KECCAK256
00003704: PUSH5 0x6563726561
0000370a: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
0000371f: PUSH6 0x726f41636365
00003726: PUSH20 0x73436f6e74726f6c3a2063616e206f6e6c792072
0000373b: PUSH6 0x6e6f756e6365
00003742: KECCAK256
00003743: PUSH19 0x6f6c657320666f722073656c66a26469706673
00003757: PC
00003758: UNKNOWN(0x22)
00003759: SLT
0000375a: KECCAK256
0000375b: LOG4
0000375c: EQ
0000375d: UNKNOWN(0xBB)
0000375e: UNKNOWN(0xC5)
0000375f: CALLDATALOAD
00003760: UNKNOWN(0xBF)
00003761: LOG3
00003762: CALLVALUE
00003763: UNKNOWN(0xF9)
00003764: UNKNOWN(0xB0)
00003765: UNKNOWN(0x26)
00003766: BLOCKHASH
00003767: UNKNOWN(0xC3)
00003768: MSIZE
00003769: UNKNOWN(0x2E)
0000376a: UNKNOWN(0xD9)
0000376b: CHAINID
0000376c: PUSH27

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcf2c52cb",
            "selector": "0xcf2c52cb",
            "calldata_variants": [
                "0xcf2c52cb",
                "0xcf2c52cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde7ea79d",
            "selector": "0xde7ea79d",
            "calldata_variants": [
                "0xde7ea79d",
                "0xde7ea79d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3b0b5a3",
            "selector": "0xa3b0b5a3",
            "calldata_variants": [
                "0xa3b0b5a3",
                "0xa3b0b5a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xca15c873",
            "selector": "0xca15c873",
            "calldata_variants": [
                "0xca15c873",
                "0xca15c8730000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 11918,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13564,
            "type": "tx_origin_used"
        },
        {
            "pc": 13665,
            "type": "tx_origin_used"
        },
        {
            "pc": 13768,
            "type": "tx_origin_used"
        },
        {
            "pc": 13901,
            "type": "tx_origin_used"
        },
        {
            "pc": 14080,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability codex Unprotected initializer allows takeover of uninitialized proxy 85 no
view
evidence_json
{
    "evidence": "`initialize` is `external` and lacks any access control while setting admin and depositor roles.",
    "locations": [
        "contracts/Contract.sol:1500",
        "contracts/Contract.sol:1512",
        "contracts/Contract.sol:1513",
        "contracts/Contract.sol:1514"
    ],
    "recommendation": "Ensure the proxy is initialized in the deployment transaction (e.g., proxy constructor `data`), or gate `initialize` with an access control check. Also consider calling `_disableInitializers()` in the implementation contract to prevent misuse.",
    "exploit_scenario": "If the proxy is deployed without calling `initialize` atomically, any account can call `initialize` first, setting themselves as `DEFAULT_ADMIN_ROLE` and choosing a malicious `childChainManager` for `DEPOSITOR_ROLE`. The attacker can then mint arbitrary tokens via `deposit` or otherwise control roles."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x12097fc51be17769460851514e2a6bc5842f9efbd5ee12e7573ff5944027ab3d
call_targets: 0x2791bca1f2de4661ed88a30c99a7a9449aa84174
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x12097fc51be17769460851514e2a6bc5842f9efbd5ee12e7573ff5944027ab3d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2791bca1f2de4661ed88a30c99a7a9449aa84174"
    ],
    "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": "0xcf2c52cb",
            "selector": "0xcf2c52cb",
            "calldata_variants": [
                "0xcf2c52cb",
                "0xcf2c52cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde7ea79d",
            "selector": "0xde7ea79d",
            "calldata_variants": [
                "0xde7ea79d",
                "0xde7ea79d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3b0b5a3",
            "selector": "0xa3b0b5a3",
            "calldata_variants": [
                "0xa3b0b5a3",
                "0xa3b0b5a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xca15c873",
            "selector": "0xca15c873",
            "calldata_variants": [
                "0xca15c873",
                "0xca15c8730000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5213,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 11918,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13564,
            "type": "tx_origin_used"
        },
        {
            "pc": 13665,
            "type": "tx_origin_used"
        },
        {
            "pc": 13768,
            "type": "tx_origin_used"
        },
        {
            "pc": 13901,
            "type": "tx_origin_used"
        },
        {
            "pc": 14080,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x12097fc51be17769460851514e2a6bc5842f9efbd5ee12e7573ff5944027ab3d
call_targets: 0x2791bca1f2de4661ed88a30c99a7a9449aa84174
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x12097fc51be17769460851514e2a6bc5842f9efbd5ee12e7573ff5944027ab3d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2791bca1f2de4661ed88a30c99a7a9449aa84174"
    ],
    "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": "0xcf2c52cb",
            "selector": "0xcf2c52cb",
            "calldata_variants": [
                "0xcf2c52cb",
                "0xcf2c52cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde7ea79d",
            "selector": "0xde7ea79d",
            "calldata_variants": [
                "0xde7ea79d",
                "0xde7ea79d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3b0b5a3",
            "selector": "0xa3b0b5a3",
            "calldata_variants": [
                "0xa3b0b5a3",
                "0xa3b0b5a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xca15c873",
            "selector": "0xca15c873",
            "calldata_variants": [
                "0xca15c873",
                "0xca15c8730000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5213,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 11918,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13564,
            "type": "tx_origin_used"
        },
        {
            "pc": 13665,
            "type": "tx_origin_used"
        },
        {
            "pc": 13768,
            "type": "tx_origin_used"
        },
        {
            "pc": 13901,
            "type": "tx_origin_used"
        },
        {
            "pc": 14080,
            "type": "tx_origin_used"
        }
    ]
}
medium other slither Contract locking ether found: 75 no
view
evidence_json
{
    "impact": "Medium",
    "detector": "locked-ether",
    "elements": [
        {
            "name": "UChildERC20",
            "type": "contract",
            "source_mapping": {
                "lines": [
                    1420,
                    1421,
                    1422,
                    1423,
                    1424,
                    1425,
                    1426,
                    1427,
                    1428,
                    1429,
                    1430,
                    1431,
                    1432,
                    1433,
                    1434,
                    1435,
                    1436,
                    1437,
                    1438,
                    1439,
                    1440,
                    1441,
                    1442,
                    1443,
                    1444,
                    1445,
                    1446,
                    1447,
                    1448,
                    1449,
                    1450,
                    1451,
                    1452,
                    1453,
                    1454,
                    1455,
                    1456,
                    1457,
                    1458,
                    1459,
                    1460,
                    1461,
                    1462,
                    1463,
                    1464,
                    1465,
                    1466,
                    1467,
                    1468,
                    1469,
                    1470,
                    1471,
                    1472,
                    1473,
                    1474,
                    1475,
                    1476,
                    1477,
                    1478,
                    1479,
                    1480,
                    1481,
                    1482,
                    1483,
                    1484,
                    1485,
                    1486,
                    1487,
                    1488,
                    1489,
                    1490,
                    1491,
                    1492,
                    1493,
                    1494,
                    1495,
                    1496,
                    1497,
                    1498,
                    1499,
                    1500,
                    1501,
                    1502,
                    1503,
                    1504,
                    1505,
                    1506,
                    1507,
                    1508,
                    1509
                ],
                "start": 48784,
                "length": 2122,
                "ending_column": 10,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 68,
                "filename_absolute": "/tmp/slither-djzjglu7/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            }
        },
        {
            "name": "executeMetaTransaction",
            "type": "function",
            "source_mapping": {
                "lines": [
                    1309,
                    1310,
                    1311,
                    1312,
                    1313,
                    1314,
                    1315,
                    1316,
                    1317,
                    1318,
                    1319,
                    1320,
                    1321,
                    1322,
                    1323,
                    1324,
                    1325,
                    1326,
                    1327,
                    1328,
                    1329,
                    1330,
                    1331,
                    1332,
                    1333,
                    1334,
                    1335,
                    1336,
                    1337,
                    1338,
                    1339,
                    1340,
                    1341,
                    1342,
                    1343,
                    1344,
                    1345,
                    1346,
                    1347,
                    1348
                ],
                "start": 45491,
                "length": 1108,
                "ending_column": 72,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 94,
                "filename_absolute": "/tmp/slither-djzjglu7/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "NativeMetaTransaction",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            1283,
                            1284,
                            1285,
                            1286,
                            1287,
                            1288,
                            1289,
                            1290,
                            1291,
                            1292,
                            1293,
                            1294,
                            1295,
                            1296,
                            1297,
                            1298,
                            1299,
                            1300,
                            1301,
                            1302,
                            1303,
                            1304,
                            1305,
                            1306,
                            1307,
                            1308,
                            1309,
                            1310,
                            1311,
                            1312,
                            1313,
                            1314,
                            1315,
                            1316,
                            1317,
                            1318,
                            1319,
                            1320,
                            1321,
                            1322,
                            1323,
                            1324,
                            1325,
                            1326,
                            1327,
                            1328,
                            1329,
                            1330,
                            1331,
                            1332,
                            1333,
                            1334,
                            1335,
                            1336,
                            1337,
                            1338,
                            1339,
                            1340,
                            1341,
                            1342,
                            1343,
                            1344,
                            1345,
                            1346,
                            1347,
                            1348,
                            1349,
                            1350,
                            1351,
                            1352,
                            1353,
                            1354,
                            1355,
                            1356,
                            1357,
                            1358,
                            1359,
                            1360,
                            1361,
                            1362,
                            1363,
                            1364,
                            1365,
                            1366,
                            1367,
                            1368,
                            1369,
                            1370,
                            1371,
                            1372,
                            1373,
                            1374,
                            1375,
                            1376,
                            1377,
                            1378,
                            1379,
                            1380
                        ],
                        "start": 44694,
                        "length": 2896,
                        "ending_column": 8,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 47,
                        "filename_absolute": "/tmp/slither-djzjglu7/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "UChildERC20",
            "type": "contract",
            "lines": [
                1420,
                1421,
                1422,
                1423,
                1424,
                1425,
                1426,
                1427,
                1428,
                1429,
                1430,
                1431,
                1432,
                1433,
                1434,
                1435,
                1436,
                1437,
                1438,
                1439,
                1440,
                1441,
                1442,
                1443,
                1444,
                1445,
                1446,
                1447,
                1448,
                1449,
                1450,
                1451,
                1452,
                1453,
                1454,
                1455,
                1456,
                1457,
                1458,
                1459,
                1460,
                1461,
                1462,
                1463,
                1464,
                1465,
                1466,
                1467,
                1468,
                1469,
                1470,
                1471,
                1472,
                1473,
                1474,
                1475,
                1476,
                1477,
                1478,
                1479,
                1480,
                1481,
                1482,
                1483,
                1484,
                1485,
                1486,
                1487,
                1488,
                1489,
                1490,
                1491,
                1492,
                1493,
                1494,
                1495,
                1496,
                1497,
                1498,
                1499,
                1500,
                1501,
                1502,
                1503,
                1504,
                1505,
                1506,
                1507,
                1508,
                1509
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "executeMetaTransaction",
            "type": "function",
            "lines": [
                1309,
                1310,
                1311,
                1312,
                1313,
                1314,
                1315,
                1316,
                1317,
                1318,
                1319,
                1320,
                1321,
                1322,
                1323,
                1324,
                1325,
                1326,
                1327,
                1328,
                1329,
                1330,
                1331,
                1332,
                1333,
                1334,
                1335,
                1336,
                1337,
                1338,
                1339,
                1340,
                1341,
                1342,
                1343,
                1344,
                1345,
                1346,
                1347,
                1348
            ]
        }
    ],
    "description": "Contract locking ether found:\n\tContract UChildERC20 (contracts/Contract.sol#1420-1509) has payable functions:\n\t - NativeMetaTransaction.executeMetaTransaction(address,bytes,bytes32,bytes32,uint8) (contracts/Contract.sol#1309-1348)\n\tBut does not have a function to withdraw the ether"
}
low auth codex Meta‑transaction signature verification allows malleable signatures 65 no
view
evidence_json
{
    "evidence": "`verify` uses `ecrecover` directly without validating `sigV`/`sigS`.",
    "locations": [
        "contracts/Contract.sol:1413",
        "contracts/Contract.sol:1420",
        "contracts/Contract.sol:1423"
    ],
    "recommendation": "Use OpenZeppelin `ECDSA.recover` or add EIP\u20112 checks: require `sigV` in {27,28} and `sigS` <= secp256k1n/2.",
    "exploit_scenario": "Because `verify` uses raw `ecrecover` without enforcing `sigS` in the lower half order or validating `sigV`, the same meta\u2011tx can be represented by multiple valid signatures. This can enable replay in off\u2011chain systems that rely on signature uniqueness or cause duplicated relayer submissions."
}