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

Analysis Run

63826368-2868-4338-bf44-3f1ac9518ef4

failed
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 5:11 PM
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
Initializer can be front‑run on uninitialized deployments
crit 0 high 0 proxy context implementation known
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
30335 report.consolidate complete 1 / 1 3 months ago
74194 artifact.fetch failed 1 / 3 1 week ago
74195 tool.cast_disasm complete 1 / 3 1 week ago
74196 analysis.bundle complete 1 / 3 1 week ago
74197 capability.graph complete 1 / 3 1 week ago
74198 detector.run complete 1 / 3 1 week ago
74199 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Two issues identified: an initializer front‑run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.
View stderr
[codex:569739] OpenAI Codex v0.77.0 (research preview)
[codex:569739] --------
[codex:569739] workdir: /tmp/codex-multi-ozwh7lpr
[codex:569739] model: gpt-5.2-codex
[codex:569739] provider: openai
[codex:569739] approval: never
[codex:569739] sandbox: read-only
[codex:569739] reasoning effort: xhigh
[codex:569739] reasoning summaries: auto
[codex:569739] session id: 019b65ea-e360-7171-aab8-0c3ab7867666
[codex:569739] --------
[codex:569739] user
[codex:569739] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:569739] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:569739] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:569739] 
[codex:569739] Scope rules:
[codex:569739] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:569739] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:569739] 
[codex:569739] Output MUST be valid JSON matching the provided schema.
[codex:569739] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:569739] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:569739] 
[codex:569739] Output constraints (IMPORTANT):
[codex:569739] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:569739] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:569739] mcp startup: no servers
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Reading AUDIT_BUNDLE.txt**
[codex:569739] exec
[codex:569739] /bin/bash -lc ls in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] AUDIT_BUNDLE.txt
[codex:569739] codex-output-schema.json
[codex:569739] contracts
[codex:569739] exec
[codex:569739] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:569739] 
[codex:569739] ================================================================================
[codex:569739] FILE: contracts/Contract.sol
[codex:569739] ================================================================================
[codex:569739] /**
[codex:569739]  *Submitted for verification at Etherscan.io on 2025-07-11
[codex:569739] */
[codex:569739] 
[codex:569739] // Sources flattened with hardhat v2.1.1 https://hardhat.org
[codex:569739] 
[codex:569739] // File solidity/contracts/@openzeppelin/contracts/IERC20.sol
[codex:569739] 
[codex:569739] // SPDX-License-Identifier: MIT
[codex:569739] 
[codex:569739] pragma solidity ^0.8.0;
[codex:569739] 
[codex:569739] /**
[codex:569739]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:569739]  */
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Preparing for audit by identifying first-party contracts**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "contract|library|interface" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 4:FILE: contracts/Contract.sol
[codex:569739] 12:// File solidity/contracts/@openzeppelin/contracts/IERC20.sol
[codex:569739] 21:interface IERC20 {
[codex:569739] 93:// File solidity/contracts/@openzeppelin/contracts/utils/Address.sol
[codex:569739] 102:library Address {
[codex:569739] 104:     * @dev Returns true if `account` is a contract.
[codex:569739] 109:     * false is an externally-owned account (EOA) and not a contract.
[codex:569739] 115:     *  - a contract in construction
[codex:569739] 116:     *  - an address where a contract will be created
[codex:569739] 117:     *  - an address where a contract lived, but was destroyed
[codex:569739] 121:        // This method relies on extcodesize, which returns 0 for contracts in
[codex:569739] 136:     * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:569739] 168:     * - `target` must be a contract.
[codex:569739] 193:     * - the calling contract must have an ETH balance of at least `value`.
[codex:569739] 210:        require(isContract(target), "Address: call to non-contract");
[codex:569739] 234:        require(isContract(target), "Address: static call to non-contract");
[codex:569739] 258:        require(isContract(target), "Address: delegate call to non-contract");
[codex:569739] 286:// File solidity/contracts/@openzeppelin/contracts/SafeERC20.sol
[codex:569739] 296: * contract returns false). Tokens that return no value (and instead revert or
[codex:569739] 299: * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Analyzing first-party contracts and dependencies**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "CosmosERC20|Peggy|OwnableUpgradeableWithExpiry" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ozwh7lpr succeeded in 8ms:
[codex:569739] 975:contract CosmosERC20 is ERC20 {
[codex:569739] 995:// File solidity/contracts/@openzeppelin/contracts/OwnableUpgradeableWithExpiry.sol
[codex:569739] 1014:abstract contract OwnableUpgradeableWithExpiry is Initializable, ContextUpgradeable {
[codex:569739] 1105:// File solidity/contracts/Peggy.sol
[codex:569739] 1135:contract Peggy is
[codex:569739] 1137:    OwnableUpgradeableWithExpiry,
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Examining CosmosERC20 contract segment**
[codex:569739] exec
[codex:569739] /bin/bash -lc "sed -n '930,1015p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] 
[codex:569739]     /**
[codex:569739]      * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
[codex:569739]      *
[codex:569739]      * This internal function is equivalent to `approve`, and can be used to
[codex:569739]      * e.g. set automatic allowances for certain subsystems, etc.
[codex:569739]      *
[codex:569739]      * Emits an {Approval} event.
[codex:569739]      *
[codex:569739]      * Requirements:
[codex:569739]      *
[codex:569739]      * - `owner` cannot be the zero address.
[codex:569739]      * - `spender` cannot be the zero address.
[codex:569739]      */
[codex:569739]     function _approve(address owner, address spender, uint256 amount) internal virtual {
[codex:569739]         require(owner != address(0), "ERC20: approve from the zero address");
[codex:569739]         require(spender != address(0), "ERC20: approve to the zero address");
[codex:569739] 
[codex:569739]         _allowances[owner][spender] = amount;
[codex:569739]         emit Approval(owner, spender, amount);
[codex:569739] 
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Examining upgradeability and signature risks**
[codex:569739] thinking
[codex:569739] **Assessing batch processing and reentrancy details**
[codex:569739] 
[codex:569739] There is a lot here! I’m considering how batch nonce use, token transfers, and event nonce sequencing work together, especially focusing on reentrancy risks in updateValset due to external token transfers without a guard. The reentrancy could cause event order inconsistencies that might confuse off-chain consumers, which is subtle but worth noting. I’m also weighing how token behaviors like fee-on-transfer might affect bridging accuracy. Let’s keep analyzing carefully!
[codex:569739] exec
[codex:569739] /bin/bash -lc "sed -n '995,1135p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] // File solidity/contracts/@openzeppelin/contracts/OwnableUpgradeableWithExpiry.sol
[codex:569739] 
[codex:569739] 
[codex:569739] 
[codex:569739] pragma solidity ^0.8.0;
[codex:569739] 
[codex:569739] 
[codex:569739] /**
[codex:569739]  * @dev Contract module which provides a basic access control mechanism, where
[codex:569739]  * there is an account (an owner) that can be granted exclusive access to
[codex:569739]  * specific functions.
[codex:569739]  *
[codex:569739]  * By default, the owner account will be the one that deploys the contract. This
[codex:569739]  * can later be changed with {transferOwnership}.
[codex:569739]  *
[codex:569739]  * This module is used through inheritance. It will make available the modifier
[codex:569739]  * `onlyOwner`, which can be applied to your functions to restrict their use to
[codex:569739]  * the owner.
[codex:569739]  */
[codex:569739] abstract contract OwnableUpgradeableWithExpiry is Initializable, ContextUpgradeable {
[codex:569739] 
[codex:569739] 
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Evaluating subtle contract issues and risks**
[codex:569739] 
[codex:569739] I'm examining nuanced potential vulnerabilities like unprotected upgradeable initialization, reentrancy risks from external calls in updateValset, event nonce ordering inconsistencies due to reentrancy, and edge cases in signature validation and power threshold checks. The interaction between event emissions and off-chain bridging reliability draws my attention, especially how reentrant calls might misalign event ordering with on-chain state, possibly impacting cross-chain consensus. Overall, I’m weighing these as mostly low severity or design trade-offs rather than clear exploitable holes.
[codex:569739] thinking
[codex:569739] **Analyzing complex reentrancy and signature scenarios**
[codex:569739] 
[codex:569739] I'm exploring how a malicious reward token might reenter updateValset, potentially causing event reorder or multiple valset updates in one transaction if signatures are pre-obtained. Still, exploiting this requires validator collusion or valid signatures, limiting risk. I’m also considering upgradeable contract initialization risks, event nonce handling, and the subtleties of signature domain separation relying solely on peggyId, which could enable cross-deployment replay if reused. Additionally, the potential denial of service if rewards are promised but insufficient tokens exist for payout stands out as an invariant risk tied to validator-controlled parameters rather than external attack.
[codex:569739] thinking
[codex:569739] **Summarizing audit findings and next steps**
[codex:569739] 
[codex:569739] I’m consolidating two main findings: the potential exploit if the upgradeable contract isn’t initialized atomically, allowing unauthorized initialization, and a low-severity reentrancy risk from reward token transfers in updateValset causing event ordering inconsistencies. I’m also preparing to confirm file paths and line numbers in contracts/Peggy.sol to produce a precise, evidence-backed report.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function initialize|updateValset" contracts/Peggy.sol' in /tmp/codex-multi-ozwh7lpr exited 2 in 7ms:
[codex:569739] rg: contracts/Peggy.sol: IO error for operation on contracts/Peggy.sol: No such file or directory (os error 2)
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Checking for contracts directory**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'ls contracts' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] Contract.sol
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Preparing to locate function definitions**
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function initialize" contracts/Contract.sol' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1186:    function initialize(
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Identifying external call lines**
[codex:569739] exec
[codex:569739] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1170,1320p'" in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739]   1170	        string _cosmosDenom,
[codex:569739]   1171	        address indexed _tokenContract,
[codex:569739]   1172	        string _name,
[codex:569739]   1173	        string _symbol,
[codex:569739]   1174	        uint8 _decimals,
[codex:569739]   1175	        uint256 _eventNonce
[codex:569739]   1176	    );
[codex:569739]   1177	    event ValsetUpdatedEvent(
[codex:569739]   1178	        uint256 indexed _newValsetNonce,
[codex:569739]   1179	        uint256 _eventNonce,
[codex:569739]   1180	        uint256 _rewardAmount,
[codex:569739]   1181	        address _rewardToken,
[codex:569739]   1182	        address[] _validators,
[codex:569739]   1183	        uint256[] _powers
[codex:569739]   1184	    );
[codex:569739]   1185	
[codex:569739]   1186	    function initialize(
[codex:569739]   1187	        // A unique identifier for this peggy instance to use in signatures
[codex:569739]   1188	        bytes32 _peggyId,
[codex:569739]   1189	        // How much voting power is needed to approve operations
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Continuing to add updateValset call**
[codex:569739] exec
[codex:569739] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1380,1515p'" in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739]   1380	        );
[codex:569739]   1381	
[codex:569739]   1382	        // Check that the supplied current validator set matches the saved checkpoint
[codex:569739]   1383	        require(
[codex:569739]   1384	            makeCheckpoint(_currentValset, state_peggyId) ==
[codex:569739]   1385	                state_lastValsetCheckpoint,
[codex:569739]   1386	            "Supplied current validators and powers do not match checkpoint."
[codex:569739]   1387	        );
[codex:569739]   1388	
[codex:569739]   1389	        // Check that enough current validators have signed off on the new validator set
[codex:569739]   1390	        bytes32 newCheckpoint = makeCheckpoint(_newValset, state_peggyId);
[codex:569739]   1391	        checkValidatorSignatures(
[codex:569739]   1392	            _currentValset.validators,
[codex:569739]   1393	            _currentValset.powers,
[codex:569739]   1394	            _v,
[codex:569739]   1395	            _r,
[codex:569739]   1396	            _s,
[codex:569739]   1397	            newCheckpoint,
[codex:569739]   1398	            state_powerThreshold
[codex:569739]   1399	        );
[codex:569739] 
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Evaluating upgradeability and reentrancy risks**
[codex:569739] thinking
[codex:569739] **Detailing audit findings and report structure**
[codex:569739] 
[codex:569739] I'll focus on formalizing the uninitialized upgradeability risk as a medium-severity finding and a minor reentrancy note, then prepare JSON following the required schema including summary, severity, category, exploit scenario, recommendation, and evidence with code locations.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-ozwh7lpr succeeded in 5ms:
[codex:569739] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Summarizing security findings with details**
[codex:569739] 
[codex:569739] I'm compiling detailed findings on upgradeability and reentrancy issues, noting code locations and evidence to explain risks and recommended fixes clearly.
[codex:569739] exec
[codex:569739] /bin/bash -lc 'rg -n "function updateValset" contracts/Contract.sol' in /tmp/codex-multi-ozwh7lpr succeeded in 6ms:
[codex:569739] 1349:    function updateValset(
[codex:569739] 
[codex:569739] thinking
[codex:569739] **Summarizing audit findings**
[codex:569739] 
[codex:569739] I’m consolidating two main findings: a high-severity risk of unprotected initialization that could let attackers control the bridge if deployment isn’t atomic, and a low-severity reentrancy issue in `updateValset` via malicious reward tokens causing event desynchronization. I’m carefully outlining exploit scenarios, evidence lines, severity, and recommendations before producing the final JSON output.
[codex:569739] codex
[codex:569739] {"no_findings":false,"summary":"Two issues identified: an initializer front‑run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer can be front‑run on uninitialized deployments","exploit_scenario":"If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge.","recommendation":"Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).","evidence":"`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).","locations":["contracts/Contract.sol:1186"]},{"severity":"low","category":"reentrancy","title":"Reward token transfer in updateValset allows reentrancy into state-changing logic","exploit_scenario":"If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre‑signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off‑chain relayers.","recommendation":"Add `nonReentrant` to `updateValset` or adopt a pull‑reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.","evidence":"`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.","locations":["contracts/Contract.sol:1349","contracts/Contract.sol:1410"]}]}
[codex:569739] tokens used
[codex:569739] 76,473
[codex:569739] {"no_findings":false,"summary":"Two issues identified: an initializer front‑run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer can be front‑run on uninitialized deployments","exploit_scenario":"If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge.","recommendation":"Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).","evidence":"`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).","locations":["contracts/Contract.sol:1186"]},{"severity":"low","category":"reentrancy","title":"Reward token transfer in updateValset allows reentrancy into state-changing logic","exploit_scenario":"If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre‑signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off‑chain relayers.","recommendation":"Add `nonReentrant` to `updateValset` or adopt a pull‑reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.","evidence":"`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.","locations":["contracts/Contract.sol:1349","contracts/Contract.sol:1410"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T17:11:35.812932+00:00",
        "returncode": 0
    },
    "summary": "Two issues identified: an initializer front\u2011run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.",
    "raw_final": {
        "summary": "Two issues identified: an initializer front\u2011run risk on uninitialized deployments and a reentrancy hazard around reward transfers in updateValset.",
        "findings": [
            {
                "title": "Initializer can be front\u2011run on uninitialized deployments",
                "category": "upgradeability",
                "evidence": "`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:1186"
                ],
                "recommendation": "Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).",
                "exploit_scenario": "If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge."
            },
            {
                "title": "Reward token transfer in updateValset allows reentrancy into state-changing logic",
                "category": "reentrancy",
                "evidence": "`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:1349",
                    "contracts/Contract.sol:1410"
                ],
                "recommendation": "Add `nonReentrant` to `updateValset` or adopt a pull\u2011reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.",
                "exploit_scenario": "If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre\u2011signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off\u2011chain relayers."
            }
        ],
        "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
1
Total opcodes
6143
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0142
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x8c64865f
00000026: GT
00000027: PUSH2 0x00b8
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc359a212
00000031: GT
00000032: PUSH2 0x007c
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xc359a212
0000003c: EQ
0000003d: PUSH2 0x0230
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xdf97174b
00000047: EQ
00000048: PUSH2 0x0243
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe5a2b5d2
00000052: EQ
00000053: PUSH2 0x0256
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf2b53307
0000005d: EQ
0000005e: PUSH2 0x025e
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x0266
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xf7955637
00000073: EQ
00000074: PUSH2 0x0279
00000077: JUMPI
00000078: PUSH2 0x0142
0000007b: JUMP
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0x8c64865f
00000083: EQ
00000084: PUSH2 0x01e5
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x8da5cb5b
0000008e: EQ
0000008f: PUSH2 0x01ed
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xa5352f5b
00000099: EQ
0000009a: PUSH2 0x0202
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xb24614f2
000000a4: EQ
000000a5: PUSH2 0x0215
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xb56561fe
000000af: EQ
000000b0: PUSH2 0x0228
000000b3: JUMPI
000000b4: PUSH2 0x0142
000000b7: JUMP
000000b8: JUMPDEST
000000b9: DUP1
000000ba: PUSH4 0x5c975abb
000000bf: GT
000000c0: PUSH2 0x010a
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x5c975abb
000000ca: EQ
000000cb: PUSH2 0x019f
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x69dd3908
000000d5: EQ
000000d6: PUSH2 0x01a7
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x715018a6
000000e0: EQ
000000e1: PUSH2 0x01af
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x73b20547
000000eb: EQ
000000ec: PUSH2 0x01b7
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x7dfb6f86
000000f6: EQ
000000f7: PUSH2 0x01bf
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x81747418
00000101: EQ
00000102: PUSH2 0x01d2
00000105: JUMPI
00000106: PUSH2 0x0142
00000109: JUMP
0000010a: JUMPDEST
0000010b: DUP1
0000010c: PUSH4 0x011b2174
00000111: EQ
00000112: PUSH2 0x0147
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0x1ee7a108
0000011c: EQ
0000011d: PUSH2 0x0170
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0x4a4e3bd5
00000127: EQ
00000128: PUSH2 0x0178
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0x51858e27
00000132: EQ
00000133: PUSH2 0x0182
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0x5afe97bb
0000013d: EQ
0000013e: PUSH2 0x018a
00000141: JUMPI
00000142: JUMPDEST
00000143: PUSH1 0x00
00000145: DUP1
00000146: REVERT
00000147: JUMPDEST
00000148: PUSH2 0x015a
0000014b: PUSH2 0x0155
0000014e: CALLDATASIZE
0000014f: PUSH1 0x04
00000151: PUSH2 0x185d
00000154: JUMP
00000155: JUMPDEST
00000156: PUSH2 0x028c
00000159: JUMP
0000015a: JUMPDEST
0000015b: PUSH1 0x40
0000015d: MLOAD
0000015e: PUSH2 0x0167
00000161: SWAP2
00000162: SWAP1
00000163: PUSH2 0x1ddc
00000166: JUMP
00000167: JUMPDEST
00000168: PUSH1 0x40
0000016a: MLOAD
0000016b: DUP1
0000016c: SWAP2
0000016d: SUB
0000016e: SWAP1
0000016f: RETURN
00000170: JUMPDEST
00000171: PUSH2 0x015a
00000174: PUSH2 0x02ab
00000177: JUMP
00000178: JUMPDEST
00000179: PUSH2 0x0180
0000017c: PUSH2 0x02c4
0000017f: JUMP
00000180: JUMPDEST
00000181: STOP
00000182: JUMPDEST
00000183: PUSH2 0x0180
00000186: PUSH2 0x0316
00000189: JUMP
0000018a: JUMPDEST
0000018b: PUSH2 0x0192
0000018e: PUSH2 0x035d
00000191: JUMP
00000192: JUMPDEST
00000193: PUSH1 0x40
00000195: MLOAD
00000196: PUSH2 0x0167
00000199: SWAP2
0000019a: SWAP1
0000019b: PUSH2 0x1dd1
0000019e: JUMP
0000019f: JUMPDEST
000001a0: PUSH2 0x0192
000001a3: PUSH2 0x036e
000001a6: JUMP
000001a7: JUMPDEST
000001a8: PUSH2 0x015a
000001ab: PUSH2 0x0377
000001ae: JUMP
000001af: JUMPDEST
000001b0: PUSH2 0x0180
000001b3: PUSH2 0x037d
000001b6: JUMP
000001b7: JUMPDEST
000001b8: PUSH2 0x015a
000001bb: PUSH2 0x03c4
000001be: JUMP
000001bf: JUMPDEST
000001c0: PUSH2 0x015a
000001c3: PUSH2 0x01cd
000001c6: CALLDATASIZE
000001c7: PUSH1 0x04
000001c9: PUSH2 0x18fd
000001cc: JUMP
000001cd: JUMPDEST
000001ce: PUSH2 0x03ca
000001d1: JUMP
000001d2: JUMPDEST
000001d3: PUSH2 0x0180
000001d6: PUSH2 0x01e0
000001d9: CALLDATASIZE
000001da: PUSH1 0x04
000001dc: PUSH2 0x1b19
000001df: JUMP
000001e0: JUMPDEST
000001e1: PUSH2 0x03dc
000001e4: JUMP
000001e5: JUMPDEST
000001e6: PUSH2 0x0180
000001e9: PUSH2 0x06e7
000001ec: JUMP
000001ed: JUMPDEST
000001ee: PUSH2 0x01f5
000001f1: PUSH2 0x070b
000001f4: JUMP
000001f5: JUMPDEST
000001f6: PUSH1 0x40
000001f8: MLOAD
000001f9: PUSH2 0x0167
000001fc: SWAP2
000001fd: SWAP1
000001fe: PUSH2 0x1d80
00000201: JUMP
00000202: JUMPDEST
00000203: PUSH2 0x0180
00000206: PUSH2 0x0210
00000209: CALLDATASIZE
0000020a: PUSH1 0x04
0000020c: PUSH2 0x1a3c
0000020f: JUMP
00000210: JUMPDEST
00000211: PUSH2 0x071a
00000214: JUMP
00000215: JUMPDEST
00000216: PUSH2 0x0180
00000219: PUSH2 0x0223
0000021c: CALLDATASIZE
0000021d: PUSH1 0x04
0000021f: PUSH2 0x1877
00000222: JUMP
00000223: JUMPDEST
00000224: PUSH2 0x0a6e
00000227: JUMP
00000228: JUMPDEST
00000229: PUSH2 0x015a
0000022c: PUSH2 0x0b3a
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH2 0x0180
00000234: PUSH2 0x023e
00000237: CALLDATASIZE
00000238: PUSH1 0x04
0000023a: PUSH2 0x1915
0000023d: JUMP
0000023e: JUMPDEST
0000023f: PUSH2 0x0b40
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH2 0x015a
00000247: PUSH2 0x0251
0000024a: CALLDATASIZE
0000024b: PUSH1 0x04
0000024d: PUSH2 0x185d
00000250: JUMP
00000251: JUMPDEST
00000252: PUSH2 0x0d7e
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH2 0x015a
0000025a: PUSH2 0x0d90
0000025d: JUMP
0000025e: JUMPDEST
0000025f: PUSH2 0x015a
00000262: PUSH2 0x0d96
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH2 0x0180
0000026a: PUSH2 0x0274
0000026d: CALLDATASIZE
0000026e: PUSH1 0x04
00000270: PUSH2 0x185d
00000273: JUMP
00000274: JUMPDEST
00000275: PUSH2 0x0d9c
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH2 0x0180
0000027d: PUSH2 0x0287
00000280: CALLDATASIZE
00000281: PUSH1 0x04
00000283: PUSH2 0x1995
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH2 0x0e5d
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH1 0x01
0000028f: PUSH1 0x01
00000291: PUSH1 0xa0
00000293: SHL
00000294: SUB
00000295: DUP2
00000296: AND
00000297: PUSH1 0x00
00000299: SWAP1
0000029a: DUP2
0000029b: MSTORE
0000029c: PUSH1 0x69
0000029e: PUSH1 0x20
000002a0: MSTORE
000002a1: PUSH1 0x40
000002a3: SWAP1
000002a4: KECCAK256
000002a5: SLOAD
000002a6: JUMPDEST
000002a7: SWAP2
000002a8: SWAP1
000002a9: POP
000002aa: JUMP
000002ab: JUMPDEST
000002ac: PUSH1 0x00
000002ae: PUSH1 0x34
000002b0: SLOAD
000002b1: PUSH4 0x02f4bd00
000002b6: PUSH2 0x02bf
000002b9: SWAP2
000002ba: SWAP1
000002bb: PUSH2 0x2556
000002be: JUMP
000002bf: JUMPDEST
000002c0: SWAP1
000002c1: POP
000002c2: SWAP1
000002c3: JUMP
000002c4: JUMPDEST
000002c5: PUSH2 0x02cc
000002c8: PUSH2 0x0e75
000002cb: JUMP
000002cc: JUMPDEST
000002cd: PUSH1 0x01
000002cf: PUSH1 0x01
000002d1: PUSH1 0xa0
000002d3: SHL
000002d4: SUB
000002d5: AND
000002d6: PUSH2 0x02dd
000002d9: PUSH2 0x070b
000002dc: JUMP
000002dd: JUMPDEST
000002de: PUSH1 0x01
000002e0: PUSH1 0x01
000002e2: PUSH1 0xa0
000002e4: SHL
000002e5: SUB
000002e6: AND
000002e7: EQ
000002e8: PUSH2 0x030c
000002eb: JUMPI
000002ec: PUSH1 0x40
000002ee: MLOAD
000002ef: PUSH3 0x461bcd
000002f3: PUSH1 0xe5
000002f5: SHL
000002f6: DUP2
000002f7: MSTORE
000002f8: PUSH1 0x04
000002fa: ADD
000002fb: PUSH2 0x0303
000002fe: SWAP1
000002ff: PUSH2 0x21f7
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH1 0x40
00000306: MLOAD
00000307: DUP1
00000308: SWAP2
00000309: SUB
0000030a: SWAP1
0000030b: REVERT
0000030c: JUMPDEST
0000030d: PUSH2 0x0314
00000310: PUSH2 0x0e79
00000313: JUMP
00000314: JUMPDEST
00000315: JUMP
00000316: JUMPDEST
00000317: PUSH2 0x031e
0000031a: PUSH2 0x0e75
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH1 0x01
00000321: PUSH1 0x01
00000323: PUSH1 0xa0
00000325: SHL
00000326: SUB
00000327: AND
00000328: PUSH2 0x032f
0000032b: PUSH2 0x070b
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH1 0x01
00000332: PUSH1 0x01
00000334: PUSH1 0xa0
00000336: SHL
00000337: SUB
00000338: AND
00000339: EQ
0000033a: PUSH2 0x0355
0000033d: JUMPI
0000033e: PUSH1 0x40
00000340: MLOAD
00000341: PUSH3 0x461bcd
00000345: PUSH1 0xe5
00000347: SHL
00000348: DUP2
00000349: MSTORE
0000034a: PUSH1 0x04
0000034c: ADD
0000034d: PUSH2 0x0303
00000350: SWAP1
00000351: PUSH2 0x21f7
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH2 0x0314
00000359: PUSH2 0x0ee7
0000035c: JUMP
0000035d: JUMPDEST
0000035e: PUSH1 0x00
00000360: PUSH2 0x0367
00000363: PUSH2 0x02ab
00000366: JUMP
00000367: JUMPDEST
00000368: TIMESTAMP
00000369: GT
0000036a: SWAP1
0000036b: POP
0000036c: SWAP1
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH1 0x66
00000371: SLOAD
00000372: PUSH1 0xff
00000374: AND
00000375: SWAP1
00000376: JUMP
00000377: JUMPDEST
00000378: PUSH1 0x6d
0000037a: SLOAD
0000037b: DUP2
0000037c: JUMP
0000037d: JUMPDEST
0000037e: PUSH2 0x0385
00000381: PUSH2 0x0e75
00000384: JUMP
00000385: JUMPDEST
00000386: PUSH1 0x01
00000388: PUSH1 0x01
0000038a: PUSH1 0xa0
0000038c: SHL
0000038d: SUB
0000038e: AND
0000038f: PUSH2 0x0396
00000392: PUSH2 0x070b
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH1 0x01
00000399: PUSH1 0x01
0000039b: PUSH1 0xa0
0000039d: SHL
0000039e: SUB
0000039f: AND
000003a0: EQ
000003a1: PUSH2 0x03bc
000003a4: JUMPI
000003a5: PUSH1 0x40
000003a7: MLOAD
000003a8: PUSH3 0x461bcd
000003ac: PUSH1 0xe5
000003ae: SHL
000003af: DUP2
000003b0: MSTORE
000003b1: PUSH1 0x04
000003b3: ADD
000003b4: PUSH2 0x0303
000003b7: SWAP1
000003b8: PUSH2 0x21f7
000003bb: JUMP
000003bc: JUMPDEST
000003bd: PUSH2 0x0314
000003c0: PUSH2 0x0f42
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH1 0x6c
000003c7: SLOAD
000003c8: DUP2
000003c9: JUMP
000003ca: JUMPDEST
000003cb: PUSH1 0x6a
000003cd: PUSH1 0x20
000003cf: MSTORE
000003d0: PUSH1 0x00
000003d2: SWAP1
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x40
000003d7: SWAP1
000003d8: KECCAK256
000003d9: SLOAD
000003da: DUP2
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH1 0x02
000003df: PUSH1 0x67
000003e1: SLOAD
000003e2: EQ
000003e3: ISZERO
000003e4: PUSH2 0x03ff
000003e7: JUMPI
000003e8: PUSH1 0x40
000003ea: MLOAD
000003eb: PUSH3 0x461bcd
000003ef: PUSH1 0xe5
000003f1: SHL
000003f2: DUP2
000003f3: MSTORE
000003f4: PUSH1 0x04
000003f6: ADD
000003f7: PUSH2 0x0303
000003fa: SWAP1
000003fb: PUSH2 0x23fe
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH1 0x02
00000402: PUSH1 0x67
00000404: SSTORE
00000405: PUSH2 0x040c
00000408: PUSH2 0x036e
0000040b: JUMP
0000040c: JUMPDEST
0000040d: ISZERO
0000040e: PUSH2 0x0429
00000411: JUMPI
00000412: PUSH1 0x40
00000414: MLOAD
00000415: PUSH3 0x461bcd
00000419: PUSH1 0xe5
0000041b: SHL
0000041c: DUP2
0000041d: MSTORE
0000041e: PUSH1 0x04
00000420: ADD
00000421: PUSH2 0x0303
00000424: SWAP1
00000425: PUSH2 0x20eb
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH1 0x01
0000042c: PUSH1 0x01
0000042e: PUSH1 0xa0
00000430: SHL
00000431: SUB
00000432: DUP3
00000433: AND
00000434: PUSH1 0x00
00000436: SWAP1
00000437: DUP2
00000438: MSTORE
00000439: PUSH1 0x69
0000043b: PUSH1 0x20
0000043d: MSTORE
0000043e: PUSH1 0x40
00000440: SWAP1
00000441: KECCAK256
00000442: SLOAD
00000443: DUP4
00000444: GT
00000445: PUSH2 0x0460
00000448: JUMPI
00000449: PUSH1 0x40
0000044b: MLOAD
0000044c: PUSH3 0x461bcd
00000450: PUSH1 0xe5
00000452: SHL
00000453: DUP2
00000454: MSTORE
00000455: PUSH1 0x04
00000457: ADD
00000458: PUSH2 0x0303
0000045b: SWAP1
0000045c: PUSH2 0x1f8f
0000045f: JUMP
00000460: JUMPDEST
00000461: DUP1
00000462: NUMBER
00000463: LT
00000464: PUSH2 0x047f
00000467: JUMPI
00000468: PUSH1 0x40
0000046a: MLOAD
0000046b: PUSH3 0x461bcd
0000046f: PUSH1 0xe5
00000471: SHL
00000472: DUP2
00000473: MSTORE
00000474: PUSH1 0x04
00000476: ADD
00000477: PUSH2 0x0303
0000047a: SWAP1
0000047b: PUSH2 0x2163
0000047e: JUMP
0000047f: JUMPDEST
00000480: PUSH1 0x20
00000482: DUP11
00000483: ADD
00000484: MLOAD
00000485: MLOAD
00000486: DUP11
00000487: MLOAD
00000488: MLOAD
00000489: EQ
0000048a: DUP1
0000048b: ISZERO
0000048c: PUSH2 0x0497
0000048f: JUMPI
00000490: POP
00000491: DUP9
00000492: MLOAD
00000493: DUP11
00000494: MLOAD
00000495: MLOAD
00000496: EQ
00000497: JUMPDEST
00000498: DUP1
00000499: ISZERO
0000049a: PUSH2 0x04a5
0000049d: JUMPI
0000049e: POP
0000049f: DUP8
000004a0: MLOAD
000004a1: DUP11
000004a2: MLOAD
000004a3: MLOAD
000004a4: EQ
000004a5: JUMPDEST
000004a6: DUP1
000004a7: ISZERO
000004a8: PUSH2 0x04b3
000004ab: JUMPI
000004ac: POP
000004ad: DUP7
000004ae: MLOAD
000004af: DUP11
000004b0: MLOAD
000004b1: MLOAD
000004b2: EQ
000004b3: JUMPDEST
000004b4: PUSH2 0x04cf
000004b7: JUMPI
000004b8: PUSH1 0x40
000004ba: MLOAD
000004bb: PUSH3 0x461bcd
000004bf: PUSH1 0xe5
000004c1: SHL
000004c2: DUP2
000004c3: MSTORE
000004c4: PUSH1 0x04
000004c6: ADD
000004c7: PUSH2 0x0303
000004ca: SWAP1
000004cb: PUSH2 0x23c7
000004ce: JUMP
000004cf: JUMPDEST
000004d0: PUSH1 0x68
000004d2: SLOAD
000004d3: PUSH2 0x04de
000004d6: DUP12
000004d7: PUSH1 0x6d
000004d9: SLOAD
000004da: PUSH2 0x0f8c
000004dd: JUMP
000004de: JUMPDEST
000004df: EQ
000004e0: PUSH2 0x04fb
000004e3: JUMPI
000004e4: PUSH1 0x40
000004e6: MLOAD
000004e7: PUSH3 0x461bcd
000004eb: PUSH1 0xe5
000004ed: SHL
000004ee: DUP2
000004ef: MSTORE
000004f0: PUSH1 0x04
000004f2: ADD
000004f3: PUSH2 0x0303
000004f6: SWAP1
000004f7: PUSH2 0x1f04
000004fa: JUMP
000004fb: JUMPDEST
000004fc: DUP5
000004fd: MLOAD
000004fe: DUP7
000004ff: MLOAD
00000500: EQ
00000501: DUP1
00000502: ISZERO
00000503: PUSH2 0x050d
00000506: JUMPI
00000507: POP
00000508: DUP4
00000509: MLOAD
0000050a: DUP7
0000050b: MLOAD
0000050c: EQ
0000050d: JUMPDEST
0000050e: PUSH2 0x0529
00000511: JUMPI
00000512: PUSH1 0x40
00000514: MLOAD
00000515: PUSH3 0x461bcd
00000519: PUSH1 0xe5
0000051b: SHL
0000051c: DUP2
0000051d: MSTORE
0000051e: PUSH1 0x04
00000520: ADD
00000521: PUSH2 0x0303
00000524: SWAP1
00000525: PUSH2 0x202b
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH2 0x058b
0000052d: DUP11
0000052e: PUSH1 0x00
00000530: ADD
00000531: MLOAD
00000532: DUP12
00000533: PUSH1 0x20
00000535: ADD
00000536: MLOAD
00000537: DUP12
00000538: DUP12
00000539: DUP12
0000053a: PUSH1 0x6d
0000053c: SLOAD
0000053d: PUSH16 0x0e8e4c2dce6c2c6e8d2dedc84c2e8c6d
0000054e: PUSH1 0x83
00000550: SHL
00000551: DUP14
00000552: DUP14
00000553: DUP14
00000554: DUP14
00000555: DUP14
00000556: DUP14
00000557: PUSH1 0x40
00000559: MLOAD
0000055a: PUSH1 0x20
0000055c: ADD
0000055d: PUSH2 0x056d
00000560: SWAP9
00000561: SWAP8
00000562: SWAP7
00000563: SWAP6
00000564: SWAP5
00000565: SWAP4
00000566: SWAP3
00000567: SWAP2
00000568: SWAP1
00000569: PUSH2 0x1e41
0000056c: JUMP
0000056d: JUMPDEST
0000056e: PUSH1 0x40
00000570: MLOAD
00000571: PUSH1 0x20
00000573: DUP2
00000574: DUP4
00000575: SUB
00000576: SUB
00000577: DUP2
00000578: MSTORE
00000579: SWAP1
0000057a: PUSH1 0x40
0000057c: MSTORE
0000057d: DUP1
0000057e: MLOAD
0000057f: SWAP1
00000580: PUSH1 0x20
00000582: ADD
00000583: KECCAK256
00000584: PUSH1 0x6e
00000586: SLOAD
00000587: PUSH2 0x0ff6
0000058a: JUMP
0000058b: JUMPDEST
0000058c: PUSH1 0x01
0000058e: PUSH1 0x01
00000590: PUSH1 0xa0
00000592: SHL
00000593: SUB
00000594: DUP3
00000595: AND
00000596: PUSH1 0x00
00000598: SWAP1
00000599: DUP2
0000059a: MSTORE
0000059b: PUSH1 0x69
0000059d: PUSH1 0x20
0000059f: MSTORE
000005a0: PUSH1 0x40
000005a2: DUP2
000005a3: KECCAK256
000005a4: DUP5
000005a5: SWAP1
000005a6: SSTORE
000005a7: DUP1
000005a8: JUMPDEST
000005a9: DUP8
000005aa: MLOAD
000005ab: DUP2
000005ac: LT
000005ad: ISZERO
000005ae: PUSH2 0x0664
000005b1: JUMPI
000005b2: PUSH2 0x061d
000005b5: DUP8
000005b6: DUP3
000005b7: DUP2
000005b8: MLOAD
000005b9: DUP2
000005ba: LT
000005bb: PUSH2 0x05d4
000005be: JUMPI
000005bf: PUSH4 0x4e487b71
000005c4: PUSH1 0xe0
000005c6: SHL
000005c7: PUSH1 0x00
000005c9: MSTORE
000005ca: PUSH1 0x32
000005cc: PUSH1 0x04
000005ce: MSTORE
000005cf: PUSH1 0x24
000005d1: PUSH1 0x00
000005d3: REVERT
000005d4: JUMPDEST
000005d5: PUSH1 0x20
000005d7: MUL
000005d8: PUSH1 0x20
000005da: ADD
000005db: ADD
000005dc: MLOAD
000005dd: DUP10
000005de: DUP4
000005df: DUP2
000005e0: MLOAD
000005e1: DUP2
000005e2: LT
000005e3: PUSH2 0x05fc
000005e6: JUMPI
000005e7: PUSH4 0x4e487b71
000005ec: PUSH1 0xe0
000005ee: SHL
000005ef: PUSH1 0x00
000005f1: MSTORE
000005f2: PUSH1 0x32
000005f4: PUSH1 0x04
000005f6: MSTORE
000005f7: PUSH1 0x24
000005f9: PUSH1 0x00
000005fb: REVERT
000005fc: JUMPDEST
000005fd: PUSH1 0x20
000005ff: MUL
00000600: PUSH1 0x20
00000602: ADD
00000603: ADD
00000604: MLOAD
00000605: DUP7
00000606: PUSH1 0x01
00000608: PUSH1 0x01
0000060a: PUSH1 0xa0
0000060c: SHL
0000060d: SUB
0000060e: AND
0000060f: PUSH2 0x1178
00000612: SWAP1
00000613: SWAP3
00000614: SWAP2
00000615: SWAP1
00000616: PUSH4 0xffffffff
0000061b: AND
0000061c: JUMP
0000061d: JUMPDEST
0000061e: DUP6
0000061f: DUP2
00000620: DUP2
00000621: MLOAD
00000622: DUP2
00000623: LT
00000624: PUSH2 0x063d
00000627: JUMPI
00000628: PUSH4 0x4e487b71
0000062d: PUSH1 0xe0
0000062f: SHL
00000630: PUSH1 0x00
00000632: MSTORE
00000633: PUSH1 0x32
00000635: PUSH1 0x04
00000637: MSTORE
00000638: PUSH1 0x24
0000063a: PUSH1 0x00
0000063c: REVERT
0000063d: JUMPDEST
0000063e: PUSH1 0x20
00000640: MUL
00000641: PUSH1 0x20
00000643: ADD
00000644: ADD
00000645: MLOAD
00000646: DUP3
00000647: PUSH2 0x0650
0000064a: SWAP2
0000064b: SWAP1
0000064c: PUSH2 0x2556
0000064f: JUMP
00000650: JUMPDEST
00000651: SWAP2
00000652: POP
00000653: DUP1
00000654: PUSH2 0x065c
00000657: DUP2
00000658: PUSH2 0x25ac
0000065b: JUMP
0000065c: JUMPDEST
0000065d: SWAP2
0000065e: POP
0000065f: POP
00000660: PUSH2 0x05a8
00000663: JUMP
00000664: JUMPDEST
00000665: POP
00000666: DUP1
00000667: ISZERO
00000668: PUSH2 0x067f
0000066b: JUMPI
0000066c: PUSH2 0x067f
0000066f: PUSH1 0x01
00000671: PUSH1 0x01
00000673: PUSH1 0xa0
00000675: SHL
00000676: SUB
00000677: DUP5
00000678: AND
00000679: CALLER
0000067a: DUP4
0000067b: PUSH2 0x1178
0000067e: JUMP
0000067f: JUMPDEST
00000680: POP
00000681: PUSH1 0x6c
00000683: SLOAD
00000684: PUSH2 0x068e
00000687: SWAP1
00000688: PUSH1 0x01
0000068a: PUSH2 0x2556
0000068d: JUMP
0000068e: JUMPDEST
0000068f: PUSH1 0x6c
00000691: DUP2
00000692: SWAP1
00000693: SSTORE
00000694: PUSH1 0x40
00000696: MLOAD
00000697: PUSH1 0x01
00000699: PUSH1 0x01
0000069b: PUSH1 0xa0
0000069d: SHL
0000069e: SUB
0000069f: DUP5
000006a0: AND
000006a1: SWAP2
000006a2: DUP6
000006a3: SWAP2
000006a4: PUSH32 0x02c7e81975f8edb86e2a0c038b7b86a49c744236abf0f6177ff5afc6986ab708
000006c5: SWAP2
000006c6: PUSH2 0x06ce
000006c9: SWAP2
000006ca: PUSH2 0x1ddc
000006cd: JUMP
000006ce: JUMPDEST
000006cf: PUSH1 0x40
000006d1: MLOAD
000006d2: DUP1
000006d3: SWAP2
000006d4: SUB
000006d5: SWAP1
000006d6: LOG3
000006d7: POP
000006d8: POP
000006d9: PUSH1 0x01
000006db: PUSH1 0x67
000006dd: SSTORE
000006de: POP
000006df: POP
000006e0: POP
000006e1: POP
000006e2: POP
000006e3: POP
000006e4: POP
000006e5: POP
000006e6: JUMP
000006e7: JUMPDEST
000006e8: PUSH2 0x06ef
000006eb: PUSH2 0x035d
000006ee: JUMP
000006ef: JUMPDEST
000006f0: PUSH2 0x03bc
000006f3: JUMPI
000006f4: PUSH1 0x40
000006f6: MLOAD
000006f7: PUSH3 0x461bcd
000006fb: PUSH1 0xe5
000006fd: SHL
000006fe: DUP2
000006ff: MSTORE
00000700: PUSH1 0x04
00000702: ADD
00000703: PUSH2 0x0303
00000706: SWAP1
00000707: PUSH2 0x230f
0000070a: JUMP
0000070b: JUMPDEST
0000070c: PUSH1 0x33
0000070e: SLOAD
0000070f: PUSH1 0x01
00000711: PUSH1 0x01
00000713: PUSH1 0xa0
00000715: SHL
00000716: SUB
00000717: AND
00000718: SWAP1
00000719: JUMP
0000071a: JUMPDEST
0000071b: PUSH2 0x0722
0000071e: PUSH2 0x036e
00000721: JUMP
00000722: JUMPDEST
00000723: ISZERO
00000724: PUSH2 0x073f
00000727: JUMPI
00000728: PUSH1 0x40
0000072a: MLOAD
0000072b: PUSH3 0x461bcd
0000072f: PUSH1 0xe5
00000731: SHL
00000732: DUP2
00000733: MSTORE
00000734: PUSH1 0x04
00000736: ADD
00000737: PUSH2 0x0303
0000073a: SWAP1
0000073b: PUSH2 0x20eb
0000073e: JUMP
0000073f: JUMPDEST
00000740: DUP7
00000741: PUSH1 0x40
00000743: ADD
00000744: CALLDATALOAD
00000745: DUP9
00000746: PUSH1 0x40
00000748: ADD
00000749: CALLDATALOAD
0000074a: GT
0000074b: PUSH2 0x0766
0000074e: JUMPI
0000074f: PUSH1 0x40
00000751: MLOAD
00000752: PUSH3 0x461bcd
00000756: PUSH1 0xe5
00000758: SHL
00000759: DUP2
0000075a: MSTORE
0000075b: PUSH1 0x04
0000075d: ADD
0000075e: PUSH2 0x0303
00000761: SWAP1
00000762: PUSH2 0x22b2
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH2 0x0773
0000076a: PUSH1 0x20
0000076c: DUP10
0000076d: ADD
0000076e: DUP10
0000076f: PUSH2 0x24c1
00000772: JUMP
00000773: JUMPDEST
00000774: SWAP1
00000775: POP
00000776: PUSH2 0x077f
00000779: DUP10
0000077a: DUP1
0000077b: PUSH2 0x24c1
0000077e: JUMP
0000077f: JUMPDEST
00000780: SWAP1
00000781: POP
00000782: EQ
00000783: PUSH2 0x079e
00000786: JUMPI
00000787: PUSH1 0x40
00000789: MLOAD
0000078a: PUSH3 0x461bcd
0000078e: PUSH1 0xe5
00000790: SHL
00000791: DUP2
00000792: MSTORE
00000793: PUSH1 0x04
00000795: ADD
00000796: PUSH2 0x0303
00000799: SWAP1
0000079a: PUSH2 0x21c0
0000079d: JUMP
0000079e: JUMPDEST
0000079f: PUSH2 0x07ab
000007a2: PUSH1 0x20
000007a4: DUP9
000007a5: ADD
000007a6: DUP9
000007a7: PUSH2 0x24c1
000007aa: JUMP
000007ab: JUMPDEST
000007ac: SWAP1
000007ad: POP
000007ae: PUSH2 0x07b7
000007b1: DUP9
000007b2: DUP1
000007b3: PUSH2 0x24c1
000007b6: JUMP
000007b7: JUMPDEST
000007b8: SWAP1
000007b9: POP
000007ba: EQ
000007bb: DUP1
000007bc: ISZERO
000007bd: PUSH2 0x07d0
000007c0: JUMPI
000007c1: POP
000007c2: DUP5
000007c3: PUSH2 0x07cc
000007c6: DUP9
000007c7: DUP1
000007c8: PUSH2 0x24c1
000007cb: JUMP
000007cc: JUMPDEST
000007cd: SWAP1
000007ce: POP
000007cf: EQ
000007d0: JUMPDEST
000007d1: DUP1
000007d2: ISZERO
000007d3: PUSH2 0x07e6
000007d6: JUMPI
000007d7: POP
000007d8: DUP3
000007d9: PUSH2 0x07e2
000007dc: DUP9
000007dd: DUP1
000007de: PUSH2 0x24c1
000007e1: JUMP
000007e2: JUMPDEST
000007e3: SWAP1
000007e4: POP
000007e5: EQ
000007e6: JUMPDEST
000007e7: DUP1
000007e8: ISZERO
000007e9: PUSH2 0x07fc
000007ec: JUMPI
000007ed: POP
000007ee: DUP1
000007ef: PUSH2 0x07f8
000007f2: DUP9
000007f3: DUP1
000007f4: PUSH2 0x24c1
000007f7: JUMP
000007f8: JUMPDEST
000007f9: SWAP1
000007fa: POP
000007fb: EQ
000007fc: JUMPDEST
000007fd: PUSH2 0x0818
00000800: JUMPI
00000801: PUSH1 0x40
00000803: MLOAD
00000804: PUSH3 0x461bcd
00000808: PUSH1 0xe5
0000080a: SHL
0000080b: DUP2
0000080c: MSTORE
0000080d: PUSH1 0x04
0000080f: ADD
00000810: PUSH2 0x0303
00000813: SWAP1
00000814: PUSH2 0x23c7
00000817: JUMP
00000818: JUMPDEST
00000819: PUSH1 0x68
0000081b: SLOAD
0000081c: PUSH2 0x082f
0000081f: PUSH2 0x0827
00000822: DUP10
00000823: PUSH2 0x256e
00000826: JUMP
00000827: JUMPDEST
00000828: PUSH1 0x6d
0000082a: SLOAD
0000082b: PUSH2 0x0f8c
0000082e: JUMP
0000082f: JUMPDEST
00000830: EQ
00000831: PUSH2 0x084c
00000834: JUMPI
00000835: PUSH1 0x40
00000837: MLOAD
00000838: PUSH3 0x461bcd
0000083c: PUSH1 0xe5
0000083e: SHL
0000083f: DUP2
00000840: MSTORE
00000841: PUSH1 0x04
00000843: ADD
00000844: PUSH2 0x0303
00000847: SWAP1
00000848: PUSH2 0x1f04
0000084b: JUMP
0000084c: JUMPDEST
0000084d: PUSH1 0x00
0000084f: PUSH2 0x085a
00000852: PUSH2 0x0827
00000855: DUP11
00000856: PUSH2 0x256e
00000859: JUMP
0000085a: JUMPDEST
0000085b: SWAP1
0000085c: POP
0000085d: PUSH2 0x0977
00000860: PUSH2 0x0869
00000863: DUP10
00000864: DUP1
00000865: PUSH2 0x24c1
00000868: JUMP
00000869: JUMPDEST
0000086a: DUP1
0000086b: DUP1
0000086c: PUSH1 0x20
0000086e: MUL
0000086f: PUSH1 0x20
00000871: ADD
00000872: PUSH1 0x40
00000874: MLOAD
00000875: SWAP1
00000876: DUP2
00000877: ADD
00000878: PUSH1 0x40
0000087a: MSTORE
0000087b: DUP1
0000087c: SWAP4
0000087d: SWAP3
0000087e: SWAP2
0000087f: SWAP1
00000880: DUP2
00000881: DUP2
00000882: MSTORE
00000883: PUSH1 0x20
00000885: ADD
00000886: DUP4
00000887: DUP4
00000888: PUSH1 0x20
0000088a: MUL
0000088b: DUP1
0000088c: DUP3
0000088d: DUP5
0000088e: CALLDATACOPY
0000088f: PUSH1 0x00
00000891: SWAP3
00000892: ADD
00000893: SWAP2
00000894: SWAP1
00000895: SWAP2
00000896: MSTORE
00000897: POP
00000898: PUSH2 0x08a8
0000089b: SWAP3
0000089c: POP
0000089d: POP
0000089e: POP
0000089f: PUSH1 0x20
000008a1: DUP12
000008a2: ADD
000008a3: DUP12
000008a4: PUSH2 0x24c1
000008a7: JUMP
000008a8: JUMPDEST
000008a9: DUP1
000008aa: DUP1
000008ab: PUSH1 0x20
000008ad: MUL
000008ae: PUSH1 0x20
000008b0: ADD
000008b1: PUSH1 0x40
000008b3: MLOAD
000008b4: SWAP1
000008b5: DUP2
000008b6: ADD
000008b7: PUSH1 0x40
000008b9: MSTORE
000008ba: DUP1
000008bb: SWAP4
000008bc: SWAP3
000008bd: SWAP2
000008be: SWAP1
000008bf: DUP2
000008c0: DUP2
000008c1: MSTORE
000008c2: PUSH1 0x20
000008c4: ADD
000008c5: DUP4
000008c6: DUP4
000008c7: PUSH1 0x20
000008c9: MUL
000008ca: DUP1
000008cb: DUP3
000008cc: DUP5
000008cd: CALLDATACOPY
000008ce: PUSH1 0x00
000008d0: SWAP3
000008d1: ADD
000008d2: SWAP2
000008d3: SWAP1
000008d4: SWAP2
000008d5: MSTORE
000008d6: POP
000008d7: POP
000008d8: PUSH1 0x40
000008da: DUP1
000008db: MLOAD
000008dc: PUSH1 0x20
000008de: DUP1
000008df: DUP15
000008e0: MUL
000008e1: DUP3
000008e2: DUP2
000008e3: ADD
000008e4: DUP3
000008e5: ADD
000008e6: SWAP1
000008e7: SWAP4
000008e8: MSTORE
000008e9: DUP14
000008ea: DUP3
000008eb: MSTORE
000008ec: SWAP1
000008ed: SWAP4
000008ee: POP
000008ef: DUP14
000008f0: SWAP3
000008f1: POP
000008f2: DUP13
000008f3: SWAP2
000008f4: DUP3
000008f5: SWAP2
000008f6: DUP6
000008f7: ADD
000008f8: SWAP1
000008f9: DUP5
000008fa: SWAP1
000008fb: DUP1
000008fc: DUP3
000008fd: DUP5
000008fe: CALLDATACOPY
000008ff: PUSH1 0x00
00000901: SWAP3
00000902: ADD
00000903: SWAP2
00000904: SWAP1
00000905: SWAP2
00000906: MSTORE
00000907: POP
00000908: POP
00000909: PUSH1 0x40
0000090b: DUP1
0000090c: MLOAD
0000090d: PUSH1 0x20
0000090f: DUP1
00000910: DUP14
00000911: MUL
00000912: DUP3
00000913: DUP2
00000914: ADD
00000915: DUP3
00000916: ADD
00000917: SWAP1
00000918: SWAP4
00000919: MSTORE
0000091a: DUP13
0000091b: DUP3
0000091c: MSTORE
0000091d: SWAP1
0000091e: SWAP4
0000091f: POP
00000920: DUP13
00000921: SWAP3
00000922: POP
00000923: DUP12
00000924: SWAP2
00000925: DUP3
00000926: SWAP2
00000927: DUP6
00000928: ADD
00000929: SWAP1
0000092a: DUP5
0000092b: SWAP1
0000092c: DUP1
0000092d: DUP3
0000092e: DUP5
0000092f: CALLDATACOPY
00000930: PUSH1 0x00
00000932: SWAP3
00000933: ADD
00000934: SWAP2
00000935: SWAP1
00000936: SWAP2
00000937: MSTORE
00000938: POP
00000939: POP
0000093a: PUSH1 0x40
0000093c: DUP1
0000093d: MLOAD
0000093e: PUSH1 0x20
00000940: DUP1
00000941: DUP13
00000942: MUL
00000943: DUP3
00000944: DUP2
00000945: ADD
00000946: DUP3
00000947: ADD
00000948: SWAP1
00000949: SWAP4
0000094a: MSTORE
0000094b: DUP12
0000094c: DUP3
0000094d: MSTORE
0000094e: SWAP1
0000094f: SWAP4
00000950: POP
00000951: DUP12
00000952: SWAP3
00000953: POP
00000954: DUP11
00000955: SWAP2
00000956: DUP3
00000957: SWAP2
00000958: DUP6
00000959: ADD
0000095a: SWAP1
0000095b: DUP5
0000095c: SWAP1
0000095d: DUP1
0000095e: DUP3
0000095f: DUP5
00000960: CALLDATACOPY
00000961: PUSH1 0x00
00000963: SWAP3
00000964: ADD
00000965: SWAP2
00000966: SWAP1
00000967: SWAP2
00000968: MSTORE
00000969: POP
0000096a: POP
0000096b: PUSH1 0x6e
0000096d: SLOAD
0000096e: DUP10
0000096f: SWAP3
00000970: POP
00000971: SWAP1
00000972: POP
00000973: PUSH2 0x0ff6
00000976: JUMP
00000977: JUMPDEST
00000978: PUSH1 0x68
0000097a: DUP2
0000097b: SWAP1
0000097c: SSTORE
0000097d: PUSH1 0x40
0000097f: DUP10
00000980: ADD
00000981: CALLDATALOAD
00000982: PUSH1 0x6b
00000984: SSTORE
00000985: PUSH1 0x00
00000987: PUSH2 0x0996
0000098a: PUSH1 0xa0
0000098c: DUP12
0000098d: ADD
0000098e: PUSH1 0x80
00000990: DUP13
00000991: ADD
00000992: PUSH2 0x185d
00000995: JUMP
00000996: JUMPDEST
00000997: PUSH1 0x01
00000999: PUSH1 0x01
0000099b: PUSH1 0xa0
0000099d: SHL
0000099e: SUB
0000099f: AND
000009a0: EQ
000009a1: ISZERO
000009a2: DUP1
000009a3: ISZERO
000009a4: PUSH2 0x09b0
000009a7: JUMPI
000009a8: POP
000009a9: PUSH1 0x60
000009ab: DUP10
000009ac: ADD
000009ad: CALLDATALOAD
000009ae: ISZERO
000009af: ISZERO
000009b0: JUMPDEST
000009b1: ISZERO
000009b2: PUSH2 0x09de
000009b5: JUMPI
000009b6: PUSH2 0x09de
000009b9: CALLER
000009ba: PUSH1 0x60
000009bc: DUP12
000009bd: ADD
000009be: CALLDATALOAD
000009bf: PUSH2 0x09ce
000009c2: PUSH1 0xa0
000009c4: DUP14
000009c5: ADD
000009c6: PUSH1 0x80
000009c8: DUP15
000009c9: ADD
000009ca: PUSH2 0x185d
000009cd: JUMP
000009ce: JUMPDEST
000009cf: PUSH1 0x01
000009d1: PUSH1 0x01
000009d3: PUSH1 0xa0
000009d5: SHL
000009d6: SUB
000009d7: AND
000009d8: SWAP2
000009d9: SWAP1
000009da: PUSH2 0x1178
000009dd: JUMP
000009de: JUMPDEST
000009df: PUSH1 0x6c
000009e1: SLOAD
000009e2: PUSH2 0x09ec
000009e5: SWAP1
000009e6: PUSH1 0x01
000009e8: PUSH2 0x2556
000009eb: JUMP
000009ec: JUMPDEST
000009ed: PUSH1 0x6c
000009ef: DUP2
000009f0: SWAP1
000009f1: SSTORE
000009f2: PUSH1 0x40
000009f4: DUP11
000009f5: ADD
000009f6: CALLDATALOAD
000009f7: SWAP1
000009f8: PUSH32 0x76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a
00000a19: SWAP1
00000a1a: PUSH1 0x60
00000a1c: DUP13
00000a1d: ADD
00000a1e: CALLDATALOAD
00000a1f: PUSH2 0x0a2e
00000a22: PUSH1 0xa0
00000a24: DUP15
00000a25: ADD
00000a26: PUSH1 0x80
00000a28: DUP16
00000a29: ADD
00000a2a: PUSH2 0x185d
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: PUSH2 0x0a38
00000a32: DUP15
00000a33: DUP1
00000a34: PUSH2 0x24c1
00000a37: JUMP
00000a38: JUMPDEST
00000a39: DUP16
00000a3a: DUP1
00000a3b: PUSH1 0x20
00000a3d: ADD
00000a3e: SWAP1
00000a3f: PUSH2 0x0a48
00000a42: SWAP2
00000a43: SWAP1
00000a44: PUSH2 0x24c1
00000a47: JUMP
00000a48: JUMPDEST
00000a49: PUSH1 0x40
00000a4b: MLOAD
00000a4c: PUSH2 0x0a5b
00000a4f: SWAP8
00000a50: SWAP7
00000a51: SWAP6
00000a52: SWAP5
00000a53: SWAP4
00000a54: SWAP3
00000a55: SWAP2
00000a56: SWAP1
00000a57: PUSH2 0x2435
00000a5a: JUMP
00000a5b: JUMPDEST
00000a5c: PUSH1 0x40
00000a5e: MLOAD
00000a5f: DUP1
00000a60: SWAP2
00000a61: SUB
00000a62: SWAP1
00000a63: LOG2
00000a64: POP
00000a65: POP
00000a66: POP
00000a67: POP
00000a68: POP
00000a69: POP
00000a6a: POP
00000a6b: POP
00000a6c: POP
00000a6d: JUMP
00000a6e: JUMPDEST
00000a6f: PUSH2 0x0a76
00000a72: PUSH2 0x036e
00000a75: JUMP
00000a76: JUMPDEST
00000a77: ISZERO
00000a78: PUSH2 0x0a93
00000a7b: JUMPI
00000a7c: PUSH1 0x40
00000a7e: MLOAD
00000a7f: PUSH3 0x461bcd
00000a83: PUSH1 0xe5
00000a85: SHL
00000a86: DUP2
00000a87: MSTORE
00000a88: PUSH1 0x04
00000a8a: ADD
00000a8b: PUSH2 0x0303
00000a8e: SWAP1
00000a8f: PUSH2 0x20eb
00000a92: JUMP
00000a93: JUMPDEST
00000a94: PUSH1 0x02
00000a96: PUSH1 0x67
00000a98: SLOAD
00000a99: EQ
00000a9a: ISZERO
00000a9b: PUSH2 0x0ab6
00000a9e: JUMPI
00000a9f: PUSH1 0x40
00000aa1: MLOAD
00000aa2: PUSH3 0x461bcd
00000aa6: PUSH1 0xe5
00000aa8: SHL
00000aa9: DUP2
00000aaa: MSTORE
00000aab: PUSH1 0x04
00000aad: ADD
00000aae: PUSH2 0x0303
00000ab1: SWAP1
00000ab2: PUSH2 0x23fe
00000ab5: JUMP
00000ab6: JUMPDEST
00000ab7: PUSH1 0x02
00000ab9: PUSH1 0x67
00000abb: SSTORE
00000abc: PUSH2 0x0ad0
00000abf: PUSH1 0x01
00000ac1: PUSH1 0x01
00000ac3: PUSH1 0xa0
00000ac5: SHL
00000ac6: SUB
00000ac7: DUP7
00000ac8: AND
00000ac9: CALLER
00000aca: ADDRESS
00000acb: DUP7
00000acc: PUSH2 0x11d3
00000acf: JUMP
00000ad0: JUMPDEST
00000ad1: PUSH1 0x6c
00000ad3: SLOAD
00000ad4: PUSH2 0x0ade
00000ad7: SWAP1
00000ad8: PUSH1 0x01
00000ada: PUSH2 0x2556
00000add: JUMP
00000ade: JUMPDEST
00000adf: PUSH1 0x6c
00000ae1: DUP2
00000ae2: SWAP1
00000ae3: SSTORE
00000ae4: PUSH1 0x40
00000ae6: MLOAD
00000ae7: DUP6
00000ae8: SWAP2
00000ae9: CALLER
00000aea: SWAP2
00000aeb: PUSH1 0x01
00000aed: PUSH1 0x01
00000aef: PUSH1 0xa0
00000af1: SHL
00000af2: SUB
00000af3: DUP10
00000af4: AND
00000af5: SWAP2
00000af6: PUSH32 0x21db205faf35053e62272e44562f34122e27a986e21a1030f6bfc21d96eaad09
00000b17: SWAP2
00000b18: PUSH2 0x0b26
00000b1b: SWAP2
00000b1c: DUP10
00000b1d: SWAP2
00000b1e: DUP10
00000b1f: SWAP1
00000b20: DUP10
00000b21: SWAP1
00000b22: PUSH2 0x2484
00000b25: JUMP
00000b26: JUMPDEST
00000b27: PUSH1 0x40
00000b29: MLOAD
00000b2a: DUP1
00000b2b: SWAP2
00000b2c: SUB
00000b2d: SWAP1
00000b2e: LOG4
00000b2f: POP
00000b30: POP
00000b31: PUSH1 0x01
00000b33: PUSH1 0x67
00000b35: SSTORE
00000b36: POP
00000b37: POP
00000b38: POP
00000b39: JUMP
00000b3a: JUMPDEST
00000b3b: PUSH1 0x6b
00000b3d: SLOAD
00000b3e: DUP2
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: PUSH1 0x00
00000b43: SLOAD
00000b44: PUSH2 0x0100
00000b47: SWAP1
00000b48: DIV
00000b49: PUSH1 0xff
00000b4b: AND
00000b4c: DUP1
00000b4d: PUSH2 0x0b59
00000b50: JUMPI
00000b51: POP
00000b52: PUSH1 0x00
00000b54: SLOAD
00000b55: PUSH1 0xff
00000b57: AND
00000b58: ISZERO
00000b59: JUMPDEST
00000b5a: PUSH2 0x0b75
00000b5d: JUMPI
00000b5e: PUSH1 0x40
00000b60: MLOAD
00000b61: PUSH3 0x461bcd
00000b65: PUSH1 0xe5
00000b67: SHL
00000b68: DUP2
00000b69: MSTORE
00000b6a: PUSH1 0x04
00000b6c: ADD
00000b6d: PUSH2 0x0303
00000b70: SWAP1
00000b71: PUSH2 0x2115
00000b74: JUMP
00000b75: JUMPDEST
00000b76: PUSH1 0x00
00000b78: SLOAD
00000b79: PUSH2 0x0100
00000b7c: SWAP1
00000b7d: DIV
00000b7e: PUSH1 0xff
00000b80: AND
00000b81: ISZERO
00000b82: DUP1
00000b83: ISZERO
00000b84: PUSH2 0x0ba0
00000b87: JUMPI
00000b88: PUSH1 0x00
00000b8a: DUP1
00000b8b: SLOAD
00000b8c: PUSH1 0xff
00000b8e: NOT
00000b8f: PUSH2 0xff00
00000b92: NOT
00000b93: SWAP1
00000b94: SWAP2
00000b95: AND
00000b96: PUSH2 0x0100
00000b99: OR
00000b9a: AND
00000b9b: PUSH1 0x01
00000b9d: OR
00000b9e: SWAP1
00000b9f: SSTORE
00000ba0: JUMPDEST
00000ba1: PUSH2 0x0ba8
00000ba4: PUSH2 0x11fa
00000ba7: JUMP
00000ba8: JUMPDEST
00000ba9: PUSH2 0x0bb0
00000bac: PUSH2 0x126f
00000baf: JUMP
00000bb0: JUMPDEST
00000bb1: DUP4
00000bb2: DUP3
00000bb3: EQ
00000bb4: PUSH2 0x0bcf
00000bb7: JUMPI
00000bb8: PUSH1 0x40
00000bba: MLOAD
00000bbb: PUSH3 0x461bcd
00000bbf: PUSH1 0xe5
00000bc1: SHL
00000bc2: DUP2
00000bc3: MSTORE
00000bc4: PUSH1 0x04
00000bc6: ADD
00000bc7: PUSH2 0x0303
00000bca: SWAP1
00000bcb: PUSH2 0x23c7
00000bce: JUMP
00000bcf: JUMPDEST
00000bd0: PUSH1 0x00
00000bd2: DUP1
00000bd3: JUMPDEST
00000bd4: DUP4
00000bd5: DUP2
00000bd6: LT
00000bd7: ISZERO
00000bd8: PUSH2 0x0c2e
00000bdb: JUMPI
00000bdc: DUP5
00000bdd: DUP5
00000bde: DUP3
00000bdf: DUP2
00000be0: DUP2
00000be1: LT
00000be2: PUSH2 0x0bfb
00000be5: JUMPI
00000be6: PUSH4 0x4e487b71
00000beb: PUSH1 0xe0
00000bed: SHL
00000bee: PUSH1 0x00
00000bf0: MSTORE
00000bf1: PUSH1 0x32
00000bf3: PUSH1 0x04
00000bf5: MSTORE
00000bf6: PUSH1 0x24
00000bf8: PUSH1 0x00
00000bfa: REVERT
00000bfb: JUMPDEST
00000bfc: SWAP1
00000bfd: POP
00000bfe: PUSH1 0x20
00000c00: MUL
00000c01: ADD
00000c02: CALLDATALOAD
00000c03: DUP3
00000c04: PUSH2 0x0c0d
00000c07: SWAP2
00000c08: SWAP1
00000c09: PUSH2 0x2556
00000c0c: JUMP
00000c0d: JUMPDEST
00000c0e: SWAP2
00000c0f: POP
00000c10: DUP8
00000c11: DUP3
00000c12: GT
00000c13: ISZERO
00000c14: PUSH2 0x0c1c
00000c17: JUMPI
00000c18: PUSH2 0x0c2e
00000c1b: JUMP
00000c1c: JUMPDEST
00000c1d: DUP1
00000c1e: PUSH2 0x0c26
00000c21: DUP2
00000c22: PUSH2 0x25ac
00000c25: JUMP
00000c26: JUMPDEST
00000c27: SWAP2
00000c28: POP
00000c29: POP
00000c2a: PUSH2 0x0bd3
00000c2d: JUMP
00000c2e: JUMPDEST
00000c2f: POP
00000c30: DUP7
00000c31: DUP2
00000c32: GT
00000c33: PUSH2 0x0c4e
00000c36: JUMPI
00000c37: PUSH1 0x40
00000c39: MLOAD
00000c3a: PUSH3 0x461bcd
00000c3e: PUSH1 0xe5
00000c40: SHL
00000c41: DUP2
00000c42: MSTORE
00000c43: PUSH1 0x04
00000c45: ADD
00000c46: PUSH2 0x0303
00000c49: SWAP1
00000c4a: PUSH2 0x222c
00000c4d: JUMP
00000c4e: JUMPDEST
00000c4f: PUSH2 0x0c56
00000c52: PUSH2 0x1581
00000c55: JUMP
00000c56: JUMPDEST
00000c57: PUSH1 0x40
00000c59: MLOAD
00000c5a: DUP1
00000c5b: PUSH1 0xa0
00000c5d: ADD
00000c5e: PUSH1 0x40
00000c60: MSTORE
00000c61: DUP1
00000c62: DUP9
00000c63: DUP9
00000c64: DUP1
00000c65: DUP1
00000c66: PUSH1 0x20
00000c68: MUL
00000c69: PUSH1 0x20
00000c6b: ADD
00000c6c: PUSH1 0x40
00000c6e: MLOAD
00000c6f: SWAP1
00000c70: DUP2
00000c71: ADD
00000c72: PUSH1 0x40
00000c74: MSTORE
00000c75: DUP1
00000c76: SWAP4
00000c77: SWAP3
00000c78: SWAP2
00000c79: SWAP1
00000c7a: DUP2
00000c7b: DUP2
00000c7c: MSTORE
00000c7d: PUSH1 0x20
00000c7f: ADD
00000c80: DUP4
00000c81: DUP4
00000c82: PUSH1 0x20
00000c84: MUL
00000c85: DUP1
00000c86: DUP3
00000c87: DUP5
00000c88: CALLDATACOPY
00000c89: PUSH1 0x00
00000c8b: SWAP3
00000c8c: ADD
00000c8d: SWAP2
00000c8e: SWAP1
00000c8f: SWAP2
00000c90: MSTORE
00000c91: POP
00000c92: POP
00000c93: POP
00000c94: SWAP1
00000c95: DUP3
00000c96: MSTORE
00000c97: POP
00000c98: PUSH1 0x40
00000c9a: DUP1
00000c9b: MLOAD
00000c9c: PUSH1 0x20
00000c9e: DUP9
00000c9f: DUP2
00000ca0: MUL
00000ca1: DUP3
00000ca2: DUP2
00000ca3: ADD
00000ca4: DUP3
00000ca5: ADD
00000ca6: SWAP1
00000ca7: SWAP4
00000ca8: MSTORE
00000ca9: DUP9
00000caa: DUP3
00000cab: MSTORE
00000cac: SWAP3
00000cad: DUP4
00000cae: ADD
00000caf: SWAP3
00000cb0: SWAP1
00000cb1: SWAP2
00000cb2: DUP10
00000cb3: SWAP2
00000cb4: DUP10
00000cb5: SWAP2
00000cb6: DUP3
00000cb7: SWAP2
00000cb8: DUP6
00000cb9: ADD
00000cba: SWAP1
00000cbb: DUP5
00000cbc: SWAP1
00000cbd: DUP1
00000cbe: DUP3
00000cbf: DUP5
00000cc0: CALLDATACOPY
00000cc1: PUSH1 0x00
00000cc3: SWAP3
00000cc4: ADD
00000cc5: DUP3
00000cc6: SWAP1
00000cc7: MSTORE
00000cc8: POP
00000cc9: SWAP4
00000cca: DUP6
00000ccb: MSTORE
00000ccc: POP
00000ccd: POP
00000cce: POP
00000ccf: PUSH1 0x20
00000cd1: DUP3
00000cd2: ADD
00000cd3: DUP2
00000cd4: SWAP1
00000cd5: MSTORE
00000cd6: PUSH1 0x40
00000cd8: DUP3
00000cd9: ADD
00000cda: DUP2
00000cdb: SWAP1
00000cdc: MSTORE
00000cdd: PUSH1 0x60
00000cdf: SWAP1
00000ce0: SWAP2
00000ce1: ADD
00000ce2: DUP2
00000ce3: SWAP1
00000ce4: MSTORE
00000ce5: SWAP1
00000ce6: SWAP2
00000ce7: POP
00000ce8: PUSH2 0x0cf1
00000ceb: DUP3
00000cec: DUP12
00000ced: PUSH2 0x0f8c
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: PUSH1 0x6d
00000cf4: DUP12
00000cf5: SWAP1
00000cf6: SSTORE
00000cf7: PUSH1 0x6e
00000cf9: DUP11
00000cfa: SWAP1
00000cfb: SSTORE
00000cfc: PUSH1 0x68
00000cfe: DUP2
00000cff: SWAP1
00000d00: SSTORE
00000d01: PUSH1 0x6c
00000d03: SLOAD
00000d04: SWAP1
00000d05: SWAP2
00000d06: POP
00000d07: PUSH2 0x0d11
00000d0a: SWAP1
00000d0b: PUSH1 0x01
00000d0d: PUSH2 0x2556
00000d10: JUMP
00000d11: JUMPDEST
00000d12: PUSH1 0x6c
00000d14: DUP2
00000d15: SWAP1
00000d16: SSTORE
00000d17: POP
00000d18: PUSH1 0x6b
00000d1a: SLOAD
00000d1b: PUSH32 0x76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a
00000d3c: PUSH1 0x6c
00000d3e: SLOAD
00000d3f: PUSH1 0x00
00000d41: DUP1
00000d42: DUP13
00000d43: DUP13
00000d44: DUP13
00000d45: DUP13
00000d46: PUSH1 0x40
00000d48: MLOAD
00000d49: PUSH2 0x0d58
00000d4c: SWAP8
00000d4d: SWAP7
00000d4e: SWAP6
00000d4f: SWAP5
00000d50: SWAP4
00000d51: SWAP3
00000d52: SWAP2
00000d53: SWAP1
00000d54: PUSH2 0x2435
00000d57: JUMP
00000d58: JUMPDEST
00000d59: PUSH1 0x40
00000d5b: MLOAD
00000d5c: DUP1
00000d5d: SWAP2
00000d5e: SUB
00000d5f: SWAP1
00000d60: LOG2
00000d61: POP
00000d62: POP
00000d63: POP
00000d64: DUP1
00000d65: ISZERO
00000d66: PUSH2 0x0d75
00000d69: JUMPI
00000d6a: PUSH1 0x00
00000d6c: DUP1
00000d6d: SLOAD
00000d6e: PUSH2 0xff00
00000d71: NOT
00000d72: AND
00000d73: SWAP1
00000d74: SSTORE
00000d75: JUMPDEST
00000d76: POP
00000d77: POP
00000d78: POP
00000d79: POP
00000d7a: POP
00000d7b: POP
00000d7c: POP
00000d7d: JUMP
00000d7e: JUMPDEST
00000d7f: PUSH1 0x69
00000d81: PUSH1 0x20
00000d83: MSTORE
00000d84: PUSH1 0x00
00000d86: SWAP1
00000d87: DUP2
00000d88: MSTORE
00000d89: PUSH1 0x40
00000d8b: SWAP1
00000d8c: KECCAK256
00000d8d: SLOAD
00000d8e: DUP2
00000d8f: JUMP
00000d90: JUMPDEST
00000d91: PUSH1 0x6e
00000d93: SLOAD
00000d94: DUP2
00000d95: JUMP
00000d96: JUMPDEST
00000d97: PUSH1 0x68
00000d99: SLOAD
00000d9a: DUP2
00000d9b: JUMP
00000d9c: JUMPDEST
00000d9d: PUSH2 0x0da4
00000da0: PUSH2 0x0e75
00000da3: JUMP
00000da4: JUMPDEST
00000da5: PUSH1 0x01
00000da7: PUSH1 0x01
00000da9: PUSH1 0xa0
00000dab: SHL
00000dac: SUB
00000dad: AND
00000dae: PUSH2 0x0db5
00000db1: PUSH2 0x070b
00000db4: JUMP
00000db5: JUMPDEST
00000db6: PUSH1 0x01
00000db8: PUSH1 0x01
00000dba: PUSH1 0xa0
00000dbc: SHL
00000dbd: SUB
00000dbe: AND
00000dbf: EQ
00000dc0: PUSH2 0x0ddb
00000dc3: JUMPI
00000dc4: PUSH1 0x40
00000dc6: MLOAD
00000dc7: PUSH3 0x461bcd
00000dcb: PUSH1 0xe5
00000dcd: SHL
00000dce: DUP2
00000dcf: MSTORE
00000dd0: PUSH1 0x04
00000dd2: ADD
00000dd3: PUSH2 0x0303
00000dd6: SWAP1
00000dd7: PUSH2 0x21f7
00000dda: JUMP
00000ddb: JUMPDEST
00000ddc: PUSH1 0x01
00000dde: PUSH1 0x01
00000de0: PUSH1 0xa0
00000de2: SHL
00000de3: SUB
00000de4: DUP2
00000de5: AND
00000de6: PUSH2 0x0e01
00000de9: JUMPI
00000dea: PUSH1 0x40
00000dec: MLOAD
00000ded: PUSH3 0x461bcd
00000df1: PUSH1 0xe5
00000df3: SHL
00000df4: DUP2
00000df5: MSTORE
00000df6: PUSH1 0x04
00000df8: ADD
00000df9: PUSH2 0x0303
00000dfc: SWAP1
00000dfd: PUSH2 0x1fe5
00000e00: JUMP
00000e01: JUMPDEST
00000e02: PUSH1 0x33
00000e04: SLOAD
00000e05: PUSH1 0x40
00000e07: MLOAD
00000e08: PUSH1 0x01
00000e0a: PUSH1 0x01
00000e0c: PUSH1 0xa0
00000e0e: SHL
00000e0f: SUB
00000e10: DUP1
00000e11: DUP5
00000e12: AND
00000e13: SWAP3
00000e14: AND
00000e15: SWAP1
00000e16: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000e37: SWAP1
00000e38: PUSH1 0x00
00000e3a: SWAP1
00000e3b: LOG3
00000e3c: PUSH1 0x33
00000e3e: DUP1
00000e3f: SLOAD
00000e40: PUSH1 0x01
00000e42: PUSH1 0x01
00000e44: PUSH1 0xa0
00000e46: SHL
00000e47: SUB
00000e48: NOT
00000e49: AND
00000e4a: PUSH1 0x01
00000e4c: PUSH1 0x01
00000e4e: PUSH1 0xa0
00000e50: SHL
00000e51: SUB
00000e52: SWAP3
00000e53: SWAP1
00000e54: SWAP3
00000e55: AND
00000e56: SWAP2
00000e57: SWAP1
00000e58: SWAP2
00000e59: OR
00000e5a: SWAP1
00000e5b: SSTORE
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: PUSH1 0x40
00000e60: MLOAD
00000e61: PUSH3 0x461bcd
00000e65: PUSH1 0xe5
00000e67: SHL
00000e68: DUP2
00000e69: MSTORE
00000e6a: PUSH1 0x04
00000e6c: ADD
00000e6d: PUSH2 0x0303
00000e70: SWAP1
00000e71: PUSH2 0x2289
00000e74: JUMP
00000e75: JUMPDEST
00000e76: CALLER
00000e77: SWAP1
00000e78: JUMP
00000e79: JUMPDEST
00000e7a: PUSH2 0x0e81
00000e7d: PUSH2 0x036e
00000e80: JUMP
00000e81: JUMPDEST
00000e82: PUSH2 0x0e9d
00000e85: JUMPI
00000e86: PUSH1 0x40
00000e88: MLOAD
00000e89: PUSH3 0x461bcd
00000e8d: PUSH1 0xe5
00000e8f: SHL
00000e90: DUP2
00000e91: MSTORE
00000e92: PUSH1 0x04
00000e94: ADD
00000e95: PUSH2 0x0303
00000e98: SWAP1
00000e99: PUSH2 0x1f61
00000e9c: JUMP
00000e9d: JUMPDEST
00000e9e: PUSH1 0x66
00000ea0: DUP1
00000ea1: SLOAD
00000ea2: PUSH1 0xff
00000ea4: NOT
00000ea5: AND
00000ea6: SWAP1
00000ea7: SSTORE
00000ea8: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000ec9: PUSH2 0x0ed0
00000ecc: PUSH2 0x0e75
00000ecf: JUMP
00000ed0: JUMPDEST
00000ed1: PUSH1 0x40
00000ed3: MLOAD
00000ed4: PUSH2 0x0edd
00000ed7: SWAP2
00000ed8: SWAP1
00000ed9: PUSH2 0x1d80
00000edc: JUMP
00000edd: JUMPDEST
00000ede: PUSH1 0x40
00000ee0: MLOAD
00000ee1: DUP1
00000ee2: SWAP2
00000ee3: SUB
00000ee4: SWAP1
00000ee5: LOG1
00000ee6: JUMP
00000ee7: JUMPDEST
00000ee8: PUSH2 0x0eef
00000eeb: PUSH2 0x036e
00000eee: JUMP
00000eef: JUMPDEST
00000ef0: ISZERO
00000ef1: PUSH2 0x0f0c
00000ef4: JUMPI
00000ef5: PUSH1 0x40
00000ef7: MLOAD
00000ef8: PUSH3 0x461bcd
00000efc: PUSH1 0xe5
00000efe: SHL
00000eff: DUP2
00000f00: MSTORE
00000f01: PUSH1 0x04
00000f03: ADD
00000f04: PUSH2 0x0303
00000f07: SWAP1
00000f08: PUSH2 0x20eb
00000f0b: JUMP
00000f0c: JUMPDEST
00000f0d: PUSH1 0x66
00000f0f: DUP1
00000f10: SLOAD
00000f11: PUSH1 0xff
00000f13: NOT
00000f14: AND
00000f15: PUSH1 0x01
00000f17: OR
00000f18: SWAP1
00000f19: SSTORE
00000f1a: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00000f3b: PUSH2 0x0ed0
00000f3e: PUSH2 0x0e75
00000f41: JUMP
00000f42: JUMPDEST
00000f43: PUSH1 0x33
00000f45: SLOAD
00000f46: PUSH1 0x40
00000f48: MLOAD
00000f49: PUSH1 0x00
00000f4b: SWAP2
00000f4c: PUSH1 0x01
00000f4e: PUSH1 0x01
00000f50: PUSH1 0xa0
00000f52: SHL
00000f53: SUB
00000f54: AND
00000f55: SWAP1
00000f56: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f77: SWAP1
00000f78: DUP4
00000f79: SWAP1
00000f7a: LOG3
00000f7b: PUSH1 0x33
00000f7d: DUP1
00000f7e: SLOAD
00000f7f: PUSH1 0x01
00000f81: PUSH1 0x01
00000f83: PUSH1 0xa0
00000f85: SHL
00000f86: SUB
00000f87: NOT
00000f88: AND
00000f89: SWAP1
00000f8a: SSTORE
00000f8b: JUMP
00000f8c: JUMPDEST
00000f8d: PUSH1 0x00
00000f8f: DUP1
00000f90: PUSH10 0x18da1958dadc1bda5b9d
00000f9b: PUSH1 0xb2
00000f9d: SHL
00000f9e: PUSH1 0x00
00000fa0: SHL
00000fa1: SWAP1
00000fa2: POP
00000fa3: PUSH1 0x00
00000fa5: DUP4
00000fa6: DUP3
00000fa7: DUP7
00000fa8: PUSH1 0x40
00000faa: ADD
00000fab: MLOAD
00000fac: DUP8
00000fad: PUSH1 0x00
00000faf: ADD
00000fb0: MLOAD
00000fb1: DUP9
00000fb2: PUSH1 0x20
00000fb4: ADD
00000fb5: MLOAD
00000fb6: DUP10
00000fb7: PUSH1 0x60
00000fb9: ADD
00000fba: MLOAD
00000fbb: DUP11
00000fbc: PUSH1 0x80
00000fbe: ADD
00000fbf: MLOAD
00000fc0: PUSH1 0x40
00000fc2: MLOAD
00000fc3: PUSH1 0x20
00000fc5: ADD
00000fc6: PUSH2 0x0fd5
00000fc9: SWAP8
00000fca: SWAP7
00000fcb: SWAP6
00000fcc: SWAP5
00000fcd: SWAP4
00000fce: SWAP3
00000fcf: SWAP2
00000fd0: SWAP1
00000fd1: PUSH2 0x1de5
00000fd4: JUMP
00000fd5: JUMPDEST
00000fd6: PUSH1 0x40
00000fd8: DUP1
00000fd9: MLOAD
00000fda: DUP1
00000fdb: DUP4
00000fdc: SUB
00000fdd: PUSH1 0x1f
00000fdf: NOT
00000fe0: ADD
00000fe1: DUP2
00000fe2: MSTORE
00000fe3: SWAP2
00000fe4: SWAP1
00000fe5: MSTORE
00000fe6: DUP1
00000fe7: MLOAD
00000fe8: PUSH1 0x20
00000fea: SWAP1
00000feb: SWAP2
00000fec: ADD
00000fed: KECCAK256
00000fee: SWAP6
00000fef: SWAP5
00000ff0: POP
00000ff1: POP
00000ff2: POP
00000ff3: POP
00000ff4: POP
00000ff5: JUMP
00000ff6: JUMPDEST
00000ff7: PUSH1 0x00
00000ff9: DUP1
00000ffa: JUMPDEST
00000ffb: DUP9
00000ffc: MLOAD
00000ffd: DUP2
00000ffe: LT
00000fff: ISZERO
00001000: PUSH2 0x114e
00001003: JUMPI
00001004: DUP7
00001005: DUP2
00001006: DUP2
00001007: MLOAD
00001008: DUP2
00001009: LT
0000100a: PUSH2 0x1023
0000100d: JUMPI
0000100e: PUSH4 0x4e487b71
00001013: PUSH1 0xe0
00001015: SHL
00001016: PUSH1 0x00
00001018: MSTORE
00001019: PUSH1 0x32
0000101b: PUSH1 0x04
0000101d: MSTORE
0000101e: PUSH1 0x24
00001020: PUSH1 0x00
00001022: REVERT
00001023: JUMPDEST
00001024: PUSH1 0x20
00001026: MUL
00001027: PUSH1 0x20
00001029: ADD
0000102a: ADD
0000102b: MLOAD
0000102c: PUSH1 0xff
0000102e: AND
0000102f: PUSH1 0x00
00001031: EQ
00001032: PUSH2 0x113c
00001035: JUMPI
00001036: PUSH2 0x10de
00001039: DUP10
0000103a: DUP3
0000103b: DUP2
0000103c: MLOAD
0000103d: DUP2
0000103e: LT
0000103f: PUSH2 0x1058
00001042: JUMPI
00001043: PUSH4 0x4e487b71
00001048: PUSH1 0xe0
0000104a: SHL
0000104b: PUSH1 0x00
0000104d: MSTORE
0000104e: PUSH1 0x32
00001050: PUSH1 0x04
00001052: MSTORE
00001053: PUSH1 0x24
00001055: PUSH1 0x00
00001057: REVERT
00001058: JUMPDEST
00001059: PUSH1 0x20
0000105b: MUL
0000105c: PUSH1 0x20
0000105e: ADD
0000105f: ADD
00001060: MLOAD
00001061: DUP6
00001062: DUP10
00001063: DUP5
00001064: DUP2
00001065: MLOAD
00001066: DUP2
00001067: LT
00001068: PUSH2 0x1081
0000106b: JUMPI
0000106c: PUSH4 0x4e487b71
00001071: PUSH1 0xe0
00001073: SHL
00001074: PUSH1 0x00
00001076: MSTORE
00001077: PUSH1 0x32
00001079: PUSH1 0x04
0000107b: MSTORE
0000107c: PUSH1 0x24
0000107e: PUSH1 0x00
00001080: REVERT
00001081: JUMPDEST
00001082: PUSH1 0x20
00001084: MUL
00001085: PUSH1 0x20
00001087: ADD
00001088: ADD
00001089: MLOAD
0000108a: DUP10
0000108b: DUP6
0000108c: DUP2
0000108d: MLOAD
0000108e: DUP2
0000108f: LT
00001090: PUSH2 0x10a9
00001093: JUMPI
00001094: PUSH4 0x4e487b71
00001099: PUSH1 0xe0
0000109b: SHL
0000109c: PUSH1 0x00
0000109e: MSTORE
0000109f: PUSH1 0x32
000010a1: PUSH1 0x04
000010a3: MSTORE
000010a4: PUSH1 0x24
000010a6: PUSH1 0x00
000010a8: REVERT
000010a9: JUMPDEST
000010aa: PUSH1 0x20
000010ac: MUL
000010ad: PUSH1 0x20
000010af: ADD
000010b0: ADD
000010b1: MLOAD
000010b2: DUP10
000010b3: DUP7
000010b4: DUP2
000010b5: MLOAD
000010b6: DUP2
000010b7: LT
000010b8: PUSH2 0x10d1
000010bb: JUMPI
000010bc: PUSH4 0x4e487b71
000010c1: PUSH1 0xe0
000010c3: SHL
000010c4: PUSH1 0x00
000010c6: MSTORE
000010c7: PUSH1 0x32
000010c9: PUSH1 0x04
000010cb: MSTORE
000010cc: PUSH1 0x24
000010ce: PUSH1 0x00
000010d0: REVERT
000010d1: JUMPDEST
000010d2: PUSH1 0x20
000010d4: MUL
000010d5: PUSH1 0x20
000010d7: ADD
000010d8: ADD
000010d9: MLOAD
000010da: PUSH2 0x133f
000010dd: JUMP
000010de: JUMPDEST
000010df: PUSH2 0x10fa
000010e2: JUMPI
000010e3: PUSH1 0x40
000010e5: MLOAD
000010e6: PUSH3 0x461bcd
000010ea: PUSH1 0xe5
000010ec: SHL
000010ed: DUP2
000010ee: MSTORE
000010ef: PUSH1 0x04
000010f1: ADD
000010f2: PUSH2 0x0303
000010f5: SWAP1
000010f6: PUSH2 0x2062
000010f9: JUMP
000010fa: JUMPDEST
000010fb: DUP8
000010fc: DUP2
000010fd: DUP2
000010fe: MLOAD
000010ff: DUP2
00001100: LT
00001101: PUSH2 0x111a
00001104: JUMPI
00001105: PUSH4 0x4e487b71
0000110a: PUSH1 0xe0
0000110c: SHL
0000110d: PUSH1 0x00
0000110f: MSTORE
00001110: PUSH1 0x32
00001112: PUSH1 0x04
00001114: MSTORE
00001115: PUSH1 0x24
00001117: PUSH1 0x00
00001119: REVERT
0000111a: JUMPDEST
0000111b: PUSH1 0x20
0000111d: MUL
0000111e: PUSH1 0x20
00001120: ADD
00001121: ADD
00001122: MLOAD
00001123: DUP3
00001124: PUSH2 0x112d
00001127: SWAP2
00001128: SWAP1
00001129: PUSH2 0x2556
0000112c: JUMP
0000112d: JUMPDEST
0000112e: SWAP2
0000112f: POP
00001130: DUP3
00001131: DUP3
00001132: GT
00001133: ISZERO
00001134: PUSH2 0x113c
00001137: JUMPI
00001138: PUSH2 0x114e
0000113b: JUMP
0000113c: JUMPDEST
0000113d: DUP1
0000113e: PUSH2 0x1146
00001141: DUP2
00001142: PUSH2 0x25ac
00001145: JUMP
00001146: JUMPDEST
00001147: SWAP2
00001148: POP
00001149: POP
0000114a: PUSH2 0x0ffa
0000114d: JUMP
0000114e: JUMPDEST
0000114f: POP
00001150: DUP2
00001151: DUP2
00001152: GT
00001153: PUSH2 0x116e
00001156: JUMPI
00001157: PUSH1 0x40
00001159: MLOAD
0000115a: PUSH3 0x461bcd
0000115e: PUSH1 0xe5
00001160: SHL
00001161: DUP2
00001162: MSTORE
00001163: PUSH1 0x04
00001165: ADD
00001166: PUSH2 0x0303
00001169: SWAP1
0000116a: PUSH2 0x222c
0000116d: JUMP
0000116e: JUMPDEST
0000116f: POP
00001170: POP
00001171: POP
00001172: POP
00001173: POP
00001174: POP
00001175: POP
00001176: POP
00001177: JUMP
00001178: JUMPDEST
00001179: PUSH2 0x11ce
0000117c: DUP4
0000117d: PUSH4 0xa9059cbb
00001182: PUSH1 0xe0
00001184: SHL
00001185: DUP5
00001186: DUP5
00001187: PUSH1 0x40
00001189: MLOAD
0000118a: PUSH1 0x24
0000118c: ADD
0000118d: PUSH2 0x1197
00001190: SWAP3
00001191: SWAP2
00001192: SWAP1
00001193: PUSH2 0x1db8
00001196: JUMP
00001197: JUMPDEST
00001198: PUSH1 0x40
0000119a: DUP1
0000119b: MLOAD
0000119c: PUSH1 0x1f
0000119e: NOT
0000119f: DUP2
000011a0: DUP5
000011a1: SUB
000011a2: ADD
000011a3: DUP2
000011a4: MSTORE
000011a5: SWAP2
000011a6: SWAP1
000011a7: MSTORE
000011a8: PUSH1 0x20
000011aa: DUP2
000011ab: ADD
000011ac: DUP1
000011ad: MLOAD
000011ae: PUSH1 0x01
000011b0: PUSH1 0x01
000011b2: PUSH1 0xe0
000011b4: SHL
000011b5: SUB
000011b6: AND
000011b7: PUSH1 0x01
000011b9: PUSH1 0x01
000011bb: PUSH1 0xe0
000011bd: SHL
000011be: SUB
000011bf: NOT
000011c0: SWAP1
000011c1: SWAP4
000011c2: AND
000011c3: SWAP3
000011c4: SWAP1
000011c5: SWAP3
000011c6: OR
000011c7: SWAP1
000011c8: SWAP2
000011c9: MSTORE
000011ca: PUSH2 0x13da
000011cd: JUMP
000011ce: JUMPDEST
000011cf: POP
000011d0: POP
000011d1: POP
000011d2: JUMP
000011d3: JUMPDEST
000011d4: PUSH2 0x11f4
000011d7: DUP5
000011d8: PUSH4 0x23b872dd
000011dd: PUSH1 0xe0
000011df: SHL
000011e0: DUP6
000011e1: DUP6
000011e2: DUP6
000011e3: PUSH1 0x40
000011e5: MLOAD
000011e6: PUSH1 0x24
000011e8: ADD
000011e9: PUSH2 0x1197
000011ec: SWAP4
000011ed: SWAP3
000011ee: SWAP2
000011ef: SWAP1
000011f0: PUSH2 0x1d94
000011f3: JUMP
000011f4: JUMPDEST
000011f5: POP
000011f6: POP
000011f7: POP
000011f8: POP
000011f9: JUMP
000011fa: JUMPDEST
000011fb: PUSH1 0x00
000011fd: SLOAD
000011fe: PUSH2 0x0100
00001201: SWAP1
00001202: DIV
00001203: PUSH1 0xff
00001205: AND
00001206: DUP1
00001207: PUSH2 0x1213
0000120a: JUMPI
0000120b: POP
0000120c: PUSH1 0x00
0000120e: SLOAD
0000120f: PUSH1 0xff
00001211: AND
00001212: ISZERO
00001213: JUMPDEST
00001214: PUSH2 0x122f
00001217: JUMPI
00001218: PUSH1 0x40
0000121a: MLOAD
0000121b: PUSH3 0x461bcd
0000121f: PUSH1 0xe5
00001221: SHL
00001222: DUP2
00001223: MSTORE
00001224: PUSH1 0x04
00001226: ADD
00001227: PUSH2 0x0303
0000122a: SWAP1
0000122b: PUSH2 0x2115
0000122e: JUMP
0000122f: JUMPDEST
00001230: PUSH1 0x00
00001232: SLOAD
00001233: PUSH2 0x0100
00001236: SWAP1
00001237: DIV
00001238: PUSH1 0xff
0000123a: AND
0000123b: ISZERO
0000123c: DUP1
0000123d: ISZERO
0000123e: PUSH2 0x125a
00001241: JUMPI
00001242: PUSH1 0x00
00001244: DUP1
00001245: SLOAD
00001246: PUSH1 0xff
00001248: NOT
00001249: PUSH2 0xff00
0000124c: NOT
0000124d: SWAP1
0000124e: SWAP2
0000124f: AND
00001250: PUSH2 0x0100
00001253: OR
00001254: AND
00001255: PUSH1 0x01
00001257: OR
00001258: SWAP1
00001259: SSTORE
0000125a: JUMPDEST
0000125b: DUP1
0000125c: ISZERO
0000125d: PUSH2 0x126c
00001260: JUMPI
00001261: PUSH1 0x00
00001263: DUP1
00001264: SLOAD
00001265: PUSH2 0xff00
00001268: NOT
00001269: AND
0000126a: SWAP1
0000126b: SSTORE
0000126c: JUMPDEST
0000126d: POP
0000126e: JUMP
0000126f: JUMPDEST
00001270: PUSH1 0x00
00001272: SLOAD
00001273: PUSH2 0x0100
00001276: SWAP1
00001277: DIV
00001278: PUSH1 0xff
0000127a: AND
0000127b: DUP1
0000127c: PUSH2 0x1288
0000127f: JUMPI
00001280: POP
00001281: PUSH1 0x00
00001283: SLOAD
00001284: PUSH1 0xff
00001286: AND
00001287: ISZERO
00001288: JUMPDEST
00001289: PUSH2 0x12a4
0000128c: JUMPI
0000128d: PUSH1 0x40
0000128f: MLOAD
00001290: PUSH3 0x461bcd
00001294: PUSH1 0xe5
00001296: SHL
00001297: DUP2
00001298: MSTORE
00001299: PUSH1 0x04
0000129b: ADD
0000129c: PUSH2 0x0303
0000129f: SWAP1
000012a0: PUSH2 0x2115
000012a3: JUMP
000012a4: JUMPDEST
000012a5: PUSH1 0x00
000012a7: SLOAD
000012a8: PUSH2 0x0100
000012ab: SWAP1
000012ac: DIV
000012ad: PUSH1 0xff
000012af: AND
000012b0: ISZERO
000012b1: DUP1
000012b2: ISZERO
000012b3: PUSH2 0x12cf
000012b6: JUMPI
000012b7: PUSH1 0x00
000012b9: DUP1
000012ba: SLOAD
000012bb: PUSH1 0xff
000012bd: NOT
000012be: PUSH2 0xff00
000012c1: NOT
000012c2: SWAP1
000012c3: SWAP2
000012c4: AND
000012c5: PUSH2 0x0100
000012c8: OR
000012c9: AND
000012ca: PUSH1 0x01
000012cc: OR
000012cd: SWAP1
000012ce: SSTORE
000012cf: JUMPDEST
000012d0: PUSH1 0x00
000012d2: PUSH2 0x12d9
000012d5: PUSH2 0x0e75
000012d8: JUMP
000012d9: JUMPDEST
000012da: PUSH1 0x33
000012dc: DUP1
000012dd: SLOAD
000012de: PUSH1 0x01
000012e0: PUSH1 0x01
000012e2: PUSH1 0xa0
000012e4: SHL
000012e5: SUB
000012e6: NOT
000012e7: AND
000012e8: PUSH1 0x01
000012ea: PUSH1 0x01
000012ec: PUSH1 0xa0
000012ee: SHL
000012ef: SUB
000012f0: DUP4
000012f1: AND
000012f2: SWAP1
000012f3: DUP2
000012f4: OR
000012f5: SWAP1
000012f6: SWAP2
000012f7: SSTORE
000012f8: TIMESTAMP
000012f9: PUSH1 0x34
000012fb: SSTORE
000012fc: PUSH1 0x40
000012fe: MLOAD
000012ff: SWAP2
00001300: SWAP3
00001301: POP
00001302: SWAP1
00001303: PUSH1 0x00
00001305: SWAP1
00001306: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001327: SWAP1
00001328: DUP3
00001329: SWAP1
0000132a: LOG3
0000132b: POP
0000132c: DUP1
0000132d: ISZERO
0000132e: PUSH2 0x126c
00001331: JUMPI
00001332: PUSH1 0x00
00001334: DUP1
00001335: SLOAD
00001336: PUSH2 0xff00
00001339: NOT
0000133a: AND
0000133b: SWAP1
0000133c: SSTORE
0000133d: POP
0000133e: JUMP
0000133f: JUMPDEST
00001340: PUSH1 0x00
00001342: DUP1
00001343: DUP6
00001344: PUSH1 0x40
00001346: MLOAD
00001347: PUSH1 0x20
00001349: ADD
0000134a: PUSH2 0x1353
0000134d: SWAP2
0000134e: SWAP1
0000134f: PUSH2 0x1d4f
00001352: JUMP
00001353: JUMPDEST
00001354: PUSH1 0x40
00001356: MLOAD
00001357: PUSH1 0x20
00001359: DUP2
0000135a: DUP4
0000135b: SUB
0000135c: SUB
0000135d: DUP2
0000135e: MSTORE
0000135f: SWAP1
00001360: PUSH1 0x40
00001362: MSTORE
00001363: DUP1
00001364: MLOAD
00001365: SWAP1
00001366: PUSH1 0x20
00001368: ADD
00001369: KECCAK256
0000136a: SWAP1
0000136b: POP
0000136c: PUSH1 0x01
0000136e: DUP2
0000136f: DUP7
00001370: DUP7
00001371: DUP7
00001372: PUSH1 0x40
00001374: MLOAD
00001375: PUSH1 0x00
00001377: DUP2
00001378: MSTORE
00001379: PUSH1 0x20
0000137b: ADD
0000137c: PUSH1 0x40
0000137e: MSTORE
0000137f: PUSH1 0x40
00001381: MLOAD
00001382: PUSH2 0x138e
00001385: SWAP5
00001386: SWAP4
00001387: SWAP3
00001388: SWAP2
00001389: SWAP1
0000138a: PUSH2 0x1eb3
0000138d: JUMP
0000138e: JUMPDEST
0000138f: PUSH1 0x20
00001391: PUSH1 0x40
00001393: MLOAD
00001394: PUSH1 0x20
00001396: DUP2
00001397: SUB
00001398: SWAP1
00001399: DUP1
0000139a: DUP5
0000139b: SUB
0000139c: SWAP1
0000139d: DUP6
0000139e: GAS
0000139f: STATICCALL
000013a0: ISZERO
000013a1: DUP1
000013a2: ISZERO
000013a3: PUSH2 0x13b0
000013a6: JUMPI
000013a7: RETURNDATASIZE
000013a8: PUSH1 0x00
000013aa: DUP1
000013ab: RETURNDATACOPY
000013ac: RETURNDATASIZE
000013ad: PUSH1 0x00
000013af: REVERT
000013b0: JUMPDEST
000013b1: POP
000013b2: POP
000013b3: POP
000013b4: PUSH1 0x20
000013b6: PUSH1 0x40
000013b8: MLOAD
000013b9: SUB
000013ba: MLOAD
000013bb: PUSH1 0x01
000013bd: PUSH1 0x01
000013bf: PUSH1 0xa0
000013c1: SHL
000013c2: SUB
000013c3: AND
000013c4: DUP8
000013c5: PUSH1 0x01
000013c7: PUSH1 0x01
000013c9: PUSH1 0xa0
000013cb: SHL
000013cc: SUB
000013cd: AND
000013ce: EQ
000013cf: SWAP2
000013d0: POP
000013d1: POP
000013d2: SWAP6
000013d3: SWAP5
000013d4: POP
000013d5: POP
000013d6: POP
000013d7: POP
000013d8: POP
000013d9: JUMP
000013da: JUMPDEST
000013db: PUSH1 0x00
000013dd: PUSH2 0x142f
000013e0: DUP3
000013e1: PUSH1 0x40
000013e3: MLOAD
000013e4: DUP1
000013e5: PUSH1 0x40
000013e7: ADD
000013e8: PUSH1 0x40
000013ea: MSTORE
000013eb: DUP1
000013ec: PUSH1 0x20
000013ee: DUP2
000013ef: MSTORE
000013f0: PUSH1 0x20
000013f2: ADD
000013f3: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001414: DUP2
00001415: MSTORE
00001416: POP
00001417: DUP6
00001418: PUSH1 0x01
0000141a: PUSH1 0x01
0000141c: PUSH1 0xa0
0000141e: SHL
0000141f: SUB
00001420: AND
00001421: PUSH2 0x1469
00001424: SWAP1
00001425: SWAP3
00001426: SWAP2
00001427: SWAP1
00001428: PUSH4 0xffffffff
0000142d: AND
0000142e: JUMP
0000142f: JUMPDEST
00001430: DUP1
00001431: MLOAD
00001432: SWAP1
00001433: SWAP2
00001434: POP
00001435: ISZERO
00001436: PUSH2 0x11ce
00001439: JUMPI
0000143a: DUP1
0000143b: DUP1
0000143c: PUSH1 0x20
0000143e: ADD
0000143f: SWAP1
00001440: MLOAD
00001441: DUP2
00001442: ADD
00001443: SWAP1
00001444: PUSH2 0x144d
00001447: SWAP2
00001448: SWAP1
00001449: PUSH2 0x18dd
0000144c: JUMP
0000144d: JUMPDEST
0000144e: PUSH2 0x11ce
00001451: JUMPI
00001452: PUSH1 0x40
00001454: MLOAD
00001455: PUSH3 0x461bcd
00001459: PUSH1 0xe5
0000145b: SHL
0000145c: DUP2
0000145d: MSTORE
0000145e: PUSH1 0x04
00001460: ADD
00001461: PUSH2 0x0303
00001464: SWAP1
00001465: PUSH2 0x237d
00001468: JUMP
00001469: JUMPDEST
0000146a: PUSH1 0x60
0000146c: PUSH2 0x1478
0000146f: DUP5
00001470: DUP5
00001471: PUSH1 0x00
00001473: DUP6
00001474: PUSH2 0x1482
00001477: JUMP
00001478: JUMPDEST
00001479: SWAP1
0000147a: POP
0000147b: JUMPDEST
0000147c: SWAP4
0000147d: SWAP3
0000147e: POP
0000147f: POP
00001480: POP
00001481: JUMP
00001482: JUMPDEST
00001483: PUSH1 0x60
00001485: DUP3
00001486: SELFBALANCE
00001487: LT
00001488: ISZERO
00001489: PUSH2 0x14a4
0000148c: JUMPI
0000148d: PUSH1 0x40
0000148f: MLOAD
00001490: PUSH3 0x461bcd
00001494: PUSH1 0xe5
00001496: SHL
00001497: DUP2
00001498: MSTORE
00001499: PUSH1 0x04
0000149b: ADD
0000149c: PUSH2 0x0303
0000149f: SWAP1
000014a0: PUSH2 0x20a5
000014a3: JUMP
000014a4: JUMPDEST
000014a5: PUSH2 0x14ad
000014a8: DUP6
000014a9: PUSH2 0x1542
000014ac: JUMP
000014ad: JUMPDEST
000014ae: PUSH2 0x14c9
000014b1: JUMPI
000014b2: PUSH1 0x40
000014b4: MLOAD
000014b5: PUSH3 0x461bcd
000014b9: PUSH1 0xe5
000014bb: SHL
000014bc: DUP2
000014bd: MSTORE
000014be: PUSH1 0x04
000014c0: ADD
000014c1: PUSH2 0x0303
000014c4: SWAP1
000014c5: PUSH2 0x2346
000014c8: JUMP
000014c9: JUMPDEST
000014ca: PUSH1 0x00
000014cc: DUP1
000014cd: DUP7
000014ce: PUSH1 0x01
000014d0: PUSH1 0x01
000014d2: PUSH1 0xa0
000014d4: SHL
000014d5: SUB
000014d6: AND
000014d7: DUP6
000014d8: DUP8
000014d9: PUSH1 0x40
000014db: MLOAD
000014dc: PUSH2 0x14e5
000014df: SWAP2
000014e0: SWAP1
000014e1: PUSH2 0x1d33
000014e4: JUMP
000014e5: JUMPDEST
000014e6: PUSH1 0x00
000014e8: PUSH1 0x40
000014ea: MLOAD
000014eb: DUP1
000014ec: DUP4
000014ed: SUB
000014ee: DUP2
000014ef: DUP6
000014f0: DUP8
000014f1: GAS
000014f2: CALL
000014f3: SWAP3
000014f4: POP
000014f5: POP
000014f6: POP
000014f7: RETURNDATASIZE
000014f8: DUP1
000014f9: PUSH1 0x00
000014fb: DUP2
000014fc: EQ
000014fd: PUSH2 0x1522
00001500: JUMPI
00001501: PUSH1 0x40
00001503: MLOAD
00001504: SWAP2
00001505: POP
00001506: PUSH1 0x1f
00001508: NOT
00001509: PUSH1 0x3f
0000150b: RETURNDATASIZE
0000150c: ADD
0000150d: AND
0000150e: DUP3
0000150f: ADD
00001510: PUSH1 0x40
00001512: MSTORE
00001513: RETURNDATASIZE
00001514: DUP3
00001515: MSTORE
00001516: RETURNDATASIZE
00001517: PUSH1 0x00
00001519: PUSH1 0x20
0000151b: DUP5
0000151c: ADD
0000151d: RETURNDATACOPY
0000151e: PUSH2 0x1527
00001521: JUMP
00001522: JUMPDEST
00001523: PUSH1 0x60
00001525: SWAP2
00001526: POP
00001527: JUMPDEST
00001528: POP
00001529: SWAP2
0000152a: POP
0000152b: SWAP2
0000152c: POP
0000152d: PUSH2 0x1537
00001530: DUP3
00001531: DUP3
00001532: DUP7
00001533: PUSH2 0x1548
00001536: JUMP
00001537: JUMPDEST
00001538: SWAP8
00001539: SWAP7
0000153a: POP
0000153b: POP
0000153c: POP
0000153d: POP
0000153e: POP
0000153f: POP
00001540: POP
00001541: JUMP
00001542: JUMPDEST
00001543: EXTCODESIZE
00001544: ISZERO
00001545: ISZERO
00001546: SWAP1
00001547: JUMP
00001548: JUMPDEST
00001549: PUSH1 0x60
0000154b: DUP4
0000154c: ISZERO
0000154d: PUSH2 0x1557
00001550: JUMPI
00001551: POP
00001552: DUP2
00001553: PUSH2 0x147b
00001556: JUMP
00001557: JUMPDEST
00001558: DUP3
00001559: MLOAD
0000155a: ISZERO
0000155b: PUSH2 0x1567
0000155e: JUMPI
0000155f: DUP3
00001560: MLOAD
00001561: DUP1
00001562: DUP5
00001563: PUSH1 0x20
00001565: ADD
00001566: REVERT
00001567: JUMPDEST
00001568: DUP2
00001569: PUSH1 0x40
0000156b: MLOAD
0000156c: PUSH3 0x461bcd
00001570: PUSH1 0xe5
00001572: SHL
00001573: DUP2
00001574: MSTORE
00001575: PUSH1 0x04
00001577: ADD
00001578: PUSH2 0x0303
0000157b: SWAP2
0000157c: SWAP1
0000157d: PUSH2 0x1ed1
00001580: JUMP
00001581: JUMPDEST
00001582: PUSH1 0x40
00001584: MLOAD
00001585: DUP1
00001586: PUSH1 0xa0
00001588: ADD
00001589: PUSH1 0x40
0000158b: MSTORE
0000158c: DUP1
0000158d: PUSH1 0x60
0000158f: DUP2
00001590: MSTORE
00001591: PUSH1 0x20
00001593: ADD
00001594: PUSH1 0x60
00001596: DUP2
00001597: MSTORE
00001598: PUSH1 0x20
0000159a: ADD
0000159b: PUSH1 0x00
0000159d: DUP2
0000159e: MSTORE
0000159f: PUSH1 0x20
000015a1: ADD
000015a2: PUSH1 0x00
000015a4: DUP2
000015a5: MSTORE
000015a6: PUSH1 0x20
000015a8: ADD
000015a9: PUSH1 0x00
000015ab: PUSH1 0x01
000015ad: PUSH1 0x01
000015af: PUSH1 0xa0
000015b1: SHL
000015b2: SUB
000015b3: AND
000015b4: DUP2
000015b5: MSTORE
000015b6: POP
000015b7: SWAP1
000015b8: JUMP
000015b9: JUMPDEST
000015ba: DUP1
000015bb: CALLDATALOAD
000015bc: PUSH1 0x01
000015be: PUSH1 0x01
000015c0: PUSH1 0xa0
000015c2: SHL
000015c3: SUB
000015c4: DUP2
000015c5: AND
000015c6: DUP2
000015c7: EQ
000015c8: PUSH2 0x02a6
000015cb: JUMPI
000015cc: PUSH1 0x00
000015ce: DUP1
000015cf: REVERT
000015d0: JUMPDEST
000015d1: PUSH1 0x00
000015d3: DUP1
000015d4: DUP4
000015d5: PUSH1 0x1f
000015d7: DUP5
000015d8: ADD
000015d9: SLT
000015da: PUSH2 0x15e1
000015dd: JUMPI
000015de: DUP2
000015df: DUP3
000015e0: REVERT
000015e1: JUMPDEST
000015e2: POP
000015e3: DUP2
000015e4: CALLDATALOAD
000015e5: PUSH8 0xffffffffffffffff
000015ee: DUP2
000015ef: GT
000015f0: ISZERO
000015f1: PUSH2 0x15f8
000015f4: JUMPI
000015f5: DUP2
000015f6: DUP3
000015f7: REVERT
000015f8: JUMPDEST
000015f9: PUSH1 0x20
000015fb: DUP4
000015fc: ADD
000015fd: SWAP2
000015fe: POP
000015ff: DUP4
00001600: PUSH1 0x20
00001602: DUP1
00001603: DUP4
00001604: MUL
00001605: DUP6
00001606: ADD
00001607: ADD
00001608: GT
00001609: ISZERO
0000160a: PUSH2 0x1612
0000160d: JUMPI
0000160e: PUSH1 0x00
00001610: DUP1
00001611: REVERT
00001612: JUMPDEST
00001613: SWAP3
00001614: POP
00001615: SWAP3
00001616: SWAP1
00001617: POP
00001618: JUMP
00001619: JUMPDEST
0000161a: PUSH1 0x00
0000161c: DUP3
0000161d: PUSH1 0x1f
0000161f: DUP4
00001620: ADD
00001621: SLT
00001622: PUSH2 0x1629
00001625: JUMPI
00001626: DUP1
00001627: DUP2
00001628: REVERT
00001629: JUMPDEST
0000162a: DUP2
0000162b: CALLDATALOAD
0000162c: PUSH1 0x20
0000162e: PUSH2 0x163e
00001631: PUSH2 0x1639
00001634: DUP4
00001635: PUSH2 0x2532
00001638: JUMP
00001639: JUMPDEST
0000163a: PUSH2 0x2508
0000163d: JUMP
0000163e: JUMPDEST
0000163f: DUP3
00001640: DUP2
00001641: MSTORE
00001642: DUP2
00001643: DUP2
00001644: ADD
00001645: SWAP1
00001646: DUP6
00001647: DUP4
00001648: ADD
00001649: DUP4
0000164a: DUP6
0000164b: MUL
0000164c: DUP8
0000164d: ADD
0000164e: DUP5
0000164f: ADD
00001650: DUP9
00001651: LT
00001652: ISZERO
00001653: PUSH2 0x165a
00001656: JUMPI
00001657: DUP6
00001658: DUP7
00001659: REVERT
0000165a: JUMPDEST
0000165b: DUP6
0000165c: JUMPDEST
0000165d: DUP6
0000165e: DUP2
0000165f: LT
00001660: ISZERO
00001661: PUSH2 0x167f
00001664: JUMPI
00001665: PUSH2 0x166d
00001668: DUP3
00001669: PUSH2 0x15b9
0000166c: JUMP
0000166d: JUMPDEST
0000166e: DUP5
0000166f: MSTORE
00001670: SWAP3
00001671: DUP5
00001672: ADD
00001673: SWAP3
00001674: SWAP1
00001675: DUP5
00001676: ADD
00001677: SWAP1
00001678: PUSH1 0x01
0000167a: ADD
0000167b: PUSH2 0x165c
0000167e: JUMP
0000167f: JUMPDEST
00001680: POP
00001681: SWAP1
00001682: SWAP8
00001683: SWAP7
00001684: POP
00001685: POP
00001686: POP
00001687: POP
00001688: POP
00001689: POP
0000168a: POP
0000168b: JUMP
0000168c: JUMPDEST
0000168d: PUSH1 0x00
0000168f: DUP3
00001690: PUSH1 0x1f
00001692: DUP4
00001693: ADD
00001694: SLT
00001695: PUSH2 0x169c
00001698: JUMPI
00001699: DUP1
0000169a: DUP2
0000169b: REVERT
0000169c: JUMPDEST
0000169d: DUP2
0000169e: CALLDATALOAD
0000169f: PUSH1 0x20
000016a1: PUSH2 0x16ac
000016a4: PUSH2 0x1639
000016a7: DUP4
000016a8: PUSH2 0x2532
000016ab: JUMP
000016ac: JUMPDEST
000016ad: DUP3
000016ae: DUP2
000016af: MSTORE
000016b0: DUP2
000016b1: DUP2
000016b2: ADD
000016b3: SWAP1
000016b4: DUP6
000016b5: DUP4
000016b6: ADD
000016b7: DUP4
000016b8: DUP6
000016b9: MUL
000016ba: DUP8
000016bb: ADD
000016bc: DUP5
000016bd: ADD
000016be: DUP9
000016bf: LT
000016c0: ISZERO
000016c1: PUSH2 0x16c8
000016c4: JUMPI
000016c5: DUP6
000016c6: DUP7
000016c7: REVERT
000016c8: JUMPDEST
000016c9: DUP6
000016ca: JUMPDEST
000016cb: DUP6
000016cc: DUP2
000016cd: LT
000016ce: ISZERO
000016cf: PUSH2 0x167f
000016d2: JUMPI
000016d3: DUP2
000016d4: CALLDATALOAD
000016d5: DUP5
000016d6: MSTORE
000016d7: SWAP3
000016d8: DUP5
000016d9: ADD
000016da: SWAP3
000016db: SWAP1
000016dc: DUP5
000016dd: ADD
000016de: SWAP1
000016df: PUSH1 0x01
000016e1: ADD
000016e2: PUSH2 0x16ca
000016e5: JUMP
000016e6: JUMPDEST
000016e7: PUSH1 0x00
000016e9: DUP3
000016ea: PUSH1 0x1f
000016ec: DUP4
000016ed: ADD
000016ee: SLT
000016ef: PUSH2 0x16f6
000016f2: JUMPI
000016f3: DUP1
000016f4: DUP2
000016f5: REVERT
000016f6: JUMPDEST
000016f7: DUP2
000016f8: CALLDATALOAD
000016f9: PUSH1 0x20
000016fb: PUSH2 0x1706
000016fe: PUSH2 0x1639
00001701: DUP4
00001702: PUSH2 0x2532
00001705: JUMP
00001706: JUMPDEST
00001707: DUP3
00001708: DUP2
00001709: MSTORE
0000170a: DUP2
0000170b: DUP2
0000170c: ADD
0000170d: SWAP1
0000170e: DUP6
0000170f: DUP4
00001710: ADD
00001711: DUP4
00001712: DUP6
00001713: MUL
00001714: DUP8
00001715: ADD
00001716: DUP5
00001717: ADD
00001718: DUP9
00001719: LT
0000171a: ISZERO
0000171b: PUSH2 0x1722
0000171e: JUMPI
0000171f: DUP6
00001720: DUP7
00001721: REVERT
00001722: JUMPDEST
00001723: DUP6
00001724: JUMPDEST
00001725: DUP6
00001726: DUP2
00001727: LT
00001728: ISZERO
00001729: PUSH2 0x167f
0000172c: JUMPI
0000172d: PUSH2 0x1735
00001730: DUP3
00001731: PUSH2 0x184c
00001734: JUMP
00001735: JUMPDEST
00001736: DUP5
00001737: MSTORE
00001738: SWAP3
00001739: DUP5
0000173a: ADD
0000173b: SWAP3
0000173c: SWAP1
0000173d: DUP5
0000173e: ADD
0000173f: SWAP1
00001740: PUSH1 0x01
00001742: ADD
00001743: PUSH2 0x1724
00001746: JUMP
00001747: JUMPDEST
00001748: PUSH1 0x00
0000174a: DUP1
0000174b: DUP4
0000174c: PUSH1 0x1f
0000174e: DUP5
0000174f: ADD
00001750: SLT
00001751: PUSH2 0x1758
00001754: JUMPI
00001755: DUP2
00001756: DUP3
00001757: REVERT
00001758: JUMPDEST
00001759: POP
0000175a: DUP2
0000175b: CALLDATALOAD
0000175c: PUSH8 0xffffffffffffffff
00001765: DUP2
00001766: GT
00001767: ISZERO
00001768: PUSH2 0x176f
0000176b: JUMPI
0000176c: DUP2
0000176d: DUP3
0000176e: REVERT
0000176f: JUMPDEST
00001770: PUSH1 0x20
00001772: DUP4
00001773: ADD
00001774: SWAP2
00001775: POP
00001776: DUP4
00001777: PUSH1 0x20
00001779: DUP3
0000177a: DUP6
0000177b: ADD
0000177c: ADD
0000177d: GT
0000177e: ISZERO
0000177f: PUSH2 0x1612
00001782: JUMPI
00001783: PUSH1 0x00
00001785: DUP1
00001786: REVERT
00001787: JUMPDEST
00001788: PUSH1 0x00
0000178a: PUSH1 0xa0
0000178c: DUP3
0000178d: DUP5
0000178e: SUB
0000178f: SLT
00001790: ISZERO
00001791: PUSH2 0x1798
00001794: JUMPI
00001795: DUP1
00001796: DUP2
00001797: REVERT
00001798: JUMPDEST
00001799: POP
0000179a: SWAP2
0000179b: SWAP1
0000179c: POP
0000179d: JUMP
0000179e: JUMPDEST
0000179f: PUSH1 0x00
000017a1: PUSH1 0xa0
000017a3: DUP3
000017a4: DUP5
000017a5: SUB
000017a6: SLT
000017a7: ISZERO
000017a8: PUSH2 0x17af
000017ab: JUMPI
000017ac: DUP1
000017ad: DUP2
000017ae: REVERT
000017af: JUMPDEST
000017b0: PUSH1 0x40
000017b2: MLOAD
000017b3: PUSH1 0xa0
000017b5: DUP2
000017b6: ADD
000017b7: PUSH8 0xffffffffffffffff
000017c0: DUP3
000017c1: DUP3
000017c2: LT
000017c3: DUP2
000017c4: DUP4
000017c5: GT
000017c6: OR
000017c7: ISZERO
000017c8: PUSH2 0x17d3
000017cb: JUMPI
000017cc: PUSH2 0x17d3
000017cf: PUSH2 0x25dd
000017d2: JUMP
000017d3: JUMPDEST
000017d4: DUP2
000017d5: PUSH1 0x40
000017d7: MSTORE
000017d8: DUP3
000017d9: SWAP4
000017da: POP
000017db: DUP5
000017dc: CALLDATALOAD
000017dd: SWAP2
000017de: POP
000017df: DUP1
000017e0: DUP3
000017e1: GT
000017e2: ISZERO
000017e3: PUSH2 0x17eb
000017e6: JUMPI
000017e7: PUSH1 0x00
000017e9: DUP1
000017ea: REVERT
000017eb: JUMPDEST
000017ec: PUSH2 0x17f7
000017ef: DUP7
000017f0: DUP4
000017f1: DUP8
000017f2: ADD
000017f3: PUSH2 0x1619
000017f6: JUMP
000017f7: JUMPDEST
000017f8: DUP4
000017f9: MSTORE
000017fa: PUSH1 0x20
000017fc: DUP6
000017fd: ADD
000017fe: CALLDATALOAD
000017ff: SWAP2
00001800: POP
00001801: DUP1
00001802: DUP3
00001803: GT
00001804: ISZERO
00001805: PUSH2 0x180d
00001808: JUMPI
00001809: PUSH1 0x00
0000180b: DUP1
0000180c: REVERT
0000180d: JUMPDEST
0000180e: POP
0000180f: PUSH2 0x181a
00001812: DUP6
00001813: DUP3
00001814: DUP7
00001815: ADD
00001816: PUSH2 0x168c
00001819: JUMP
0000181a: JUMPDEST
0000181b: PUSH1 0x20
0000181d: DUP4
0000181e: ADD
0000181f: MSTORE
00001820: POP
00001821: PUSH1 0x40
00001823: DUP4
00001824: ADD
00001825: CALLDATALOAD
00001826: PUSH1 0x40
00001828: DUP3
00001829: ADD
0000182a: MSTORE
0000182b: PUSH1 0x60
0000182d: DUP4
0000182e: ADD
0000182f: CALLDATALOAD
00001830: PUSH1 0x60
00001832: DUP3
00001833: ADD
00001834: MSTORE
00001835: PUSH2 0x1840
00001838: PUSH1 0x80
0000183a: DUP5
0000183b: ADD
0000183c: PUSH2 0x15b9
0000183f: JUMP
00001840: JUMPDEST
00001841: PUSH1 0x80
00001843: DUP3
00001844: ADD
00001845: MSTORE
00001846: POP
00001847: SWAP3
00001848: SWAP2
00001849: POP
0000184a: POP
0000184b: JUMP
0000184c: JUMPDEST
0000184d: DUP1
0000184e: CALLDATALOAD
0000184f: PUSH1 0xff
00001851: DUP2
00001852: AND
00001853: DUP2
00001854: EQ
00001855: PUSH2 0x02a6
00001858: JUMPI
00001859: PUSH1 0x00
0000185b: DUP1
0000185c: REVERT
0000185d: JUMPDEST
0000185e: PUSH1 0x00
00001860: PUSH1 0x20
00001862: DUP3
00001863: DUP5
00001864: SUB
00001865: SLT
00001866: ISZERO
00001867: PUSH2 0x186e
0000186a: JUMPI
0000186b: DUP1
0000186c: DUP2
0000186d: REVERT
0000186e: JUMPDEST
0000186f: PUSH2 0x147b
00001872: DUP3
00001873: PUSH2 0x15b9
00001876: JUMP
00001877: JUMPDEST
00001878: PUSH1 0x00
0000187a: DUP1
0000187b: PUSH1 0x00
0000187d: DUP1
0000187e: PUSH1 0x00
00001880: PUSH1 0x80
00001882: DUP7
00001883: DUP9
00001884: SUB
00001885: SLT
00001886: ISZERO
00001887: PUSH2 0x188e
0000188a: JUMPI
0000188b: DUP1
0000188c: DUP2
0000188d: REVERT
0000188e: JUMPDEST
0000188f: PUSH2 0x1897
00001892: DUP7
00001893: PUSH2 0x15b9
00001896: JUMP
00001897: JUMPDEST
00001898: SWAP5
00001899: POP
0000189a: PUSH1 0x20
0000189c: DUP7
0000189d: ADD
0000189e: CALLDATALOAD
0000189f: SWAP4
000018a0: POP
000018a1: PUSH1 0x40
000018a3: DUP7
000018a4: ADD
000018a5: CALLDATALOAD
000018a6: SWAP3
000018a7: POP
000018a8: PUSH1 0x60
000018aa: DUP7
000018ab: ADD
000018ac: CALLDATALOAD
000018ad: PUSH8 0xffffffffffffffff
000018b6: DUP2
000018b7: GT
000018b8: ISZERO
000018b9: PUSH2 0x18c0
000018bc: JUMPI
000018bd: DUP2
000018be: DUP3
000018bf: REVERT
000018c0: JUMPDEST
000018c1: PUSH2 0x18cc
000018c4: DUP9
000018c5: DUP3
000018c6: DUP10
000018c7: ADD
000018c8: PUSH2 0x1747
000018cb: JUMP
000018cc: JUMPDEST
000018cd: SWAP7
000018ce: SWAP10
000018cf: SWAP6
000018d0: SWAP9
000018d1: POP
000018d2: SWAP4
000018d3: SWAP7
000018d4: POP
000018d5: SWAP3
000018d6: SWAP5
000018d7: SWAP4
000018d8: SWAP3
000018d9: POP
000018da: POP
000018db: POP
000018dc: JUMP
000018dd: JUMPDEST
000018de: PUSH1 0x00
000018e0: PUSH1 0x20
000018e2: DUP3
000018e3: DUP5
000018e4: SUB
000018e5: SLT
000018e6: ISZERO
000018e7: PUSH2 0x18ee
000018ea: JUMPI
000018eb: DUP1
000018ec: DUP2
000018ed: REVERT
000018ee: JUMPDEST
000018ef: DUP2
000018f0: MLOAD
000018f1: DUP1
000018f2: ISZERO
000018f3: ISZERO
000018f4: DUP2
000018f5: EQ
000018f6: PUSH2 0x147b
000018f9: JUMPI
000018fa: DUP2
000018fb: DUP3
000018fc: REVERT
000018fd: JUMPDEST
000018fe: PUSH1 0x00
00001900: PUSH1 0x20
00001902: DUP3
00001903: DUP5
00001904: SUB
00001905: SLT
00001906: ISZERO
00001907: PUSH2 0x190e
0000190a: JUMPI
0000190b: DUP1
0000190c: DUP2
0000190d: REVERT
0000190e: JUMPDEST
0000190f: POP
00001910: CALLDATALOAD
00001911: SWAP2
00001912: SWAP1
00001913: POP
00001914: JUMP
00001915: JUMPDEST
00001916: PUSH1 0x00
00001918: DUP1
00001919: PUSH1 0x00
0000191b: DUP1
0000191c: PUSH1 0x00
0000191e: DUP1
0000191f: PUSH1 0x80
00001921: DUP8
00001922: DUP10
00001923: SUB
00001924: SLT
00001925: ISZERO
00001926: PUSH2 0x192d
00001929: JUMPI
0000192a: DUP4
0000192b: DUP5
0000192c: REVERT
0000192d: JUMPDEST
0000192e: DUP7
0000192f: CALLDATALOAD
00001930: SWAP6
00001931: POP
00001932: PUSH1 0x20
00001934: DUP8
00001935: ADD
00001936: CALLDATALOAD
00001937: SWAP5
00001938: POP
00001939: PUSH1 0x40
0000193b: DUP8
0000193c: ADD
0000193d: CALLDATALOAD
0000193e: PUSH8 0xffffffffffffffff
00001947: DUP1
00001948: DUP3
00001949: GT
0000194a: ISZERO
0000194b: PUSH2 0x1952
0000194e: JUMPI
0000194f: DUP6
00001950: DUP7
00001951: REVERT
00001952: JUMPDEST
00001953: PUSH2 0x195e
00001956: DUP11
00001957: DUP4
00001958: DUP12
00001959: ADD
0000195a: PUSH2 0x15d0
0000195d: JUMP
0000195e: JUMPDEST
0000195f: SWAP1
00001960: SWAP7
00001961: POP
00001962: SWAP5
00001963: POP
00001964: PUSH1 0x60
00001966: DUP10
00001967: ADD
00001968: CALLDATALOAD
00001969: SWAP2
0000196a: POP
0000196b: DUP1
0000196c: DUP3
0000196d: GT
0000196e: ISZERO
0000196f: PUSH2 0x1976
00001972: JUMPI
00001973: DUP3
00001974: DUP4
00001975: REVERT
00001976: JUMPDEST
00001977: POP
00001978: PUSH2 0x1983
0000197b: DUP10
0000197c: DUP3
0000197d: DUP11
0000197e: ADD
0000197f: PUSH2 0x15d0
00001982: JUMP
00001983: JUMPDEST
00001984: SWAP8
00001985: SWAP11
00001986: SWAP7
00001987: SWAP10
00001988: POP
00001989: SWAP5
0000198a: SWAP8
0000198b: POP
0000198c: SWAP3
0000198d: SWAP6
0000198e: SWAP4
0000198f: SWAP5
00001990: SWAP3
00001991: POP
00001992: POP
00001993: POP
00001994: JUMP
00001995: JUMPDEST
00001996: PUSH1 0x00
00001998: DUP1
00001999: PUSH1 0x00
0000199b: DUP1
0000199c: PUSH1 0x00
0000199e: DUP1
0000199f: PUSH1 0x00
000019a1: PUSH1 0x80
000019a3: DUP9
000019a4: DUP11
000019a5: SUB
000019a6: SLT
000019a7: ISZERO
000019a8: PUSH2 0x19af
000019ab: JUMPI
000019ac: DUP5
000019ad: DUP6
000019ae: REVERT
000019af: JUMPDEST
000019b0: DUP8
000019b1: CALLDATALOAD
000019b2: PUSH8 0xffffffffffffffff
000019bb: DUP1
000019bc: DUP3
000019bd: GT
000019be: ISZERO
000019bf: PUSH2 0x19c6
000019c2: JUMPI
000019c3: DUP7
000019c4: DUP8
000019c5: REVERT
000019c6: JUMPDEST
000019c7: PUSH2 0x19d2
000019ca: DUP12
000019cb: DUP4
000019cc: DUP13
000019cd: ADD
000019ce: PUSH2 0x1747
000019d1: JUMP
000019d2: JUMPDEST
000019d3: SWAP1
000019d4: SWAP10
000019d5: POP
000019d6: SWAP8
000019d7: POP
000019d8: PUSH1 0x20
000019da: DUP11
000019db: ADD
000019dc: CALLDATALOAD
000019dd: SWAP2
000019de: POP
000019df: DUP1
000019e0: DUP3
000019e1: GT
000019e2: ISZERO
000019e3: PUSH2 0x19ea
000019e6: JUMPI
000019e7: DUP7
000019e8: DUP8
000019e9: REVERT
000019ea: JUMPDEST
000019eb: PUSH2 0x19f6
000019ee: DUP12
000019ef: DUP4
000019f0: DUP13
000019f1: ADD
000019f2: PUSH2 0x1747
000019f5: JUMP
000019f6: JUMPDEST
000019f7: SWAP1
000019f8: SWAP8
000019f9: POP
000019fa: SWAP6
000019fb: POP
000019fc: PUSH1 0x40
000019fe: DUP11
000019ff: ADD
00001a00: CALLDATALOAD
00001a01: SWAP2
00001a02: POP
00001a03: DUP1
00001a04: DUP3
00001a05: GT
00001a06: ISZERO
00001a07: PUSH2 0x1a0e
00001a0a: JUMPI
00001a0b: DUP3
00001a0c: DUP4
00001a0d: REVERT
00001a0e: JUMPDEST
00001a0f: POP
00001a10: PUSH2 0x1a1b
00001a13: DUP11
00001a14: DUP3
00001a15: DUP12
00001a16: ADD
00001a17: PUSH2 0x1747
00001a1a: JUMP
00001a1b: JUMPDEST
00001a1c: SWAP1
00001a1d: SWAP5
00001a1e: POP
00001a1f: SWAP3
00001a20: POP
00001a21: PUSH2 0x1a2e
00001a24: SWAP1
00001a25: POP
00001a26: PUSH1 0x60
00001a28: DUP10
00001a29: ADD
00001a2a: PUSH2 0x184c
00001a2d: JUMP
00001a2e: JUMPDEST
00001a2f: SWAP1
00001a30: POP
00001a31: SWAP3
00001a32: SWAP6
00001a33: SWAP9
00001a34: SWAP2
00001a35: SWAP5
00001a36: SWAP8
00001a37: POP
00001a38: SWAP3
00001a39: SWAP6
00001a3a: POP
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH1 0x00
00001a3f: DUP1
00001a40: PUSH1 0x00
00001a42: DUP1
00001a43: PUSH1 0x00
00001a45: DUP1
00001a46: PUSH1 0x00
00001a48: DUP1
00001a49: PUSH1 0xa0
00001a4b: DUP10
00001a4c: DUP12
00001a4d: SUB
00001a4e: SLT
00001a4f: ISZERO
00001a50: PUSH2 0x1a57
00001a53: JUMPI
00001a54: DUP2
00001a55: DUP3
00001a56: REVERT
00001a57: JUMPDEST
00001a58: DUP9
00001a59: CALLDATALOAD
00001a5a: PUSH8 0xffffffffffffffff
00001a63: DUP1
00001a64: DUP3
00001a65: GT
00001a66: ISZERO
00001a67: PUSH2 0x1a6e
00001a6a: JUMPI
00001a6b: DUP4
00001a6c: DUP5
00001a6d: REVERT
00001a6e: JUMPDEST
00001a6f: PUSH2 0x1a7a
00001a72: DUP13
00001a73: DUP4
00001a74: DUP14
00001a75: ADD
00001a76: PUSH2 0x1787
00001a79: JUMP
00001a7a: JUMPDEST
00001a7b: SWAP10
00001a7c: POP
00001a7d: PUSH1 0x20
00001a7f: DUP12
00001a80: ADD
00001a81: CALLDATALOAD
00001a82: SWAP2
00001a83: POP
00001a84: DUP1
00001a85: DUP3
00001a86: GT
00001a87: ISZERO
00001a88: PUSH2 0x1a8f
00001a8b: JUMPI
00001a8c: DUP4
00001a8d: DUP5
00001a8e: REVERT
00001a8f: JUMPDEST
00001a90: PUSH2 0x1a9b
00001a93: DUP13
00001a94: DUP4
00001a95: DUP14
00001a96: ADD
00001a97: PUSH2 0x1787
00001a9a: JUMP
00001a9b: JUMPDEST
00001a9c: SWAP9
00001a9d: POP
00001a9e: PUSH1 0x40
00001aa0: DUP12
00001aa1: ADD
00001aa2: CALLDATALOAD
00001aa3: SWAP2
00001aa4: POP
00001aa5: DUP1
00001aa6: DUP3
00001aa7: GT
00001aa8: ISZERO
00001aa9: PUSH2 0x1ab0
00001aac: JUMPI
00001aad: DUP4
00001aae: DUP5
00001aaf: REVERT
00001ab0: JUMPDEST
00001ab1: PUSH2 0x1abc
00001ab4: DUP13
00001ab5: DUP4
00001ab6: DUP14
00001ab7: ADD
00001ab8: PUSH2 0x15d0
00001abb: JUMP
00001abc: JUMPDEST
00001abd: SWAP1
00001abe: SWAP9
00001abf: POP
00001ac0: SWAP7
00001ac1: POP
00001ac2: PUSH1 0x60
00001ac4: DUP12
00001ac5: ADD
00001ac6: CALLDATALOAD
00001ac7: SWAP2
00001ac8: POP
00001ac9: DUP1
00001aca: DUP3
00001acb: GT
00001acc: ISZERO
00001acd: PUSH2 0x1ad4
00001ad0: JUMPI
00001ad1: DUP4
00001ad2: DUP5
00001ad3: REVERT
00001ad4: JUMPDEST
00001ad5: PUSH2 0x1ae0
00001ad8: DUP13
00001ad9: DUP4
00001ada: DUP14
00001adb: ADD
00001adc: PUSH2 0x15d0
00001adf: JUMP
00001ae0: JUMPDEST
00001ae1: SWAP1
00001ae2: SWAP7
00001ae3: POP
00001ae4: SWAP5
00001ae5: POP
00001ae6: PUSH1 0x80
00001ae8: DUP12
00001ae9: ADD
00001aea: CALLDATALOAD
00001aeb: SWAP2
00001aec: POP
00001aed: DUP1
00001aee: DUP3
00001aef: GT
00001af0: ISZERO
00001af1: PUSH2 0x1af8
00001af4: JUMPI
00001af5: DUP4
00001af6: DUP5
00001af7: REVERT
00001af8: JUMPDEST
00001af9: POP
00001afa: PUSH2 0x1b05
00001afd: DUP12
00001afe: DUP3
00001aff: DUP13
00001b00: ADD
00001b01: PUSH2 0x15d0
00001b04: JUMP
00001b05: JUMPDEST
00001b06: SWAP10
00001b07: SWAP13
00001b08: SWAP9
00001b09: SWAP12
00001b0a: POP
00001b0b: SWAP7
00001b0c: SWAP10
00001b0d: POP
00001b0e: SWAP5
00001b0f: SWAP8
00001b10: SWAP4
00001b11: SWAP7
00001b12: SWAP3
00001b13: SWAP6
00001b14: SWAP5
00001b15: POP
00001b16: POP
00001b17: POP
00001b18: JUMP
00001b19: JUMPDEST
00001b1a: PUSH1 0x00
00001b1c: DUP1
00001b1d: PUSH1 0x00
00001b1f: DUP1
00001b20: PUSH1 0x00
00001b22: DUP1
00001b23: PUSH1 0x00
00001b25: DUP1
00001b26: PUSH1 0x00
00001b28: DUP1
00001b29: PUSH2 0x0140
00001b2c: DUP12
00001b2d: DUP14
00001b2e: SUB
00001b2f: SLT
00001b30: ISZERO
00001b31: PUSH2 0x1b38
00001b34: JUMPI
00001b35: DUP4
00001b36: DUP5
00001b37: REVERT
00001b38: JUMPDEST
00001b39: DUP11
00001b3a: CALLDATALOAD
00001b3b: PUSH8 0xffffffffffffffff
00001b44: DUP1
00001b45: DUP3
00001b46: GT
00001b47: ISZERO
00001b48: PUSH2 0x1b4f
00001b4b: JUMPI
00001b4c: DUP6
00001b4d: DUP7
00001b4e: REVERT
00001b4f: JUMPDEST
00001b50: PUSH2 0x1b5b
00001b53: DUP15
00001b54: DUP4
00001b55: DUP16
00001b56: ADD
00001b57: PUSH2 0x179e
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: SWAP12
00001b5d: POP
00001b5e: PUSH1 0x20
00001b60: DUP14
00001b61: ADD
00001b62: CALLDATALOAD
00001b63: SWAP2
00001b64: POP
00001b65: DUP1
00001b66: DUP3
00001b67: GT
00001b68: ISZERO
00001b69: PUSH2 0x1b70
00001b6c: JUMPI
00001b6d: DUP6
00001b6e: DUP7
00001b6f: REVERT
00001b70: JUMPDEST
00001b71: PUSH2 0x1b7c
00001b74: DUP15
00001b75: DUP4
00001b76: DUP16
00001b77: ADD
00001b78: PUSH2 0x16e6
00001b7b: JUMP
00001b7c: JUMPDEST
00001b7d: SWAP11
00001b7e: POP
00001b7f: PUSH1 0x40
00001b81: DUP14
00001b82: ADD
00001b83: CALLDATALOAD
00001b84: SWAP2
00001b85: POP
00001b86: DUP1
00001b87: DUP3
00001b88: GT
00001b89: ISZERO
00001b8a: PUSH2 0x1b91
00001b8d: JUMPI
00001b8e: DUP6
00001b8f: DUP7
00001b90: REVERT
00001b91: JUMPDEST
00001b92: PUSH2 0x1b9d
00001b95: DUP15
00001b96: DUP4
00001b97: DUP16
00001b98: ADD
00001b99: PUSH2 0x168c
00001b9c: JUMP
00001b9d: JUMPDEST
00001b9e: SWAP10
00001b9f: POP
00001ba0: PUSH1 0x60
00001ba2: DUP14
00001ba3: ADD
00001ba4: CALLDATALOAD
00001ba5: SWAP2
00001ba6: POP
00001ba7: DUP1
00001ba8: DUP3
00001ba9: GT
00001baa: ISZERO
00001bab: PUSH2 0x1bb2
00001bae: JUMPI
00001baf: DUP6
00001bb0: DUP7
00001bb1: REVERT
00001bb2: JUMPDEST
00001bb3: PUSH2 0x1bbe
00001bb6: DUP15
00001bb7: DUP4
00001bb8: DUP16
00001bb9: ADD
00001bba: PUSH2 0x168c
00001bbd: JUMP
00001bbe: JUMPDEST
00001bbf: SWAP9
00001bc0: POP
00001bc1: PUSH1 0x80
00001bc3: DUP14
00001bc4: ADD
00001bc5: CALLDATALOAD
00001bc6: SWAP2
00001bc7: POP
00001bc8: DUP1
00001bc9: DUP3
00001bca: GT
00001bcb: ISZERO
00001bcc: PUSH2 0x1bd3
00001bcf: JUMPI
00001bd0: DUP6
00001bd1: DUP7
00001bd2: REVERT
00001bd3: JUMPDEST
00001bd4: PUSH2 0x1bdf
00001bd7: DUP15
00001bd8: DUP4
00001bd9: DUP16
00001bda: ADD
00001bdb: PUSH2 0x168c
00001bde: JUMP
00001bdf: JUMPDEST
00001be0: SWAP8
00001be1: POP
00001be2: PUSH1 0xa0
00001be4: DUP14
00001be5: ADD
00001be6: CALLDATALOAD
00001be7: SWAP2
00001be8: POP
00001be9: DUP1
00001bea: DUP3
00001beb: GT
00001bec: ISZERO
00001bed: PUSH2 0x1bf4
00001bf0: JUMPI
00001bf1: DUP6
00001bf2: DUP7
00001bf3: REVERT
00001bf4: JUMPDEST
00001bf5: PUSH2 0x1c00
00001bf8: DUP15
00001bf9: DUP4
00001bfa: DUP16
00001bfb: ADD
00001bfc: PUSH2 0x1619
00001bff: JUMP
00001c00: JUMPDEST
00001c01: SWAP7
00001c02: POP
00001c03: PUSH1 0xc0
00001c05: DUP14
00001c06: ADD
00001c07: CALLDATALOAD
00001c08: SWAP2
00001c09: POP
00001c0a: DUP1
00001c0b: DUP3
00001c0c: GT
00001c0d: ISZERO
00001c0e: PUSH2 0x1c15
00001c11: JUMPI
00001c12: DUP6
00001c13: DUP7
00001c14: REVERT
00001c15: JUMPDEST
00001c16: POP
00001c17: PUSH2 0x1c22
00001c1a: DUP14
00001c1b: DUP3
00001c1c: DUP15
00001c1d: ADD
00001c1e: PUSH2 0x168c
00001c21: JUMP
00001c22: JUMPDEST
00001c23: SWAP5
00001c24: POP
00001c25: POP
00001c26: PUSH1 0xe0
00001c28: DUP12
00001c29: ADD
00001c2a: CALLDATALOAD
00001c2b: SWAP3
00001c2c: POP
00001c2d: PUSH2 0x1c39
00001c30: PUSH2 0x0100
00001c33: DUP13
00001c34: ADD
00001c35: PUSH2 0x15b9
00001c38: JUMP
00001c39: JUMPDEST
00001c3a: SWAP2
00001c3b: POP
00001c3c: PUSH2 0x0120
00001c3f: DUP12
00001c40: ADD
00001c41: CALLDATALOAD
00001c42: SWAP1
00001c43: POP
00001c44: SWAP3
00001c45: SWAP6
00001c46: SWAP9
00001c47: SWAP12
00001c48: SWAP2
00001c49: SWAP5
00001c4a: SWAP8
00001c4b: SWAP11
00001c4c: POP
00001c4d: SWAP3
00001c4e: SWAP6
00001c4f: SWAP9
00001c50: POP
00001c51: JUMP
00001c52: JUMPDEST
00001c53: PUSH1 0x00
00001c55: DUP3
00001c56: DUP5
00001c57: MSTORE
00001c58: PUSH1 0x20
00001c5a: DUP1
00001c5b: DUP6
00001c5c: ADD
00001c5d: SWAP5
00001c5e: POP
00001c5f: DUP3
00001c60: DUP3
00001c61: JUMPDEST
00001c62: DUP6
00001c63: DUP2
00001c64: LT
00001c65: ISZERO
00001c66: PUSH2 0x1c8d
00001c69: JUMPI
00001c6a: PUSH1 0x01
00001c6c: PUSH1 0x01
00001c6e: PUSH1 0xa0
00001c70: SHL
00001c71: SUB
00001c72: PUSH2 0x1c7a
00001c75: DUP4
00001c76: PUSH2 0x15b9
00001c79: JUMP
00001c7a: JUMPDEST
00001c7b: AND
00001c7c: DUP8
00001c7d: MSTORE
00001c7e: SWAP6
00001c7f: DUP3
00001c80: ADD
00001c81: SWAP6
00001c82: SWAP1
00001c83: DUP3
00001c84: ADD
00001c85: SWAP1
00001c86: PUSH1 0x01
00001c88: ADD
00001c89: PUSH2 0x1c61
00001c8c: JUMP
00001c8d: JUMPDEST
00001c8e: POP
00001c8f: SWAP5
00001c90: SWAP6
00001c91: SWAP5
00001c92: POP
00001c93: POP
00001c94: POP
00001c95: POP
00001c96: POP
00001c97: JUMP
00001c98: JUMPDEST
00001c99: PUSH1 0x00
00001c9b: DUP2
00001c9c: MLOAD
00001c9d: DUP1
00001c9e: DUP5
00001c9f: MSTORE
00001ca0: PUSH1 0x20
00001ca2: DUP1
00001ca3: DUP6
00001ca4: ADD
00001ca5: SWAP5
00001ca6: POP
00001ca7: DUP1
00001ca8: DUP5
00001ca9: ADD
00001caa: DUP4
00001cab: JUMPDEST
00001cac: DUP4
00001cad: DUP2
00001cae: LT
00001caf: ISZERO
00001cb0: PUSH2 0x1c8d
00001cb3: JUMPI
00001cb4: DUP2
00001cb5: MLOAD
00001cb6: PUSH1 0x01
00001cb8: PUSH1 0x01
00001cba: PUSH1 0xa0
00001cbc: SHL
00001cbd: SUB
00001cbe: AND
00001cbf: DUP8
00001cc0: MSTORE
00001cc1: SWAP6
00001cc2: DUP3
00001cc3: ADD
00001cc4: SWAP6
00001cc5: SWAP1
00001cc6: DUP3
00001cc7: ADD
00001cc8: SWAP1
00001cc9: PUSH1 0x01
00001ccb: ADD
00001ccc: PUSH2 0x1cab
00001ccf: JUMP
00001cd0: JUMPDEST
00001cd1: DUP2
00001cd2: DUP4
00001cd3: MSTORE
00001cd4: PUSH1 0x00
00001cd6: PUSH1 0x01
00001cd8: PUSH1 0x01
00001cda: PUSH1 0xfb
00001cdc: SHL
00001cdd: SUB
00001cde: DUP4
00001cdf: GT
00001ce0: ISZERO
00001ce1: PUSH2 0x1ce8
00001ce4: JUMPI
00001ce5: DUP1
00001ce6: DUP2
00001ce7: REVERT
00001ce8: JUMPDEST
00001ce9: PUSH1 0x20
00001ceb: DUP4
00001cec: MUL
00001ced: DUP1
00001cee: DUP4
00001cef: PUSH1 0x20
00001cf1: DUP8
00001cf2: ADD
00001cf3: CALLDATACOPY
00001cf4: SWAP4
00001cf5: SWAP1
00001cf6: SWAP4
00001cf7: ADD
00001cf8: PUSH1 0x20
00001cfa: ADD
00001cfb: SWAP3
00001cfc: DUP4
00001cfd: MSTORE
00001cfe: POP
00001cff: SWAP1
00001d00: SWAP2
00001d01: SWAP1
00001d02: POP
00001d03: JUMP
00001d04: JUMPDEST
00001d05: PUSH1 0x00
00001d07: DUP2
00001d08: MLOAD
00001d09: DUP1
00001d0a: DUP5
00001d0b: MSTORE
00001d0c: PUSH1 0x20
00001d0e: DUP1
00001d0f: DUP6
00001d10: ADD
00001d11: SWAP5
00001d12: POP
00001d13: DUP1
00001d14: DUP5
00001d15: ADD
00001d16: DUP4
00001d17: JUMPDEST
00001d18: DUP4
00001d19: DUP2
00001d1a: LT
00001d1b: ISZERO
00001d1c: PUSH2 0x1c8d
00001d1f: JUMPI
00001d20: DUP2
00001d21: MLOAD
00001d22: DUP8
00001d23: MSTORE
00001d24: SWAP6
00001d25: DUP3
00001d26: ADD
00001d27: SWAP6
00001d28: SWAP1
00001d29: DUP3
00001d2a: ADD
00001d2b: SWAP1
00001d2c: PUSH1 0x01
00001d2e: ADD
00001d2f: PUSH2 0x1d17
00001d32: JUMP
00001d33: JUMPDEST
00001d34: PUSH1 0x00
00001d36: DUP3
00001d37: MLOAD
00001d38: PUSH2 0x1d45
00001d3b: DUP2
00001d3c: DUP5
00001d3d: PUSH1 0x20
00001d3f: DUP8
00001d40: ADD
00001d41: PUSH2 0x2580
00001d44: JUMP
00001d45: JUMPDEST
00001d46: SWAP2
00001d47: SWAP1
00001d48: SWAP2
00001d49: ADD
00001d4a: SWAP3
00001d4b: SWAP2
00001d4c: POP
00001d4d: POP
00001d4e: JUMP
00001d4f: JUMPDEST
00001d50: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00001d71: DUP2
00001d72: MSTORE
00001d73: PUSH1 0x1c
00001d75: DUP2
00001d76: ADD
00001d77: SWAP2
00001d78: SWAP1
00001d79: SWAP2
00001d7a: MSTORE
00001d7b: PUSH1 0x3c
00001d7d: ADD
00001d7e: SWAP1
00001d7f: JUMP
00001d80: JUMPDEST
00001d81: PUSH1 0x01
00001d83: PUSH1 0x01
00001d85: PUSH1 0xa0
00001d87: SHL
00001d88: SUB
00001d89: SWAP2
00001d8a: SWAP1
00001d8b: SWAP2
00001d8c: AND
00001d8d: DUP2
00001d8e: MSTORE
00001d8f: PUSH1 0x20
00001d91: ADD
00001d92: SWAP1
00001d93: JUMP
00001d94: JUMPDEST
00001d95: PUSH1 0x01
00001d97: PUSH1 0x01
00001d99: PUSH1 0xa0
00001d9b: SHL
00001d9c: SUB
00001d9d: SWAP4
00001d9e: DUP5
00001d9f: AND
00001da0: DUP2
00001da1: MSTORE
00001da2: SWAP2
00001da3: SWAP1
00001da4: SWAP3
00001da5: AND
00001da6: PUSH1 0x20
00001da8: DUP3
00001da9: ADD
00001daa: MSTORE
00001dab: PUSH1 0x40
00001dad: DUP2
00001dae: ADD
00001daf: SWAP2
00001db0: SWAP1
00001db1: SWAP2
00001db2: MSTORE
00001db3: PUSH1 0x60
00001db5: ADD
00001db6: SWAP1
00001db7: JUMP
00001db8: JUMPDEST
00001db9: PUSH1 0x01
00001dbb: PUSH1 0x01
00001dbd: PUSH1 0xa0
00001dbf: SHL
00001dc0: SUB
00001dc1: SWAP3
00001dc2: SWAP1
00001dc3: SWAP3
00001dc4: AND
00001dc5: DUP3
00001dc6: MSTORE
00001dc7: PUSH1 0x20
00001dc9: DUP3
00001dca: ADD
00001dcb: MSTORE
00001dcc: PUSH1 0x40
00001dce: ADD
00001dcf: SWAP1
00001dd0: JUMP
00001dd1: JUMPDEST
00001dd2: SWAP1
00001dd3: ISZERO
00001dd4: ISZERO
00001dd5: DUP2
00001dd6: MSTORE
00001dd7: PUSH1 0x20
00001dd9: ADD
00001dda: SWAP1
00001ddb: JUMP
00001ddc: JUMPDEST
00001ddd: SWAP1
00001dde: DUP2
00001ddf: MSTORE
00001de0: PUSH1 0x20
00001de2: ADD
00001de3: SWAP1
00001de4: JUMP
00001de5: JUMPDEST
00001de6: PUSH1 0x00
00001de8: DUP9
00001de9: DUP3
00001dea: MSTORE
00001deb: DUP8
00001dec: PUSH1 0x20
00001dee: DUP4
00001def: ADD
00001df0: MSTORE
00001df1: DUP7
00001df2: PUSH1 0x40
00001df4: DUP4
00001df5: ADD
00001df6: MSTORE
00001df7: PUSH1 0xe0
00001df9: PUSH1 0x60
00001dfb: DUP4
00001dfc: ADD
00001dfd: MSTORE
00001dfe: PUSH2 0x1e0a
00001e01: PUSH1 0xe0
00001e03: DUP4
00001e04: ADD
00001e05: DUP8
00001e06: PUSH2 0x1c98
00001e09: JUMP
00001e0a: JUMPDEST
00001e0b: DUP3
00001e0c: DUP2
00001e0d: SUB
00001e0e: PUSH1 0x80
00001e10: DUP5
00001e11: ADD
00001e12: MSTORE
00001e13: PUSH2 0x1e1c
00001e16: DUP2
00001e17: DUP8
00001e18: PUSH2 0x1d04
00001e1b: JUMP
00001e1c: JUMPDEST
00001e1d: PUSH1 0xa0
00001e1f: DUP5
00001e20: ADD
00001e21: SWAP6
00001e22: SWAP1
00001e23: SWAP6
00001e24: MSTORE
00001e25: POP
00001e26: POP
00001e27: PUSH1 0x01
00001e29: PUSH1 0x01
00001e2b: PUSH1 0xa0
00001e2d: SHL
00001e2e: SUB
00001e2f: SWAP2
00001e30: SWAP1
00001e31: SWAP2
00001e32: AND
00001e33: PUSH1 0xc0
00001e35: SWAP1
00001e36: SWAP2
00001e37: ADD
00001e38: MSTORE
00001e39: SWAP6
00001e3a: SWAP5
00001e3b: POP
00001e3c: POP
00001e3d: POP
00001e3e: POP
00001e3f: POP
00001e40: JUMP
00001e41: JUMPDEST
00001e42: PUSH1 0x00
00001e44: PUSH2 0x0100
00001e47: DUP11
00001e48: DUP4
00001e49: MSTORE
00001e4a: DUP10
00001e4b: PUSH1 0x20
00001e4d: DUP5
00001e4e: ADD
00001e4f: MSTORE
00001e50: DUP1
00001e51: PUSH1 0x40
00001e53: DUP5
00001e54: ADD
00001e55: MSTORE
00001e56: PUSH2 0x1e61
00001e59: DUP2
00001e5a: DUP5
00001e5b: ADD
00001e5c: DUP11
00001e5d: PUSH2 0x1d04
00001e60: JUMP
00001e61: JUMPDEST
00001e62: SWAP1
00001e63: POP
00001e64: DUP3
00001e65: DUP2
00001e66: SUB
00001e67: PUSH1 0x60
00001e69: DUP5
00001e6a: ADD
00001e6b: MSTORE
00001e6c: PUSH2 0x1e75
00001e6f: DUP2
00001e70: DUP10
00001e71: PUSH2 0x1c98
00001e74: JUMP
00001e75: JUMPDEST
00001e76: SWAP1
00001e77: POP
00001e78: DUP3
00001e79: DUP2
00001e7a: SUB
00001e7b: PUSH1 0x80
00001e7d: DUP5
00001e7e: ADD
00001e7f: MSTORE
00001e80: PUSH2 0x1e89
00001e83: DUP2
00001e84: DUP9
00001e85: PUSH2 0x1d04
00001e88: JUMP
00001e89: JUMPDEST
00001e8a: PUSH1 0xa0
00001e8c: DUP5
00001e8d: ADD
00001e8e: SWAP7
00001e8f: SWAP1
00001e90: SWAP7
00001e91: MSTORE
00001e92: POP
00001e93: POP
00001e94: PUSH1 0x01
00001e96: PUSH1 0x01
00001e98: PUSH1 0xa0
00001e9a: SHL
00001e9b: SUB
00001e9c: SWAP3
00001e9d: SWAP1
00001e9e: SWAP3
00001e9f: AND
00001ea0: PUSH1 0xc0
00001ea2: DUP4
00001ea3: ADD
00001ea4: MSTORE
00001ea5: PUSH1 0xe0
00001ea7: SWAP1
00001ea8: SWAP2
00001ea9: ADD
00001eaa: MSTORE
00001eab: SWAP6
00001eac: SWAP5
00001ead: POP
00001eae: POP
00001eaf: POP
00001eb0: POP
00001eb1: POP
00001eb2: JUMP
00001eb3: JUMPDEST
00001eb4: SWAP4
00001eb5: DUP5
00001eb6: MSTORE
00001eb7: PUSH1 0xff
00001eb9: SWAP3
00001eba: SWAP1
00001ebb: SWAP3
00001ebc: AND
00001ebd: PUSH1 0x20
00001ebf: DUP5
00001ec0: ADD
00001ec1: MSTORE
00001ec2: PUSH1 0x40
00001ec4: DUP4
00001ec5: ADD
00001ec6: MSTORE
00001ec7: PUSH1 0x60
00001ec9: DUP3
00001eca: ADD
00001ecb: MSTORE
00001ecc: PUSH1 0x80
00001ece: ADD
00001ecf: SWAP1
00001ed0: JUMP
00001ed1: JUMPDEST
00001ed2: PUSH1 0x00
00001ed4: PUSH1 0x20
00001ed6: DUP3
00001ed7: MSTORE
00001ed8: DUP3
00001ed9: MLOAD
00001eda: DUP1
00001edb: PUSH1 0x20
00001edd: DUP5
00001ede: ADD
00001edf: MSTORE
00001ee0: PUSH2 0x1ef0
00001ee3: DUP2
00001ee4: PUSH1 0x40
00001ee6: DUP6
00001ee7: ADD
00001ee8: PUSH1 0x20
00001eea: DUP8
00001eeb: ADD
00001eec: PUSH2 0x2580
00001eef: JUMP
00001ef0: JUMPDEST
00001ef1: PUSH1 0x1f
00001ef3: ADD
00001ef4: PUSH1 0x1f
00001ef6: NOT
00001ef7: AND
00001ef8: SWAP2
00001ef9: SWAP1
00001efa: SWAP2
00001efb: ADD
00001efc: PUSH1 0x40
00001efe: ADD
00001eff: SWAP3
00001f00: SWAP2
00001f01: POP
00001f02: POP
00001f03: JUMP
00001f04: JUMPDEST
00001f05: PUSH1 0x20
00001f07: DUP1
00001f08: DUP3
00001f09: MSTORE
00001f0a: PUSH1 0x3f
00001f0c: SWAP1
00001f0d: DUP3
00001f0e: ADD
00001f0f: MSTORE
00001f10: PUSH32 0x537570706c6965642063757272656e742076616c696461746f727320616e6420
00001f31: PUSH1 0x40
00001f33: DUP3
00001f34: ADD
00001f35: MSTORE
00001f36: PUSH32 0x706f7765727320646f206e6f74206d6174636820636865636b706f696e742e00
00001f57: PUSH1 0x60
00001f59: DUP3
00001f5a: ADD
00001f5b: MSTORE
00001f5c: PUSH1 0x80
00001f5e: ADD
00001f5f: SWAP1
00001f60: JUMP
00001f61: JUMPDEST
00001f62: PUSH1 0x20
00001f64: DUP1
00001f65: DUP3
00001f66: MSTORE
00001f67: PUSH1 0x14
00001f69: SWAP1
00001f6a: DUP3
00001f6b: ADD
00001f6c: MSTORE
00001f6d: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959
00001f82: PUSH1 0x62
00001f84: SHL
00001f85: PUSH1 0x40
00001f87: DUP3
00001f88: ADD
00001f89: MSTORE
00001f8a: PUSH1 0x60
00001f8c: ADD
00001f8d: SWAP1
00001f8e: JUMP
00001f8f: JUMPDEST
00001f90: PUSH1 0x20
00001f92: DUP1
00001f93: DUP3
00001f94: MSTORE
00001f95: PUSH1 0x36
00001f97: SWAP1
00001f98: DUP3
00001f99: ADD
00001f9a: MSTORE
00001f9b: PUSH32 0x4e6577206261746368206e6f6e6365206d757374206265206772656174657220
00001fbc: PUSH1 0x40
00001fbe: DUP3
00001fbf: ADD
00001fc0: MSTORE
00001fc1: PUSH22 0x7468616e207468652063757272656e74206e6f6e6365
00001fd8: PUSH1 0x50
00001fda: SHL
00001fdb: PUSH1 0x60
00001fdd: DUP3
00001fde: ADD
00001fdf: MSTORE
00001fe0: PUSH1 0x80
00001fe2: ADD
00001fe3: SWAP1
00001fe4: JUMP
00001fe5: JUMPDEST
00001fe6: PUSH1 0x20
00001fe8: DUP1
00001fe9: DUP3
00001fea: MSTORE
00001feb: PUSH1 0x26
00001fed: SWAP1
00001fee: DUP3
00001fef: ADD
00001ff0: MSTORE
00001ff1: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00002012: PUSH1 0x40
00002014: DUP3
00002015: ADD
00002016: MSTORE
00002017: PUSH6 0x646472657373
0000201e: PUSH1 0xd0
00002020: SHL
00002021: PUSH1 0x60
00002023: DUP3
00002024: ADD
00002025: MSTORE
00002026: PUSH1 0x80
00002028: ADD
00002029: SWAP1
0000202a: JUMP
0000202b: JUMPDEST
0000202c: PUSH1 0x20
0000202e: DUP1
0000202f: DUP3
00002030: MSTORE
00002031: PUSH1 0x1f
00002033: SWAP1
00002034: DUP3
00002035: ADD
00002036: MSTORE
00002037: PUSH32 0x4d616c666f726d6564206261746368206f66207472616e73616374696f6e7300
00002058: PUSH1 0x40
0000205a: DUP3
0000205b: ADD
0000205c: MSTORE
0000205d: PUSH1 0x60
0000205f: ADD
00002060: SWAP1
00002061: JUMP
00002062: JUMPDEST
00002063: PUSH1 0x20
00002065: DUP1
00002066: DUP3
00002067: MSTORE
00002068: PUSH1 0x23
0000206a: SWAP1
0000206b: DUP3
0000206c: ADD
0000206d: MSTORE
0000206e: PUSH32 0x56616c696461746f72207369676e617475726520646f6573206e6f74206d6174
0000208f: PUSH1 0x40
00002091: DUP3
00002092: ADD
00002093: MSTORE
00002094: PUSH3 0x31b417
00002098: PUSH1 0xe9
0000209a: SHL
0000209b: PUSH1 0x60
0000209d: DUP3
0000209e: ADD
0000209f: MSTORE
000020a0: PUSH1 0x80
000020a2: ADD
000020a3: SWAP1
000020a4: JUMP
000020a5: JUMPDEST
000020a6: PUSH1 0x20
000020a8: DUP1
000020a9: DUP3
000020aa: MSTORE
000020ab: PUSH1 0x26
000020ad: SWAP1
000020ae: DUP3
000020af: ADD
000020b0: MSTORE
000020b1: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000020d2: PUSH1 0x40
000020d4: DUP3
000020d5: ADD
000020d6: MSTORE
000020d7: PUSH6 0x1c8818d85b1b
000020de: PUSH1 0xd2
000020e0: SHL
000020e1: PUSH1 0x60
000020e3: DUP3
000020e4: ADD
000020e5: MSTORE
000020e6: PUSH1 0x80
000020e8: ADD
000020e9: SWAP1
000020ea: JUMP
000020eb: JUMPDEST
000020ec: PUSH1 0x20
000020ee: DUP1
000020ef: DUP3
000020f0: MSTORE
000020f1: PUSH1 0x10
000020f3: SWAP1
000020f4: DUP3
000020f5: ADD
000020f6: MSTORE
000020f7: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00002108: PUSH1 0x82
0000210a: SHL
0000210b: PUSH1 0x40
0000210d: DUP3
0000210e: ADD
0000210f: MSTORE
00002110: PUSH1 0x60
00002112: ADD
00002113: SWAP1
00002114: JUMP
00002115: JUMPDEST
00002116: PUSH1 0x20
00002118: DUP1
00002119: DUP3
0000211a: MSTORE
0000211b: PUSH1 0x2e
0000211d: SWAP1
0000211e: DUP3
0000211f: ADD
00002120: MSTORE
00002121: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00002142: PUSH1 0x40
00002144: DUP3
00002145: ADD
00002146: MSTORE
00002147: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00002156: PUSH1 0x92
00002158: SHL
00002159: PUSH1 0x60
0000215b: DUP3
0000215c: ADD
0000215d: MSTORE
0000215e: PUSH1 0x80
00002160: ADD
00002161: SWAP1
00002162: JUMP
00002163: JUMPDEST
00002164: PUSH1 0x20
00002166: DUP1
00002167: DUP3
00002168: MSTORE
00002169: PUSH1 0x3b
0000216b: SWAP1
0000216c: DUP3
0000216d: ADD
0000216e: MSTORE
0000216f: PUSH32 0x42617463682074696d656f7574206d7573742062652067726561746572207468
00002190: PUSH1 0x40
00002192: DUP3
00002193: ADD
00002194: MSTORE
00002195: PUSH32 0x616e207468652063757272656e7420626c6f636b206865696768740000000000
000021b6: PUSH1 0x60
000021b8: DUP3
000021b9: ADD
000021ba: MSTORE
000021bb: PUSH1 0x80
000021bd: ADD
000021be: SWAP1
000021bf: JUMP
000021c0: JUMPDEST
000021c1: PUSH1 0x20
000021c3: DUP1
000021c4: DUP3
000021c5: MSTORE
000021c6: PUSH1 0x1b
000021c8: SWAP1
000021c9: DUP3
000021ca: ADD
000021cb: MSTORE
000021cc: PUSH32 0x4d616c666f726d6564206e65772076616c696461746f72207365740000000000
000021ed: PUSH1 0x40
000021ef: DUP3
000021f0: ADD
000021f1: MSTORE
000021f2: PUSH1 0x60
000021f4: ADD
000021f5: SWAP1
000021f6: JUMP
000021f7: JUMPDEST
000021f8: PUSH1 0x20
000021fa: DUP1
000021fb: DUP3
000021fc: MSTORE
000021fd: DUP2
000021fe: DUP2
000021ff: ADD
00002200: MSTORE
00002201: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002222: PUSH1 0x40
00002224: DUP3
00002225: ADD
00002226: MSTORE
00002227: PUSH1 0x60
00002229: ADD
0000222a: SWAP1
0000222b: JUMP
0000222c: JUMPDEST
0000222d: PUSH1 0x20
0000222f: DUP1
00002230: DUP3
00002231: MSTORE
00002232: PUSH1 0x3c
00002234: SWAP1
00002235: DUP3
00002236: ADD
00002237: MSTORE
00002238: PUSH32 0x5375626d69747465642076616c696461746f7220736574207369676e61747572
00002259: PUSH1 0x40
0000225b: DUP3
0000225c: ADD
0000225d: MSTORE
0000225e: PUSH32 0x657320646f206e6f74206861766520656e6f75676820706f7765722e00000000
0000227f: PUSH1 0x60
00002281: DUP3
00002282: ADD
00002283: MSTORE
00002284: PUSH1 0x80
00002286: ADD
00002287: SWAP1
00002288: JUMP
00002289: JUMPDEST
0000228a: PUSH1 0x20
0000228c: DUP1
0000228d: DUP3
0000228e: MSTORE
0000228f: PUSH1 0x0f
00002291: SWAP1
00002292: DUP3
00002293: ADD
00002294: MSTORE
00002295: PUSH15 0x139bdd081a5b5c1b195b595b9d1959
000022a5: PUSH1 0x8a
000022a7: SHL
000022a8: PUSH1 0x40
000022aa: DUP3
000022ab: ADD
000022ac: MSTORE
000022ad: PUSH1 0x60
000022af: ADD
000022b0: SWAP1
000022b1: JUMP
000022b2: JUMPDEST
000022b3: PUSH1 0x20
000022b5: DUP1
000022b6: DUP3
000022b7: MSTORE
000022b8: PUSH1 0x37
000022ba: SWAP1
000022bb: DUP3
000022bc: ADD
000022bd: MSTORE
000022be: PUSH32 0x4e65772076616c736574206e6f6e6365206d7573742062652067726561746572
000022df: PUSH1 0x40
000022e1: DUP3
000022e2: ADD
000022e3: MSTORE
000022e4: PUSH32 0x207468616e207468652063757272656e74206e6f6e6365000000000000000000
00002305: PUSH1 0x60
00002307: DUP3
00002308: ADD
00002309: MSTORE
0000230a: PUSH1 0x80
0000230c: ADD
0000230d: SWAP1
0000230e: JUMP
0000230f: JUMPDEST
00002310: PUSH1 0x20
00002312: DUP1
00002313: DUP3
00002314: MSTORE
00002315: PUSH1 0x19
00002317: SWAP1
00002318: DUP3
00002319: ADD
0000231a: MSTORE
0000231b: PUSH32 0x4f776e657273686970206e6f7420796574206578706972656400000000000000
0000233c: PUSH1 0x40
0000233e: DUP3
0000233f: ADD
00002340: MSTORE
00002341: PUSH1 0x60
00002343: ADD
00002344: SWAP1
00002345: JUMP
00002346: JUMPDEST
00002347: PUSH1 0x20
00002349: DUP1
0000234a: DUP3
0000234b: MSTORE
0000234c: PUSH1 0x1d
0000234e: SWAP1
0000234f: DUP3
00002350: ADD
00002351: MSTORE
00002352: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00002373: PUSH1 0x40
00002375: DUP3
00002376: ADD
00002377: MSTORE
00002378: PUSH1 0x60
0000237a: ADD
0000237b: SWAP1
0000237c: JUMP
0000237d: JUMPDEST
0000237e: PUSH1 0x20
00002380: DUP1
00002381: DUP3
00002382: MSTORE
00002383: PUSH1 0x2a
00002385: SWAP1
00002386: DUP3
00002387: ADD
00002388: MSTORE
00002389: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000023aa: PUSH1 0x40
000023ac: DUP3
000023ad: ADD
000023ae: MSTORE
000023af: PUSH10 0x1bdd081cdd58d8d95959
000023ba: PUSH1 0xb2
000023bc: SHL
000023bd: PUSH1 0x60
000023bf: DUP3
000023c0: ADD
000023c1: MSTORE
000023c2: PUSH1 0x80
000023c4: ADD
000023c5: SWAP1
000023c6: JUMP
000023c7: JUMPDEST
000023c8: PUSH1 0x20
000023ca: DUP1
000023cb: DUP3
000023cc: MSTORE
000023cd: PUSH1 0x1f
000023cf: SWAP1
000023d0: DUP3
000023d1: ADD
000023d2: MSTORE
000023d3: PUSH32 0x4d616c666f726d65642063757272656e742076616c696461746f722073657400
000023f4: PUSH1 0x40
000023f6: DUP3
000023f7: ADD
000023f8: MSTORE
000023f9: PUSH1 0x60
000023fb: ADD
000023fc: SWAP1
000023fd: JUMP
000023fe: JUMPDEST
000023ff: PUSH1 0x20
00002401: DUP1
00002402: DUP3
00002403: MSTORE
00002404: PUSH1 0x1f
00002406: SWAP1
00002407: DUP3
00002408: ADD
00002409: MSTORE
0000240a: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000242b: PUSH1 0x40
0000242d: DUP3
0000242e: ADD
0000242f: MSTORE
00002430: PUSH1 0x60
00002432: ADD
00002433: SWAP1
00002434: JUMP
00002435: JUMPDEST
00002436: PUSH1 0x00
00002438: DUP9
00002439: DUP3
0000243a: MSTORE
0000243b: DUP8
0000243c: PUSH1 0x20
0000243e: DUP4
0000243f: ADD
00002440: MSTORE
00002441: PUSH1 0x01
00002443: DUP1
00002444: PUSH1 0xa0
00002446: SHL
00002447: SUB
00002448: DUP8
00002449: AND
0000244a: PUSH1 0x40
0000244c: DUP4
0000244d: ADD
0000244e: MSTORE
0000244f: PUSH1 0xa0
00002451: PUSH1 0x60
00002453: DUP4
00002454: ADD
00002455: MSTORE
00002456: PUSH2 0x2463
00002459: PUSH1 0xa0
0000245b: DUP4
0000245c: ADD
0000245d: DUP7
0000245e: DUP9
0000245f: PUSH2 0x1c52
00002462: JUMP
00002463: JUMPDEST
00002464: DUP3
00002465: DUP2
00002466: SUB
00002467: PUSH1 0x80
00002469: DUP5
0000246a: ADD
0000246b: MSTORE
0000246c: PUSH2 0x2476
0000246f: DUP2
00002470: DUP6
00002471: DUP8
00002472: PUSH2 0x1cd0
00002475: JUMP
00002476: JUMPDEST
00002477: SWAP11
00002478: SWAP10
00002479: POP
0000247a: POP
0000247b: POP
0000247c: POP
0000247d: POP
0000247e: POP
0000247f: POP
00002480: POP
00002481: POP
00002482: POP
00002483: JUMP
00002484: JUMPDEST
00002485: PUSH1 0x00
00002487: DUP6
00002488: DUP3
00002489: MSTORE
0000248a: DUP5
0000248b: PUSH1 0x20
0000248d: DUP4
0000248e: ADD
0000248f: MSTORE
00002490: PUSH1 0x60
00002492: PUSH1 0x40
00002494: DUP4
00002495: ADD
00002496: MSTORE
00002497: DUP3
00002498: PUSH1 0x60
0000249a: DUP4
0000249b: ADD
0000249c: MSTORE
0000249d: DUP3
0000249e: DUP5
0000249f: PUSH1 0x80
000024a1: DUP5
000024a2: ADD
000024a3: CALLDATACOPY
000024a4: DUP2
000024a5: DUP4
000024a6: ADD
000024a7: PUSH1 0x80
000024a9: SWAP1
000024aa: DUP2
000024ab: ADD
000024ac: SWAP2
000024ad: SWAP1
000024ae: SWAP2
000024af: MSTORE
000024b0: PUSH1 0x1f
000024b2: SWAP1
000024b3: SWAP3
000024b4: ADD
000024b5: PUSH1 0x1f
000024b7: NOT
000024b8: AND
000024b9: ADD
000024ba: ADD
000024bb: SWAP4
000024bc: SWAP3
000024bd: POP
000024be: POP
000024bf: POP
000024c0: JUMP
000024c1: JUMPDEST
000024c2: PUSH1 0x00
000024c4: DUP1
000024c5: DUP4
000024c6: CALLDATALOAD
000024c7: PUSH1 0x1e
000024c9: NOT
000024ca: DUP5
000024cb: CALLDATASIZE
000024cc: SUB
000024cd: ADD
000024ce: DUP2
000024cf: SLT
000024d0: PUSH2 0x24d7
000024d3: JUMPI
000024d4: DUP3
000024d5: DUP4
000024d6: REVERT
000024d7: JUMPDEST
000024d8: DUP4
000024d9: ADD
000024da: DUP1
000024db: CALLDATALOAD
000024dc: SWAP2
000024dd: POP
000024de: PUSH8 0xffffffffffffffff
000024e7: DUP3
000024e8: GT
000024e9: ISZERO
000024ea: PUSH2 0x24f1
000024ed: JUMPI
000024ee: DUP3
000024ef: DUP4
000024f0: REVERT
000024f1: JUMPDEST
000024f2: PUSH1 0x20
000024f4: SWAP1
000024f5: DUP2
000024f6: ADD
000024f7: SWAP3
000024f8: POP
000024f9: DUP2
000024fa: MUL
000024fb: CALLDATASIZE
000024fc: SUB
000024fd: DUP3
000024fe: SGT
000024ff: ISZERO
00002500: PUSH2 0x1612
00002503: JUMPI
00002504: PUSH1 0x00
00002506: DUP1
00002507: REVERT
00002508: JUMPDEST
00002509: PUSH1 0x40
0000250b: MLOAD
0000250c: DUP2
0000250d: DUP2
0000250e: ADD
0000250f: PUSH8 0xffffffffffffffff
00002518: DUP2
00002519: GT
0000251a: DUP3
0000251b: DUP3
0000251c: LT
0000251d: OR
0000251e: ISZERO
0000251f: PUSH2 0x252a
00002522: JUMPI
00002523: PUSH2 0x252a
00002526: PUSH2 0x25dd
00002529: JUMP
0000252a: JUMPDEST
0000252b: PUSH1 0x40
0000252d: MSTORE
0000252e: SWAP2
0000252f: SWAP1
00002530: POP
00002531: JUMP
00002532: JUMPDEST
00002533: PUSH1 0x00
00002535: PUSH8 0xffffffffffffffff
0000253e: DUP3
0000253f: GT
00002540: ISZERO
00002541: PUSH2 0x254c
00002544: JUMPI
00002545: PUSH2 0x254c
00002548: PUSH2 0x25dd
0000254b: JUMP
0000254c: JUMPDEST
0000254d: POP
0000254e: PUSH1 0x20
00002550: SWAP1
00002551: DUP2
00002552: MUL
00002553: ADD
00002554: SWAP1
00002555: JUMP
00002556: JUMPDEST
00002557: PUSH1 0x00
00002559: DUP3
0000255a: NOT
0000255b: DUP3
0000255c: GT
0000255d: ISZERO
0000255e: PUSH2 0x2569
00002561: JUMPI
00002562: PUSH2 0x2569
00002565: PUSH2 0x25c7
00002568: JUMP
00002569: JUMPDEST
0000256a: POP
0000256b: ADD
0000256c: SWAP1
0000256d: JUMP
0000256e: JUMPDEST
0000256f: PUSH1 0x00
00002571: PUSH2 0x257a
00002574: CALLDATASIZE
00002575: DUP4
00002576: PUSH2 0x179e
00002579: JUMP
0000257a: JUMPDEST
0000257b: SWAP3
0000257c: SWAP2
0000257d: POP
0000257e: POP
0000257f: JUMP
00002580: JUMPDEST
00002581: PUSH1 0x00
00002583: JUMPDEST
00002584: DUP4
00002585: DUP2
00002586: LT
00002587: ISZERO
00002588: PUSH2 0x259b
0000258b: JUMPI
0000258c: DUP2
0000258d: DUP2
0000258e: ADD
0000258f: MLOAD
00002590: DUP4
00002591: DUP3
00002592: ADD
00002593: MSTORE
00002594: PUSH1 0x20
00002596: ADD
00002597: PUSH2 0x2583
0000259a: JUMP
0000259b: JUMPDEST
0000259c: DUP4
0000259d: DUP2
0000259e: GT
0000259f: ISZERO
000025a0: PUSH2 0x11f4
000025a3: JUMPI
000025a4: POP
000025a5: POP
000025a6: PUSH1 0x00
000025a8: SWAP2
000025a9: ADD
000025aa: MSTORE
000025ab: JUMP
000025ac: JUMPDEST
000025ad: PUSH1 0x00
000025af: PUSH1 0x00
000025b1: NOT
000025b2: DUP3
000025b3: EQ
000025b4: ISZERO
000025b5: PUSH2 0x25c0
000025b8: JUMPI
000025b9: PUSH2 0x25c0
000025bc: PUSH2 0x25c7
000025bf: JUMP
000025c0: JUMPDEST
000025c1: POP
000025c2: PUSH1 0x01
000025c4: ADD
000025c5: SWAP1
000025c6: JUMP
000025c7: JUMPDEST
000025c8: PUSH4 0x4e487b71
000025cd: PUSH1 0xe0
000025cf: SHL
000025d0: PUSH1 0x00
000025d2: MSTORE
000025d3: PUSH1 0x11
000025d5: PUSH1 0x04
000025d7: MSTORE
000025d8: PUSH1 0x24
000025da: PUSH1 0x00
000025dc: REVERT
000025dd: JUMPDEST
000025de: PUSH4 0x4e487b71
000025e3: PUSH1 0xe0
000025e5: SHL
000025e6: PUSH1 0x00
000025e8: MSTORE
000025e9: PUSH1 0x41
000025eb: PUSH1 0x04
000025ed: MSTORE
000025ee: PUSH1 0x24
000025f0: PUSH1 0x00
000025f2: REVERT
000025f3: INVALID
000025f4: LOG2
000025f5: PUSH5 0x6970667358
000025fb: UNKNOWN(0x22)
000025fc: SLT
000025fd: KECCAK256
000025fe: UNKNOWN(0xDE)
000025ff: UNKNOWN(0x2D)
00002600: UNKNOWN(0xB1)
00002601: UNKNOWN(0xD8)
00002602: ADDRESS
00002603: RETURN
00002604: MULMOD
00002605: SHR
00002606: UNKNOWN(0xD0)
00002607: SWAP4
00002608: UNKNOWN(0x0D)
00002609: GASLIMIT
0000260a: UNKNOWN(0xD8)
0000260b: CALLVALUE
0000260c: UNKNOWN(0xB9)
0000260d: DUP10
0000260e: UNKNOWN(0xE0)
0000260f: EQ
00002610: UNKNOWN(0xD9)
00002611: PUSH25

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability codex Initializer can be front‑run on uninitialized deployments 85 no
view
evidence_json
{
    "evidence": "`initialize` is an external initializer that sets ownership and validator configuration without access control (see Peggy.initialize).",
    "locations": [
        "contracts/Contract.sol:1186"
    ],
    "recommendation": "Ensure initialization is atomic and locked down: add a constructor that calls `_disableInitializers()` on the implementation, and initialize the proxy in its constructor (or restrict `initialize` to a deployer/factory address).",
    "exploit_scenario": "If the proxy (or standalone Peggy deployment) is not initialized atomically, an attacker can call `initialize` first, set themselves as owner, choose a validator set/power threshold they control, and then authorize arbitrary batches or pause/unpause the bridge."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8
call_targets: 0x100dcb8b78c608d148cb207ac3875935dfe6abdc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x100dcb8b78c608d148cb207ac3875935dfe6abdc"
    ],
    "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": "0xc359a212",
            "selector": "0xc359a212",
            "calldata_variants": [
                "0xc359a212",
                "0xc359a2120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf97174b",
            "selector": "0xdf97174b",
            "calldata_variants": [
                "0xdf97174b",
                "0xdf97174b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5a2b5d2",
            "selector": "0xe5a2b5d2",
            "calldata_variants": [
                "0xe5a2b5d2",
                "0xe5a2b5d20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2b53307",
            "selector": "0xf2b53307",
            "calldata_variants": [
                "0xf2b53307",
                "0xf2b533070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7955637",
            "selector": "0xf7955637",
            "calldata_variants": [
                "0xf7955637",
                "0xf79556370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c64865f",
            "selector": "0x8c64865f",
            "calldata_variants": [
                "0x8c64865f",
                "0x8c64865f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5362,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8
call_targets: 0x100dcb8b78c608d148cb207ac3875935dfe6abdc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x13b5cc0df8d208cd5bb56ff7a681bda8e5da32afbfb21541354592589ff91af8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x100dcb8b78c608d148cb207ac3875935dfe6abdc"
    ],
    "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": "0xc359a212",
            "selector": "0xc359a212",
            "calldata_variants": [
                "0xc359a212",
                "0xc359a2120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf97174b",
            "selector": "0xdf97174b",
            "calldata_variants": [
                "0xdf97174b",
                "0xdf97174b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5a2b5d2",
            "selector": "0xe5a2b5d2",
            "calldata_variants": [
                "0xe5a2b5d2",
                "0xe5a2b5d20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2b53307",
            "selector": "0xf2b53307",
            "calldata_variants": [
                "0xf2b53307",
                "0xf2b533070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7955637",
            "selector": "0xf7955637",
            "calldata_variants": [
                "0xf7955637",
                "0xf79556370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c64865f",
            "selector": "0x8c64865f",
            "calldata_variants": [
                "0x8c64865f",
                "0x8c64865f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5362,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
low reentrancy codex Reward token transfer in updateValset allows reentrancy into state-changing logic 65 no
view
evidence_json
{
    "evidence": "`updateValset` performs an external `safeTransfer` to `_newValset.rewardToken` without `nonReentrant` protection.",
    "locations": [
        "contracts/Contract.sol:1349",
        "contracts/Contract.sol:1410"
    ],
    "recommendation": "Add `nonReentrant` to `updateValset` or adopt a pull\u2011reward pattern; at minimum, avoid external calls from `updateValset` without a reentrancy guard.",
    "exploit_scenario": "If the reward token is a malicious ERC20 (or ERC777-like) that calls back into Peggy during `transfer`, it can reenter `updateValset` with pre\u2011signed data, causing nested updates and emitting stale events relative to final state, potentially desynchronizing off\u2011chain relayers."
}