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

Analysis Run

6310209b-7baf-4b35-abae-155500db267d

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 8:01 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
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31748 report.consolidate complete 1 / 1 3 months ago
95911 artifact.fetch failed 1 / 3 1 week ago
95912 tool.cast_disasm complete 1 / 3 1 week ago
95913 analysis.bundle complete 1 / 3 1 week ago
95914 capability.graph complete 1 / 3 1 week ago
95915 detector.run complete 1 / 3 1 week ago
95916 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.
View stderr
[codex:340699] OpenAI Codex v0.77.0 (research preview)
[codex:340699] --------
[codex:340699] workdir: /tmp/codex-multi-872513cv
[codex:340699] model: gpt-5.2-codex
[codex:340699] provider: openai
[codex:340699] approval: never
[codex:340699] sandbox: read-only
[codex:340699] reasoning effort: xhigh
[codex:340699] reasoning summaries: auto
[codex:340699] session id: 019b8fbe-f6ce-7d63-903a-a86e1350ee44
[codex:340699] --------
[codex:340699] user
[codex:340699] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:340699] 
[codex:340699] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:340699] 
[codex:340699] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:340699] - Gas inefficiency, code quality, naming, or best practices
[codex:340699] - Theoretical vulnerabilities without a clear extraction path
[codex:340699] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:340699] - Front-running unless it enables theft beyond MEV
[codex:340699] - DoS, griefing, or issues that don't result in attacker profit
[codex:340699] - Missing events, view function issues, or informational findings
[codex:340699] 
[codex:340699] HIGH-VALUE PATTERNS TO HUNT:
[codex:340699] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:340699] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:340699] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:340699] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:340699] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:340699] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:340699] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:340699] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:340699] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:340699] 
[codex:340699] For each finding, you MUST provide:
[codex:340699] 1. Exact file and line numbers of vulnerable code
[codex:340699] 2. Step-by-step exploit transaction sequence
[codex:340699] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:340699] 
[codex:340699] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:340699] 
[codex:340699] Output MUST be valid JSON matching the provided schema.
[codex:340699] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:340699] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:340699] mcp startup: no servers
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Listing files to find AUDIT_BUNDLE.txt**
[codex:340699] exec
[codex:340699] /bin/bash -lc ls in /tmp/codex-multi-872513cv succeeded in 5ms:
[codex:340699] AUDIT_BUNDLE.txt
[codex:340699] codex-output-schema.json
[codex:340699] contracts
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Opening AUDIT_BUNDLE.txt**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-872513cv succeeded in 6ms:
[codex:340699] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:340699] 
[codex:340699] ================================================================================
[codex:340699] FILE: contracts/Contract.sol
[codex:340699] ================================================================================
[codex:340699] pragma solidity ^0.5.0;
[codex:340699] 
[codex:340699] // File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/utils/ReentrancyGuard.sol
[codex:340699] 
[codex:340699] /**
[codex:340699]  * @title Helps contracts guard against reentrancy attacks.
[codex:340699]  * @author Remco Bloemen <remco@2π.com>, Eenae <alexey@mixbytes.io>
[codex:340699]  * @dev If you mark a function `nonReentrant`, you should also
[codex:340699]  * mark it `external`.
[codex:340699]  */
[codex:340699] contract ReentrancyGuard {
[codex:340699]     /// @dev counter to allow mutex lock with only one SSTORE operation
[codex:340699]     uint256 private _guardCounter;
[codex:340699] 
[codex:340699]     constructor () internal {
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Preparing to audit Solidity contracts**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-872513cv succeeded in 8ms:
[codex:340699] contracts/Contract.sol
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Reviewing full smart contract file**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'rg -n "contract" contracts/Contract.sol' in /tmp/codex-multi-872513cv succeeded in 7ms:
[codex:340699] 3:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/utils/ReentrancyGuard.sol
[codex:340699] 6: * @title Helps contracts guard against reentrancy attacks.
[codex:340699] 11:contract ReentrancyGuard {
[codex:340699] 22:     * @dev Prevents a contract from calling itself, directly or indirectly.
[codex:340699] 36:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/math/SafeMath.sol
[codex:340699] 102:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/access/Roles.sol
[codex:340699] 143:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/access/roles/PauserRole.sol
[codex:340699] 145:contract PauserRole {
[codex:340699] 185:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/lifecycle/Pausable.sol
[codex:340699] 189: * @dev Base contract which allows children to implement an emergency stop mechanism.
[codex:340699] 191:contract Pausable is PauserRole {
[codex:340699] 202:     * @return true if the contract is paused, false otherwise.
[codex:340699] 209:     * @dev Modifier to make a function callable only when the contract is not paused.
[codex:340699] 217:     * @dev Modifier to make a function callable only when the contract is paused.
[codex:340699] 241:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/ownership/Ownable.sol
[codex:340699] 245: * @dev The Ownable contract has an owner address, and provides basic authorization control
[codex:340699] 248:contract Ownable {
[codex:340699] 254:     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
[codex:340699] 278:     * @return true if `msg.sender` is the owner of the contract.
[codex:340699] 285:     * @dev Allows the current owner to relinquish control of the contract.
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Inspecting MinterRole and related contracts**
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '700,880p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 7ms:
[codex:340699] 
[codex:340699]     /**
[codex:340699]      * @dev Internal function to invoke `onERC721Received` on a target address
[codex:340699]      * The call is not executed if the target address is not a contract
[codex:340699]      * @param from address representing the previous owner of the given token ID
[codex:340699]      * @param to target address that will receive the tokens
[codex:340699]      * @param tokenId uint256 ID of the token to be transferred
[codex:340699]      * @param _data bytes optional data to send along with the call
[codex:340699]      * @return whether the call correctly returned the expected magic value
[codex:340699]      */
[codex:340699]     function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)
[codex:340699]         internal returns (bool)
[codex:340699]     {
[codex:340699]         if (!to.isContract()) {
[codex:340699]             return true;
[codex:340699]         }
[codex:340699] 
[codex:340699]         bytes4 retval = IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, _data);
[codex:340699]         return (retval == _ERC721_RECEIVED);
[codex:340699]     }
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Continuing file review from line 880**
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '880,1145p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 6ms:
[codex:340699]     /**
[codex:340699]      * @dev Gets the token ID at a given index of all the tokens in this contract
[codex:340699]      * Reverts if the index is greater or equal to the total number of tokens
[codex:340699]      * @param index uint256 representing the index to be accessed of the tokens list
[codex:340699]      * @return uint256 token ID at the given index of the tokens list
[codex:340699]      */
[codex:340699]     function tokenByIndex(uint256 index) public view returns (uint256) {
[codex:340699]         require(index < totalSupply());
[codex:340699]         return _allTokens[index];
[codex:340699]     }
[codex:340699] 
[codex:340699]     /**
[codex:340699]      * @dev Internal function to transfer ownership of a given token ID to another address.
[codex:340699]      * As opposed to transferFrom, this imposes no restrictions on msg.sender.
[codex:340699]      * @param from current owner of the token
[codex:340699]      * @param to address to receive the ownership of the given token ID
[codex:340699]      * @param tokenId uint256 ID of the token to be transferred
[codex:340699]     */
[codex:340699]     function _transferFrom(address from, address to, uint256 tokenId) internal {
[codex:340699]         super._transferFrom(from, to, tokenId);
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Analyzing potential vulnerabilities in contracts**
[codex:340699] 
[codex:340699] I've carefully examined the LandSectorAsset and MCHLandPool contracts, focusing on minting, withdrawal, and share calculation logic to identify any exploitable profit paths. Although some edge cases around serial zero tokens and share rate misconfigurations appear, these primarily rely on trusted minter or admin roles, with no clear attack vector for external users. Withdrawal functions enforce ownership and include reentrancy guards, and ETH deposits require whitelisting, so I don't see exploitable flaws enabling unauthorized profit extraction.
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '520,660p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 11ms:
[codex:340699]      * The zero address indicates there is no approved address.
[codex:340699]      * There can only be one approved address per token at a given time.
[codex:340699]      * Can only be called by the token owner or an approved operator.
[codex:340699]      * @param to address to be approved for the given token ID
[codex:340699]      * @param tokenId uint256 ID of the token to be approved
[codex:340699]      */
[codex:340699]     function approve(address to, uint256 tokenId) public {
[codex:340699]         address owner = ownerOf(tokenId);
[codex:340699]         require(to != owner);
[codex:340699]         require(msg.sender == owner || isApprovedForAll(owner, msg.sender));
[codex:340699] 
[codex:340699]         _tokenApprovals[tokenId] = to;
[codex:340699]         emit Approval(owner, to, tokenId);
[codex:340699]     }
[codex:340699] 
[codex:340699]     /**
[codex:340699]      * @dev Gets the approved address for a token ID, or zero if no address set
[codex:340699]      * Reverts if the token ID does not exist.
[codex:340699]      * @param tokenId uint256 ID of the token to query the approval of
[codex:340699]      * @return address currently approved for the given token ID
[codex:340699] 
[codex:340699] thinking
[codex:340699] **Analyzing audit findings and conclusion**
[codex:340699] 
[codex:340699] I read through the entire AUDIT_BUNDLE.txt carefully, verifying the ERC721 implementation, minting controls, withdrawal logic, and potential overflow or reentrancy risks. After thorough consideration, I see no exploitable vulnerabilities or profit paths for attackers under the given threat model, so I'll produce a clean JSON report with no findings and a clear summary statement.
[codex:340699] codex
[codex:340699] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.","findings":[]}
[codex:340699] tokens used
[codex:340699] 26,587
[codex:340699] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T20:01:59.145849+00:00",
        "returncode": 0
    },
    "summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.",
    "raw_final": {
        "summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
9
Total opcodes
3814
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0147
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: DUP1
00000031: PUSH4 0x843592d3
00000036: GT
00000037: PUSH2 0x00c8
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0xced7ed2c
00000041: GT
00000042: PUSH2 0x008c
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0xced7ed2c
0000004c: EQ
0000004d: PUSH2 0x04bd
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0xd239da84
00000057: EQ
00000058: PUSH2 0x0526
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0xdba8f3f6
00000062: EQ
00000063: PUSH2 0x0579
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0xe274e18e
0000006d: EQ
0000006e: PUSH2 0x05d0
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xf2fde38b
00000078: EQ
00000079: PUSH2 0x0622
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xfae36986
00000083: EQ
00000084: PUSH2 0x0673
00000087: JUMPI
00000088: PUSH2 0x0147
0000008b: JUMP
0000008c: JUMPDEST
0000008d: DUP1
0000008e: PUSH4 0x843592d3
00000093: EQ
00000094: PUSH2 0x036c
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x8456cb59
0000009e: EQ
0000009f: PUSH2 0x03d1
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x87bc742b
000000a9: EQ
000000aa: PUSH2 0x03e8
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x8da5cb5b
000000b4: EQ
000000b5: PUSH2 0x0437
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x8f32d59b
000000bf: EQ
000000c0: PUSH2 0x048e
000000c3: JUMPI
000000c4: PUSH2 0x0147
000000c7: JUMP
000000c8: JUMPDEST
000000c9: DUP1
000000ca: PUSH4 0x5c975abb
000000cf: GT
000000d0: PUSH2 0x010f
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0x5c975abb
000000da: EQ
000000db: PUSH2 0x02a7
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0x6ef8d66d
000000e5: EQ
000000e6: PUSH2 0x02d6
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x715018a6
000000f0: EQ
000000f1: PUSH2 0x02ed
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x760b8cc2
000000fb: EQ
000000fc: PUSH2 0x0304
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x82dc1ec4
00000106: EQ
00000107: PUSH2 0x031b
0000010a: JUMPI
0000010b: PUSH2 0x0147
0000010e: JUMP
0000010f: JUMPDEST
00000110: DUP1
00000111: PUSH4 0x21bcf3c0
00000116: EQ
00000117: PUSH2 0x014c
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x2d09986f
00000121: EQ
00000122: PUSH2 0x019b
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x3f4ba83a
0000012c: EQ
0000012d: PUSH2 0x01ec
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x46fbf68e
00000137: EQ
00000138: PUSH2 0x0203
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x56990e65
00000142: EQ
00000143: PUSH2 0x026c
00000146: JUMPI
00000147: JUMPDEST
00000148: PUSH1 0x00
0000014a: DUP1
0000014b: REVERT
0000014c: JUMPDEST
0000014d: CALLVALUE
0000014e: DUP1
0000014f: ISZERO
00000150: PUSH2 0x0158
00000153: JUMPI
00000154: PUSH1 0x00
00000156: DUP1
00000157: REVERT
00000158: JUMPDEST
00000159: POP
0000015a: PUSH2 0x0185
0000015d: PUSH1 0x04
0000015f: DUP1
00000160: CALLDATASIZE
00000161: SUB
00000162: PUSH1 0x20
00000164: DUP2
00000165: LT
00000166: ISZERO
00000167: PUSH2 0x016f
0000016a: JUMPI
0000016b: PUSH1 0x00
0000016d: DUP1
0000016e: REVERT
0000016f: JUMPDEST
00000170: DUP2
00000171: ADD
00000172: SWAP1
00000173: DUP1
00000174: DUP1
00000175: CALLDATALOAD
00000176: SWAP1
00000177: PUSH1 0x20
00000179: ADD
0000017a: SWAP1
0000017b: SWAP3
0000017c: SWAP2
0000017d: SWAP1
0000017e: POP
0000017f: POP
00000180: POP
00000181: PUSH2 0x06d0
00000184: JUMP
00000185: JUMPDEST
00000186: PUSH1 0x40
00000188: MLOAD
00000189: DUP1
0000018a: DUP3
0000018b: DUP2
0000018c: MSTORE
0000018d: PUSH1 0x20
0000018f: ADD
00000190: SWAP2
00000191: POP
00000192: POP
00000193: PUSH1 0x40
00000195: MLOAD
00000196: DUP1
00000197: SWAP2
00000198: SUB
00000199: SWAP1
0000019a: RETURN
0000019b: JUMPDEST
0000019c: CALLVALUE
0000019d: DUP1
0000019e: ISZERO
0000019f: PUSH2 0x01a7
000001a2: JUMPI
000001a3: PUSH1 0x00
000001a5: DUP1
000001a6: REVERT
000001a7: JUMPDEST
000001a8: POP
000001a9: PUSH2 0x01ea
000001ac: PUSH1 0x04
000001ae: DUP1
000001af: CALLDATASIZE
000001b0: SUB
000001b1: PUSH1 0x20
000001b3: DUP2
000001b4: LT
000001b5: ISZERO
000001b6: PUSH2 0x01be
000001b9: JUMPI
000001ba: PUSH1 0x00
000001bc: DUP1
000001bd: REVERT
000001be: JUMPDEST
000001bf: DUP2
000001c0: ADD
000001c1: SWAP1
000001c2: DUP1
000001c3: DUP1
000001c4: CALLDATALOAD
000001c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001da: AND
000001db: SWAP1
000001dc: PUSH1 0x20
000001de: ADD
000001df: SWAP1
000001e0: SWAP3
000001e1: SWAP2
000001e2: SWAP1
000001e3: POP
000001e4: POP
000001e5: POP
000001e6: PUSH2 0x09c4
000001e9: JUMP
000001ea: JUMPDEST
000001eb: STOP
000001ec: JUMPDEST
000001ed: CALLVALUE
000001ee: DUP1
000001ef: ISZERO
000001f0: PUSH2 0x01f8
000001f3: JUMPI
000001f4: PUSH1 0x00
000001f6: DUP1
000001f7: REVERT
000001f8: JUMPDEST
000001f9: POP
000001fa: PUSH2 0x0201
000001fd: PUSH2 0x0a1b
00000200: JUMP
00000201: JUMPDEST
00000202: STOP
00000203: JUMPDEST
00000204: CALLVALUE
00000205: DUP1
00000206: ISZERO
00000207: PUSH2 0x020f
0000020a: JUMPI
0000020b: PUSH1 0x00
0000020d: DUP1
0000020e: REVERT
0000020f: JUMPDEST
00000210: POP
00000211: PUSH2 0x0252
00000214: PUSH1 0x04
00000216: DUP1
00000217: CALLDATASIZE
00000218: SUB
00000219: PUSH1 0x20
0000021b: DUP2
0000021c: LT
0000021d: ISZERO
0000021e: PUSH2 0x0226
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: DUP2
00000228: ADD
00000229: SWAP1
0000022a: DUP1
0000022b: DUP1
0000022c: CALLDATALOAD
0000022d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000242: AND
00000243: SWAP1
00000244: PUSH1 0x20
00000246: ADD
00000247: SWAP1
00000248: SWAP3
00000249: SWAP2
0000024a: SWAP1
0000024b: POP
0000024c: POP
0000024d: POP
0000024e: PUSH2 0x0aca
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH1 0x40
00000255: MLOAD
00000256: DUP1
00000257: DUP3
00000258: ISZERO
00000259: ISZERO
0000025a: ISZERO
0000025b: ISZERO
0000025c: DUP2
0000025d: MSTORE
0000025e: PUSH1 0x20
00000260: ADD
00000261: SWAP2
00000262: POP
00000263: POP
00000264: PUSH1 0x40
00000266: MLOAD
00000267: DUP1
00000268: SWAP2
00000269: SUB
0000026a: SWAP1
0000026b: RETURN
0000026c: JUMPDEST
0000026d: CALLVALUE
0000026e: DUP1
0000026f: ISZERO
00000270: PUSH2 0x0278
00000273: JUMPI
00000274: PUSH1 0x00
00000276: DUP1
00000277: REVERT
00000278: JUMPDEST
00000279: POP
0000027a: PUSH2 0x02a5
0000027d: PUSH1 0x04
0000027f: DUP1
00000280: CALLDATASIZE
00000281: SUB
00000282: PUSH1 0x20
00000284: DUP2
00000285: LT
00000286: ISZERO
00000287: PUSH2 0x028f
0000028a: JUMPI
0000028b: PUSH1 0x00
0000028d: DUP1
0000028e: REVERT
0000028f: JUMPDEST
00000290: DUP2
00000291: ADD
00000292: SWAP1
00000293: DUP1
00000294: DUP1
00000295: CALLDATALOAD
00000296: SWAP1
00000297: PUSH1 0x20
00000299: ADD
0000029a: SWAP1
0000029b: SWAP3
0000029c: SWAP2
0000029d: SWAP1
0000029e: POP
0000029f: POP
000002a0: POP
000002a1: PUSH2 0x0ae7
000002a4: JUMP
000002a5: JUMPDEST
000002a6: STOP
000002a7: JUMPDEST
000002a8: CALLVALUE
000002a9: DUP1
000002aa: ISZERO
000002ab: PUSH2 0x02b3
000002ae: JUMPI
000002af: PUSH1 0x00
000002b1: DUP1
000002b2: REVERT
000002b3: JUMPDEST
000002b4: POP
000002b5: PUSH2 0x02bc
000002b8: PUSH2 0x0d0e
000002bb: JUMP
000002bc: JUMPDEST
000002bd: PUSH1 0x40
000002bf: MLOAD
000002c0: DUP1
000002c1: DUP3
000002c2: ISZERO
000002c3: ISZERO
000002c4: ISZERO
000002c5: ISZERO
000002c6: DUP2
000002c7: MSTORE
000002c8: PUSH1 0x20
000002ca: ADD
000002cb: SWAP2
000002cc: POP
000002cd: POP
000002ce: PUSH1 0x40
000002d0: MLOAD
000002d1: DUP1
000002d2: SWAP2
000002d3: SUB
000002d4: SWAP1
000002d5: RETURN
000002d6: JUMPDEST
000002d7: CALLVALUE
000002d8: DUP1
000002d9: ISZERO
000002da: PUSH2 0x02e2
000002dd: JUMPI
000002de: PUSH1 0x00
000002e0: DUP1
000002e1: REVERT
000002e2: JUMPDEST
000002e3: POP
000002e4: PUSH2 0x02eb
000002e7: PUSH2 0x0d25
000002ea: JUMP
000002eb: JUMPDEST
000002ec: STOP
000002ed: JUMPDEST
000002ee: CALLVALUE
000002ef: DUP1
000002f0: ISZERO
000002f1: PUSH2 0x02f9
000002f4: JUMPI
000002f5: PUSH1 0x00
000002f7: DUP1
000002f8: REVERT
000002f9: JUMPDEST
000002fa: POP
000002fb: PUSH2 0x0302
000002fe: PUSH2 0x0d30
00000301: JUMP
00000302: JUMPDEST
00000303: STOP
00000304: JUMPDEST
00000305: CALLVALUE
00000306: DUP1
00000307: ISZERO
00000308: PUSH2 0x0310
0000030b: JUMPI
0000030c: PUSH1 0x00
0000030e: DUP1
0000030f: REVERT
00000310: JUMPDEST
00000311: POP
00000312: PUSH2 0x0319
00000315: PUSH2 0x0e02
00000318: JUMP
00000319: JUMPDEST
0000031a: STOP
0000031b: JUMPDEST
0000031c: CALLVALUE
0000031d: DUP1
0000031e: ISZERO
0000031f: PUSH2 0x0327
00000322: JUMPI
00000323: PUSH1 0x00
00000325: DUP1
00000326: REVERT
00000327: JUMPDEST
00000328: POP
00000329: PUSH2 0x036a
0000032c: PUSH1 0x04
0000032e: DUP1
0000032f: CALLDATASIZE
00000330: SUB
00000331: PUSH1 0x20
00000333: DUP2
00000334: LT
00000335: ISZERO
00000336: PUSH2 0x033e
00000339: JUMPI
0000033a: PUSH1 0x00
0000033c: DUP1
0000033d: REVERT
0000033e: JUMPDEST
0000033f: DUP2
00000340: ADD
00000341: SWAP1
00000342: DUP1
00000343: DUP1
00000344: CALLDATALOAD
00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035a: AND
0000035b: SWAP1
0000035c: PUSH1 0x20
0000035e: ADD
0000035f: SWAP1
00000360: SWAP3
00000361: SWAP2
00000362: SWAP1
00000363: POP
00000364: POP
00000365: POP
00000366: PUSH2 0x1153
00000369: JUMP
0000036a: JUMPDEST
0000036b: STOP
0000036c: JUMPDEST
0000036d: CALLVALUE
0000036e: DUP1
0000036f: ISZERO
00000370: PUSH2 0x0378
00000373: JUMPI
00000374: PUSH1 0x00
00000376: DUP1
00000377: REVERT
00000378: JUMPDEST
00000379: POP
0000037a: PUSH2 0x03bb
0000037d: PUSH1 0x04
0000037f: DUP1
00000380: CALLDATASIZE
00000381: SUB
00000382: PUSH1 0x20
00000384: DUP2
00000385: LT
00000386: ISZERO
00000387: PUSH2 0x038f
0000038a: JUMPI
0000038b: PUSH1 0x00
0000038d: DUP1
0000038e: REVERT
0000038f: JUMPDEST
00000390: DUP2
00000391: ADD
00000392: SWAP1
00000393: DUP1
00000394: DUP1
00000395: CALLDATALOAD
00000396: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ab: AND
000003ac: SWAP1
000003ad: PUSH1 0x20
000003af: ADD
000003b0: SWAP1
000003b1: SWAP3
000003b2: SWAP2
000003b3: SWAP1
000003b4: POP
000003b5: POP
000003b6: POP
000003b7: PUSH2 0x1173
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: DUP1
000003c0: DUP3
000003c1: DUP2
000003c2: MSTORE
000003c3: PUSH1 0x20
000003c5: ADD
000003c6: SWAP2
000003c7: POP
000003c8: POP
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: DUP1
000003cd: SWAP2
000003ce: SUB
000003cf: SWAP1
000003d0: RETURN
000003d1: JUMPDEST
000003d2: CALLVALUE
000003d3: DUP1
000003d4: ISZERO
000003d5: PUSH2 0x03dd
000003d8: JUMPI
000003d9: PUSH1 0x00
000003db: DUP1
000003dc: REVERT
000003dd: JUMPDEST
000003de: POP
000003df: PUSH2 0x03e6
000003e2: PUSH2 0x13aa
000003e5: JUMP
000003e6: JUMPDEST
000003e7: STOP
000003e8: JUMPDEST
000003e9: CALLVALUE
000003ea: DUP1
000003eb: ISZERO
000003ec: PUSH2 0x03f4
000003ef: JUMPI
000003f0: PUSH1 0x00
000003f2: DUP1
000003f3: REVERT
000003f4: JUMPDEST
000003f5: POP
000003f6: PUSH2 0x0421
000003f9: PUSH1 0x04
000003fb: DUP1
000003fc: CALLDATASIZE
000003fd: SUB
000003fe: PUSH1 0x20
00000400: DUP2
00000401: LT
00000402: ISZERO
00000403: PUSH2 0x040b
00000406: JUMPI
00000407: PUSH1 0x00
00000409: DUP1
0000040a: REVERT
0000040b: JUMPDEST
0000040c: DUP2
0000040d: ADD
0000040e: SWAP1
0000040f: DUP1
00000410: DUP1
00000411: CALLDATALOAD
00000412: SWAP1
00000413: PUSH1 0x20
00000415: ADD
00000416: SWAP1
00000417: SWAP3
00000418: SWAP2
00000419: SWAP1
0000041a: POP
0000041b: POP
0000041c: POP
0000041d: PUSH2 0x145a
00000420: JUMP
00000421: JUMPDEST
00000422: PUSH1 0x40
00000424: MLOAD
00000425: DUP1
00000426: DUP3
00000427: DUP2
00000428: MSTORE
00000429: PUSH1 0x20
0000042b: ADD
0000042c: SWAP2
0000042d: POP
0000042e: POP
0000042f: PUSH1 0x40
00000431: MLOAD
00000432: DUP1
00000433: SWAP2
00000434: SUB
00000435: SWAP1
00000436: RETURN
00000437: JUMPDEST
00000438: CALLVALUE
00000439: DUP1
0000043a: ISZERO
0000043b: PUSH2 0x0443
0000043e: JUMPI
0000043f: PUSH1 0x00
00000441: DUP1
00000442: REVERT
00000443: JUMPDEST
00000444: POP
00000445: PUSH2 0x044c
00000448: PUSH2 0x1477
0000044b: JUMP
0000044c: JUMPDEST
0000044d: PUSH1 0x40
0000044f: MLOAD
00000450: DUP1
00000451: DUP3
00000452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000467: AND
00000468: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000047d: AND
0000047e: DUP2
0000047f: MSTORE
00000480: PUSH1 0x20
00000482: ADD
00000483: SWAP2
00000484: POP
00000485: POP
00000486: PUSH1 0x40
00000488: MLOAD
00000489: DUP1
0000048a: SWAP2
0000048b: SUB
0000048c: SWAP1
0000048d: RETURN
0000048e: JUMPDEST
0000048f: CALLVALUE
00000490: DUP1
00000491: ISZERO
00000492: PUSH2 0x049a
00000495: JUMPI
00000496: PUSH1 0x00
00000498: DUP1
00000499: REVERT
0000049a: JUMPDEST
0000049b: POP
0000049c: PUSH2 0x04a3
0000049f: PUSH2 0x14a0
000004a2: JUMP
000004a3: JUMPDEST
000004a4: PUSH1 0x40
000004a6: MLOAD
000004a7: DUP1
000004a8: DUP3
000004a9: ISZERO
000004aa: ISZERO
000004ab: ISZERO
000004ac: ISZERO
000004ad: DUP2
000004ae: MSTORE
000004af: PUSH1 0x20
000004b1: ADD
000004b2: SWAP2
000004b3: POP
000004b4: POP
000004b5: PUSH1 0x40
000004b7: MLOAD
000004b8: DUP1
000004b9: SWAP2
000004ba: SUB
000004bb: SWAP1
000004bc: RETURN
000004bd: JUMPDEST
000004be: CALLVALUE
000004bf: DUP1
000004c0: ISZERO
000004c1: PUSH2 0x04c9
000004c4: JUMPI
000004c5: PUSH1 0x00
000004c7: DUP1
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: PUSH2 0x050c
000004ce: PUSH1 0x04
000004d0: DUP1
000004d1: CALLDATASIZE
000004d2: SUB
000004d3: PUSH1 0x20
000004d5: DUP2
000004d6: LT
000004d7: ISZERO
000004d8: PUSH2 0x04e0
000004db: JUMPI
000004dc: PUSH1 0x00
000004de: DUP1
000004df: REVERT
000004e0: JUMPDEST
000004e1: DUP2
000004e2: ADD
000004e3: SWAP1
000004e4: DUP1
000004e5: DUP1
000004e6: CALLDATALOAD
000004e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004fc: AND
000004fd: SWAP1
000004fe: PUSH1 0x20
00000500: ADD
00000501: SWAP1
00000502: SWAP3
00000503: SWAP2
00000504: SWAP1
00000505: POP
00000506: POP
00000507: POP
00000508: PUSH2 0x14f7
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH1 0x40
0000050f: MLOAD
00000510: DUP1
00000511: DUP3
00000512: ISZERO
00000513: ISZERO
00000514: ISZERO
00000515: ISZERO
00000516: DUP2
00000517: MSTORE
00000518: PUSH1 0x20
0000051a: ADD
0000051b: SWAP2
0000051c: POP
0000051d: POP
0000051e: PUSH1 0x40
00000520: MLOAD
00000521: DUP1
00000522: SWAP2
00000523: SUB
00000524: SWAP1
00000525: RETURN
00000526: JUMPDEST
00000527: CALLVALUE
00000528: DUP1
00000529: ISZERO
0000052a: PUSH2 0x0532
0000052d: JUMPI
0000052e: PUSH1 0x00
00000530: DUP1
00000531: REVERT
00000532: JUMPDEST
00000533: POP
00000534: PUSH2 0x0563
00000537: PUSH1 0x04
00000539: DUP1
0000053a: CALLDATASIZE
0000053b: SUB
0000053c: PUSH1 0x20
0000053e: DUP2
0000053f: LT
00000540: ISZERO
00000541: PUSH2 0x0549
00000544: JUMPI
00000545: PUSH1 0x00
00000547: DUP1
00000548: REVERT
00000549: JUMPDEST
0000054a: DUP2
0000054b: ADD
0000054c: SWAP1
0000054d: DUP1
0000054e: DUP1
0000054f: CALLDATALOAD
00000550: PUSH2 0xffff
00000553: AND
00000554: SWAP1
00000555: PUSH1 0x20
00000557: ADD
00000558: SWAP1
00000559: SWAP3
0000055a: SWAP2
0000055b: SWAP1
0000055c: POP
0000055d: POP
0000055e: POP
0000055f: PUSH2 0x154d
00000562: JUMP
00000563: JUMPDEST
00000564: PUSH1 0x40
00000566: MLOAD
00000567: DUP1
00000568: DUP3
00000569: DUP2
0000056a: MSTORE
0000056b: PUSH1 0x20
0000056d: ADD
0000056e: SWAP2
0000056f: POP
00000570: POP
00000571: PUSH1 0x40
00000573: MLOAD
00000574: DUP1
00000575: SWAP2
00000576: SUB
00000577: SWAP1
00000578: RETURN
00000579: JUMPDEST
0000057a: CALLVALUE
0000057b: DUP1
0000057c: ISZERO
0000057d: PUSH2 0x0585
00000580: JUMPI
00000581: PUSH1 0x00
00000583: DUP1
00000584: REVERT
00000585: JUMPDEST
00000586: POP
00000587: PUSH2 0x058e
0000058a: PUSH2 0x1572
0000058d: JUMP
0000058e: JUMPDEST
0000058f: PUSH1 0x40
00000591: MLOAD
00000592: DUP1
00000593: DUP3
00000594: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a9: AND
000005aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005bf: AND
000005c0: DUP2
000005c1: MSTORE
000005c2: PUSH1 0x20
000005c4: ADD
000005c5: SWAP2
000005c6: POP
000005c7: POP
000005c8: PUSH1 0x40
000005ca: MLOAD
000005cb: DUP1
000005cc: SWAP2
000005cd: SUB
000005ce: SWAP1
000005cf: RETURN
000005d0: JUMPDEST
000005d1: PUSH2 0x0620
000005d4: PUSH1 0x04
000005d6: DUP1
000005d7: CALLDATASIZE
000005d8: SUB
000005d9: PUSH1 0x40
000005db: DUP2
000005dc: LT
000005dd: ISZERO
000005de: PUSH2 0x05e6
000005e1: JUMPI
000005e2: PUSH1 0x00
000005e4: DUP1
000005e5: REVERT
000005e6: JUMPDEST
000005e7: DUP2
000005e8: ADD
000005e9: SWAP1
000005ea: DUP1
000005eb: DUP1
000005ec: CALLDATALOAD
000005ed: PUSH2 0xffff
000005f0: AND
000005f1: SWAP1
000005f2: PUSH1 0x20
000005f4: ADD
000005f5: SWAP1
000005f6: SWAP3
000005f7: SWAP2
000005f8: SWAP1
000005f9: DUP1
000005fa: CALLDATALOAD
000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000610: AND
00000611: SWAP1
00000612: PUSH1 0x20
00000614: ADD
00000615: SWAP1
00000616: SWAP3
00000617: SWAP2
00000618: SWAP1
00000619: POP
0000061a: POP
0000061b: POP
0000061c: PUSH2 0x1598
0000061f: JUMP
00000620: JUMPDEST
00000621: STOP
00000622: JUMPDEST
00000623: CALLVALUE
00000624: DUP1
00000625: ISZERO
00000626: PUSH2 0x062e
00000629: JUMPI
0000062a: PUSH1 0x00
0000062c: DUP1
0000062d: REVERT
0000062e: JUMPDEST
0000062f: POP
00000630: PUSH2 0x0671
00000633: PUSH1 0x04
00000635: DUP1
00000636: CALLDATASIZE
00000637: SUB
00000638: PUSH1 0x20
0000063a: DUP2
0000063b: LT
0000063c: ISZERO
0000063d: PUSH2 0x0645
00000640: JUMPI
00000641: PUSH1 0x00
00000643: DUP1
00000644: REVERT
00000645: JUMPDEST
00000646: DUP2
00000647: ADD
00000648: SWAP1
00000649: DUP1
0000064a: DUP1
0000064b: CALLDATALOAD
0000064c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000661: AND
00000662: SWAP1
00000663: PUSH1 0x20
00000665: ADD
00000666: SWAP1
00000667: SWAP3
00000668: SWAP2
00000669: SWAP1
0000066a: POP
0000066b: POP
0000066c: POP
0000066d: PUSH2 0x17d1
00000670: JUMP
00000671: JUMPDEST
00000672: STOP
00000673: JUMPDEST
00000674: CALLVALUE
00000675: DUP1
00000676: ISZERO
00000677: PUSH2 0x067f
0000067a: JUMPI
0000067b: PUSH1 0x00
0000067d: DUP1
0000067e: REVERT
0000067f: JUMPDEST
00000680: POP
00000681: PUSH2 0x06ce
00000684: PUSH1 0x04
00000686: DUP1
00000687: CALLDATASIZE
00000688: SUB
00000689: PUSH1 0x40
0000068b: DUP2
0000068c: LT
0000068d: ISZERO
0000068e: PUSH2 0x0696
00000691: JUMPI
00000692: PUSH1 0x00
00000694: DUP1
00000695: REVERT
00000696: JUMPDEST
00000697: DUP2
00000698: ADD
00000699: SWAP1
0000069a: DUP1
0000069b: DUP1
0000069c: CALLDATALOAD
0000069d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006b2: AND
000006b3: SWAP1
000006b4: PUSH1 0x20
000006b6: ADD
000006b7: SWAP1
000006b8: SWAP3
000006b9: SWAP2
000006ba: SWAP1
000006bb: DUP1
000006bc: CALLDATALOAD
000006bd: ISZERO
000006be: ISZERO
000006bf: SWAP1
000006c0: PUSH1 0x20
000006c2: ADD
000006c3: SWAP1
000006c4: SWAP3
000006c5: SWAP2
000006c6: SWAP1
000006c7: POP
000006c8: POP
000006c9: POP
000006ca: PUSH2 0x17f0
000006cd: JUMP
000006ce: JUMPDEST
000006cf: STOP
000006d0: JUMPDEST
000006d1: PUSH1 0x00
000006d3: PUSH1 0x04
000006d5: PUSH1 0x00
000006d7: SWAP1
000006d8: SLOAD
000006d9: SWAP1
000006da: PUSH2 0x0100
000006dd: EXP
000006de: SWAP1
000006df: DIV
000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f5: AND
000006f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070b: AND
0000070c: PUSH4 0x9989948f
00000711: DUP4
00000712: PUSH1 0x40
00000714: MLOAD
00000715: DUP3
00000716: PUSH4 0xffffffff
0000071b: AND
0000071c: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000073a: MUL
0000073b: DUP2
0000073c: MSTORE
0000073d: PUSH1 0x04
0000073f: ADD
00000740: DUP1
00000741: DUP3
00000742: DUP2
00000743: MSTORE
00000744: PUSH1 0x20
00000746: ADD
00000747: SWAP2
00000748: POP
00000749: POP
0000074a: PUSH1 0x20
0000074c: PUSH1 0x40
0000074e: MLOAD
0000074f: DUP1
00000750: DUP4
00000751: SUB
00000752: DUP2
00000753: DUP7
00000754: DUP1
00000755: EXTCODESIZE
00000756: ISZERO
00000757: DUP1
00000758: ISZERO
00000759: PUSH2 0x0761
0000075c: JUMPI
0000075d: PUSH1 0x00
0000075f: DUP1
00000760: REVERT
00000761: JUMPDEST
00000762: POP
00000763: GAS
00000764: STATICCALL
00000765: ISZERO
00000766: DUP1
00000767: ISZERO
00000768: PUSH2 0x0775
0000076b: JUMPI
0000076c: RETURNDATASIZE
0000076d: PUSH1 0x00
0000076f: DUP1
00000770: RETURNDATACOPY
00000771: RETURNDATASIZE
00000772: PUSH1 0x00
00000774: REVERT
00000775: JUMPDEST
00000776: POP
00000777: POP
00000778: POP
00000779: POP
0000077a: PUSH1 0x40
0000077c: MLOAD
0000077d: RETURNDATASIZE
0000077e: PUSH1 0x20
00000780: DUP2
00000781: LT
00000782: ISZERO
00000783: PUSH2 0x078b
00000786: JUMPI
00000787: PUSH1 0x00
00000789: DUP1
0000078a: REVERT
0000078b: JUMPDEST
0000078c: DUP2
0000078d: ADD
0000078e: SWAP1
0000078f: DUP1
00000790: DUP1
00000791: MLOAD
00000792: SWAP1
00000793: PUSH1 0x20
00000795: ADD
00000796: SWAP1
00000797: SWAP3
00000798: SWAP2
00000799: SWAP1
0000079a: POP
0000079b: POP
0000079c: POP
0000079d: ISZERO
0000079e: ISZERO
0000079f: PUSH2 0x07a7
000007a2: JUMPI
000007a3: PUSH1 0x00
000007a5: DUP1
000007a6: REVERT
000007a7: JUMPDEST
000007a8: PUSH1 0x00
000007aa: PUSH1 0x04
000007ac: PUSH1 0x00
000007ae: SWAP1
000007af: SLOAD
000007b0: SWAP1
000007b1: PUSH2 0x0100
000007b4: EXP
000007b5: SWAP1
000007b6: DIV
000007b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007cc: AND
000007cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e2: AND
000007e3: PUSH4 0x410cb3f8
000007e8: DUP5
000007e9: PUSH1 0x40
000007eb: MLOAD
000007ec: DUP3
000007ed: PUSH4 0xffffffff
000007f2: AND
000007f3: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000811: MUL
00000812: DUP2
00000813: MSTORE
00000814: PUSH1 0x04
00000816: ADD
00000817: DUP1
00000818: DUP3
00000819: DUP2
0000081a: MSTORE
0000081b: PUSH1 0x20
0000081d: ADD
0000081e: SWAP2
0000081f: POP
00000820: POP
00000821: PUSH1 0x20
00000823: PUSH1 0x40
00000825: MLOAD
00000826: DUP1
00000827: DUP4
00000828: SUB
00000829: DUP2
0000082a: DUP7
0000082b: DUP1
0000082c: EXTCODESIZE
0000082d: ISZERO
0000082e: DUP1
0000082f: ISZERO
00000830: PUSH2 0x0838
00000833: JUMPI
00000834: PUSH1 0x00
00000836: DUP1
00000837: REVERT
00000838: JUMPDEST
00000839: POP
0000083a: GAS
0000083b: STATICCALL
0000083c: ISZERO
0000083d: DUP1
0000083e: ISZERO
0000083f: PUSH2 0x084c
00000842: JUMPI
00000843: RETURNDATASIZE
00000844: PUSH1 0x00
00000846: DUP1
00000847: RETURNDATACOPY
00000848: RETURNDATASIZE
00000849: PUSH1 0x00
0000084b: REVERT
0000084c: JUMPDEST
0000084d: POP
0000084e: POP
0000084f: POP
00000850: POP
00000851: PUSH1 0x40
00000853: MLOAD
00000854: RETURNDATASIZE
00000855: PUSH1 0x20
00000857: DUP2
00000858: LT
00000859: ISZERO
0000085a: PUSH2 0x0862
0000085d: JUMPI
0000085e: PUSH1 0x00
00000860: DUP1
00000861: REVERT
00000862: JUMPDEST
00000863: DUP2
00000864: ADD
00000865: SWAP1
00000866: DUP1
00000867: DUP1
00000868: MLOAD
00000869: SWAP1
0000086a: PUSH1 0x20
0000086c: ADD
0000086d: SWAP1
0000086e: SWAP3
0000086f: SWAP2
00000870: SWAP1
00000871: POP
00000872: POP
00000873: POP
00000874: SWAP1
00000875: POP
00000876: PUSH1 0x00
00000878: DUP1
00000879: PUSH1 0x04
0000087b: PUSH1 0x00
0000087d: SWAP1
0000087e: SLOAD
0000087f: SWAP1
00000880: PUSH2 0x0100
00000883: EXP
00000884: SWAP1
00000885: DIV
00000886: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000089b: AND
0000089c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b1: AND
000008b2: PUSH4 0x1ee2ec93
000008b7: DUP7
000008b8: PUSH1 0x40
000008ba: MLOAD
000008bb: DUP3
000008bc: PUSH4 0xffffffff
000008c1: AND
000008c2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000008e0: MUL
000008e1: DUP2
000008e2: MSTORE
000008e3: PUSH1 0x04
000008e5: ADD
000008e6: DUP1
000008e7: DUP3
000008e8: DUP2
000008e9: MSTORE
000008ea: PUSH1 0x20
000008ec: ADD
000008ed: SWAP2
000008ee: POP
000008ef: POP
000008f0: PUSH1 0x40
000008f2: DUP1
000008f3: MLOAD
000008f4: DUP1
000008f5: DUP4
000008f6: SUB
000008f7: DUP2
000008f8: DUP7
000008f9: DUP1
000008fa: EXTCODESIZE
000008fb: ISZERO
000008fc: DUP1
000008fd: ISZERO
000008fe: PUSH2 0x0906
00000901: JUMPI
00000902: PUSH1 0x00
00000904: DUP1
00000905: REVERT
00000906: JUMPDEST
00000907: POP
00000908: GAS
00000909: STATICCALL
0000090a: ISZERO
0000090b: DUP1
0000090c: ISZERO
0000090d: PUSH2 0x091a
00000910: JUMPI
00000911: RETURNDATASIZE
00000912: PUSH1 0x00
00000914: DUP1
00000915: RETURNDATACOPY
00000916: RETURNDATASIZE
00000917: PUSH1 0x00
00000919: REVERT
0000091a: JUMPDEST
0000091b: POP
0000091c: POP
0000091d: POP
0000091e: POP
0000091f: PUSH1 0x40
00000921: MLOAD
00000922: RETURNDATASIZE
00000923: PUSH1 0x40
00000925: DUP2
00000926: LT
00000927: ISZERO
00000928: PUSH2 0x0930
0000092b: JUMPI
0000092c: PUSH1 0x00
0000092e: DUP1
0000092f: REVERT
00000930: JUMPDEST
00000931: DUP2
00000932: ADD
00000933: SWAP1
00000934: DUP1
00000935: DUP1
00000936: MLOAD
00000937: SWAP1
00000938: PUSH1 0x20
0000093a: ADD
0000093b: SWAP1
0000093c: SWAP3
0000093d: SWAP2
0000093e: SWAP1
0000093f: DUP1
00000940: MLOAD
00000941: SWAP1
00000942: PUSH1 0x20
00000944: ADD
00000945: SWAP1
00000946: SWAP3
00000947: SWAP2
00000948: SWAP1
00000949: POP
0000094a: POP
0000094b: POP
0000094c: SWAP2
0000094d: POP
0000094e: SWAP2
0000094f: POP
00000950: PUSH1 0x00
00000952: PUSH2 0x0991
00000955: DUP3
00000956: PUSH2 0x0983
00000959: DUP6
0000095a: PUSH1 0x05
0000095c: PUSH1 0x00
0000095e: DUP10
0000095f: PUSH2 0xffff
00000962: AND
00000963: PUSH2 0xffff
00000966: AND
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x20
0000096b: ADD
0000096c: SWAP1
0000096d: DUP2
0000096e: MSTORE
0000096f: PUSH1 0x20
00000971: ADD
00000972: PUSH1 0x00
00000974: KECCAK256
00000975: SLOAD
00000976: PUSH2 0x18cd
00000979: SWAP1
0000097a: SWAP2
0000097b: SWAP1
0000097c: PUSH4 0xffffffff
00000981: AND
00000982: JUMP
00000983: JUMPDEST
00000984: PUSH2 0x190b
00000987: SWAP1
00000988: SWAP2
00000989: SWAP1
0000098a: PUSH4 0xffffffff
0000098f: AND
00000990: JUMP
00000991: JUMPDEST
00000992: SWAP1
00000993: POP
00000994: PUSH2 0x09b9
00000997: PUSH1 0x06
00000999: PUSH1 0x00
0000099b: DUP9
0000099c: DUP2
0000099d: MSTORE
0000099e: PUSH1 0x20
000009a0: ADD
000009a1: SWAP1
000009a2: DUP2
000009a3: MSTORE
000009a4: PUSH1 0x20
000009a6: ADD
000009a7: PUSH1 0x00
000009a9: KECCAK256
000009aa: SLOAD
000009ab: DUP3
000009ac: PUSH2 0x1935
000009af: SWAP1
000009b0: SWAP2
000009b1: SWAP1
000009b2: PUSH4 0xffffffff
000009b7: AND
000009b8: JUMP
000009b9: JUMPDEST
000009ba: SWAP5
000009bb: POP
000009bc: POP
000009bd: POP
000009be: POP
000009bf: POP
000009c0: SWAP2
000009c1: SWAP1
000009c2: POP
000009c3: JUMP
000009c4: JUMPDEST
000009c5: PUSH2 0x09cc
000009c8: PUSH2 0x14a0
000009cb: JUMP
000009cc: JUMPDEST
000009cd: ISZERO
000009ce: ISZERO
000009cf: PUSH2 0x09d7
000009d2: JUMPI
000009d3: PUSH1 0x00
000009d5: DUP1
000009d6: REVERT
000009d7: JUMPDEST
000009d8: DUP1
000009d9: PUSH1 0x04
000009db: PUSH1 0x00
000009dd: PUSH2 0x0100
000009e0: EXP
000009e1: DUP2
000009e2: SLOAD
000009e3: DUP2
000009e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009f9: MUL
000009fa: NOT
000009fb: AND
000009fc: SWAP1
000009fd: DUP4
000009fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a13: AND
00000a14: MUL
00000a15: OR
00000a16: SWAP1
00000a17: SSTORE
00000a18: POP
00000a19: POP
00000a1a: JUMP
00000a1b: JUMPDEST
00000a1c: PUSH2 0x0a24
00000a1f: CALLER
00000a20: PUSH2 0x0aca
00000a23: JUMP
00000a24: JUMPDEST
00000a25: ISZERO
00000a26: ISZERO
00000a27: PUSH2 0x0a2f
00000a2a: JUMPI
00000a2b: PUSH1 0x00
00000a2d: DUP1
00000a2e: REVERT
00000a2f: JUMPDEST
00000a30: PUSH1 0x02
00000a32: PUSH1 0x00
00000a34: SWAP1
00000a35: SLOAD
00000a36: SWAP1
00000a37: PUSH2 0x0100
00000a3a: EXP
00000a3b: SWAP1
00000a3c: DIV
00000a3d: PUSH1 0xff
00000a3f: AND
00000a40: ISZERO
00000a41: ISZERO
00000a42: PUSH2 0x0a4a
00000a45: JUMPI
00000a46: PUSH1 0x00
00000a48: DUP1
00000a49: REVERT
00000a4a: JUMPDEST
00000a4b: PUSH1 0x00
00000a4d: PUSH1 0x02
00000a4f: PUSH1 0x00
00000a51: PUSH2 0x0100
00000a54: EXP
00000a55: DUP2
00000a56: SLOAD
00000a57: DUP2
00000a58: PUSH1 0xff
00000a5a: MUL
00000a5b: NOT
00000a5c: AND
00000a5d: SWAP1
00000a5e: DUP4
00000a5f: ISZERO
00000a60: ISZERO
00000a61: MUL
00000a62: OR
00000a63: SWAP1
00000a64: SSTORE
00000a65: POP
00000a66: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000a87: CALLER
00000a88: PUSH1 0x40
00000a8a: MLOAD
00000a8b: DUP1
00000a8c: DUP3
00000a8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aa2: AND
00000aa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab8: AND
00000ab9: DUP2
00000aba: MSTORE
00000abb: PUSH1 0x20
00000abd: ADD
00000abe: SWAP2
00000abf: POP
00000ac0: POP
00000ac1: PUSH1 0x40
00000ac3: MLOAD
00000ac4: DUP1
00000ac5: SWAP2
00000ac6: SUB
00000ac7: SWAP1
00000ac8: LOG1
00000ac9: JUMP
00000aca: JUMPDEST
00000acb: PUSH1 0x00
00000acd: PUSH2 0x0ae0
00000ad0: DUP3
00000ad1: PUSH1 0x01
00000ad3: PUSH2 0x1957
00000ad6: SWAP1
00000ad7: SWAP2
00000ad8: SWAP1
00000ad9: PUSH4 0xffffffff
00000ade: AND
00000adf: JUMP
00000ae0: JUMPDEST
00000ae1: SWAP1
00000ae2: POP
00000ae3: SWAP2
00000ae4: SWAP1
00000ae5: POP
00000ae6: JUMP
00000ae7: JUMPDEST
00000ae8: PUSH1 0x02
00000aea: PUSH1 0x00
00000aec: SWAP1
00000aed: SLOAD
00000aee: SWAP1
00000aef: PUSH2 0x0100
00000af2: EXP
00000af3: SWAP1
00000af4: DIV
00000af5: PUSH1 0xff
00000af7: AND
00000af8: ISZERO
00000af9: ISZERO
00000afa: ISZERO
00000afb: PUSH2 0x0b03
00000afe: JUMPI
00000aff: PUSH1 0x00
00000b01: DUP1
00000b02: REVERT
00000b03: JUMPDEST
00000b04: PUSH1 0x01
00000b06: PUSH1 0x03
00000b08: PUSH1 0x00
00000b0a: DUP3
00000b0b: DUP3
00000b0c: SLOAD
00000b0d: ADD
00000b0e: SWAP3
00000b0f: POP
00000b10: POP
00000b11: DUP2
00000b12: SWAP1
00000b13: SSTORE
00000b14: POP
00000b15: PUSH1 0x00
00000b17: PUSH1 0x03
00000b19: SLOAD
00000b1a: SWAP1
00000b1b: POP
00000b1c: CALLER
00000b1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b32: AND
00000b33: PUSH1 0x04
00000b35: PUSH1 0x00
00000b37: SWAP1
00000b38: SLOAD
00000b39: SWAP1
00000b3a: PUSH2 0x0100
00000b3d: EXP
00000b3e: SWAP1
00000b3f: DIV
00000b40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b55: AND
00000b56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b6b: AND
00000b6c: PUSH4 0x6352211e
00000b71: DUP5
00000b72: PUSH1 0x40
00000b74: MLOAD
00000b75: DUP3
00000b76: PUSH4 0xffffffff
00000b7b: AND
00000b7c: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000b9a: MUL
00000b9b: DUP2
00000b9c: MSTORE
00000b9d: PUSH1 0x04
00000b9f: ADD
00000ba0: DUP1
00000ba1: DUP3
00000ba2: DUP2
00000ba3: MSTORE
00000ba4: PUSH1 0x20
00000ba6: ADD
00000ba7: SWAP2
00000ba8: POP
00000ba9: POP
00000baa: PUSH1 0x20
00000bac: PUSH1 0x40
00000bae: MLOAD
00000baf: DUP1
00000bb0: DUP4
00000bb1: SUB
00000bb2: DUP2
00000bb3: DUP7
00000bb4: DUP1
00000bb5: EXTCODESIZE
00000bb6: ISZERO
00000bb7: DUP1
00000bb8: ISZERO
00000bb9: PUSH2 0x0bc1
00000bbc: JUMPI
00000bbd: PUSH1 0x00
00000bbf: DUP1
00000bc0: REVERT
00000bc1: JUMPDEST
00000bc2: POP
00000bc3: GAS
00000bc4: STATICCALL
00000bc5: ISZERO
00000bc6: DUP1
00000bc7: ISZERO
00000bc8: PUSH2 0x0bd5
00000bcb: JUMPI
00000bcc: RETURNDATASIZE
00000bcd: PUSH1 0x00
00000bcf: DUP1
00000bd0: RETURNDATACOPY
00000bd1: RETURNDATASIZE
00000bd2: PUSH1 0x00
00000bd4: REVERT
00000bd5: JUMPDEST
00000bd6: POP
00000bd7: POP
00000bd8: POP
00000bd9: POP
00000bda: PUSH1 0x40
00000bdc: MLOAD
00000bdd: RETURNDATASIZE
00000bde: PUSH1 0x20
00000be0: DUP2
00000be1: LT
00000be2: ISZERO
00000be3: PUSH2 0x0beb
00000be6: JUMPI
00000be7: PUSH1 0x00
00000be9: DUP1
00000bea: REVERT
00000beb: JUMPDEST
00000bec: DUP2
00000bed: ADD
00000bee: SWAP1
00000bef: DUP1
00000bf0: DUP1
00000bf1: MLOAD
00000bf2: SWAP1
00000bf3: PUSH1 0x20
00000bf5: ADD
00000bf6: SWAP1
00000bf7: SWAP3
00000bf8: SWAP2
00000bf9: SWAP1
00000bfa: POP
00000bfb: POP
00000bfc: POP
00000bfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c12: AND
00000c13: EQ
00000c14: ISZERO
00000c15: ISZERO
00000c16: PUSH2 0x0c1e
00000c19: JUMPI
00000c1a: PUSH1 0x00
00000c1c: DUP1
00000c1d: REVERT
00000c1e: JUMPDEST
00000c1f: PUSH1 0x00
00000c21: PUSH2 0x0c29
00000c24: DUP4
00000c25: PUSH2 0x06d0
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: SWAP1
00000c2b: POP
00000c2c: PUSH1 0x00
00000c2e: DUP2
00000c2f: GT
00000c30: ISZERO
00000c31: ISZERO
00000c32: PUSH2 0x0c3a
00000c35: JUMPI
00000c36: PUSH1 0x00
00000c38: DUP1
00000c39: REVERT
00000c3a: JUMPDEST
00000c3b: DUP1
00000c3c: PUSH1 0x06
00000c3e: PUSH1 0x00
00000c40: DUP6
00000c41: DUP2
00000c42: MSTORE
00000c43: PUSH1 0x20
00000c45: ADD
00000c46: SWAP1
00000c47: DUP2
00000c48: MSTORE
00000c49: PUSH1 0x20
00000c4b: ADD
00000c4c: PUSH1 0x00
00000c4e: KECCAK256
00000c4f: PUSH1 0x00
00000c51: DUP3
00000c52: DUP3
00000c53: SLOAD
00000c54: ADD
00000c55: SWAP3
00000c56: POP
00000c57: POP
00000c58: DUP2
00000c59: SWAP1
00000c5a: SSTORE
00000c5b: POP
00000c5c: CALLER
00000c5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c72: AND
00000c73: PUSH2 0x08fc
00000c76: DUP3
00000c77: SWAP1
00000c78: DUP2
00000c79: ISZERO
00000c7a: MUL
00000c7b: SWAP1
00000c7c: PUSH1 0x40
00000c7e: MLOAD
00000c7f: PUSH1 0x00
00000c81: PUSH1 0x40
00000c83: MLOAD
00000c84: DUP1
00000c85: DUP4
00000c86: SUB
00000c87: DUP2
00000c88: DUP6
00000c89: DUP9
00000c8a: DUP9
00000c8b: CALL
00000c8c: SWAP4
00000c8d: POP
00000c8e: POP
00000c8f: POP
00000c90: POP
00000c91: ISZERO
00000c92: DUP1
00000c93: ISZERO
00000c94: PUSH2 0x0ca1
00000c97: JUMPI
00000c98: RETURNDATASIZE
00000c99: PUSH1 0x00
00000c9b: DUP1
00000c9c: RETURNDATACOPY
00000c9d: RETURNDATASIZE
00000c9e: PUSH1 0x00
00000ca0: REVERT
00000ca1: JUMPDEST
00000ca2: POP
00000ca3: CALLER
00000ca4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb9: AND
00000cba: DUP4
00000cbb: PUSH32 0xa2af676ed4f1045c96ac2b367997d51c256e9d758a41490190108d260e9634f7
00000cdc: DUP4
00000cdd: TIMESTAMP
00000cde: PUSH1 0x40
00000ce0: MLOAD
00000ce1: DUP1
00000ce2: DUP4
00000ce3: DUP2
00000ce4: MSTORE
00000ce5: PUSH1 0x20
00000ce7: ADD
00000ce8: DUP3
00000ce9: DUP2
00000cea: MSTORE
00000ceb: PUSH1 0x20
00000ced: ADD
00000cee: SWAP3
00000cef: POP
00000cf0: POP
00000cf1: POP
00000cf2: PUSH1 0x40
00000cf4: MLOAD
00000cf5: DUP1
00000cf6: SWAP2
00000cf7: SUB
00000cf8: SWAP1
00000cf9: LOG3
00000cfa: POP
00000cfb: PUSH1 0x03
00000cfd: SLOAD
00000cfe: DUP2
00000cff: EQ
00000d00: ISZERO
00000d01: ISZERO
00000d02: PUSH2 0x0d0a
00000d05: JUMPI
00000d06: PUSH1 0x00
00000d08: DUP1
00000d09: REVERT
00000d0a: JUMPDEST
00000d0b: POP
00000d0c: POP
00000d0d: JUMP
00000d0e: JUMPDEST
00000d0f: PUSH1 0x00
00000d11: PUSH1 0x02
00000d13: PUSH1 0x00
00000d15: SWAP1
00000d16: SLOAD
00000d17: SWAP1
00000d18: PUSH2 0x0100
00000d1b: EXP
00000d1c: SWAP1
00000d1d: DIV
00000d1e: PUSH1 0xff
00000d20: AND
00000d21: SWAP1
00000d22: POP
00000d23: SWAP1
00000d24: JUMP
00000d25: JUMPDEST
00000d26: PUSH2 0x0d2e
00000d29: CALLER
00000d2a: PUSH2 0x19eb
00000d2d: JUMP
00000d2e: JUMPDEST
00000d2f: JUMP
00000d30: JUMPDEST
00000d31: PUSH2 0x0d38
00000d34: PUSH2 0x14a0
00000d37: JUMP
00000d38: JUMPDEST
00000d39: ISZERO
00000d3a: ISZERO
00000d3b: PUSH2 0x0d43
00000d3e: JUMPI
00000d3f: PUSH1 0x00
00000d41: DUP1
00000d42: REVERT
00000d43: JUMPDEST
00000d44: PUSH1 0x00
00000d46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d5b: AND
00000d5c: PUSH1 0x00
00000d5e: DUP1
00000d5f: SWAP1
00000d60: SLOAD
00000d61: SWAP1
00000d62: PUSH2 0x0100
00000d65: EXP
00000d66: SWAP1
00000d67: DIV
00000d68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d7d: AND
00000d7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d93: AND
00000d94: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000db5: PUSH1 0x40
00000db7: MLOAD
00000db8: PUSH1 0x40
00000dba: MLOAD
00000dbb: DUP1
00000dbc: SWAP2
00000dbd: SUB
00000dbe: SWAP1
00000dbf: LOG3
00000dc0: PUSH1 0x00
00000dc2: DUP1
00000dc3: PUSH1 0x00
00000dc5: PUSH2 0x0100
00000dc8: EXP
00000dc9: DUP2
00000dca: SLOAD
00000dcb: DUP2
00000dcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de1: MUL
00000de2: NOT
00000de3: AND
00000de4: SWAP1
00000de5: DUP4
00000de6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dfb: AND
00000dfc: MUL
00000dfd: OR
00000dfe: SWAP1
00000dff: SSTORE
00000e00: POP
00000e01: JUMP
00000e02: JUMPDEST
00000e03: PUSH1 0x02
00000e05: PUSH1 0x00
00000e07: SWAP1
00000e08: SLOAD
00000e09: SWAP1
00000e0a: PUSH2 0x0100
00000e0d: EXP
00000e0e: SWAP1
00000e0f: DIV
00000e10: PUSH1 0xff
00000e12: AND
00000e13: ISZERO
00000e14: ISZERO
00000e15: ISZERO
00000e16: PUSH2 0x0e1e
00000e19: JUMPI
00000e1a: PUSH1 0x00
00000e1c: DUP1
00000e1d: REVERT
00000e1e: JUMPDEST
00000e1f: PUSH1 0x01
00000e21: PUSH1 0x03
00000e23: PUSH1 0x00
00000e25: DUP3
00000e26: DUP3
00000e27: SLOAD
00000e28: ADD
00000e29: SWAP3
00000e2a: POP
00000e2b: POP
00000e2c: DUP2
00000e2d: SWAP1
00000e2e: SSTORE
00000e2f: POP
00000e30: PUSH1 0x00
00000e32: PUSH1 0x03
00000e34: SLOAD
00000e35: SWAP1
00000e36: POP
00000e37: PUSH1 0x00
00000e39: PUSH2 0x0e41
00000e3c: CALLER
00000e3d: PUSH2 0x1173
00000e40: JUMP
00000e41: JUMPDEST
00000e42: GT
00000e43: ISZERO
00000e44: ISZERO
00000e45: PUSH2 0x0e4d
00000e48: JUMPI
00000e49: PUSH1 0x00
00000e4b: DUP1
00000e4c: REVERT
00000e4d: JUMPDEST
00000e4e: PUSH1 0x00
00000e50: DUP1
00000e51: PUSH1 0x04
00000e53: PUSH1 0x00
00000e55: SWAP1
00000e56: SLOAD
00000e57: SWAP1
00000e58: PUSH2 0x0100
00000e5b: EXP
00000e5c: SWAP1
00000e5d: DIV
00000e5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e73: AND
00000e74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e89: AND
00000e8a: PUSH4 0x70a08231
00000e8f: CALLER
00000e90: PUSH1 0x40
00000e92: MLOAD
00000e93: DUP3
00000e94: PUSH4 0xffffffff
00000e99: AND
00000e9a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000eb8: MUL
00000eb9: DUP2
00000eba: MSTORE
00000ebb: PUSH1 0x04
00000ebd: ADD
00000ebe: DUP1
00000ebf: DUP3
00000ec0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ed5: AND
00000ed6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eeb: AND
00000eec: DUP2
00000eed: MSTORE
00000eee: PUSH1 0x20
00000ef0: ADD
00000ef1: SWAP2
00000ef2: POP
00000ef3: POP
00000ef4: PUSH1 0x20
00000ef6: PUSH1 0x40
00000ef8: MLOAD
00000ef9: DUP1
00000efa: DUP4
00000efb: SUB
00000efc: DUP2
00000efd: DUP7
00000efe: DUP1
00000eff: EXTCODESIZE
00000f00: ISZERO
00000f01: DUP1
00000f02: ISZERO
00000f03: PUSH2 0x0f0b
00000f06: JUMPI
00000f07: PUSH1 0x00
00000f09: DUP1
00000f0a: REVERT
00000f0b: JUMPDEST
00000f0c: POP
00000f0d: GAS
00000f0e: STATICCALL
00000f0f: ISZERO
00000f10: DUP1
00000f11: ISZERO
00000f12: PUSH2 0x0f1f
00000f15: JUMPI
00000f16: RETURNDATASIZE
00000f17: PUSH1 0x00
00000f19: DUP1
00000f1a: RETURNDATACOPY
00000f1b: RETURNDATASIZE
00000f1c: PUSH1 0x00
00000f1e: REVERT
00000f1f: JUMPDEST
00000f20: POP
00000f21: POP
00000f22: POP
00000f23: POP
00000f24: PUSH1 0x40
00000f26: MLOAD
00000f27: RETURNDATASIZE
00000f28: PUSH1 0x20
00000f2a: DUP2
00000f2b: LT
00000f2c: ISZERO
00000f2d: PUSH2 0x0f35
00000f30: JUMPI
00000f31: PUSH1 0x00
00000f33: DUP1
00000f34: REVERT
00000f35: JUMPDEST
00000f36: DUP2
00000f37: ADD
00000f38: SWAP1
00000f39: DUP1
00000f3a: DUP1
00000f3b: MLOAD
00000f3c: SWAP1
00000f3d: PUSH1 0x20
00000f3f: ADD
00000f40: SWAP1
00000f41: SWAP3
00000f42: SWAP2
00000f43: SWAP1
00000f44: POP
00000f45: POP
00000f46: POP
00000f47: SWAP1
00000f48: POP
00000f49: PUSH1 0x00
00000f4b: DUP2
00000f4c: SWAP1
00000f4d: POP
00000f4e: JUMPDEST
00000f4f: PUSH1 0x00
00000f51: DUP2
00000f52: GT
00000f53: ISZERO
00000f54: PUSH2 0x10f6
00000f57: JUMPI
00000f58: PUSH1 0x00
00000f5a: PUSH1 0x04
00000f5c: PUSH1 0x00
00000f5e: SWAP1
00000f5f: SLOAD
00000f60: SWAP1
00000f61: PUSH2 0x0100
00000f64: EXP
00000f65: SWAP1
00000f66: DIV
00000f67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f7c: AND
00000f7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f92: AND
00000f93: PUSH4 0x2f745c59
00000f98: CALLER
00000f99: PUSH1 0x01
00000f9b: DUP6
00000f9c: SUB
00000f9d: PUSH1 0x40
00000f9f: MLOAD
00000fa0: DUP4
00000fa1: PUSH4 0xffffffff
00000fa6: AND
00000fa7: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000fc5: MUL
00000fc6: DUP2
00000fc7: MSTORE
00000fc8: PUSH1 0x04
00000fca: ADD
00000fcb: DUP1
00000fcc: DUP4
00000fcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe2: AND
00000fe3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ff8: AND
00000ff9: DUP2
00000ffa: MSTORE
00000ffb: PUSH1 0x20
00000ffd: ADD
00000ffe: DUP3
00000fff: DUP2
00001000: MSTORE
00001001: PUSH1 0x20
00001003: ADD
00001004: SWAP3
00001005: POP
00001006: POP
00001007: POP
00001008: PUSH1 0x20
0000100a: PUSH1 0x40
0000100c: MLOAD
0000100d: DUP1
0000100e: DUP4
0000100f: SUB
00001010: DUP2
00001011: DUP7
00001012: DUP1
00001013: EXTCODESIZE
00001014: ISZERO
00001015: DUP1
00001016: ISZERO
00001017: PUSH2 0x101f
0000101a: JUMPI
0000101b: PUSH1 0x00
0000101d: DUP1
0000101e: REVERT
0000101f: JUMPDEST
00001020: POP
00001021: GAS
00001022: STATICCALL
00001023: ISZERO
00001024: DUP1
00001025: ISZERO
00001026: PUSH2 0x1033
00001029: JUMPI
0000102a: RETURNDATASIZE
0000102b: PUSH1 0x00
0000102d: DUP1
0000102e: RETURNDATACOPY
0000102f: RETURNDATASIZE
00001030: PUSH1 0x00
00001032: REVERT
00001033: JUMPDEST
00001034: POP
00001035: POP
00001036: POP
00001037: POP
00001038: PUSH1 0x40
0000103a: MLOAD
0000103b: RETURNDATASIZE
0000103c: PUSH1 0x20
0000103e: DUP2
0000103f: LT
00001040: ISZERO
00001041: PUSH2 0x1049
00001044: JUMPI
00001045: PUSH1 0x00
00001047: DUP1
00001048: REVERT
00001049: JUMPDEST
0000104a: DUP2
0000104b: ADD
0000104c: SWAP1
0000104d: DUP1
0000104e: DUP1
0000104f: MLOAD
00001050: SWAP1
00001051: PUSH1 0x20
00001053: ADD
00001054: SWAP1
00001055: SWAP3
00001056: SWAP2
00001057: SWAP1
00001058: POP
00001059: POP
0000105a: POP
0000105b: SWAP1
0000105c: POP
0000105d: PUSH1 0x00
0000105f: PUSH2 0x1067
00001062: DUP3
00001063: PUSH2 0x06d0
00001066: JUMP
00001067: JUMPDEST
00001068: SWAP1
00001069: POP
0000106a: DUP1
0000106b: DUP6
0000106c: ADD
0000106d: SWAP5
0000106e: POP
0000106f: DUP1
00001070: PUSH1 0x06
00001072: PUSH1 0x00
00001074: DUP5
00001075: DUP2
00001076: MSTORE
00001077: PUSH1 0x20
00001079: ADD
0000107a: SWAP1
0000107b: DUP2
0000107c: MSTORE
0000107d: PUSH1 0x20
0000107f: ADD
00001080: PUSH1 0x00
00001082: KECCAK256
00001083: PUSH1 0x00
00001085: DUP3
00001086: DUP3
00001087: SLOAD
00001088: ADD
00001089: SWAP3
0000108a: POP
0000108b: POP
0000108c: DUP2
0000108d: SWAP1
0000108e: SSTORE
0000108f: POP
00001090: CALLER
00001091: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010a6: AND
000010a7: DUP3
000010a8: PUSH32 0xa2af676ed4f1045c96ac2b367997d51c256e9d758a41490190108d260e9634f7
000010c9: DUP4
000010ca: TIMESTAMP
000010cb: PUSH1 0x40
000010cd: MLOAD
000010ce: DUP1
000010cf: DUP4
000010d0: DUP2
000010d1: MSTORE
000010d2: PUSH1 0x20
000010d4: ADD
000010d5: DUP3
000010d6: DUP2
000010d7: MSTORE
000010d8: PUSH1 0x20
000010da: ADD
000010db: SWAP3
000010dc: POP
000010dd: POP
000010de: POP
000010df: PUSH1 0x40
000010e1: MLOAD
000010e2: DUP1
000010e3: SWAP2
000010e4: SUB
000010e5: SWAP1
000010e6: LOG3
000010e7: POP
000010e8: POP
000010e9: DUP1
000010ea: DUP1
000010eb: PUSH1 0x01
000010ed: SWAP1
000010ee: SUB
000010ef: SWAP2
000010f0: POP
000010f1: POP
000010f2: PUSH2 0x0f4e
000010f5: JUMP
000010f6: JUMPDEST
000010f7: POP
000010f8: CALLER
000010f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000110e: AND
0000110f: PUSH2 0x08fc
00001112: DUP4
00001113: SWAP1
00001114: DUP2
00001115: ISZERO
00001116: MUL
00001117: SWAP1
00001118: PUSH1 0x40
0000111a: MLOAD
0000111b: PUSH1 0x00
0000111d: PUSH1 0x40
0000111f: MLOAD
00001120: DUP1
00001121: DUP4
00001122: SUB
00001123: DUP2
00001124: DUP6
00001125: DUP9
00001126: DUP9
00001127: CALL
00001128: SWAP4
00001129: POP
0000112a: POP
0000112b: POP
0000112c: POP
0000112d: ISZERO
0000112e: DUP1
0000112f: ISZERO
00001130: PUSH2 0x113d
00001133: JUMPI
00001134: RETURNDATASIZE
00001135: PUSH1 0x00
00001137: DUP1
00001138: RETURNDATACOPY
00001139: RETURNDATASIZE
0000113a: PUSH1 0x00
0000113c: REVERT
0000113d: JUMPDEST
0000113e: POP
0000113f: POP
00001140: POP
00001141: PUSH1 0x03
00001143: SLOAD
00001144: DUP2
00001145: EQ
00001146: ISZERO
00001147: ISZERO
00001148: PUSH2 0x1150
0000114b: JUMPI
0000114c: PUSH1 0x00
0000114e: DUP1
0000114f: REVERT
00001150: JUMPDEST
00001151: POP
00001152: JUMP
00001153: JUMPDEST
00001154: PUSH2 0x115c
00001157: CALLER
00001158: PUSH2 0x0aca
0000115b: JUMP
0000115c: JUMPDEST
0000115d: ISZERO
0000115e: ISZERO
0000115f: PUSH2 0x1167
00001162: JUMPI
00001163: PUSH1 0x00
00001165: DUP1
00001166: REVERT
00001167: JUMPDEST
00001168: PUSH2 0x1170
0000116b: DUP2
0000116c: PUSH2 0x1a45
0000116f: JUMP
00001170: JUMPDEST
00001171: POP
00001172: JUMP
00001173: JUMPDEST
00001174: PUSH1 0x00
00001176: DUP1
00001177: PUSH1 0x04
00001179: PUSH1 0x00
0000117b: SWAP1
0000117c: SLOAD
0000117d: SWAP1
0000117e: PUSH2 0x0100
00001181: EXP
00001182: SWAP1
00001183: DIV
00001184: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001199: AND
0000119a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011af: AND
000011b0: PUSH4 0x70a08231
000011b5: DUP5
000011b6: PUSH1 0x40
000011b8: MLOAD
000011b9: DUP3
000011ba: PUSH4 0xffffffff
000011bf: AND
000011c0: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000011de: MUL
000011df: DUP2
000011e0: MSTORE
000011e1: PUSH1 0x04
000011e3: ADD
000011e4: DUP1
000011e5: DUP3
000011e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011fb: AND
000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001211: AND
00001212: DUP2
00001213: MSTORE
00001214: PUSH1 0x20
00001216: ADD
00001217: SWAP2
00001218: POP
00001219: POP
0000121a: PUSH1 0x20
0000121c: PUSH1 0x40
0000121e: MLOAD
0000121f: DUP1
00001220: DUP4
00001221: SUB
00001222: DUP2
00001223: DUP7
00001224: DUP1
00001225: EXTCODESIZE
00001226: ISZERO
00001227: DUP1
00001228: ISZERO
00001229: PUSH2 0x1231
0000122c: JUMPI
0000122d: PUSH1 0x00
0000122f: DUP1
00001230: REVERT
00001231: JUMPDEST
00001232: POP
00001233: GAS
00001234: STATICCALL
00001235: ISZERO
00001236: DUP1
00001237: ISZERO
00001238: PUSH2 0x1245
0000123b: JUMPI
0000123c: RETURNDATASIZE
0000123d: PUSH1 0x00
0000123f: DUP1
00001240: RETURNDATACOPY
00001241: RETURNDATASIZE
00001242: PUSH1 0x00
00001244: REVERT
00001245: JUMPDEST
00001246: POP
00001247: POP
00001248: POP
00001249: POP
0000124a: PUSH1 0x40
0000124c: MLOAD
0000124d: RETURNDATASIZE
0000124e: PUSH1 0x20
00001250: DUP2
00001251: LT
00001252: ISZERO
00001253: PUSH2 0x125b
00001256: JUMPI
00001257: PUSH1 0x00
00001259: DUP1
0000125a: REVERT
0000125b: JUMPDEST
0000125c: DUP2
0000125d: ADD
0000125e: SWAP1
0000125f: DUP1
00001260: DUP1
00001261: MLOAD
00001262: SWAP1
00001263: PUSH1 0x20
00001265: ADD
00001266: SWAP1
00001267: SWAP3
00001268: SWAP2
00001269: SWAP1
0000126a: POP
0000126b: POP
0000126c: POP
0000126d: SWAP1
0000126e: POP
0000126f: PUSH1 0x00
00001271: DUP1
00001272: DUP3
00001273: SWAP1
00001274: POP
00001275: JUMPDEST
00001276: PUSH1 0x00
00001278: DUP2
00001279: GT
0000127a: ISZERO
0000127b: PUSH2 0x139f
0000127e: JUMPI
0000127f: PUSH1 0x00
00001281: PUSH1 0x04
00001283: PUSH1 0x00
00001285: SWAP1
00001286: SLOAD
00001287: SWAP1
00001288: PUSH2 0x0100
0000128b: EXP
0000128c: SWAP1
0000128d: DIV
0000128e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012a3: AND
000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b9: AND
000012ba: PUSH4 0x2f745c59
000012bf: DUP8
000012c0: PUSH1 0x01
000012c2: DUP6
000012c3: SUB
000012c4: PUSH1 0x40
000012c6: MLOAD
000012c7: DUP4
000012c8: PUSH4 0xffffffff
000012cd: AND
000012ce: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000012ec: MUL
000012ed: DUP2
000012ee: MSTORE
000012ef: PUSH1 0x04
000012f1: ADD
000012f2: DUP1
000012f3: DUP4
000012f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001309: AND
0000130a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000131f: AND
00001320: DUP2
00001321: MSTORE
00001322: PUSH1 0x20
00001324: ADD
00001325: DUP3
00001326: DUP2
00001327: MSTORE
00001328: PUSH1 0x20
0000132a: ADD
0000132b: SWAP3
0000132c: POP
0000132d: POP
0000132e: POP
0000132f: PUSH1 0x20
00001331: PUSH1 0x40
00001333: MLOAD
00001334: DUP1
00001335: DUP4
00001336: SUB
00001337: DUP2
00001338: DUP7
00001339: DUP1
0000133a: EXTCODESIZE
0000133b: ISZERO
0000133c: DUP1
0000133d: ISZERO
0000133e: PUSH2 0x1346
00001341: JUMPI
00001342: PUSH1 0x00
00001344: DUP1
00001345: REVERT
00001346: JUMPDEST
00001347: POP
00001348: GAS
00001349: STATICCALL
0000134a: ISZERO
0000134b: DUP1
0000134c: ISZERO
0000134d: PUSH2 0x135a
00001350: JUMPI
00001351: RETURNDATASIZE
00001352: PUSH1 0x00
00001354: DUP1
00001355: RETURNDATACOPY
00001356: RETURNDATASIZE
00001357: PUSH1 0x00
00001359: REVERT
0000135a: JUMPDEST
0000135b: POP
0000135c: POP
0000135d: POP
0000135e: POP
0000135f: PUSH1 0x40
00001361: MLOAD
00001362: RETURNDATASIZE
00001363: PUSH1 0x20
00001365: DUP2
00001366: LT
00001367: ISZERO
00001368: PUSH2 0x1370
0000136b: JUMPI
0000136c: PUSH1 0x00
0000136e: DUP1
0000136f: REVERT
00001370: JUMPDEST
00001371: DUP2
00001372: ADD
00001373: SWAP1
00001374: DUP1
00001375: DUP1
00001376: MLOAD
00001377: SWAP1
00001378: PUSH1 0x20
0000137a: ADD
0000137b: SWAP1
0000137c: SWAP3
0000137d: SWAP2
0000137e: SWAP1
0000137f: POP
00001380: POP
00001381: POP
00001382: SWAP1
00001383: POP
00001384: PUSH2 0x138c
00001387: DUP2
00001388: PUSH2 0x06d0
0000138b: JUMP
0000138c: JUMPDEST
0000138d: DUP4
0000138e: ADD
0000138f: SWAP3
00001390: POP
00001391: POP
00001392: DUP1
00001393: DUP1
00001394: PUSH1 0x01
00001396: SWAP1
00001397: SUB
00001398: SWAP2
00001399: POP
0000139a: POP
0000139b: PUSH2 0x1275
0000139e: JUMP
0000139f: JUMPDEST
000013a0: POP
000013a1: DUP1
000013a2: SWAP3
000013a3: POP
000013a4: POP
000013a5: POP
000013a6: SWAP2
000013a7: SWAP1
000013a8: POP
000013a9: JUMP
000013aa: JUMPDEST
000013ab: PUSH2 0x13b3
000013ae: CALLER
000013af: PUSH2 0x0aca
000013b2: JUMP
000013b3: JUMPDEST
000013b4: ISZERO
000013b5: ISZERO
000013b6: PUSH2 0x13be
000013b9: JUMPI
000013ba: PUSH1 0x00
000013bc: DUP1
000013bd: REVERT
000013be: JUMPDEST
000013bf: PUSH1 0x02
000013c1: PUSH1 0x00
000013c3: SWAP1
000013c4: SLOAD
000013c5: SWAP1
000013c6: PUSH2 0x0100
000013c9: EXP
000013ca: SWAP1
000013cb: DIV
000013cc: PUSH1 0xff
000013ce: AND
000013cf: ISZERO
000013d0: ISZERO
000013d1: ISZERO
000013d2: PUSH2 0x13da
000013d5: JUMPI
000013d6: PUSH1 0x00
000013d8: DUP1
000013d9: REVERT
000013da: JUMPDEST
000013db: PUSH1 0x01
000013dd: PUSH1 0x02
000013df: PUSH1 0x00
000013e1: PUSH2 0x0100
000013e4: EXP
000013e5: DUP2
000013e6: SLOAD
000013e7: DUP2
000013e8: PUSH1 0xff
000013ea: MUL
000013eb: NOT
000013ec: AND
000013ed: SWAP1
000013ee: DUP4
000013ef: ISZERO
000013f0: ISZERO
000013f1: MUL
000013f2: OR
000013f3: SWAP1
000013f4: SSTORE
000013f5: POP
000013f6: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00001417: CALLER
00001418: PUSH1 0x40
0000141a: MLOAD
0000141b: DUP1
0000141c: DUP3
0000141d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001432: AND
00001433: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001448: AND
00001449: DUP2
0000144a: MSTORE
0000144b: PUSH1 0x20
0000144d: ADD
0000144e: SWAP2
0000144f: POP
00001450: POP
00001451: PUSH1 0x40
00001453: MLOAD
00001454: DUP1
00001455: SWAP2
00001456: SUB
00001457: SWAP1
00001458: LOG1
00001459: JUMP
0000145a: JUMPDEST
0000145b: PUSH1 0x00
0000145d: PUSH1 0x06
0000145f: PUSH1 0x00
00001461: DUP4
00001462: DUP2
00001463: MSTORE
00001464: PUSH1 0x20
00001466: ADD
00001467: SWAP1
00001468: DUP2
00001469: MSTORE
0000146a: PUSH1 0x20
0000146c: ADD
0000146d: PUSH1 0x00
0000146f: KECCAK256
00001470: SLOAD
00001471: SWAP1
00001472: POP
00001473: SWAP2
00001474: SWAP1
00001475: POP
00001476: JUMP
00001477: JUMPDEST
00001478: PUSH1 0x00
0000147a: DUP1
0000147b: PUSH1 0x00
0000147d: SWAP1
0000147e: SLOAD
0000147f: SWAP1
00001480: PUSH2 0x0100
00001483: EXP
00001484: SWAP1
00001485: DIV
00001486: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000149b: AND
0000149c: SWAP1
0000149d: POP
0000149e: SWAP1
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH1 0x00
000014a3: DUP1
000014a4: PUSH1 0x00
000014a6: SWAP1
000014a7: SLOAD
000014a8: SWAP1
000014a9: PUSH2 0x0100
000014ac: EXP
000014ad: SWAP1
000014ae: DIV
000014af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014c4: AND
000014c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014da: AND
000014db: CALLER
000014dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f1: AND
000014f2: EQ
000014f3: SWAP1
000014f4: POP
000014f5: SWAP1
000014f6: JUMP
000014f7: JUMPDEST
000014f8: PUSH1 0x00
000014fa: PUSH1 0x07
000014fc: PUSH1 0x00
000014fe: DUP4
000014ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001514: AND
00001515: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000152a: AND
0000152b: DUP2
0000152c: MSTORE
0000152d: PUSH1 0x20
0000152f: ADD
00001530: SWAP1
00001531: DUP2
00001532: MSTORE
00001533: PUSH1 0x20
00001535: ADD
00001536: PUSH1 0x00
00001538: KECCAK256
00001539: PUSH1 0x00
0000153b: SWAP1
0000153c: SLOAD
0000153d: SWAP1
0000153e: PUSH2 0x0100
00001541: EXP
00001542: SWAP1
00001543: DIV
00001544: PUSH1 0xff
00001546: AND
00001547: SWAP1
00001548: POP
00001549: SWAP2
0000154a: SWAP1
0000154b: POP
0000154c: JUMP
0000154d: JUMPDEST
0000154e: PUSH1 0x00
00001550: PUSH1 0x05
00001552: PUSH1 0x00
00001554: DUP4
00001555: PUSH2 0xffff
00001558: AND
00001559: PUSH2 0xffff
0000155c: AND
0000155d: DUP2
0000155e: MSTORE
0000155f: PUSH1 0x20
00001561: ADD
00001562: SWAP1
00001563: DUP2
00001564: MSTORE
00001565: PUSH1 0x20
00001567: ADD
00001568: PUSH1 0x00
0000156a: KECCAK256
0000156b: SLOAD
0000156c: SWAP1
0000156d: POP
0000156e: SWAP2
0000156f: SWAP1
00001570: POP
00001571: JUMP
00001572: JUMPDEST
00001573: PUSH1 0x04
00001575: PUSH1 0x00
00001577: SWAP1
00001578: SLOAD
00001579: SWAP1
0000157a: PUSH2 0x0100
0000157d: EXP
0000157e: SWAP1
0000157f: DIV
00001580: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001595: AND
00001596: DUP2
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH1 0x02
0000159b: PUSH1 0x00
0000159d: SWAP1
0000159e: SLOAD
0000159f: SWAP1
000015a0: PUSH2 0x0100
000015a3: EXP
000015a4: SWAP1
000015a5: DIV
000015a6: PUSH1 0xff
000015a8: AND
000015a9: ISZERO
000015aa: ISZERO
000015ab: ISZERO
000015ac: PUSH2 0x15b4
000015af: JUMPI
000015b0: PUSH1 0x00
000015b2: DUP1
000015b3: REVERT
000015b4: JUMPDEST
000015b5: PUSH1 0x01
000015b7: PUSH1 0x03
000015b9: PUSH1 0x00
000015bb: DUP3
000015bc: DUP3
000015bd: SLOAD
000015be: ADD
000015bf: SWAP3
000015c0: POP
000015c1: POP
000015c2: DUP2
000015c3: SWAP1
000015c4: SSTORE
000015c5: POP
000015c6: PUSH1 0x00
000015c8: PUSH1 0x03
000015ca: SLOAD
000015cb: SWAP1
000015cc: POP
000015cd: PUSH1 0x00
000015cf: PUSH1 0x04
000015d1: PUSH1 0x00
000015d3: SWAP1
000015d4: SLOAD
000015d5: SWAP1
000015d6: PUSH2 0x0100
000015d9: EXP
000015da: SWAP1
000015db: DIV
000015dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015f1: AND
000015f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001607: AND
00001608: PUSH4 0xfbba7b62
0000160d: DUP6
0000160e: PUSH1 0x40
00001610: MLOAD
00001611: DUP3
00001612: PUSH4 0xffffffff
00001617: AND
00001618: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001636: MUL
00001637: DUP2
00001638: MSTORE
00001639: PUSH1 0x04
0000163b: ADD
0000163c: DUP1
0000163d: DUP3
0000163e: PUSH2 0xffff
00001641: AND
00001642: PUSH2 0xffff
00001645: AND
00001646: DUP2
00001647: MSTORE
00001648: PUSH1 0x20
0000164a: ADD
0000164b: SWAP2
0000164c: POP
0000164d: POP
0000164e: PUSH1 0x20
00001650: PUSH1 0x40
00001652: MLOAD
00001653: DUP1
00001654: DUP4
00001655: SUB
00001656: DUP2
00001657: DUP7
00001658: DUP1
00001659: EXTCODESIZE
0000165a: ISZERO
0000165b: DUP1
0000165c: ISZERO
0000165d: PUSH2 0x1665
00001660: JUMPI
00001661: PUSH1 0x00
00001663: DUP1
00001664: REVERT
00001665: JUMPDEST
00001666: POP
00001667: GAS
00001668: STATICCALL
00001669: ISZERO
0000166a: DUP1
0000166b: ISZERO
0000166c: PUSH2 0x1679
0000166f: JUMPI
00001670: RETURNDATASIZE
00001671: PUSH1 0x00
00001673: DUP1
00001674: RETURNDATACOPY
00001675: RETURNDATASIZE
00001676: PUSH1 0x00
00001678: REVERT
00001679: JUMPDEST
0000167a: POP
0000167b: POP
0000167c: POP
0000167d: POP
0000167e: PUSH1 0x40
00001680: MLOAD
00001681: RETURNDATASIZE
00001682: PUSH1 0x20
00001684: DUP2
00001685: LT
00001686: ISZERO
00001687: PUSH2 0x168f
0000168a: JUMPI
0000168b: PUSH1 0x00
0000168d: DUP1
0000168e: REVERT
0000168f: JUMPDEST
00001690: DUP2
00001691: ADD
00001692: SWAP1
00001693: DUP1
00001694: DUP1
00001695: MLOAD
00001696: SWAP1
00001697: PUSH1 0x20
00001699: ADD
0000169a: SWAP1
0000169b: SWAP3
0000169c: SWAP2
0000169d: SWAP1
0000169e: POP
0000169f: POP
000016a0: POP
000016a1: GT
000016a2: ISZERO
000016a3: ISZERO
000016a4: PUSH2 0x16ac
000016a7: JUMPI
000016a8: PUSH1 0x00
000016aa: DUP1
000016ab: REVERT
000016ac: JUMPDEST
000016ad: PUSH1 0x07
000016af: PUSH1 0x00
000016b1: CALLER
000016b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c7: AND
000016c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016dd: AND
000016de: DUP2
000016df: MSTORE
000016e0: PUSH1 0x20
000016e2: ADD
000016e3: SWAP1
000016e4: DUP2
000016e5: MSTORE
000016e6: PUSH1 0x20
000016e8: ADD
000016e9: PUSH1 0x00
000016eb: KECCAK256
000016ec: PUSH1 0x00
000016ee: SWAP1
000016ef: SLOAD
000016f0: SWAP1
000016f1: PUSH2 0x0100
000016f4: EXP
000016f5: SWAP1
000016f6: DIV
000016f7: PUSH1 0xff
000016f9: AND
000016fa: ISZERO
000016fb: ISZERO
000016fc: PUSH2 0x1704
000016ff: JUMPI
00001700: PUSH1 0x00
00001702: DUP1
00001703: REVERT
00001704: JUMPDEST
00001705: CALLVALUE
00001706: PUSH1 0x05
00001708: PUSH1 0x00
0000170a: DUP6
0000170b: PUSH2 0xffff
0000170e: AND
0000170f: PUSH2 0xffff
00001712: AND
00001713: DUP2
00001714: MSTORE
00001715: PUSH1 0x20
00001717: ADD
00001718: SWAP1
00001719: DUP2
0000171a: MSTORE
0000171b: PUSH1 0x20
0000171d: ADD
0000171e: PUSH1 0x00
00001720: KECCAK256
00001721: PUSH1 0x00
00001723: DUP3
00001724: DUP3
00001725: SLOAD
00001726: ADD
00001727: SWAP3
00001728: POP
00001729: POP
0000172a: DUP2
0000172b: SWAP1
0000172c: SSTORE
0000172d: POP
0000172e: DUP2
0000172f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001744: AND
00001745: DUP4
00001746: PUSH2 0xffff
00001749: AND
0000174a: PUSH32 0x47fc953414cd61a5494c179efb796283502f867ea6d50a54853a0281f1b7c3fc
0000176b: CALLER
0000176c: CALLVALUE
0000176d: TIMESTAMP
0000176e: PUSH1 0x40
00001770: MLOAD
00001771: DUP1
00001772: DUP5
00001773: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001788: AND
00001789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000179e: AND
0000179f: DUP2
000017a0: MSTORE
000017a1: PUSH1 0x20
000017a3: ADD
000017a4: DUP4
000017a5: DUP2
000017a6: MSTORE
000017a7: PUSH1 0x20
000017a9: ADD
000017aa: DUP3
000017ab: DUP2
000017ac: MSTORE
000017ad: PUSH1 0x20
000017af: ADD
000017b0: SWAP4
000017b1: POP
000017b2: POP
000017b3: POP
000017b4: POP
000017b5: PUSH1 0x40
000017b7: MLOAD
000017b8: DUP1
000017b9: SWAP2
000017ba: SUB
000017bb: SWAP1
000017bc: LOG3
000017bd: PUSH1 0x03
000017bf: SLOAD
000017c0: DUP2
000017c1: EQ
000017c2: ISZERO
000017c3: ISZERO
000017c4: PUSH2 0x17cc
000017c7: JUMPI
000017c8: PUSH1 0x00
000017ca: DUP1
000017cb: REVERT
000017cc: JUMPDEST
000017cd: POP
000017ce: POP
000017cf: POP
000017d0: JUMP
000017d1: JUMPDEST
000017d2: PUSH2 0x17d9
000017d5: PUSH2 0x14a0
000017d8: JUMP
000017d9: JUMPDEST
000017da: ISZERO
000017db: ISZERO
000017dc: PUSH2 0x17e4
000017df: JUMPI
000017e0: PUSH1 0x00
000017e2: DUP1
000017e3: REVERT
000017e4: JUMPDEST
000017e5: PUSH2 0x17ed
000017e8: DUP2
000017e9: PUSH2 0x1a9f
000017ec: JUMP
000017ed: JUMPDEST
000017ee: POP
000017ef: JUMP
000017f0: JUMPDEST
000017f1: PUSH2 0x17f8
000017f4: PUSH2 0x14a0
000017f7: JUMP
000017f8: JUMPDEST
000017f9: ISZERO
000017fa: ISZERO
000017fb: PUSH2 0x1803
000017fe: JUMPI
000017ff: PUSH1 0x00
00001801: DUP1
00001802: REVERT
00001803: JUMPDEST
00001804: DUP1
00001805: PUSH1 0x07
00001807: PUSH1 0x00
00001809: DUP5
0000180a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000181f: AND
00001820: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001835: AND
00001836: DUP2
00001837: MSTORE
00001838: PUSH1 0x20
0000183a: ADD
0000183b: SWAP1
0000183c: DUP2
0000183d: MSTORE
0000183e: PUSH1 0x20
00001840: ADD
00001841: PUSH1 0x00
00001843: KECCAK256
00001844: PUSH1 0x00
00001846: PUSH2 0x0100
00001849: EXP
0000184a: DUP2
0000184b: SLOAD
0000184c: DUP2
0000184d: PUSH1 0xff
0000184f: MUL
00001850: NOT
00001851: AND
00001852: SWAP1
00001853: DUP4
00001854: ISZERO
00001855: ISZERO
00001856: MUL
00001857: OR
00001858: SWAP1
00001859: SSTORE
0000185a: POP
0000185b: PUSH32 0x46c9694d3c1e0c41a8202a712e5b1295ec8c263892e58a3866e30e8ee44141e7
0000187c: DUP3
0000187d: DUP3
0000187e: PUSH1 0x40
00001880: MLOAD
00001881: DUP1
00001882: DUP4
00001883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001898: AND
00001899: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ae: AND
000018af: DUP2
000018b0: MSTORE
000018b1: PUSH1 0x20
000018b3: ADD
000018b4: DUP3
000018b5: ISZERO
000018b6: ISZERO
000018b7: ISZERO
000018b8: ISZERO
000018b9: DUP2
000018ba: MSTORE
000018bb: PUSH1 0x20
000018bd: ADD
000018be: SWAP3
000018bf: POP
000018c0: POP
000018c1: POP
000018c2: PUSH1 0x40
000018c4: MLOAD
000018c5: DUP1
000018c6: SWAP2
000018c7: SUB
000018c8: SWAP1
000018c9: LOG1
000018ca: POP
000018cb: POP
000018cc: JUMP
000018cd: JUMPDEST
000018ce: PUSH1 0x00
000018d0: DUP1
000018d1: DUP4
000018d2: EQ
000018d3: ISZERO
000018d4: PUSH2 0x18e0
000018d7: JUMPI
000018d8: PUSH1 0x00
000018da: SWAP1
000018db: POP
000018dc: PUSH2 0x1905
000018df: JUMP
000018e0: JUMPDEST
000018e1: PUSH1 0x00
000018e3: DUP3
000018e4: DUP5
000018e5: MUL
000018e6: SWAP1
000018e7: POP
000018e8: DUP3
000018e9: DUP5
000018ea: DUP3
000018eb: DUP2
000018ec: ISZERO
000018ed: ISZERO
000018ee: PUSH2 0x18f3
000018f1: JUMPI
000018f2: INVALID
000018f3: JUMPDEST
000018f4: DIV
000018f5: EQ
000018f6: ISZERO
000018f7: ISZERO
000018f8: PUSH2 0x1900
000018fb: JUMPI
000018fc: PUSH1 0x00
000018fe: DUP1
000018ff: REVERT
00001900: JUMPDEST
00001901: DUP1
00001902: SWAP2
00001903: POP
00001904: POP
00001905: JUMPDEST
00001906: SWAP3
00001907: SWAP2
00001908: POP
00001909: POP
0000190a: JUMP
0000190b: JUMPDEST
0000190c: PUSH1 0x00
0000190e: DUP1
0000190f: DUP3
00001910: GT
00001911: ISZERO
00001912: ISZERO
00001913: PUSH2 0x191b
00001916: JUMPI
00001917: PUSH1 0x00
00001919: DUP1
0000191a: REVERT
0000191b: JUMPDEST
0000191c: PUSH1 0x00
0000191e: DUP3
0000191f: DUP5
00001920: DUP2
00001921: ISZERO
00001922: ISZERO
00001923: PUSH2 0x1928
00001926: JUMPI
00001927: INVALID
00001928: JUMPDEST
00001929: DIV
0000192a: SWAP1
0000192b: POP
0000192c: DUP1
0000192d: SWAP2
0000192e: POP
0000192f: POP
00001930: SWAP3
00001931: SWAP2
00001932: POP
00001933: POP
00001934: JUMP
00001935: JUMPDEST
00001936: PUSH1 0x00
00001938: DUP3
00001939: DUP3
0000193a: GT
0000193b: ISZERO
0000193c: ISZERO
0000193d: ISZERO
0000193e: PUSH2 0x1946
00001941: JUMPI
00001942: PUSH1 0x00
00001944: DUP1
00001945: REVERT
00001946: JUMPDEST
00001947: PUSH1 0x00
00001949: DUP3
0000194a: DUP5
0000194b: SUB
0000194c: SWAP1
0000194d: POP
0000194e: DUP1
0000194f: SWAP2
00001950: POP
00001951: POP
00001952: SWAP3
00001953: SWAP2
00001954: POP
00001955: POP
00001956: JUMP
00001957: JUMPDEST
00001958: PUSH1 0x00
0000195a: DUP1
0000195b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001970: AND
00001971: DUP3
00001972: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001987: AND
00001988: EQ
00001989: ISZERO
0000198a: ISZERO
0000198b: ISZERO
0000198c: PUSH2 0x1994
0000198f: JUMPI
00001990: PUSH1 0x00
00001992: DUP1
00001993: REVERT
00001994: JUMPDEST
00001995: DUP3
00001996: PUSH1 0x00
00001998: ADD
00001999: PUSH1 0x00
0000199b: DUP4
0000199c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b1: AND
000019b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019c7: AND
000019c8: DUP2
000019c9: MSTORE
000019ca: PUSH1 0x20
000019cc: ADD
000019cd: SWAP1
000019ce: DUP2
000019cf: MSTORE
000019d0: PUSH1 0x20
000019d2: ADD
000019d3: PUSH1 0x00
000019d5: KECCAK256
000019d6: PUSH1 0x00
000019d8: SWAP1
000019d9: SLOAD
000019da: SWAP1
000019db: PUSH2 0x0100
000019de: EXP
000019df: SWAP1
000019e0: DIV
000019e1: PUSH1 0xff
000019e3: AND
000019e4: SWAP1
000019e5: POP
000019e6: SWAP3
000019e7: SWAP2
000019e8: POP
000019e9: POP
000019ea: JUMP
000019eb: JUMPDEST
000019ec: PUSH2 0x19ff
000019ef: DUP2
000019f0: PUSH1 0x01
000019f2: PUSH2 0x1b99
000019f5: SWAP1
000019f6: SWAP2
000019f7: SWAP1
000019f8: PUSH4 0xffffffff
000019fd: AND
000019fe: JUMP
000019ff: JUMPDEST
00001a00: DUP1
00001a01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a16: AND
00001a17: PUSH32 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e
00001a38: PUSH1 0x40
00001a3a: MLOAD
00001a3b: PUSH1 0x40
00001a3d: MLOAD
00001a3e: DUP1
00001a3f: SWAP2
00001a40: SUB
00001a41: SWAP1
00001a42: LOG2
00001a43: POP
00001a44: JUMP
00001a45: JUMPDEST
00001a46: PUSH2 0x1a59
00001a49: DUP2
00001a4a: PUSH1 0x01
00001a4c: PUSH2 0x1c48
00001a4f: SWAP1
00001a50: SWAP2
00001a51: SWAP1
00001a52: PUSH4 0xffffffff
00001a57: AND
00001a58: JUMP
00001a59: JUMPDEST
00001a5a: DUP1
00001a5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a70: AND
00001a71: PUSH32 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8
00001a92: PUSH1 0x40
00001a94: MLOAD
00001a95: PUSH1 0x40
00001a97: MLOAD
00001a98: DUP1
00001a99: SWAP2
00001a9a: SUB
00001a9b: SWAP1
00001a9c: LOG2
00001a9d: POP
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: PUSH1 0x00
00001aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ab7: AND
00001ab8: DUP2
00001ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ace: AND
00001acf: EQ
00001ad0: ISZERO
00001ad1: ISZERO
00001ad2: ISZERO
00001ad3: PUSH2 0x1adb
00001ad6: JUMPI
00001ad7: PUSH1 0x00
00001ad9: DUP1
00001ada: REVERT
00001adb: JUMPDEST
00001adc: DUP1
00001add: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af2: AND
00001af3: PUSH1 0x00
00001af5: DUP1
00001af6: SWAP1
00001af7: SLOAD
00001af8: SWAP1
00001af9: PUSH2 0x0100
00001afc: EXP
00001afd: SWAP1
00001afe: DIV
00001aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b14: AND
00001b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b2a: AND
00001b2b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001b4c: PUSH1 0x40
00001b4e: MLOAD
00001b4f: PUSH1 0x40
00001b51: MLOAD
00001b52: DUP1
00001b53: SWAP2
00001b54: SUB
00001b55: SWAP1
00001b56: LOG3
00001b57: DUP1
00001b58: PUSH1 0x00
00001b5a: DUP1
00001b5b: PUSH2 0x0100
00001b5e: EXP
00001b5f: DUP2
00001b60: SLOAD
00001b61: DUP2
00001b62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b77: MUL
00001b78: NOT
00001b79: AND
00001b7a: SWAP1
00001b7b: DUP4
00001b7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b91: AND
00001b92: MUL
00001b93: OR
00001b94: SWAP1
00001b95: SSTORE
00001b96: POP
00001b97: POP
00001b98: JUMP
00001b99: JUMPDEST
00001b9a: PUSH1 0x00
00001b9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bb1: AND
00001bb2: DUP2
00001bb3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bc8: AND
00001bc9: EQ
00001bca: ISZERO
00001bcb: ISZERO
00001bcc: ISZERO
00001bcd: PUSH2 0x1bd5
00001bd0: JUMPI
00001bd1: PUSH1 0x00
00001bd3: DUP1
00001bd4: REVERT
00001bd5: JUMPDEST
00001bd6: PUSH2 0x1bdf
00001bd9: DUP3
00001bda: DUP3
00001bdb: PUSH2 0x1957
00001bde: JUMP
00001bdf: JUMPDEST
00001be0: ISZERO
00001be1: ISZERO
00001be2: PUSH2 0x1bea
00001be5: JUMPI
00001be6: PUSH1 0x00
00001be8: DUP1
00001be9: REVERT
00001bea: JUMPDEST
00001beb: PUSH1 0x00
00001bed: DUP3
00001bee: PUSH1 0x00
00001bf0: ADD
00001bf1: PUSH1 0x00
00001bf3: DUP4
00001bf4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c09: AND
00001c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c1f: AND
00001c20: DUP2
00001c21: MSTORE
00001c22: PUSH1 0x20
00001c24: ADD
00001c25: SWAP1
00001c26: DUP2
00001c27: MSTORE
00001c28: PUSH1 0x20
00001c2a: ADD
00001c2b: PUSH1 0x00
00001c2d: KECCAK256
00001c2e: PUSH1 0x00
00001c30: PUSH2 0x0100
00001c33: EXP
00001c34: DUP2
00001c35: SLOAD
00001c36: DUP2
00001c37: PUSH1 0xff
00001c39: MUL
00001c3a: NOT
00001c3b: AND
00001c3c: SWAP1
00001c3d: DUP4
00001c3e: ISZERO
00001c3f: ISZERO
00001c40: MUL
00001c41: OR
00001c42: SWAP1
00001c43: SSTORE
00001c44: POP
00001c45: POP
00001c46: POP
00001c47: JUMP
00001c48: JUMPDEST
00001c49: PUSH1 0x00
00001c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c60: AND
00001c61: DUP2
00001c62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c77: AND
00001c78: EQ
00001c79: ISZERO
00001c7a: ISZERO
00001c7b: ISZERO
00001c7c: PUSH2 0x1c84
00001c7f: JUMPI
00001c80: PUSH1 0x00
00001c82: DUP1
00001c83: REVERT
00001c84: JUMPDEST
00001c85: PUSH2 0x1c8e
00001c88: DUP3
00001c89: DUP3
00001c8a: PUSH2 0x1957
00001c8d: JUMP
00001c8e: JUMPDEST
00001c8f: ISZERO
00001c90: ISZERO
00001c91: ISZERO
00001c92: PUSH2 0x1c9a
00001c95: JUMPI
00001c96: PUSH1 0x00
00001c98: DUP1
00001c99: REVERT
00001c9a: JUMPDEST
00001c9b: PUSH1 0x01
00001c9d: DUP3
00001c9e: PUSH1 0x00
00001ca0: ADD
00001ca1: PUSH1 0x00
00001ca3: DUP4
00001ca4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cb9: AND
00001cba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ccf: AND
00001cd0: DUP2
00001cd1: MSTORE
00001cd2: PUSH1 0x20
00001cd4: ADD
00001cd5: SWAP1
00001cd6: DUP2
00001cd7: MSTORE
00001cd8: PUSH1 0x20
00001cda: ADD
00001cdb: PUSH1 0x00
00001cdd: KECCAK256
00001cde: PUSH1 0x00
00001ce0: PUSH2 0x0100
00001ce3: EXP
00001ce4: DUP2
00001ce5: SLOAD
00001ce6: DUP2
00001ce7: PUSH1 0xff
00001ce9: MUL
00001cea: NOT
00001ceb: AND
00001cec: SWAP1
00001ced: DUP4
00001cee: ISZERO
00001cef: ISZERO
00001cf0: MUL
00001cf1: OR
00001cf2: SWAP1
00001cf3: SSTORE
00001cf4: POP
00001cf5: POP
00001cf6: POP
00001cf7: JUMP
00001cf8: INVALID
00001cf9: LOG1
00001cfa: PUSH6 0x627a7a723058
00001d01: KECCAK256
00001d02: UNKNOWN(0xED)
00001d03: JUMPI
00001d04: DUP14
00001d05: BLOBHASH
00001d06: AND
00001d07: DUP7
00001d08: DUP4
00001d09: UNKNOWN(0x2C)
00001d0a: CALLDATACOPY
00001d0b: UNKNOWN(0xFB)
00001d0c: UNKNOWN(0xAB)
00001d0d: UNKNOWN(0xCB)
00001d0e: KECCAK256
00001d0f: UNKNOWN(0xAC)
00001d10: UNKNOWN(0xB7)
00001d11: GAS
00001d12: UNKNOWN(0xDA)
00001d13: UNKNOWN(0xEF)
00001d14: ORIGIN
00001d15: UNKNOWN(0xD8)
00001d16: RETURNDATASIZE
00001d17: KECCAK256
00001d18: RETURNDATACOPY
00001d19: DUP15
00001d1a: MSTORE8
00001d1b: UNKNOWN(0xC9)
00001d1c: OR
00001d1d: UNKNOWN(0xE3)
00001d1e: UNKNOWN(0xF9)
00001d1f: UNKNOWN(0xF9)
00001d20: UNKNOWN(0xBA)
00001d21: SWAP4
00001d22: STOP
00001d23: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xced7ed2c",
            "selector": "0xced7ed2c",
            "calldata_variants": [
                "0xced7ed2c",
                "0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd239da84",
            "selector": "0xd239da84",
            "calldata_variants": [
                "0xd239da84",
                "0xd239da840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdba8f3f6",
            "selector": "0xdba8f3f6",
            "calldata_variants": [
                "0xdba8f3f6",
                "0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe274e18e",
            "selector": "0xe274e18e",
            "calldata_variants": [
                "0xe274e18e",
                "0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfae36986",
            "selector": "0xfae36986",
            "calldata_variants": [
                "0xfae36986",
                "0xfae369860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x843592d3",
            "selector": "0x843592d3",
            "calldata_variants": [
                "0x843592d3",
                "0x843592d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 5339,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7444,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77
call_targets: 0x4a627b324189014fa757ed7cc730b180879232d7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4a627b324189014fa757ed7cc730b180879232d7"
    ],
    "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": "0xced7ed2c",
            "selector": "0xced7ed2c",
            "calldata_variants": [
                "0xced7ed2c",
                "0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd239da84",
            "selector": "0xd239da84",
            "calldata_variants": [
                "0xd239da84",
                "0xd239da840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdba8f3f6",
            "selector": "0xdba8f3f6",
            "calldata_variants": [
                "0xdba8f3f6",
                "0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe274e18e",
            "selector": "0xe274e18e",
            "calldata_variants": [
                "0xe274e18e",
                "0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfae36986",
            "selector": "0xfae36986",
            "calldata_variants": [
                "0xfae36986",
                "0xfae369860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x843592d3",
            "selector": "0x843592d3",
            "calldata_variants": [
                "0x843592d3",
                "0x843592d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3211,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4391,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 5339,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7444,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77
call_targets: 0x4a627b324189014fa757ed7cc730b180879232d7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4a627b324189014fa757ed7cc730b180879232d7"
    ],
    "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": "0xced7ed2c",
            "selector": "0xced7ed2c",
            "calldata_variants": [
                "0xced7ed2c",
                "0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd239da84",
            "selector": "0xd239da84",
            "calldata_variants": [
                "0xd239da84",
                "0xd239da840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdba8f3f6",
            "selector": "0xdba8f3f6",
            "calldata_variants": [
                "0xdba8f3f6",
                "0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe274e18e",
            "selector": "0xe274e18e",
            "calldata_variants": [
                "0xe274e18e",
                "0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfae36986",
            "selector": "0xfae36986",
            "calldata_variants": [
                "0xfae36986",
                "0xfae369860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x843592d3",
            "selector": "0x843592d3",
            "calldata_variants": [
                "0x843592d3",
                "0x843592d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8456cb59",
            "selector": "0x8456cb59",
            "calldata_variants": [
                "0x8456cb59",
                "0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3211,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4391,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 5339,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7444,
            "type": "tx_origin_used"
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}