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

Analysis Run

8330779e-3003-445a-bb0e-578b7883cb90

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 6:27 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
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
30448 report.consolidate complete 1 / 1 3 months ago
110486 artifact.fetch complete 1 / 3 1 week ago
110487 tool.cast_disasm complete 1 / 3 1 week ago
110488 analysis.bundle complete 1 / 3 1 week ago
110489 capability.graph complete 1 / 3 1 week ago
110490 detector.run complete 1 / 3 1 week ago
110491 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
2
No findings?
no
Summary
Found 2 issues in FewWrappedToken: wrapping assumes full amount received (accounting risk) and pause does not cover wrap/unwrap flows.
View stderr
[codex:1126542] OpenAI Codex v0.77.0 (research preview)
[codex:1126542] --------
[codex:1126542] workdir: /tmp/codex-multi-plp_szno
[codex:1126542] model: gpt-5.2-codex
[codex:1126542] provider: openai
[codex:1126542] approval: never
[codex:1126542] sandbox: read-only
[codex:1126542] reasoning effort: xhigh
[codex:1126542] reasoning summaries: auto
[codex:1126542] session id: 019b68c8-d47e-7283-a392-254c282aca62
[codex:1126542] --------
[codex:1126542] user
[codex:1126542] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1126542] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1126542] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1126542] 
[codex:1126542] Scope rules:
[codex:1126542] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1126542] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1126542] 
[codex:1126542] Output MUST be valid JSON matching the provided schema.
[codex:1126542] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1126542] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1126542] 
[codex:1126542] Output constraints (IMPORTANT):
[codex:1126542] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1126542] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1126542] mcp startup: no servers
[codex:1126542] 
[codex:1126542] thinking
[codex:1126542] **Listing audit bundle files**
[codex:1126542] exec
[codex:1126542] /bin/bash -lc ls in /tmp/codex-multi-plp_szno succeeded in 6ms:
[codex:1126542] AUDIT_BUNDLE.txt
[codex:1126542] codex-output-schema.json
[codex:1126542] contracts
[codex:1126542] 
[codex:1126542] thinking
[codex:1126542] **Reviewing AUDIT_BUNDLE file**
[codex:1126542] exec
[codex:1126542] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-plp_szno succeeded in 5ms:
[codex:1126542] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1126542] 
[codex:1126542] ================================================================================
[codex:1126542] FILE: contracts/@uniswap/lib/contracts/libraries/TransferHelper.sol
[codex:1126542] ================================================================================
[codex:1126542] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1126542] 
[codex:1126542] pragma solidity >=0.6.0;
[codex:1126542] 
[codex:1126542] // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
[codex:1126542] library TransferHelper {
[codex:1126542]     function safeApprove(
[codex:1126542]         address token,
[codex:1126542]         address to,
[codex:1126542]         uint256 value
[codex:1126542]     ) internal {
[codex:1126542]         // bytes4(keccak256(bytes('approve(address,uint256)')));
[codex:1126542]         (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
[codex:1126542]         require(
[codex:1126542]             success && (data.length == 0 || abi.decode(data, (bool))),
[codex:1126542] 
[codex:1126542] thinking
[codex:1126542] **Analyzing FewWrappedToken for vulnerabilities**
[codex:1126542] 
[codex:1126542] I'm auditing FewWrappedToken focusing on vulnerabilities like reentrancy, access control, and accounting mismatches. The main concern is undercollateralization due to fee-on-transfer tokens causing minted tokens to exceed actual holdings—this could disrupt redemption but may not be directly exploitable. I’m also noting missing pause enforcement on wrap/unwrap as a potential low-severity access control gap. I'll verify line locations using code searches to provide precise evidence in JSON output.
[codex:1126542] exec
[codex:1126542] /bin/bash -lc "rg -n \"wrapTo|unwrapTo|paused\\(\\)\" contracts/contracts/FewWrappedToken.sol" in /tmp/codex-multi-plp_szno succeeded in 8ms:
[codex:1126542] 41:        require(!IFewFactory(factory).paused(), "CoreRef: Caller is paused");
[codex:1126542] 165:    function wrapTo(uint256 amount, address to) public override returns (uint256) {
[codex:1126542] 174:        return wrapTo(amount, msg.sender);
[codex:1126542] 180:    function unwrapTo(uint256 amount, address to) public override returns (uint256) {
[codex:1126542] 189:        return unwrapTo(amount, msg.sender);
[codex:1126542] 
[codex:1126542] thinking
[codex:1126542] **Exploring line numbering for context**
[codex:1126542] exec
[codex:1126542] /bin/bash -lc "nl -ba contracts/contracts/FewWrappedToken.sol | sed -n '150,210p'" in /tmp/codex-multi-plp_szno succeeded in 6ms:
[codex:1126542]    150	    /// @param account the account to burn from
[codex:1126542]    151	    /// @param amount the amount to burn
[codex:1126542]    152	    function burnFrom(address account, uint256 amount)
[codex:1126542]    153	        public
[codex:1126542]    154	        override
[codex:1126542]    155	        onlyBurner
[codex:1126542]    156	        whenNotPaused
[codex:1126542]    157	    {
[codex:1126542]    158	        _burn(account, amount);
[codex:1126542]    159	        emit Burn(msg.sender, amount, account);
[codex:1126542]    160	    }
[codex:1126542]    161	
[codex:1126542]    162	    /// @notice exchanges token to Few wrapped token
[codex:1126542]    163	    /// @param amount the amount to wrap
[codex:1126542]    164	    /// @param to wrapped token reciver address
[codex:1126542]    165	    function wrapTo(uint256 amount, address to) public override returns (uint256) {
[codex:1126542]    166	        require(amount > 0, "Few: can't wrap zero token");
[codex:1126542]    167	        TransferHelper.safeTransferFrom(token, msg.sender, address(this), amount);
[codex:1126542]    168	        _mint(to, amount);
[codex:1126542]    169	        emit Wrap(msg.sender, amount, to);
[codex:1126542] 
[codex:1126542] thinking
[codex:1126542] **Summarizing audit findings**
[codex:1126542] 
[codex:1126542] I'm putting together a detailed JSON report identifying two issues: a medium-severity math bug with wrapping mint amounts ignoring fee-on-transfer or rebasing tokens, and a low-severity access control gap where the pause mechanism doesn't block user wrap/unwrap calls, potentially bypassing emergency controls. I'll carefully include evidence lines and recommendations in the JSON per the schema.
[codex:1126542] codex
[codex:1126542] {"no_findings":false,"summary":"Found 2 issues in FewWrappedToken: wrapping assumes full amount received (accounting risk) and pause does not cover wrap/unwrap flows.","findings":[{"severity":"medium","category":"math","title":"wrapTo mints based on requested amount, not actual tokens received","exploit_scenario":"If the underlying token is fee-on-transfer or rebasing, the contract may receive fewer tokens than `amount` but still mints `amount` wrapped tokens. This can make the wrapper undercollateralized; early redeemers can drain backing, leaving later holders unable to unwrap (unwrap reverts due to insufficient balance).","recommendation":"Compute the actual received amount using balanceBefore/balanceAfter and mint only that value, or explicitly reject fee-on-transfer/rebasing tokens in factory creation and documentation.","evidence":"wrapTo calls `TransferHelper.safeTransferFrom` and then `_mint(to, amount)` without checking the balance delta.","locations":["contracts/contracts/FewWrappedToken.sol:165","contracts/contracts/FewWrappedToken.sol:167","contracts/contracts/FewWrappedToken.sol:168"]},{"severity":"low","category":"access_control","title":"Pause mechanism does not apply to wrap/unwrap","exploit_scenario":"If the factory pauses during an incident, users can still call `wrapTo`/`unwrapTo` because these functions do not use `whenNotPaused`. This bypasses emergency controls and may allow continued minting or unwrapping when the system intended to halt activity.","recommendation":"Apply `whenNotPaused` to `wrapTo`/`unwrapTo` (and the public `wrap`/`unwrap` wrappers), or clearly document that pause is intended to affect only minter/burner roles.","evidence":"`whenNotPaused` modifier exists but is only used on mint/burnFrom; wrap/unwrap omit it.","locations":["contracts/contracts/FewWrappedToken.sol:39","contracts/contracts/FewWrappedToken.sol:165","contracts/contracts/FewWrappedToken.sol:180"]}]}
[codex:1126542] tokens used
[codex:1126542] 10,717
[codex:1126542] {"no_findings":false,"summary":"Found 2 issues in FewWrappedToken: wrapping assumes full amount received (accounting risk) and pause does not cover wrap/unwrap flows.","findings":[{"severity":"medium","category":"math","title":"wrapTo mints based on requested amount, not actual tokens received","exploit_scenario":"If the underlying token is fee-on-transfer or rebasing, the contract may receive fewer tokens than `amount` but still mints `amount` wrapped tokens. This can make the wrapper undercollateralized; early redeemers can drain backing, leaving later holders unable to unwrap (unwrap reverts due to insufficient balance).","recommendation":"Compute the actual received amount using balanceBefore/balanceAfter and mint only that value, or explicitly reject fee-on-transfer/rebasing tokens in factory creation and documentation.","evidence":"wrapTo calls `TransferHelper.safeTransferFrom` and then `_mint(to, amount)` without checking the balance delta.","locations":["contracts/contracts/FewWrappedToken.sol:165","contracts/contracts/FewWrappedToken.sol:167","contracts/contracts/FewWrappedToken.sol:168"]},{"severity":"low","category":"access_control","title":"Pause mechanism does not apply to wrap/unwrap","exploit_scenario":"If the factory pauses during an incident, users can still call `wrapTo`/`unwrapTo` because these functions do not use `whenNotPaused`. This bypasses emergency controls and may allow continued minting or unwrapping when the system intended to halt activity.","recommendation":"Apply `whenNotPaused` to `wrapTo`/`unwrapTo` (and the public `wrap`/`unwrap` wrappers), or clearly document that pause is intended to affect only minter/burner roles.","evidence":"`whenNotPaused` modifier exists but is only used on mint/burnFrom; wrap/unwrap omit it.","locations":["contracts/contracts/FewWrappedToken.sol:39","contracts/contracts/FewWrappedToken.sol:165","contracts/contracts/FewWrappedToken.sol:180"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T06:27:42.049528+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues in FewWrappedToken: wrapping assumes full amount received (accounting risk) and pause does not cover wrap/unwrap flows.",
    "raw_final": {
        "summary": "Found 2 issues in FewWrappedToken: wrapping assumes full amount received (accounting risk) and pause does not cover wrap/unwrap flows.",
        "findings": [
            {
                "title": "wrapTo mints based on requested amount, not actual tokens received",
                "category": "math",
                "evidence": "wrapTo calls `TransferHelper.safeTransferFrom` and then `_mint(to, amount)` without checking the balance delta.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/FewWrappedToken.sol:165",
                    "contracts/contracts/FewWrappedToken.sol:167",
                    "contracts/contracts/FewWrappedToken.sol:168"
                ],
                "recommendation": "Compute the actual received amount using balanceBefore/balanceAfter and mint only that value, or explicitly reject fee-on-transfer/rebasing tokens in factory creation and documentation.",
                "exploit_scenario": "If the underlying token is fee-on-transfer or rebasing, the contract may receive fewer tokens than `amount` but still mints `amount` wrapped tokens. This can make the wrapper undercollateralized; early redeemers can drain backing, leaving later holders unable to unwrap (unwrap reverts due to insufficient balance)."
            },
            {
                "title": "Pause mechanism does not apply to wrap/unwrap",
                "category": "access_control",
                "evidence": "`whenNotPaused` modifier exists but is only used on mint/burnFrom; wrap/unwrap omit it.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/FewWrappedToken.sol:39",
                    "contracts/contracts/FewWrappedToken.sol:165",
                    "contracts/contracts/FewWrappedToken.sol:180"
                ],
                "recommendation": "Apply `whenNotPaused` to `wrapTo`/`unwrapTo` (and the public `wrap`/`unwrap` wrappers), or clearly document that pause is intended to affect only minter/burner roles.",
                "exploit_scenario": "If the factory pauses during an incident, users can still call `wrapTo`/`unwrapTo` because these functions do not use `whenNotPaused`. This bypasses emergency controls and may allow continued minting or unwrapping when the system intended to halt activity."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
6
Total opcodes
3362
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0182
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x70a08231
00000026: GT
00000027: PUSH2 0x00d8
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc45a0155
00000031: GT
00000032: PUSH2 0x008c
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xde0e9a3e
0000003c: GT
0000003d: PUSH2 0x0066
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xde0e9a3e
00000047: EQ
00000048: PUSH2 0x0550
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xea598cb0
00000052: EQ
00000053: PUSH2 0x056d
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xfc0c546a
0000005d: EQ
0000005e: PUSH2 0x058a
00000061: JUMPI
00000062: PUSH2 0x0182
00000065: JUMP
00000066: JUMPDEST
00000067: DUP1
00000068: PUSH4 0xc45a0155
0000006d: EQ
0000006e: PUSH2 0x0486
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xd505accf
00000078: EQ
00000079: PUSH2 0x04b7
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xdd62ed3e
00000083: EQ
00000084: PUSH2 0x0515
00000087: JUMPI
00000088: PUSH2 0x0182
0000008b: JUMP
0000008c: JUMPDEST
0000008d: DUP1
0000008e: PUSH4 0x7ecebe00
00000093: GT
00000094: PUSH2 0x00bd
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x7ecebe00
0000009e: EQ
0000009f: PUSH2 0x0412
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x95d89b41
000000a9: EQ
000000aa: PUSH2 0x0445
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xa9059cbb
000000b4: EQ
000000b5: PUSH2 0x044d
000000b8: JUMPI
000000b9: PUSH2 0x0182
000000bc: JUMP
000000bd: JUMPDEST
000000be: DUP1
000000bf: PUSH4 0x70a08231
000000c4: EQ
000000c5: PUSH2 0x03a6
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0x79cc6790
000000cf: EQ
000000d0: PUSH2 0x03d9
000000d3: JUMPI
000000d4: PUSH2 0x0182
000000d7: JUMP
000000d8: JUMPDEST
000000d9: DUP1
000000da: PUSH4 0x30adf81f
000000df: GT
000000e0: PUSH2 0x013a
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x40c10f19
000000ea: GT
000000eb: PUSH2 0x0114
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x40c10f19
000000f5: EQ
000000f6: PUSH2 0x0315
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x42966c68
00000100: EQ
00000101: PUSH2 0x0350
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x5dbd6059
0000010b: EQ
0000010c: PUSH2 0x036d
0000010f: JUMPI
00000110: PUSH2 0x0182
00000113: JUMP
00000114: JUMPDEST
00000115: DUP1
00000116: PUSH4 0x30adf81f
0000011b: EQ
0000011c: PUSH2 0x02e7
0000011f: JUMPI
00000120: DUP1
00000121: PUSH4 0x313ce567
00000126: EQ
00000127: PUSH2 0x02ef
0000012a: JUMPI
0000012b: DUP1
0000012c: PUSH4 0x3644e515
00000131: EQ
00000132: PUSH2 0x030d
00000135: JUMPI
00000136: PUSH2 0x0182
00000139: JUMP
0000013a: JUMPDEST
0000013b: DUP1
0000013c: PUSH4 0x18160ddd
00000141: GT
00000142: PUSH2 0x016b
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x18160ddd
0000014c: EQ
0000014d: PUSH2 0x0251
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x23b872dd
00000157: EQ
00000158: PUSH2 0x026b
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x26599850
00000162: EQ
00000163: PUSH2 0x02ae
00000166: JUMPI
00000167: PUSH2 0x0182
0000016a: JUMP
0000016b: JUMPDEST
0000016c: DUP1
0000016d: PUSH4 0x06fdde03
00000172: EQ
00000173: PUSH2 0x0187
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x095ea7b3
0000017d: EQ
0000017e: PUSH2 0x0204
00000181: JUMPI
00000182: JUMPDEST
00000183: PUSH1 0x00
00000185: DUP1
00000186: REVERT
00000187: JUMPDEST
00000188: PUSH2 0x018f
0000018b: PUSH2 0x0592
0000018e: JUMP
0000018f: JUMPDEST
00000190: PUSH1 0x40
00000192: DUP1
00000193: MLOAD
00000194: PUSH1 0x20
00000196: DUP1
00000197: DUP3
00000198: MSTORE
00000199: DUP4
0000019a: MLOAD
0000019b: DUP2
0000019c: DUP4
0000019d: ADD
0000019e: MSTORE
0000019f: DUP4
000001a0: MLOAD
000001a1: SWAP2
000001a2: SWAP3
000001a3: DUP4
000001a4: SWAP3
000001a5: SWAP1
000001a6: DUP4
000001a7: ADD
000001a8: SWAP2
000001a9: DUP6
000001aa: ADD
000001ab: SWAP1
000001ac: DUP1
000001ad: DUP4
000001ae: DUP4
000001af: PUSH1 0x00
000001b1: JUMPDEST
000001b2: DUP4
000001b3: DUP2
000001b4: LT
000001b5: ISZERO
000001b6: PUSH2 0x01c9
000001b9: JUMPI
000001ba: DUP2
000001bb: DUP2
000001bc: ADD
000001bd: MLOAD
000001be: DUP4
000001bf: DUP3
000001c0: ADD
000001c1: MSTORE
000001c2: PUSH1 0x20
000001c4: ADD
000001c5: PUSH2 0x01b1
000001c8: JUMP
000001c9: JUMPDEST
000001ca: POP
000001cb: POP
000001cc: POP
000001cd: POP
000001ce: SWAP1
000001cf: POP
000001d0: SWAP1
000001d1: DUP2
000001d2: ADD
000001d3: SWAP1
000001d4: PUSH1 0x1f
000001d6: AND
000001d7: DUP1
000001d8: ISZERO
000001d9: PUSH2 0x01f6
000001dc: JUMPI
000001dd: DUP1
000001de: DUP3
000001df: SUB
000001e0: DUP1
000001e1: MLOAD
000001e2: PUSH1 0x01
000001e4: DUP4
000001e5: PUSH1 0x20
000001e7: SUB
000001e8: PUSH2 0x0100
000001eb: EXP
000001ec: SUB
000001ed: NOT
000001ee: AND
000001ef: DUP2
000001f0: MSTORE
000001f1: PUSH1 0x20
000001f3: ADD
000001f4: SWAP2
000001f5: POP
000001f6: JUMPDEST
000001f7: POP
000001f8: SWAP3
000001f9: POP
000001fa: POP
000001fb: POP
000001fc: PUSH1 0x40
000001fe: MLOAD
000001ff: DUP1
00000200: SWAP2
00000201: SUB
00000202: SWAP1
00000203: RETURN
00000204: JUMPDEST
00000205: PUSH2 0x023d
00000208: PUSH1 0x04
0000020a: DUP1
0000020b: CALLDATASIZE
0000020c: SUB
0000020d: PUSH1 0x40
0000020f: DUP2
00000210: LT
00000211: ISZERO
00000212: PUSH2 0x021a
00000215: JUMPI
00000216: PUSH1 0x00
00000218: DUP1
00000219: REVERT
0000021a: JUMPDEST
0000021b: POP
0000021c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000231: DUP2
00000232: CALLDATALOAD
00000233: AND
00000234: SWAP1
00000235: PUSH1 0x20
00000237: ADD
00000238: CALLDATALOAD
00000239: PUSH2 0x063e
0000023c: JUMP
0000023d: JUMPDEST
0000023e: PUSH1 0x40
00000240: DUP1
00000241: MLOAD
00000242: SWAP2
00000243: ISZERO
00000244: ISZERO
00000245: DUP3
00000246: MSTORE
00000247: MLOAD
00000248: SWAP1
00000249: DUP2
0000024a: SWAP1
0000024b: SUB
0000024c: PUSH1 0x20
0000024e: ADD
0000024f: SWAP1
00000250: RETURN
00000251: JUMPDEST
00000252: PUSH2 0x0259
00000255: PUSH2 0x0655
00000258: JUMP
00000259: JUMPDEST
0000025a: PUSH1 0x40
0000025c: DUP1
0000025d: MLOAD
0000025e: SWAP2
0000025f: DUP3
00000260: MSTORE
00000261: MLOAD
00000262: SWAP1
00000263: DUP2
00000264: SWAP1
00000265: SUB
00000266: PUSH1 0x20
00000268: ADD
00000269: SWAP1
0000026a: RETURN
0000026b: JUMPDEST
0000026c: PUSH2 0x023d
0000026f: PUSH1 0x04
00000271: DUP1
00000272: CALLDATASIZE
00000273: SUB
00000274: PUSH1 0x60
00000276: DUP2
00000277: LT
00000278: ISZERO
00000279: PUSH2 0x0281
0000027c: JUMPI
0000027d: PUSH1 0x00
0000027f: DUP1
00000280: REVERT
00000281: JUMPDEST
00000282: POP
00000283: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000298: DUP2
00000299: CALLDATALOAD
0000029a: DUP2
0000029b: AND
0000029c: SWAP2
0000029d: PUSH1 0x20
0000029f: DUP2
000002a0: ADD
000002a1: CALLDATALOAD
000002a2: SWAP1
000002a3: SWAP2
000002a4: AND
000002a5: SWAP1
000002a6: PUSH1 0x40
000002a8: ADD
000002a9: CALLDATALOAD
000002aa: PUSH2 0x065b
000002ad: JUMP
000002ae: JUMPDEST
000002af: PUSH2 0x0259
000002b2: PUSH1 0x04
000002b4: DUP1
000002b5: CALLDATASIZE
000002b6: SUB
000002b7: PUSH1 0x40
000002b9: DUP2
000002ba: LT
000002bb: ISZERO
000002bc: PUSH2 0x02c4
000002bf: JUMPI
000002c0: PUSH1 0x00
000002c2: DUP1
000002c3: REVERT
000002c4: JUMPDEST
000002c5: POP
000002c6: DUP1
000002c7: CALLDATALOAD
000002c8: SWAP1
000002c9: PUSH1 0x20
000002cb: ADD
000002cc: CALLDATALOAD
000002cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e2: AND
000002e3: PUSH2 0x073a
000002e6: JUMP
000002e7: JUMPDEST
000002e8: PUSH2 0x0259
000002eb: PUSH2 0x082d
000002ee: JUMP
000002ef: JUMPDEST
000002f0: PUSH2 0x02f7
000002f3: PUSH2 0x0851
000002f6: JUMP
000002f7: JUMPDEST
000002f8: PUSH1 0x40
000002fa: DUP1
000002fb: MLOAD
000002fc: PUSH1 0xff
000002fe: SWAP1
000002ff: SWAP3
00000300: AND
00000301: DUP3
00000302: MSTORE
00000303: MLOAD
00000304: SWAP1
00000305: DUP2
00000306: SWAP1
00000307: SUB
00000308: PUSH1 0x20
0000030a: ADD
0000030b: SWAP1
0000030c: RETURN
0000030d: JUMPDEST
0000030e: PUSH2 0x0259
00000311: PUSH2 0x085a
00000314: JUMP
00000315: JUMPDEST
00000316: PUSH2 0x034e
00000319: PUSH1 0x04
0000031b: DUP1
0000031c: CALLDATASIZE
0000031d: SUB
0000031e: PUSH1 0x40
00000320: DUP2
00000321: LT
00000322: ISZERO
00000323: PUSH2 0x032b
00000326: JUMPI
00000327: PUSH1 0x00
00000329: DUP1
0000032a: REVERT
0000032b: JUMPDEST
0000032c: POP
0000032d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000342: DUP2
00000343: CALLDATALOAD
00000344: AND
00000345: SWAP1
00000346: PUSH1 0x20
00000348: ADD
00000349: CALLDATALOAD
0000034a: PUSH2 0x0860
0000034d: JUMP
0000034e: JUMPDEST
0000034f: STOP
00000350: JUMPDEST
00000351: PUSH2 0x034e
00000354: PUSH1 0x04
00000356: DUP1
00000357: CALLDATASIZE
00000358: SUB
00000359: PUSH1 0x20
0000035b: DUP2
0000035c: LT
0000035d: ISZERO
0000035e: PUSH2 0x0366
00000361: JUMPI
00000362: PUSH1 0x00
00000364: DUP1
00000365: REVERT
00000366: JUMPDEST
00000367: POP
00000368: CALLDATALOAD
00000369: PUSH2 0x0b54
0000036c: JUMP
0000036d: JUMPDEST
0000036e: PUSH2 0x0259
00000371: PUSH1 0x04
00000373: DUP1
00000374: CALLDATASIZE
00000375: SUB
00000376: PUSH1 0x40
00000378: DUP2
00000379: LT
0000037a: ISZERO
0000037b: PUSH2 0x0383
0000037e: JUMPI
0000037f: PUSH1 0x00
00000381: DUP1
00000382: REVERT
00000383: JUMPDEST
00000384: POP
00000385: DUP1
00000386: CALLDATALOAD
00000387: SWAP1
00000388: PUSH1 0x20
0000038a: ADD
0000038b: CALLDATALOAD
0000038c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a1: AND
000003a2: PUSH2 0x0b98
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH2 0x0259
000003aa: PUSH1 0x04
000003ac: DUP1
000003ad: CALLDATASIZE
000003ae: SUB
000003af: PUSH1 0x20
000003b1: DUP2
000003b2: LT
000003b3: ISZERO
000003b4: PUSH2 0x03bc
000003b7: JUMPI
000003b8: PUSH1 0x00
000003ba: DUP1
000003bb: REVERT
000003bc: JUMPDEST
000003bd: POP
000003be: CALLDATALOAD
000003bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d4: AND
000003d5: PUSH2 0x0c74
000003d8: JUMP
000003d9: JUMPDEST
000003da: PUSH2 0x034e
000003dd: PUSH1 0x04
000003df: DUP1
000003e0: CALLDATASIZE
000003e1: SUB
000003e2: PUSH1 0x40
000003e4: DUP2
000003e5: LT
000003e6: ISZERO
000003e7: PUSH2 0x03ef
000003ea: JUMPI
000003eb: PUSH1 0x00
000003ed: DUP1
000003ee: REVERT
000003ef: JUMPDEST
000003f0: POP
000003f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000406: DUP2
00000407: CALLDATALOAD
00000408: AND
00000409: SWAP1
0000040a: PUSH1 0x20
0000040c: ADD
0000040d: CALLDATALOAD
0000040e: PUSH2 0x0c86
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH2 0x0259
00000416: PUSH1 0x04
00000418: DUP1
00000419: CALLDATASIZE
0000041a: SUB
0000041b: PUSH1 0x20
0000041d: DUP2
0000041e: LT
0000041f: ISZERO
00000420: PUSH2 0x0428
00000423: JUMPI
00000424: PUSH1 0x00
00000426: DUP1
00000427: REVERT
00000428: JUMPDEST
00000429: POP
0000042a: CALLDATALOAD
0000042b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000440: AND
00000441: PUSH2 0x0f7a
00000444: JUMP
00000445: JUMPDEST
00000446: PUSH2 0x018f
00000449: PUSH2 0x0f8c
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH2 0x023d
00000451: PUSH1 0x04
00000453: DUP1
00000454: CALLDATASIZE
00000455: SUB
00000456: PUSH1 0x40
00000458: DUP2
00000459: LT
0000045a: ISZERO
0000045b: PUSH2 0x0463
0000045e: JUMPI
0000045f: PUSH1 0x00
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: POP
00000465: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000047a: DUP2
0000047b: CALLDATALOAD
0000047c: AND
0000047d: SWAP1
0000047e: PUSH1 0x20
00000480: ADD
00000481: CALLDATALOAD
00000482: PUSH2 0x1004
00000485: JUMP
00000486: JUMPDEST
00000487: PUSH2 0x048e
0000048a: PUSH2 0x1011
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH1 0x40
00000491: DUP1
00000492: MLOAD
00000493: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004a8: SWAP1
000004a9: SWAP3
000004aa: AND
000004ab: DUP3
000004ac: MSTORE
000004ad: MLOAD
000004ae: SWAP1
000004af: DUP2
000004b0: SWAP1
000004b1: SUB
000004b2: PUSH1 0x20
000004b4: ADD
000004b5: SWAP1
000004b6: RETURN
000004b7: JUMPDEST
000004b8: PUSH2 0x034e
000004bb: PUSH1 0x04
000004bd: DUP1
000004be: CALLDATASIZE
000004bf: SUB
000004c0: PUSH1 0xe0
000004c2: DUP2
000004c3: LT
000004c4: ISZERO
000004c5: PUSH2 0x04cd
000004c8: JUMPI
000004c9: PUSH1 0x00
000004cb: DUP1
000004cc: REVERT
000004cd: JUMPDEST
000004ce: POP
000004cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e4: DUP2
000004e5: CALLDATALOAD
000004e6: DUP2
000004e7: AND
000004e8: SWAP2
000004e9: PUSH1 0x20
000004eb: DUP2
000004ec: ADD
000004ed: CALLDATALOAD
000004ee: SWAP1
000004ef: SWAP2
000004f0: AND
000004f1: SWAP1
000004f2: PUSH1 0x40
000004f4: DUP2
000004f5: ADD
000004f6: CALLDATALOAD
000004f7: SWAP1
000004f8: PUSH1 0x60
000004fa: DUP2
000004fb: ADD
000004fc: CALLDATALOAD
000004fd: SWAP1
000004fe: PUSH1 0xff
00000500: PUSH1 0x80
00000502: DUP3
00000503: ADD
00000504: CALLDATALOAD
00000505: AND
00000506: SWAP1
00000507: PUSH1 0xa0
00000509: DUP2
0000050a: ADD
0000050b: CALLDATALOAD
0000050c: SWAP1
0000050d: PUSH1 0xc0
0000050f: ADD
00000510: CALLDATALOAD
00000511: PUSH2 0x102d
00000514: JUMP
00000515: JUMPDEST
00000516: PUSH2 0x0259
00000519: PUSH1 0x04
0000051b: DUP1
0000051c: CALLDATASIZE
0000051d: SUB
0000051e: PUSH1 0x40
00000520: DUP2
00000521: LT
00000522: ISZERO
00000523: PUSH2 0x052b
00000526: JUMPI
00000527: PUSH1 0x00
00000529: DUP1
0000052a: REVERT
0000052b: JUMPDEST
0000052c: POP
0000052d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000542: DUP2
00000543: CALLDATALOAD
00000544: DUP2
00000545: AND
00000546: SWAP2
00000547: PUSH1 0x20
00000549: ADD
0000054a: CALLDATALOAD
0000054b: AND
0000054c: PUSH2 0x12f9
0000054f: JUMP
00000550: JUMPDEST
00000551: PUSH2 0x0259
00000554: PUSH1 0x04
00000556: DUP1
00000557: CALLDATASIZE
00000558: SUB
00000559: PUSH1 0x20
0000055b: DUP2
0000055c: LT
0000055d: ISZERO
0000055e: PUSH2 0x0566
00000561: JUMPI
00000562: PUSH1 0x00
00000564: DUP1
00000565: REVERT
00000566: JUMPDEST
00000567: POP
00000568: CALLDATALOAD
00000569: PUSH2 0x1316
0000056c: JUMP
0000056d: JUMPDEST
0000056e: PUSH2 0x0259
00000571: PUSH1 0x04
00000573: DUP1
00000574: CALLDATASIZE
00000575: SUB
00000576: PUSH1 0x20
00000578: DUP2
00000579: LT
0000057a: ISZERO
0000057b: PUSH2 0x0583
0000057e: JUMPI
0000057f: PUSH1 0x00
00000581: DUP1
00000582: REVERT
00000583: JUMPDEST
00000584: POP
00000585: CALLDATALOAD
00000586: PUSH2 0x1322
00000589: JUMP
0000058a: JUMPDEST
0000058b: PUSH2 0x048e
0000058e: PUSH2 0x132e
00000591: JUMP
00000592: JUMPDEST
00000593: PUSH1 0x00
00000595: DUP1
00000596: SLOAD
00000597: PUSH1 0x40
00000599: DUP1
0000059a: MLOAD
0000059b: PUSH1 0x20
0000059d: PUSH1 0x02
0000059f: PUSH1 0x01
000005a1: DUP6
000005a2: AND
000005a3: ISZERO
000005a4: PUSH2 0x0100
000005a7: MUL
000005a8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000005c9: ADD
000005ca: SWAP1
000005cb: SWAP5
000005cc: AND
000005cd: SWAP4
000005ce: SWAP1
000005cf: SWAP4
000005d0: DIV
000005d1: PUSH1 0x1f
000005d3: DUP2
000005d4: ADD
000005d5: DUP5
000005d6: SWAP1
000005d7: DIV
000005d8: DUP5
000005d9: MUL
000005da: DUP3
000005db: ADD
000005dc: DUP5
000005dd: ADD
000005de: SWAP1
000005df: SWAP3
000005e0: MSTORE
000005e1: DUP2
000005e2: DUP2
000005e3: MSTORE
000005e4: SWAP3
000005e5: SWAP2
000005e6: DUP4
000005e7: ADD
000005e8: DUP3
000005e9: DUP3
000005ea: DUP1
000005eb: ISZERO
000005ec: PUSH2 0x0636
000005ef: JUMPI
000005f0: DUP1
000005f1: PUSH1 0x1f
000005f3: LT
000005f4: PUSH2 0x060b
000005f7: JUMPI
000005f8: PUSH2 0x0100
000005fb: DUP1
000005fc: DUP4
000005fd: SLOAD
000005fe: DIV
000005ff: MUL
00000600: DUP4
00000601: MSTORE
00000602: SWAP2
00000603: PUSH1 0x20
00000605: ADD
00000606: SWAP2
00000607: PUSH2 0x0636
0000060a: JUMP
0000060b: JUMPDEST
0000060c: DUP3
0000060d: ADD
0000060e: SWAP2
0000060f: SWAP1
00000610: PUSH1 0x00
00000612: MSTORE
00000613: PUSH1 0x20
00000615: PUSH1 0x00
00000617: KECCAK256
00000618: SWAP1
00000619: JUMPDEST
0000061a: DUP2
0000061b: SLOAD
0000061c: DUP2
0000061d: MSTORE
0000061e: SWAP1
0000061f: PUSH1 0x01
00000621: ADD
00000622: SWAP1
00000623: PUSH1 0x20
00000625: ADD
00000626: DUP1
00000627: DUP4
00000628: GT
00000629: PUSH2 0x0619
0000062c: JUMPI
0000062d: DUP3
0000062e: SWAP1
0000062f: SUB
00000630: PUSH1 0x1f
00000632: AND
00000633: DUP3
00000634: ADD
00000635: SWAP2
00000636: JUMPDEST
00000637: POP
00000638: POP
00000639: POP
0000063a: POP
0000063b: POP
0000063c: DUP2
0000063d: JUMP
0000063e: JUMPDEST
0000063f: PUSH1 0x00
00000641: PUSH2 0x064b
00000644: CALLER
00000645: DUP5
00000646: DUP5
00000647: PUSH2 0x134a
0000064a: JUMP
0000064b: JUMPDEST
0000064c: POP
0000064d: PUSH1 0x01
0000064f: JUMPDEST
00000650: SWAP3
00000651: SWAP2
00000652: POP
00000653: POP
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH1 0x03
00000658: SLOAD
00000659: DUP2
0000065a: JUMP
0000065b: JUMPDEST
0000065c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000671: DUP4
00000672: AND
00000673: PUSH1 0x00
00000675: SWAP1
00000676: DUP2
00000677: MSTORE
00000678: PUSH1 0x05
0000067a: PUSH1 0x20
0000067c: SWAP1
0000067d: DUP2
0000067e: MSTORE
0000067f: PUSH1 0x40
00000681: DUP1
00000682: DUP4
00000683: KECCAK256
00000684: CALLER
00000685: DUP5
00000686: MSTORE
00000687: SWAP1
00000688: SWAP2
00000689: MSTORE
0000068a: DUP2
0000068b: KECCAK256
0000068c: SLOAD
0000068d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000006ae: EQ
000006af: PUSH2 0x0725
000006b2: JUMPI
000006b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006c8: DUP5
000006c9: AND
000006ca: PUSH1 0x00
000006cc: SWAP1
000006cd: DUP2
000006ce: MSTORE
000006cf: PUSH1 0x05
000006d1: PUSH1 0x20
000006d3: SWAP1
000006d4: DUP2
000006d5: MSTORE
000006d6: PUSH1 0x40
000006d8: DUP1
000006d9: DUP4
000006da: KECCAK256
000006db: CALLER
000006dc: DUP5
000006dd: MSTORE
000006de: SWAP1
000006df: SWAP2
000006e0: MSTORE
000006e1: SWAP1
000006e2: KECCAK256
000006e3: SLOAD
000006e4: PUSH2 0x06f3
000006e7: SWAP1
000006e8: DUP4
000006e9: PUSH4 0xffffffff
000006ee: PUSH2 0x13b9
000006f1: AND
000006f2: JUMP
000006f3: JUMPDEST
000006f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000709: DUP6
0000070a: AND
0000070b: PUSH1 0x00
0000070d: SWAP1
0000070e: DUP2
0000070f: MSTORE
00000710: PUSH1 0x05
00000712: PUSH1 0x20
00000714: SWAP1
00000715: DUP2
00000716: MSTORE
00000717: PUSH1 0x40
00000719: DUP1
0000071a: DUP4
0000071b: KECCAK256
0000071c: CALLER
0000071d: DUP5
0000071e: MSTORE
0000071f: SWAP1
00000720: SWAP2
00000721: MSTORE
00000722: SWAP1
00000723: KECCAK256
00000724: SSTORE
00000725: JUMPDEST
00000726: PUSH2 0x0730
00000729: DUP5
0000072a: DUP5
0000072b: DUP5
0000072c: PUSH2 0x142b
0000072f: JUMP
00000730: JUMPDEST
00000731: POP
00000732: PUSH1 0x01
00000734: SWAP4
00000735: SWAP3
00000736: POP
00000737: POP
00000738: POP
00000739: JUMP
0000073a: JUMPDEST
0000073b: PUSH1 0x00
0000073d: DUP1
0000073e: DUP4
0000073f: GT
00000740: PUSH2 0x07aa
00000743: JUMPI
00000744: PUSH1 0x40
00000746: DUP1
00000747: MLOAD
00000748: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000769: DUP2
0000076a: MSTORE
0000076b: PUSH1 0x20
0000076d: PUSH1 0x04
0000076f: DUP3
00000770: ADD
00000771: MSTORE
00000772: PUSH1 0x1a
00000774: PUSH1 0x24
00000776: DUP3
00000777: ADD
00000778: MSTORE
00000779: PUSH32 0x4665773a2063616e27742077726170207a65726f20746f6b656e000000000000
0000079a: PUSH1 0x44
0000079c: DUP3
0000079d: ADD
0000079e: MSTORE
0000079f: SWAP1
000007a0: MLOAD
000007a1: SWAP1
000007a2: DUP2
000007a3: SWAP1
000007a4: SUB
000007a5: PUSH1 0x64
000007a7: ADD
000007a8: SWAP1
000007a9: REVERT
000007aa: JUMPDEST
000007ab: PUSH1 0x09
000007ad: SLOAD
000007ae: PUSH2 0x07cf
000007b1: SWAP1
000007b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c7: AND
000007c8: CALLER
000007c9: ADDRESS
000007ca: DUP7
000007cb: PUSH2 0x150c
000007ce: JUMP
000007cf: JUMPDEST
000007d0: PUSH2 0x07d9
000007d3: DUP3
000007d4: DUP5
000007d5: PUSH2 0x16dc
000007d8: JUMP
000007d9: JUMPDEST
000007da: PUSH1 0x40
000007dc: DUP1
000007dd: MLOAD
000007de: DUP5
000007df: DUP2
000007e0: MSTORE
000007e1: SWAP1
000007e2: MLOAD
000007e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f8: DUP5
000007f9: AND
000007fa: SWAP2
000007fb: CALLER
000007fc: SWAP2
000007fd: PUSH32 0xeb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb20581773
0000081e: SWAP2
0000081f: DUP2
00000820: SWAP1
00000821: SUB
00000822: PUSH1 0x20
00000824: ADD
00000825: SWAP1
00000826: LOG3
00000827: POP
00000828: SWAP1
00000829: SWAP2
0000082a: SWAP1
0000082b: POP
0000082c: JUMP
0000082d: JUMPDEST
0000082e: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
0000084f: DUP2
00000850: JUMP
00000851: JUMPDEST
00000852: PUSH1 0x02
00000854: SLOAD
00000855: PUSH1 0xff
00000857: AND
00000858: DUP2
00000859: JUMP
0000085a: JUMPDEST
0000085b: PUSH1 0x06
0000085d: SLOAD
0000085e: DUP2
0000085f: JUMP
00000860: JUMPDEST
00000861: PUSH1 0x08
00000863: PUSH1 0x00
00000865: SWAP1
00000866: SLOAD
00000867: SWAP1
00000868: PUSH2 0x0100
0000086b: EXP
0000086c: SWAP1
0000086d: DIV
0000086e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000883: AND
00000884: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000899: AND
0000089a: PUSH4 0xf2f4eb26
0000089f: PUSH1 0x40
000008a1: MLOAD
000008a2: DUP2
000008a3: PUSH4 0xffffffff
000008a8: AND
000008a9: PUSH1 0xe0
000008ab: SHL
000008ac: DUP2
000008ad: MSTORE
000008ae: PUSH1 0x04
000008b0: ADD
000008b1: PUSH1 0x20
000008b3: PUSH1 0x40
000008b5: MLOAD
000008b6: DUP1
000008b7: DUP4
000008b8: SUB
000008b9: DUP2
000008ba: DUP7
000008bb: DUP1
000008bc: EXTCODESIZE
000008bd: ISZERO
000008be: DUP1
000008bf: ISZERO
000008c0: PUSH2 0x08c8
000008c3: JUMPI
000008c4: PUSH1 0x00
000008c6: DUP1
000008c7: REVERT
000008c8: JUMPDEST
000008c9: POP
000008ca: GAS
000008cb: STATICCALL
000008cc: ISZERO
000008cd: DUP1
000008ce: ISZERO
000008cf: PUSH2 0x08dc
000008d2: JUMPI
000008d3: RETURNDATASIZE
000008d4: PUSH1 0x00
000008d6: DUP1
000008d7: RETURNDATACOPY
000008d8: RETURNDATASIZE
000008d9: PUSH1 0x00
000008db: REVERT
000008dc: JUMPDEST
000008dd: POP
000008de: POP
000008df: POP
000008e0: POP
000008e1: PUSH1 0x40
000008e3: MLOAD
000008e4: RETURNDATASIZE
000008e5: PUSH1 0x20
000008e7: DUP2
000008e8: LT
000008e9: ISZERO
000008ea: PUSH2 0x08f2
000008ed: JUMPI
000008ee: PUSH1 0x00
000008f0: DUP1
000008f1: REVERT
000008f2: JUMPDEST
000008f3: POP
000008f4: MLOAD
000008f5: PUSH1 0x40
000008f7: DUP1
000008f8: MLOAD
000008f9: PUSH32 0xaa271e1a00000000000000000000000000000000000000000000000000000000
0000091a: DUP2
0000091b: MSTORE
0000091c: CALLER
0000091d: PUSH1 0x04
0000091f: DUP3
00000920: ADD
00000921: MSTORE
00000922: SWAP1
00000923: MLOAD
00000924: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000939: SWAP1
0000093a: SWAP3
0000093b: AND
0000093c: SWAP2
0000093d: PUSH4 0xaa271e1a
00000942: SWAP2
00000943: PUSH1 0x24
00000945: DUP1
00000946: DUP3
00000947: ADD
00000948: SWAP3
00000949: PUSH1 0x20
0000094b: SWAP3
0000094c: SWAP1
0000094d: SWAP2
0000094e: SWAP1
0000094f: DUP3
00000950: SWAP1
00000951: SUB
00000952: ADD
00000953: DUP2
00000954: DUP7
00000955: DUP1
00000956: EXTCODESIZE
00000957: ISZERO
00000958: DUP1
00000959: ISZERO
0000095a: PUSH2 0x0962
0000095d: JUMPI
0000095e: PUSH1 0x00
00000960: DUP1
00000961: REVERT
00000962: JUMPDEST
00000963: POP
00000964: GAS
00000965: STATICCALL
00000966: ISZERO
00000967: DUP1
00000968: ISZERO
00000969: PUSH2 0x0976
0000096c: JUMPI
0000096d: RETURNDATASIZE
0000096e: PUSH1 0x00
00000970: DUP1
00000971: RETURNDATACOPY
00000972: RETURNDATASIZE
00000973: PUSH1 0x00
00000975: REVERT
00000976: JUMPDEST
00000977: POP
00000978: POP
00000979: POP
0000097a: POP
0000097b: PUSH1 0x40
0000097d: MLOAD
0000097e: RETURNDATASIZE
0000097f: PUSH1 0x20
00000981: DUP2
00000982: LT
00000983: ISZERO
00000984: PUSH2 0x098c
00000987: JUMPI
00000988: PUSH1 0x00
0000098a: DUP1
0000098b: REVERT
0000098c: JUMPDEST
0000098d: POP
0000098e: MLOAD
0000098f: PUSH2 0x09f9
00000992: JUMPI
00000993: PUSH1 0x40
00000995: DUP1
00000996: MLOAD
00000997: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009b8: DUP2
000009b9: MSTORE
000009ba: PUSH1 0x20
000009bc: PUSH1 0x04
000009be: DUP3
000009bf: ADD
000009c0: MSTORE
000009c1: PUSH1 0x1f
000009c3: PUSH1 0x24
000009c5: DUP3
000009c6: ADD
000009c7: MSTORE
000009c8: PUSH32 0x436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200
000009e9: PUSH1 0x44
000009eb: DUP3
000009ec: ADD
000009ed: MSTORE
000009ee: SWAP1
000009ef: MLOAD
000009f0: SWAP1
000009f1: DUP2
000009f2: SWAP1
000009f3: SUB
000009f4: PUSH1 0x64
000009f6: ADD
000009f7: SWAP1
000009f8: REVERT
000009f9: JUMPDEST
000009fa: PUSH1 0x08
000009fc: PUSH1 0x00
000009fe: SWAP1
000009ff: SLOAD
00000a00: SWAP1
00000a01: PUSH2 0x0100
00000a04: EXP
00000a05: SWAP1
00000a06: DIV
00000a07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a1c: AND
00000a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a32: AND
00000a33: PUSH4 0x5c975abb
00000a38: PUSH1 0x40
00000a3a: MLOAD
00000a3b: DUP2
00000a3c: PUSH4 0xffffffff
00000a41: AND
00000a42: PUSH1 0xe0
00000a44: SHL
00000a45: DUP2
00000a46: MSTORE
00000a47: PUSH1 0x04
00000a49: ADD
00000a4a: PUSH1 0x20
00000a4c: PUSH1 0x40
00000a4e: MLOAD
00000a4f: DUP1
00000a50: DUP4
00000a51: SUB
00000a52: DUP2
00000a53: DUP7
00000a54: DUP1
00000a55: EXTCODESIZE
00000a56: ISZERO
00000a57: DUP1
00000a58: ISZERO
00000a59: PUSH2 0x0a61
00000a5c: JUMPI
00000a5d: PUSH1 0x00
00000a5f: DUP1
00000a60: REVERT
00000a61: JUMPDEST
00000a62: POP
00000a63: GAS
00000a64: STATICCALL
00000a65: ISZERO
00000a66: DUP1
00000a67: ISZERO
00000a68: PUSH2 0x0a75
00000a6b: JUMPI
00000a6c: RETURNDATASIZE
00000a6d: PUSH1 0x00
00000a6f: DUP1
00000a70: RETURNDATACOPY
00000a71: RETURNDATASIZE
00000a72: PUSH1 0x00
00000a74: REVERT
00000a75: JUMPDEST
00000a76: POP
00000a77: POP
00000a78: POP
00000a79: POP
00000a7a: PUSH1 0x40
00000a7c: MLOAD
00000a7d: RETURNDATASIZE
00000a7e: PUSH1 0x20
00000a80: DUP2
00000a81: LT
00000a82: ISZERO
00000a83: PUSH2 0x0a8b
00000a86: JUMPI
00000a87: PUSH1 0x00
00000a89: DUP1
00000a8a: REVERT
00000a8b: JUMPDEST
00000a8c: POP
00000a8d: MLOAD
00000a8e: ISZERO
00000a8f: PUSH2 0x0af9
00000a92: JUMPI
00000a93: PUSH1 0x40
00000a95: DUP1
00000a96: MLOAD
00000a97: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ab8: DUP2
00000ab9: MSTORE
00000aba: PUSH1 0x20
00000abc: PUSH1 0x04
00000abe: DUP3
00000abf: ADD
00000ac0: MSTORE
00000ac1: PUSH1 0x19
00000ac3: PUSH1 0x24
00000ac5: DUP3
00000ac6: ADD
00000ac7: MSTORE
00000ac8: PUSH32 0x436f72655265663a2043616c6c65722069732070617573656400000000000000
00000ae9: PUSH1 0x44
00000aeb: DUP3
00000aec: ADD
00000aed: MSTORE
00000aee: SWAP1
00000aef: MLOAD
00000af0: SWAP1
00000af1: DUP2
00000af2: SWAP1
00000af3: SUB
00000af4: PUSH1 0x64
00000af6: ADD
00000af7: SWAP1
00000af8: REVERT
00000af9: JUMPDEST
00000afa: PUSH2 0x0b03
00000afd: DUP3
00000afe: DUP3
00000aff: PUSH2 0x16dc
00000b02: JUMP
00000b03: JUMPDEST
00000b04: PUSH1 0x40
00000b06: DUP1
00000b07: MLOAD
00000b08: DUP3
00000b09: DUP2
00000b0a: MSTORE
00000b0b: SWAP1
00000b0c: MLOAD
00000b0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b22: DUP5
00000b23: AND
00000b24: SWAP2
00000b25: CALLER
00000b26: SWAP2
00000b27: PUSH32 0xbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d
00000b48: SWAP2
00000b49: DUP2
00000b4a: SWAP1
00000b4b: SUB
00000b4c: PUSH1 0x20
00000b4e: ADD
00000b4f: SWAP1
00000b50: LOG3
00000b51: POP
00000b52: POP
00000b53: JUMP
00000b54: JUMPDEST
00000b55: PUSH2 0x0b5e
00000b58: CALLER
00000b59: DUP3
00000b5a: PUSH2 0x178d
00000b5d: JUMP
00000b5e: JUMPDEST
00000b5f: PUSH1 0x40
00000b61: DUP1
00000b62: MLOAD
00000b63: DUP3
00000b64: DUP2
00000b65: MSTORE
00000b66: SWAP1
00000b67: MLOAD
00000b68: CALLER
00000b69: SWAP2
00000b6a: DUP3
00000b6b: SWAP2
00000b6c: PUSH32 0xdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c4
00000b8d: SWAP2
00000b8e: DUP2
00000b8f: SWAP1
00000b90: SUB
00000b91: PUSH1 0x20
00000b93: ADD
00000b94: SWAP1
00000b95: LOG3
00000b96: POP
00000b97: JUMP
00000b98: JUMPDEST
00000b99: PUSH1 0x00
00000b9b: DUP1
00000b9c: DUP4
00000b9d: GT
00000b9e: PUSH2 0x0bf2
00000ba1: JUMPI
00000ba2: PUSH1 0x40
00000ba4: MLOAD
00000ba5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000bc6: DUP2
00000bc7: MSTORE
00000bc8: PUSH1 0x04
00000bca: ADD
00000bcb: DUP1
00000bcc: DUP1
00000bcd: PUSH1 0x20
00000bcf: ADD
00000bd0: DUP3
00000bd1: DUP2
00000bd2: SUB
00000bd3: DUP3
00000bd4: MSTORE
00000bd5: PUSH1 0x23
00000bd7: DUP2
00000bd8: MSTORE
00000bd9: PUSH1 0x20
00000bdb: ADD
00000bdc: DUP1
00000bdd: PUSH2 0x1abc
00000be0: PUSH1 0x23
00000be2: SWAP2
00000be3: CODECOPY
00000be4: PUSH1 0x40
00000be6: ADD
00000be7: SWAP2
00000be8: POP
00000be9: POP
00000bea: PUSH1 0x40
00000bec: MLOAD
00000bed: DUP1
00000bee: SWAP2
00000bef: SUB
00000bf0: SWAP1
00000bf1: REVERT
00000bf2: JUMPDEST
00000bf3: PUSH2 0x0bfc
00000bf6: CALLER
00000bf7: DUP5
00000bf8: PUSH2 0x178d
00000bfb: JUMP
00000bfc: JUMPDEST
00000bfd: PUSH1 0x09
00000bff: SLOAD
00000c00: PUSH2 0x0c20
00000c03: SWAP1
00000c04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c19: AND
00000c1a: DUP4
00000c1b: DUP6
00000c1c: PUSH2 0x1851
00000c1f: JUMP
00000c20: JUMPDEST
00000c21: PUSH1 0x40
00000c23: DUP1
00000c24: MLOAD
00000c25: DUP5
00000c26: DUP2
00000c27: MSTORE
00000c28: SWAP1
00000c29: MLOAD
00000c2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c3f: DUP5
00000c40: AND
00000c41: SWAP2
00000c42: CALLER
00000c43: SWAP2
00000c44: PUSH32 0x12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe302818
00000c65: SWAP2
00000c66: DUP2
00000c67: SWAP1
00000c68: SUB
00000c69: PUSH1 0x20
00000c6b: ADD
00000c6c: SWAP1
00000c6d: LOG3
00000c6e: POP
00000c6f: SWAP1
00000c70: SWAP2
00000c71: SWAP1
00000c72: POP
00000c73: JUMP
00000c74: JUMPDEST
00000c75: PUSH1 0x04
00000c77: PUSH1 0x20
00000c79: MSTORE
00000c7a: PUSH1 0x00
00000c7c: SWAP1
00000c7d: DUP2
00000c7e: MSTORE
00000c7f: PUSH1 0x40
00000c81: SWAP1
00000c82: KECCAK256
00000c83: SLOAD
00000c84: DUP2
00000c85: JUMP
00000c86: JUMPDEST
00000c87: PUSH1 0x08
00000c89: PUSH1 0x00
00000c8b: SWAP1
00000c8c: SLOAD
00000c8d: SWAP1
00000c8e: PUSH2 0x0100
00000c91: EXP
00000c92: SWAP1
00000c93: DIV
00000c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca9: AND
00000caa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cbf: AND
00000cc0: PUSH4 0xf2f4eb26
00000cc5: PUSH1 0x40
00000cc7: MLOAD
00000cc8: DUP2
00000cc9: PUSH4 0xffffffff
00000cce: AND
00000ccf: PUSH1 0xe0
00000cd1: SHL
00000cd2: DUP2
00000cd3: MSTORE
00000cd4: PUSH1 0x04
00000cd6: ADD
00000cd7: PUSH1 0x20
00000cd9: PUSH1 0x40
00000cdb: MLOAD
00000cdc: DUP1
00000cdd: DUP4
00000cde: SUB
00000cdf: DUP2
00000ce0: DUP7
00000ce1: DUP1
00000ce2: EXTCODESIZE
00000ce3: ISZERO
00000ce4: DUP1
00000ce5: ISZERO
00000ce6: PUSH2 0x0cee
00000ce9: JUMPI
00000cea: PUSH1 0x00
00000cec: DUP1
00000ced: REVERT
00000cee: JUMPDEST
00000cef: POP
00000cf0: GAS
00000cf1: STATICCALL
00000cf2: ISZERO
00000cf3: DUP1
00000cf4: ISZERO
00000cf5: PUSH2 0x0d02
00000cf8: JUMPI
00000cf9: RETURNDATASIZE
00000cfa: PUSH1 0x00
00000cfc: DUP1
00000cfd: RETURNDATACOPY
00000cfe: RETURNDATASIZE
00000cff: PUSH1 0x00
00000d01: REVERT
00000d02: JUMPDEST
00000d03: POP
00000d04: POP
00000d05: POP
00000d06: POP
00000d07: PUSH1 0x40
00000d09: MLOAD
00000d0a: RETURNDATASIZE
00000d0b: PUSH1 0x20
00000d0d: DUP2
00000d0e: LT
00000d0f: ISZERO
00000d10: PUSH2 0x0d18
00000d13: JUMPI
00000d14: PUSH1 0x00
00000d16: DUP1
00000d17: REVERT
00000d18: JUMPDEST
00000d19: POP
00000d1a: MLOAD
00000d1b: PUSH1 0x40
00000d1d: DUP1
00000d1e: MLOAD
00000d1f: PUSH32 0x4334614a00000000000000000000000000000000000000000000000000000000
00000d40: DUP2
00000d41: MSTORE
00000d42: CALLER
00000d43: PUSH1 0x04
00000d45: DUP3
00000d46: ADD
00000d47: MSTORE
00000d48: SWAP1
00000d49: MLOAD
00000d4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d5f: SWAP1
00000d60: SWAP3
00000d61: AND
00000d62: SWAP2
00000d63: PUSH4 0x4334614a
00000d68: SWAP2
00000d69: PUSH1 0x24
00000d6b: DUP1
00000d6c: DUP3
00000d6d: ADD
00000d6e: SWAP3
00000d6f: PUSH1 0x20
00000d71: SWAP3
00000d72: SWAP1
00000d73: SWAP2
00000d74: SWAP1
00000d75: DUP3
00000d76: SWAP1
00000d77: SUB
00000d78: ADD
00000d79: DUP2
00000d7a: DUP7
00000d7b: DUP1
00000d7c: EXTCODESIZE
00000d7d: ISZERO
00000d7e: DUP1
00000d7f: ISZERO
00000d80: PUSH2 0x0d88
00000d83: JUMPI
00000d84: PUSH1 0x00
00000d86: DUP1
00000d87: REVERT
00000d88: JUMPDEST
00000d89: POP
00000d8a: GAS
00000d8b: STATICCALL
00000d8c: ISZERO
00000d8d: DUP1
00000d8e: ISZERO
00000d8f: PUSH2 0x0d9c
00000d92: JUMPI
00000d93: RETURNDATASIZE
00000d94: PUSH1 0x00
00000d96: DUP1
00000d97: RETURNDATACOPY
00000d98: RETURNDATASIZE
00000d99: PUSH1 0x00
00000d9b: REVERT
00000d9c: JUMPDEST
00000d9d: POP
00000d9e: POP
00000d9f: POP
00000da0: POP
00000da1: PUSH1 0x40
00000da3: MLOAD
00000da4: RETURNDATASIZE
00000da5: PUSH1 0x20
00000da7: DUP2
00000da8: LT
00000da9: ISZERO
00000daa: PUSH2 0x0db2
00000dad: JUMPI
00000dae: PUSH1 0x00
00000db0: DUP1
00000db1: REVERT
00000db2: JUMPDEST
00000db3: POP
00000db4: MLOAD
00000db5: PUSH2 0x0e1f
00000db8: JUMPI
00000db9: PUSH1 0x40
00000dbb: DUP1
00000dbc: MLOAD
00000dbd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000dde: DUP2
00000ddf: MSTORE
00000de0: PUSH1 0x20
00000de2: PUSH1 0x04
00000de4: DUP3
00000de5: ADD
00000de6: MSTORE
00000de7: PUSH1 0x1f
00000de9: PUSH1 0x24
00000deb: DUP3
00000dec: ADD
00000ded: MSTORE
00000dee: PUSH32 0x436f72655265663a2043616c6c6572206973206e6f742061206275726e657200
00000e0f: PUSH1 0x44
00000e11: DUP3
00000e12: ADD
00000e13: MSTORE
00000e14: SWAP1
00000e15: MLOAD
00000e16: SWAP1
00000e17: DUP2
00000e18: SWAP1
00000e19: SUB
00000e1a: PUSH1 0x64
00000e1c: ADD
00000e1d: SWAP1
00000e1e: REVERT
00000e1f: JUMPDEST
00000e20: PUSH1 0x08
00000e22: PUSH1 0x00
00000e24: SWAP1
00000e25: SLOAD
00000e26: SWAP1
00000e27: PUSH2 0x0100
00000e2a: EXP
00000e2b: SWAP1
00000e2c: DIV
00000e2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e42: AND
00000e43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e58: AND
00000e59: PUSH4 0x5c975abb
00000e5e: PUSH1 0x40
00000e60: MLOAD
00000e61: DUP2
00000e62: PUSH4 0xffffffff
00000e67: AND
00000e68: PUSH1 0xe0
00000e6a: SHL
00000e6b: DUP2
00000e6c: MSTORE
00000e6d: PUSH1 0x04
00000e6f: ADD
00000e70: PUSH1 0x20
00000e72: PUSH1 0x40
00000e74: MLOAD
00000e75: DUP1
00000e76: DUP4
00000e77: SUB
00000e78: DUP2
00000e79: DUP7
00000e7a: DUP1
00000e7b: EXTCODESIZE
00000e7c: ISZERO
00000e7d: DUP1
00000e7e: ISZERO
00000e7f: PUSH2 0x0e87
00000e82: JUMPI
00000e83: PUSH1 0x00
00000e85: DUP1
00000e86: REVERT
00000e87: JUMPDEST
00000e88: POP
00000e89: GAS
00000e8a: STATICCALL
00000e8b: ISZERO
00000e8c: DUP1
00000e8d: ISZERO
00000e8e: PUSH2 0x0e9b
00000e91: JUMPI
00000e92: RETURNDATASIZE
00000e93: PUSH1 0x00
00000e95: DUP1
00000e96: RETURNDATACOPY
00000e97: RETURNDATASIZE
00000e98: PUSH1 0x00
00000e9a: REVERT
00000e9b: JUMPDEST
00000e9c: POP
00000e9d: POP
00000e9e: POP
00000e9f: POP
00000ea0: PUSH1 0x40
00000ea2: MLOAD
00000ea3: RETURNDATASIZE
00000ea4: PUSH1 0x20
00000ea6: DUP2
00000ea7: LT
00000ea8: ISZERO
00000ea9: PUSH2 0x0eb1
00000eac: JUMPI
00000ead: PUSH1 0x00
00000eaf: DUP1
00000eb0: REVERT
00000eb1: JUMPDEST
00000eb2: POP
00000eb3: MLOAD
00000eb4: ISZERO
00000eb5: PUSH2 0x0f1f
00000eb8: JUMPI
00000eb9: PUSH1 0x40
00000ebb: DUP1
00000ebc: MLOAD
00000ebd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ede: DUP2
00000edf: MSTORE
00000ee0: PUSH1 0x20
00000ee2: PUSH1 0x04
00000ee4: DUP3
00000ee5: ADD
00000ee6: MSTORE
00000ee7: PUSH1 0x19
00000ee9: PUSH1 0x24
00000eeb: DUP3
00000eec: ADD
00000eed: MSTORE
00000eee: PUSH32 0x436f72655265663a2043616c6c65722069732070617573656400000000000000
00000f0f: PUSH1 0x44
00000f11: DUP3
00000f12: ADD
00000f13: MSTORE
00000f14: SWAP1
00000f15: MLOAD
00000f16: SWAP1
00000f17: DUP2
00000f18: SWAP1
00000f19: SUB
00000f1a: PUSH1 0x64
00000f1c: ADD
00000f1d: SWAP1
00000f1e: REVERT
00000f1f: JUMPDEST
00000f20: PUSH2 0x0f29
00000f23: DUP3
00000f24: DUP3
00000f25: PUSH2 0x178d
00000f28: JUMP
00000f29: JUMPDEST
00000f2a: PUSH1 0x40
00000f2c: DUP1
00000f2d: MLOAD
00000f2e: DUP3
00000f2f: DUP2
00000f30: MSTORE
00000f31: SWAP1
00000f32: MLOAD
00000f33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f48: DUP5
00000f49: AND
00000f4a: SWAP2
00000f4b: CALLER
00000f4c: SWAP2
00000f4d: PUSH32 0xdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c4
00000f6e: SWAP2
00000f6f: DUP2
00000f70: SWAP1
00000f71: SUB
00000f72: PUSH1 0x20
00000f74: ADD
00000f75: SWAP1
00000f76: LOG3
00000f77: POP
00000f78: POP
00000f79: JUMP
00000f7a: JUMPDEST
00000f7b: PUSH1 0x07
00000f7d: PUSH1 0x20
00000f7f: MSTORE
00000f80: PUSH1 0x00
00000f82: SWAP1
00000f83: DUP2
00000f84: MSTORE
00000f85: PUSH1 0x40
00000f87: SWAP1
00000f88: KECCAK256
00000f89: SLOAD
00000f8a: DUP2
00000f8b: JUMP
00000f8c: JUMPDEST
00000f8d: PUSH1 0x01
00000f8f: DUP1
00000f90: SLOAD
00000f91: PUSH1 0x40
00000f93: DUP1
00000f94: MLOAD
00000f95: PUSH1 0x20
00000f97: PUSH1 0x02
00000f99: DUP5
00000f9a: DUP7
00000f9b: AND
00000f9c: ISZERO
00000f9d: PUSH2 0x0100
00000fa0: MUL
00000fa1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000fc2: ADD
00000fc3: SWAP1
00000fc4: SWAP5
00000fc5: AND
00000fc6: SWAP4
00000fc7: SWAP1
00000fc8: SWAP4
00000fc9: DIV
00000fca: PUSH1 0x1f
00000fcc: DUP2
00000fcd: ADD
00000fce: DUP5
00000fcf: SWAP1
00000fd0: DIV
00000fd1: DUP5
00000fd2: MUL
00000fd3: DUP3
00000fd4: ADD
00000fd5: DUP5
00000fd6: ADD
00000fd7: SWAP1
00000fd8: SWAP3
00000fd9: MSTORE
00000fda: DUP2
00000fdb: DUP2
00000fdc: MSTORE
00000fdd: SWAP3
00000fde: SWAP2
00000fdf: DUP4
00000fe0: ADD
00000fe1: DUP3
00000fe2: DUP3
00000fe3: DUP1
00000fe4: ISZERO
00000fe5: PUSH2 0x0636
00000fe8: JUMPI
00000fe9: DUP1
00000fea: PUSH1 0x1f
00000fec: LT
00000fed: PUSH2 0x060b
00000ff0: JUMPI
00000ff1: PUSH2 0x0100
00000ff4: DUP1
00000ff5: DUP4
00000ff6: SLOAD
00000ff7: DIV
00000ff8: MUL
00000ff9: DUP4
00000ffa: MSTORE
00000ffb: SWAP2
00000ffc: PUSH1 0x20
00000ffe: ADD
00000fff: SWAP2
00001000: PUSH2 0x0636
00001003: JUMP
00001004: JUMPDEST
00001005: PUSH1 0x00
00001007: PUSH2 0x064b
0000100a: CALLER
0000100b: DUP5
0000100c: DUP5
0000100d: PUSH2 0x142b
00001010: JUMP
00001011: JUMPDEST
00001012: PUSH1 0x08
00001014: SLOAD
00001015: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000102a: AND
0000102b: DUP2
0000102c: JUMP
0000102d: JUMPDEST
0000102e: TIMESTAMP
0000102f: DUP5
00001030: LT
00001031: ISZERO
00001032: PUSH2 0x109c
00001035: JUMPI
00001036: PUSH1 0x40
00001038: DUP1
00001039: MLOAD
0000103a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000105b: DUP2
0000105c: MSTORE
0000105d: PUSH1 0x20
0000105f: PUSH1 0x04
00001061: DUP3
00001062: ADD
00001063: MSTORE
00001064: PUSH1 0x0c
00001066: PUSH1 0x24
00001068: DUP3
00001069: ADD
0000106a: MSTORE
0000106b: PUSH32 0x4665773a20455850495245440000000000000000000000000000000000000000
0000108c: PUSH1 0x44
0000108e: DUP3
0000108f: ADD
00001090: MSTORE
00001091: SWAP1
00001092: MLOAD
00001093: SWAP1
00001094: DUP2
00001095: SWAP1
00001096: SUB
00001097: PUSH1 0x64
00001099: ADD
0000109a: SWAP1
0000109b: REVERT
0000109c: JUMPDEST
0000109d: PUSH1 0x06
0000109f: SLOAD
000010a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b5: DUP1
000010b6: DUP10
000010b7: AND
000010b8: PUSH1 0x00
000010ba: DUP2
000010bb: DUP2
000010bc: MSTORE
000010bd: PUSH1 0x07
000010bf: PUSH1 0x20
000010c1: SWAP1
000010c2: DUP2
000010c3: MSTORE
000010c4: PUSH1 0x40
000010c6: DUP1
000010c7: DUP4
000010c8: KECCAK256
000010c9: DUP1
000010ca: SLOAD
000010cb: PUSH1 0x01
000010cd: DUP1
000010ce: DUP3
000010cf: ADD
000010d0: SWAP1
000010d1: SWAP3
000010d2: SSTORE
000010d3: DUP3
000010d4: MLOAD
000010d5: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
000010f6: DUP2
000010f7: DUP7
000010f8: ADD
000010f9: MSTORE
000010fa: DUP1
000010fb: DUP5
000010fc: ADD
000010fd: SWAP7
000010fe: SWAP1
000010ff: SWAP7
00001100: MSTORE
00001101: SWAP6
00001102: DUP14
00001103: AND
00001104: PUSH1 0x60
00001106: DUP7
00001107: ADD
00001108: MSTORE
00001109: PUSH1 0x80
0000110b: DUP6
0000110c: ADD
0000110d: DUP13
0000110e: SWAP1
0000110f: MSTORE
00001110: PUSH1 0xa0
00001112: DUP6
00001113: ADD
00001114: SWAP6
00001115: SWAP1
00001116: SWAP6
00001117: MSTORE
00001118: PUSH1 0xc0
0000111a: DUP1
0000111b: DUP6
0000111c: ADD
0000111d: DUP12
0000111e: SWAP1
0000111f: MSTORE
00001120: DUP2
00001121: MLOAD
00001122: DUP1
00001123: DUP7
00001124: SUB
00001125: SWAP1
00001126: SWAP2
00001127: ADD
00001128: DUP2
00001129: MSTORE
0000112a: PUSH1 0xe0
0000112c: DUP6
0000112d: ADD
0000112e: DUP3
0000112f: MSTORE
00001130: DUP1
00001131: MLOAD
00001132: SWAP1
00001133: DUP4
00001134: ADD
00001135: KECCAK256
00001136: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00001157: PUSH2 0x0100
0000115a: DUP7
0000115b: ADD
0000115c: MSTORE
0000115d: PUSH2 0x0102
00001160: DUP6
00001161: ADD
00001162: SWAP7
00001163: SWAP1
00001164: SWAP7
00001165: MSTORE
00001166: PUSH2 0x0122
00001169: DUP1
0000116a: DUP6
0000116b: ADD
0000116c: SWAP7
0000116d: SWAP1
0000116e: SWAP7
0000116f: MSTORE
00001170: DUP1
00001171: MLOAD
00001172: DUP1
00001173: DUP6
00001174: SUB
00001175: SWAP1
00001176: SWAP7
00001177: ADD
00001178: DUP7
00001179: MSTORE
0000117a: PUSH2 0x0142
0000117d: DUP5
0000117e: ADD
0000117f: DUP1
00001180: DUP3
00001181: MSTORE
00001182: DUP7
00001183: MLOAD
00001184: SWAP7
00001185: DUP4
00001186: ADD
00001187: SWAP7
00001188: SWAP1
00001189: SWAP7
0000118a: KECCAK256
0000118b: SWAP6
0000118c: DUP4
0000118d: SWAP1
0000118e: MSTORE
0000118f: PUSH2 0x0162
00001192: DUP5
00001193: ADD
00001194: DUP1
00001195: DUP3
00001196: MSTORE
00001197: DUP7
00001198: SWAP1
00001199: MSTORE
0000119a: PUSH1 0xff
0000119c: DUP10
0000119d: AND
0000119e: PUSH2 0x0182
000011a1: DUP6
000011a2: ADD
000011a3: MSTORE
000011a4: PUSH2 0x01a2
000011a7: DUP5
000011a8: ADD
000011a9: DUP9
000011aa: SWAP1
000011ab: MSTORE
000011ac: PUSH2 0x01c2
000011af: DUP5
000011b0: ADD
000011b1: DUP8
000011b2: SWAP1
000011b3: MSTORE
000011b4: MLOAD
000011b5: SWAP2
000011b6: SWAP4
000011b7: SWAP3
000011b8: PUSH2 0x01e2
000011bb: DUP1
000011bc: DUP3
000011bd: ADD
000011be: SWAP4
000011bf: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000011e0: DUP2
000011e1: ADD
000011e2: SWAP3
000011e3: DUP2
000011e4: SWAP1
000011e5: SUB
000011e6: SWAP1
000011e7: SWAP2
000011e8: ADD
000011e9: SWAP1
000011ea: DUP6
000011eb: GAS
000011ec: STATICCALL
000011ed: ISZERO
000011ee: DUP1
000011ef: ISZERO
000011f0: PUSH2 0x11fd
000011f3: JUMPI
000011f4: RETURNDATASIZE
000011f5: PUSH1 0x00
000011f7: DUP1
000011f8: RETURNDATACOPY
000011f9: RETURNDATASIZE
000011fa: PUSH1 0x00
000011fc: REVERT
000011fd: JUMPDEST
000011fe: POP
000011ff: POP
00001200: PUSH1 0x40
00001202: MLOAD
00001203: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001224: ADD
00001225: MLOAD
00001226: SWAP2
00001227: POP
00001228: POP
00001229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000123e: DUP2
0000123f: AND
00001240: ISZERO
00001241: DUP1
00001242: ISZERO
00001243: SWAP1
00001244: PUSH2 0x1278
00001247: JUMPI
00001248: POP
00001249: DUP9
0000124a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000125f: AND
00001260: DUP2
00001261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001276: AND
00001277: EQ
00001278: JUMPDEST
00001279: PUSH2 0x12e3
0000127c: JUMPI
0000127d: PUSH1 0x40
0000127f: DUP1
00001280: MLOAD
00001281: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000012a2: DUP2
000012a3: MSTORE
000012a4: PUSH1 0x20
000012a6: PUSH1 0x04
000012a8: DUP3
000012a9: ADD
000012aa: MSTORE
000012ab: PUSH1 0x16
000012ad: PUSH1 0x24
000012af: DUP3
000012b0: ADD
000012b1: MSTORE
000012b2: PUSH32 0x4665773a20494e56414c49445f5349474e415455524500000000000000000000
000012d3: PUSH1 0x44
000012d5: DUP3
000012d6: ADD
000012d7: MSTORE
000012d8: SWAP1
000012d9: MLOAD
000012da: SWAP1
000012db: DUP2
000012dc: SWAP1
000012dd: SUB
000012de: PUSH1 0x64
000012e0: ADD
000012e1: SWAP1
000012e2: REVERT
000012e3: JUMPDEST
000012e4: PUSH2 0x12ee
000012e7: DUP10
000012e8: DUP10
000012e9: DUP10
000012ea: PUSH2 0x134a
000012ed: JUMP
000012ee: JUMPDEST
000012ef: POP
000012f0: POP
000012f1: POP
000012f2: POP
000012f3: POP
000012f4: POP
000012f5: POP
000012f6: POP
000012f7: POP
000012f8: JUMP
000012f9: JUMPDEST
000012fa: PUSH1 0x05
000012fc: PUSH1 0x20
000012fe: SWAP1
000012ff: DUP2
00001300: MSTORE
00001301: PUSH1 0x00
00001303: SWAP3
00001304: DUP4
00001305: MSTORE
00001306: PUSH1 0x40
00001308: DUP1
00001309: DUP5
0000130a: KECCAK256
0000130b: SWAP1
0000130c: SWAP2
0000130d: MSTORE
0000130e: SWAP1
0000130f: DUP3
00001310: MSTORE
00001311: SWAP1
00001312: KECCAK256
00001313: SLOAD
00001314: DUP2
00001315: JUMP
00001316: JUMPDEST
00001317: PUSH1 0x00
00001319: PUSH2 0x064f
0000131c: DUP3
0000131d: CALLER
0000131e: PUSH2 0x0b98
00001321: JUMP
00001322: JUMPDEST
00001323: PUSH1 0x00
00001325: PUSH2 0x064f
00001328: DUP3
00001329: CALLER
0000132a: PUSH2 0x073a
0000132d: JUMP
0000132e: JUMPDEST
0000132f: PUSH1 0x09
00001331: SLOAD
00001332: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001347: AND
00001348: DUP2
00001349: JUMP
0000134a: JUMPDEST
0000134b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001360: DUP1
00001361: DUP5
00001362: AND
00001363: PUSH1 0x00
00001365: DUP2
00001366: DUP2
00001367: MSTORE
00001368: PUSH1 0x05
0000136a: PUSH1 0x20
0000136c: SWAP1
0000136d: DUP2
0000136e: MSTORE
0000136f: PUSH1 0x40
00001371: DUP1
00001372: DUP4
00001373: KECCAK256
00001374: SWAP5
00001375: DUP8
00001376: AND
00001377: DUP1
00001378: DUP5
00001379: MSTORE
0000137a: SWAP5
0000137b: DUP3
0000137c: MSTORE
0000137d: SWAP2
0000137e: DUP3
0000137f: SWAP1
00001380: KECCAK256
00001381: DUP6
00001382: SWAP1
00001383: SSTORE
00001384: DUP2
00001385: MLOAD
00001386: DUP6
00001387: DUP2
00001388: MSTORE
00001389: SWAP2
0000138a: MLOAD
0000138b: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000013ac: SWAP3
000013ad: DUP2
000013ae: SWAP1
000013af: SUB
000013b0: SWAP1
000013b1: SWAP2
000013b2: ADD
000013b3: SWAP1
000013b4: LOG3
000013b5: POP
000013b6: POP
000013b7: POP
000013b8: JUMP
000013b9: JUMPDEST
000013ba: DUP1
000013bb: DUP3
000013bc: SUB
000013bd: DUP3
000013be: DUP2
000013bf: GT
000013c0: ISZERO
000013c1: PUSH2 0x064f
000013c4: JUMPI
000013c5: PUSH1 0x40
000013c7: DUP1
000013c8: MLOAD
000013c9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000013ea: DUP2
000013eb: MSTORE
000013ec: PUSH1 0x20
000013ee: PUSH1 0x04
000013f0: DUP3
000013f1: ADD
000013f2: MSTORE
000013f3: PUSH1 0x15
000013f5: PUSH1 0x24
000013f7: DUP3
000013f8: ADD
000013f9: MSTORE
000013fa: PUSH32 0x64732d6d6174682d7375622d756e646572666c6f770000000000000000000000
0000141b: PUSH1 0x44
0000141d: DUP3
0000141e: ADD
0000141f: MSTORE
00001420: SWAP1
00001421: MLOAD
00001422: SWAP1
00001423: DUP2
00001424: SWAP1
00001425: SUB
00001426: PUSH1 0x64
00001428: ADD
00001429: SWAP1
0000142a: REVERT
0000142b: JUMPDEST
0000142c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001441: DUP4
00001442: AND
00001443: PUSH1 0x00
00001445: SWAP1
00001446: DUP2
00001447: MSTORE
00001448: PUSH1 0x04
0000144a: PUSH1 0x20
0000144c: MSTORE
0000144d: PUSH1 0x40
0000144f: SWAP1
00001450: KECCAK256
00001451: SLOAD
00001452: PUSH2 0x1461
00001455: SWAP1
00001456: DUP3
00001457: PUSH4 0xffffffff
0000145c: PUSH2 0x13b9
0000145f: AND
00001460: JUMP
00001461: JUMPDEST
00001462: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001477: DUP1
00001478: DUP6
00001479: AND
0000147a: PUSH1 0x00
0000147c: SWAP1
0000147d: DUP2
0000147e: MSTORE
0000147f: PUSH1 0x04
00001481: PUSH1 0x20
00001483: MSTORE
00001484: PUSH1 0x40
00001486: DUP1
00001487: DUP3
00001488: KECCAK256
00001489: SWAP4
0000148a: SWAP1
0000148b: SWAP4
0000148c: SSTORE
0000148d: SWAP1
0000148e: DUP5
0000148f: AND
00001490: DUP2
00001491: MSTORE
00001492: KECCAK256
00001493: SLOAD
00001494: PUSH2 0x14a3
00001497: SWAP1
00001498: DUP3
00001499: PUSH4 0xffffffff
0000149e: PUSH2 0x1a18
000014a1: AND
000014a2: JUMP
000014a3: JUMPDEST
000014a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b9: DUP1
000014ba: DUP5
000014bb: AND
000014bc: PUSH1 0x00
000014be: DUP2
000014bf: DUP2
000014c0: MSTORE
000014c1: PUSH1 0x04
000014c3: PUSH1 0x20
000014c5: SWAP1
000014c6: DUP2
000014c7: MSTORE
000014c8: PUSH1 0x40
000014ca: SWAP2
000014cb: DUP3
000014cc: SWAP1
000014cd: KECCAK256
000014ce: SWAP5
000014cf: SWAP1
000014d0: SWAP5
000014d1: SSTORE
000014d2: DUP1
000014d3: MLOAD
000014d4: DUP6
000014d5: DUP2
000014d6: MSTORE
000014d7: SWAP1
000014d8: MLOAD
000014d9: SWAP2
000014da: SWAP4
000014db: SWAP3
000014dc: DUP8
000014dd: AND
000014de: SWAP3
000014df: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001500: SWAP3
00001501: SWAP2
00001502: DUP3
00001503: SWAP1
00001504: SUB
00001505: ADD
00001506: SWAP1
00001507: LOG3
00001508: POP
00001509: POP
0000150a: POP
0000150b: JUMP
0000150c: JUMPDEST
0000150d: PUSH1 0x40
0000150f: DUP1
00001510: MLOAD
00001511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001526: DUP6
00001527: DUP2
00001528: AND
00001529: PUSH1 0x24
0000152b: DUP4
0000152c: ADD
0000152d: MSTORE
0000152e: DUP5
0000152f: DUP2
00001530: AND
00001531: PUSH1 0x44
00001533: DUP4
00001534: ADD
00001535: MSTORE
00001536: PUSH1 0x64
00001538: DUP1
00001539: DUP4
0000153a: ADD
0000153b: DUP6
0000153c: SWAP1
0000153d: MSTORE
0000153e: DUP4
0000153f: MLOAD
00001540: DUP1
00001541: DUP5
00001542: SUB
00001543: SWAP1
00001544: SWAP2
00001545: ADD
00001546: DUP2
00001547: MSTORE
00001548: PUSH1 0x84
0000154a: SWAP1
0000154b: SWAP3
0000154c: ADD
0000154d: DUP4
0000154e: MSTORE
0000154f: PUSH1 0x20
00001551: DUP3
00001552: ADD
00001553: DUP1
00001554: MLOAD
00001555: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001572: AND
00001573: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00001594: OR
00001595: DUP2
00001596: MSTORE
00001597: SWAP3
00001598: MLOAD
00001599: DUP3
0000159a: MLOAD
0000159b: PUSH1 0x00
0000159d: SWAP5
0000159e: PUSH1 0x60
000015a0: SWAP5
000015a1: SWAP4
000015a2: DUP11
000015a3: AND
000015a4: SWAP4
000015a5: SWAP3
000015a6: SWAP2
000015a7: DUP3
000015a8: SWAP2
000015a9: SWAP1
000015aa: DUP1
000015ab: DUP4
000015ac: DUP4
000015ad: JUMPDEST
000015ae: PUSH1 0x20
000015b0: DUP4
000015b1: LT
000015b2: PUSH2 0x15ea
000015b5: JUMPI
000015b6: DUP1
000015b7: MLOAD
000015b8: DUP3
000015b9: MSTORE
000015ba: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000015db: SWAP1
000015dc: SWAP3
000015dd: ADD
000015de: SWAP2
000015df: PUSH1 0x20
000015e1: SWAP2
000015e2: DUP3
000015e3: ADD
000015e4: SWAP2
000015e5: ADD
000015e6: PUSH2 0x15ad
000015e9: JUMP
000015ea: JUMPDEST
000015eb: PUSH1 0x01
000015ed: DUP4
000015ee: PUSH1 0x20
000015f0: SUB
000015f1: PUSH2 0x0100
000015f4: EXP
000015f5: SUB
000015f6: DUP1
000015f7: NOT
000015f8: DUP3
000015f9: MLOAD
000015fa: AND
000015fb: DUP2
000015fc: DUP5
000015fd: MLOAD
000015fe: AND
000015ff: DUP1
00001600: DUP3
00001601: OR
00001602: DUP6
00001603: MSTORE
00001604: POP
00001605: POP
00001606: POP
00001607: POP
00001608: POP
00001609: POP
0000160a: SWAP1
0000160b: POP
0000160c: ADD
0000160d: SWAP2
0000160e: POP
0000160f: POP
00001610: PUSH1 0x00
00001612: PUSH1 0x40
00001614: MLOAD
00001615: DUP1
00001616: DUP4
00001617: SUB
00001618: DUP2
00001619: PUSH1 0x00
0000161b: DUP7
0000161c: GAS
0000161d: CALL
0000161e: SWAP2
0000161f: POP
00001620: POP
00001621: RETURNDATASIZE
00001622: DUP1
00001623: PUSH1 0x00
00001625: DUP2
00001626: EQ
00001627: PUSH2 0x164c
0000162a: JUMPI
0000162b: PUSH1 0x40
0000162d: MLOAD
0000162e: SWAP2
0000162f: POP
00001630: PUSH1 0x1f
00001632: NOT
00001633: PUSH1 0x3f
00001635: RETURNDATASIZE
00001636: ADD
00001637: AND
00001638: DUP3
00001639: ADD
0000163a: PUSH1 0x40
0000163c: MSTORE
0000163d: RETURNDATASIZE
0000163e: DUP3
0000163f: MSTORE
00001640: RETURNDATASIZE
00001641: PUSH1 0x00
00001643: PUSH1 0x20
00001645: DUP5
00001646: ADD
00001647: RETURNDATACOPY
00001648: PUSH2 0x1651
0000164b: JUMP
0000164c: JUMPDEST
0000164d: PUSH1 0x60
0000164f: SWAP2
00001650: POP
00001651: JUMPDEST
00001652: POP
00001653: SWAP2
00001654: POP
00001655: SWAP2
00001656: POP
00001657: DUP2
00001658: DUP1
00001659: ISZERO
0000165a: PUSH2 0x167f
0000165d: JUMPI
0000165e: POP
0000165f: DUP1
00001660: MLOAD
00001661: ISZERO
00001662: DUP1
00001663: PUSH2 0x167f
00001666: JUMPI
00001667: POP
00001668: DUP1
00001669: DUP1
0000166a: PUSH1 0x20
0000166c: ADD
0000166d: SWAP1
0000166e: MLOAD
0000166f: PUSH1 0x20
00001671: DUP2
00001672: LT
00001673: ISZERO
00001674: PUSH2 0x167c
00001677: JUMPI
00001678: PUSH1 0x00
0000167a: DUP1
0000167b: REVERT
0000167c: JUMPDEST
0000167d: POP
0000167e: MLOAD
0000167f: JUMPDEST
00001680: PUSH2 0x16d4
00001683: JUMPI
00001684: PUSH1 0x40
00001686: MLOAD
00001687: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016a8: DUP2
000016a9: MSTORE
000016aa: PUSH1 0x04
000016ac: ADD
000016ad: DUP1
000016ae: DUP1
000016af: PUSH1 0x20
000016b1: ADD
000016b2: DUP3
000016b3: DUP2
000016b4: SUB
000016b5: DUP3
000016b6: MSTORE
000016b7: PUSH1 0x31
000016b9: DUP2
000016ba: MSTORE
000016bb: PUSH1 0x20
000016bd: ADD
000016be: DUP1
000016bf: PUSH2 0x1a8b
000016c2: PUSH1 0x31
000016c4: SWAP2
000016c5: CODECOPY
000016c6: PUSH1 0x40
000016c8: ADD
000016c9: SWAP2
000016ca: POP
000016cb: POP
000016cc: PUSH1 0x40
000016ce: MLOAD
000016cf: DUP1
000016d0: SWAP2
000016d1: SUB
000016d2: SWAP1
000016d3: REVERT
000016d4: JUMPDEST
000016d5: POP
000016d6: POP
000016d7: POP
000016d8: POP
000016d9: POP
000016da: POP
000016db: JUMP
000016dc: JUMPDEST
000016dd: PUSH1 0x03
000016df: SLOAD
000016e0: PUSH2 0x16ef
000016e3: SWAP1
000016e4: DUP3
000016e5: PUSH4 0xffffffff
000016ea: PUSH2 0x1a18
000016ed: AND
000016ee: JUMP
000016ef: JUMPDEST
000016f0: PUSH1 0x03
000016f2: SSTORE
000016f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001708: DUP3
00001709: AND
0000170a: PUSH1 0x00
0000170c: SWAP1
0000170d: DUP2
0000170e: MSTORE
0000170f: PUSH1 0x04
00001711: PUSH1 0x20
00001713: MSTORE
00001714: PUSH1 0x40
00001716: SWAP1
00001717: KECCAK256
00001718: SLOAD
00001719: PUSH2 0x1728
0000171c: SWAP1
0000171d: DUP3
0000171e: PUSH4 0xffffffff
00001723: PUSH2 0x1a18
00001726: AND
00001727: JUMP
00001728: JUMPDEST
00001729: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000173e: DUP4
0000173f: AND
00001740: PUSH1 0x00
00001742: DUP2
00001743: DUP2
00001744: MSTORE
00001745: PUSH1 0x04
00001747: PUSH1 0x20
00001749: SWAP1
0000174a: DUP2
0000174b: MSTORE
0000174c: PUSH1 0x40
0000174e: DUP1
0000174f: DUP4
00001750: KECCAK256
00001751: SWAP5
00001752: SWAP1
00001753: SWAP5
00001754: SSTORE
00001755: DUP4
00001756: MLOAD
00001757: DUP6
00001758: DUP2
00001759: MSTORE
0000175a: SWAP4
0000175b: MLOAD
0000175c: SWAP3
0000175d: SWAP4
0000175e: SWAP2
0000175f: SWAP3
00001760: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001781: SWAP3
00001782: DUP2
00001783: SWAP1
00001784: SUB
00001785: SWAP1
00001786: SWAP2
00001787: ADD
00001788: SWAP1
00001789: LOG3
0000178a: POP
0000178b: POP
0000178c: JUMP
0000178d: JUMPDEST
0000178e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017a3: DUP3
000017a4: AND
000017a5: PUSH1 0x00
000017a7: SWAP1
000017a8: DUP2
000017a9: MSTORE
000017aa: PUSH1 0x04
000017ac: PUSH1 0x20
000017ae: MSTORE
000017af: PUSH1 0x40
000017b1: SWAP1
000017b2: KECCAK256
000017b3: SLOAD
000017b4: PUSH2 0x17c3
000017b7: SWAP1
000017b8: DUP3
000017b9: PUSH4 0xffffffff
000017be: PUSH2 0x13b9
000017c1: AND
000017c2: JUMP
000017c3: JUMPDEST
000017c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017d9: DUP4
000017da: AND
000017db: PUSH1 0x00
000017dd: SWAP1
000017de: DUP2
000017df: MSTORE
000017e0: PUSH1 0x04
000017e2: PUSH1 0x20
000017e4: MSTORE
000017e5: PUSH1 0x40
000017e7: SWAP1
000017e8: KECCAK256
000017e9: SSTORE
000017ea: PUSH1 0x03
000017ec: SLOAD
000017ed: PUSH2 0x17fc
000017f0: SWAP1
000017f1: DUP3
000017f2: PUSH4 0xffffffff
000017f7: PUSH2 0x13b9
000017fa: AND
000017fb: JUMP
000017fc: JUMPDEST
000017fd: PUSH1 0x03
000017ff: SSTORE
00001800: PUSH1 0x40
00001802: DUP1
00001803: MLOAD
00001804: DUP3
00001805: DUP2
00001806: MSTORE
00001807: SWAP1
00001808: MLOAD
00001809: PUSH1 0x00
0000180b: SWAP2
0000180c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001821: DUP6
00001822: AND
00001823: SWAP2
00001824: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001845: SWAP2
00001846: DUP2
00001847: SWAP1
00001848: SUB
00001849: PUSH1 0x20
0000184b: ADD
0000184c: SWAP1
0000184d: LOG3
0000184e: POP
0000184f: POP
00001850: JUMP
00001851: JUMPDEST
00001852: PUSH1 0x40
00001854: DUP1
00001855: MLOAD
00001856: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000186b: DUP5
0000186c: DUP2
0000186d: AND
0000186e: PUSH1 0x24
00001870: DUP4
00001871: ADD
00001872: MSTORE
00001873: PUSH1 0x44
00001875: DUP1
00001876: DUP4
00001877: ADD
00001878: DUP6
00001879: SWAP1
0000187a: MSTORE
0000187b: DUP4
0000187c: MLOAD
0000187d: DUP1
0000187e: DUP5
0000187f: SUB
00001880: SWAP1
00001881: SWAP2
00001882: ADD
00001883: DUP2
00001884: MSTORE
00001885: PUSH1 0x64
00001887: SWAP1
00001888: SWAP3
00001889: ADD
0000188a: DUP4
0000188b: MSTORE
0000188c: PUSH1 0x20
0000188e: DUP3
0000188f: ADD
00001890: DUP1
00001891: MLOAD
00001892: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000018af: AND
000018b0: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000018d1: OR
000018d2: DUP2
000018d3: MSTORE
000018d4: SWAP3
000018d5: MLOAD
000018d6: DUP3
000018d7: MLOAD
000018d8: PUSH1 0x00
000018da: SWAP5
000018db: PUSH1 0x60
000018dd: SWAP5
000018de: SWAP4
000018df: DUP10
000018e0: AND
000018e1: SWAP4
000018e2: SWAP3
000018e3: SWAP2
000018e4: DUP3
000018e5: SWAP2
000018e6: SWAP1
000018e7: DUP1
000018e8: DUP4
000018e9: DUP4
000018ea: JUMPDEST
000018eb: PUSH1 0x20
000018ed: DUP4
000018ee: LT
000018ef: PUSH2 0x1927
000018f2: JUMPI
000018f3: DUP1
000018f4: MLOAD
000018f5: DUP3
000018f6: MSTORE
000018f7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001918: SWAP1
00001919: SWAP3
0000191a: ADD
0000191b: SWAP2
0000191c: PUSH1 0x20
0000191e: SWAP2
0000191f: DUP3
00001920: ADD
00001921: SWAP2
00001922: ADD
00001923: PUSH2 0x18ea
00001926: JUMP
00001927: JUMPDEST
00001928: PUSH1 0x01
0000192a: DUP4
0000192b: PUSH1 0x20
0000192d: SUB
0000192e: PUSH2 0x0100
00001931: EXP
00001932: SUB
00001933: DUP1
00001934: NOT
00001935: DUP3
00001936: MLOAD
00001937: AND
00001938: DUP2
00001939: DUP5
0000193a: MLOAD
0000193b: AND
0000193c: DUP1
0000193d: DUP3
0000193e: OR
0000193f: DUP6
00001940: MSTORE
00001941: POP
00001942: POP
00001943: POP
00001944: POP
00001945: POP
00001946: POP
00001947: SWAP1
00001948: POP
00001949: ADD
0000194a: SWAP2
0000194b: POP
0000194c: POP
0000194d: PUSH1 0x00
0000194f: PUSH1 0x40
00001951: MLOAD
00001952: DUP1
00001953: DUP4
00001954: SUB
00001955: DUP2
00001956: PUSH1 0x00
00001958: DUP7
00001959: GAS
0000195a: CALL
0000195b: SWAP2
0000195c: POP
0000195d: POP
0000195e: RETURNDATASIZE
0000195f: DUP1
00001960: PUSH1 0x00
00001962: DUP2
00001963: EQ
00001964: PUSH2 0x1989
00001967: JUMPI
00001968: PUSH1 0x40
0000196a: MLOAD
0000196b: SWAP2
0000196c: POP
0000196d: PUSH1 0x1f
0000196f: NOT
00001970: PUSH1 0x3f
00001972: RETURNDATASIZE
00001973: ADD
00001974: AND
00001975: DUP3
00001976: ADD
00001977: PUSH1 0x40
00001979: MSTORE
0000197a: RETURNDATASIZE
0000197b: DUP3
0000197c: MSTORE
0000197d: RETURNDATASIZE
0000197e: PUSH1 0x00
00001980: PUSH1 0x20
00001982: DUP5
00001983: ADD
00001984: RETURNDATACOPY
00001985: PUSH2 0x198e
00001988: JUMP
00001989: JUMPDEST
0000198a: PUSH1 0x60
0000198c: SWAP2
0000198d: POP
0000198e: JUMPDEST
0000198f: POP
00001990: SWAP2
00001991: POP
00001992: SWAP2
00001993: POP
00001994: DUP2
00001995: DUP1
00001996: ISZERO
00001997: PUSH2 0x19bc
0000199a: JUMPI
0000199b: POP
0000199c: DUP1
0000199d: MLOAD
0000199e: ISZERO
0000199f: DUP1
000019a0: PUSH2 0x19bc
000019a3: JUMPI
000019a4: POP
000019a5: DUP1
000019a6: DUP1
000019a7: PUSH1 0x20
000019a9: ADD
000019aa: SWAP1
000019ab: MLOAD
000019ac: PUSH1 0x20
000019ae: DUP2
000019af: LT
000019b0: ISZERO
000019b1: PUSH2 0x19b9
000019b4: JUMPI
000019b5: PUSH1 0x00
000019b7: DUP1
000019b8: REVERT
000019b9: JUMPDEST
000019ba: POP
000019bb: MLOAD
000019bc: JUMPDEST
000019bd: PUSH2 0x1a11
000019c0: JUMPI
000019c1: PUSH1 0x40
000019c3: MLOAD
000019c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019e5: DUP2
000019e6: MSTORE
000019e7: PUSH1 0x04
000019e9: ADD
000019ea: DUP1
000019eb: DUP1
000019ec: PUSH1 0x20
000019ee: ADD
000019ef: DUP3
000019f0: DUP2
000019f1: SUB
000019f2: DUP3
000019f3: MSTORE
000019f4: PUSH1 0x2d
000019f6: DUP2
000019f7: MSTORE
000019f8: PUSH1 0x20
000019fa: ADD
000019fb: DUP1
000019fc: PUSH2 0x1adf
000019ff: PUSH1 0x2d
00001a01: SWAP2
00001a02: CODECOPY
00001a03: PUSH1 0x40
00001a05: ADD
00001a06: SWAP2
00001a07: POP
00001a08: POP
00001a09: PUSH1 0x40
00001a0b: MLOAD
00001a0c: DUP1
00001a0d: SWAP2
00001a0e: SUB
00001a0f: SWAP1
00001a10: REVERT
00001a11: JUMPDEST
00001a12: POP
00001a13: POP
00001a14: POP
00001a15: POP
00001a16: POP
00001a17: JUMP
00001a18: JUMPDEST
00001a19: DUP1
00001a1a: DUP3
00001a1b: ADD
00001a1c: DUP3
00001a1d: DUP2
00001a1e: LT
00001a1f: ISZERO
00001a20: PUSH2 0x064f
00001a23: JUMPI
00001a24: PUSH1 0x40
00001a26: DUP1
00001a27: MLOAD
00001a28: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a49: DUP2
00001a4a: MSTORE
00001a4b: PUSH1 0x20
00001a4d: PUSH1 0x04
00001a4f: DUP3
00001a50: ADD
00001a51: MSTORE
00001a52: PUSH1 0x14
00001a54: PUSH1 0x24
00001a56: DUP3
00001a57: ADD
00001a58: MSTORE
00001a59: PUSH32 0x64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000
00001a7a: PUSH1 0x44
00001a7c: DUP3
00001a7d: ADD
00001a7e: MSTORE
00001a7f: SWAP1
00001a80: MLOAD
00001a81: SWAP1
00001a82: DUP2
00001a83: SWAP1
00001a84: SUB
00001a85: PUSH1 0x64
00001a87: ADD
00001a88: SWAP1
00001a89: REVERT
00001a8a: INVALID
00001a8b: SLOAD
00001a8c: PUSH19 0x616e7366657248656c7065723a3a7472616e73
00001aa0: PUSH7 0x657246726f6d3a
00001aa8: KECCAK256
00001aa9: PUSH21 0x72616e7366657246726f6d206661696c6564466577
00001abf: GASPRICE
00001ac0: KECCAK256
00001ac1: PUSH27 0x65726f20616d6f756e7420756e77726170206e6f7420616c6c6f77
00001add: PUSH6 0x645472616e73
00001ae4: PUSH7 0x657248656c7065
00001aec: PUSH19 0x3a3a736166655472616e736665723a20747261
00001b00: PUSH15 0x73666572206661696c6564a2646970
00001b10: PUSH7 0x7358221220a6e8
00001b18: SWAP10
00001b19: SAR
00001b1a: SHR
00001b1b: SWAP12
00001b1c: UNKNOWN(0xB4)
00001b1d: PC
00001b1e: DUP9
00001b1f: PUSH13 0xaf6747ba791abf4d04a0ed9229
00001b2d: ISZERO
00001b2e: NOT
00001b2f: UNKNOWN(0xC0)
00001b30: PUSH28

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xbb4229cc9a19cfbcfe49c9c58edcc7e94f89f275b8b961d40c76297e823e737e
call_targets: 0x0492560fa7cfd6a85e50d8be3f77318994f8f429
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbb4229cc9a19cfbcfe49c9c58edcc7e94f89f275b8b961d40c76297e823e737e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0492560fa7cfd6a85e50d8be3f77318994f8f429"
    ],
    "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": "0xde0e9a3e",
            "selector": "0xde0e9a3e",
            "calldata_variants": [
                "0xde0e9a3e",
                "0xde0e9a3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xea598cb0",
            "selector": "0xea598cb0",
            "calldata_variants": [
                "0xea598cb0",
                "0xea598cb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc45a0155",
            "selector": "0xc45a0155",
            "calldata_variants": [
                "0xc45a0155",
                "0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7ecebe00",
            "selector": "0x7ecebe00",
            "calldata_variants": [
                "0x7ecebe00",
                "0x7ecebe000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5661,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6490,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xbb4229cc9a19cfbcfe49c9c58edcc7e94f89f275b8b961d40c76297e823e737e
call_targets: 0x0492560fa7cfd6a85e50d8be3f77318994f8f429
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbb4229cc9a19cfbcfe49c9c58edcc7e94f89f275b8b961d40c76297e823e737e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0492560fa7cfd6a85e50d8be3f77318994f8f429"
    ],
    "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": "0xde0e9a3e",
            "selector": "0xde0e9a3e",
            "calldata_variants": [
                "0xde0e9a3e",
                "0xde0e9a3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xea598cb0",
            "selector": "0xea598cb0",
            "calldata_variants": [
                "0xea598cb0",
                "0xea598cb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc45a0155",
            "selector": "0xc45a0155",
            "calldata_variants": [
                "0xc45a0155",
                "0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7ecebe00",
            "selector": "0x7ecebe00",
            "calldata_variants": [
                "0x7ecebe00",
                "0x7ecebe000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5661,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6490,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
medium math codex wrapTo mints based on requested amount, not actual tokens received 75 no
view
evidence_json
{
    "evidence": "wrapTo calls `TransferHelper.safeTransferFrom` and then `_mint(to, amount)` without checking the balance delta.",
    "locations": [
        "contracts/contracts/FewWrappedToken.sol:165",
        "contracts/contracts/FewWrappedToken.sol:167",
        "contracts/contracts/FewWrappedToken.sol:168"
    ],
    "recommendation": "Compute the actual received amount using balanceBefore/balanceAfter and mint only that value, or explicitly reject fee-on-transfer/rebasing tokens in factory creation and documentation.",
    "exploit_scenario": "If the underlying token is fee-on-transfer or rebasing, the contract may receive fewer tokens than `amount` but still mints `amount` wrapped tokens. This can make the wrapper undercollateralized; early redeemers can drain backing, leaving later holders unable to unwrap (unwrap reverts due to insufficient balance)."
}
low access_control codex Pause mechanism does not apply to wrap/unwrap 65 no
view
evidence_json
{
    "evidence": "`whenNotPaused` modifier exists but is only used on mint/burnFrom; wrap/unwrap omit it.",
    "locations": [
        "contracts/contracts/FewWrappedToken.sol:39",
        "contracts/contracts/FewWrappedToken.sol:165",
        "contracts/contracts/FewWrappedToken.sol:180"
    ],
    "recommendation": "Apply `whenNotPaused` to `wrapTo`/`unwrapTo` (and the public `wrap`/`unwrap` wrappers), or clearly document that pause is intended to affect only minter/burner roles.",
    "exploit_scenario": "If the factory pauses during an incident, users can still call `wrapTo`/`unwrapTo` because these functions do not use `whenNotPaused`. This bypasses emergency controls and may allow continued minting or unwrapping when the system intended to halt activity."
}
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": 6
}