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

Analysis Run

733c4190-827e-4a56-b036-325c9efec89e

complete
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 7:00 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
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
30356 report.consolidate complete 1 / 1 3 months ago
74320 artifact.fetch complete 1 / 3 1 week ago
74321 tool.cast_disasm complete 1 / 3 1 week ago
74322 analysis.bundle complete 1 / 3 1 week ago
74323 capability.graph complete 1 / 3 1 week ago
74324 detector.run complete 1 / 3 1 week ago
74325 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
Identified 2 low-severity issues: unchecked LP token mint/burn return values and accounting assumptions that break with fee-on-transfer or rebasing tokens.
View stderr
[codex:690348] OpenAI Codex v0.77.0 (research preview)
[codex:690348] --------
[codex:690348] workdir: /tmp/codex-multi-q_i_c2h8
[codex:690348] model: gpt-5.2-codex
[codex:690348] provider: openai
[codex:690348] approval: never
[codex:690348] sandbox: read-only
[codex:690348] reasoning effort: xhigh
[codex:690348] reasoning summaries: auto
[codex:690348] session id: 019b6651-661e-7991-91e0-732a59141097
[codex:690348] --------
[codex:690348] user
[codex:690348] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:690348] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:690348] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:690348] 
[codex:690348] Scope rules:
[codex:690348] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:690348] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:690348] 
[codex:690348] Output MUST be valid JSON matching the provided schema.
[codex:690348] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:690348] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:690348] 
[codex:690348] Output constraints (IMPORTANT):
[codex:690348] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:690348] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:690348] mcp startup: no servers
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Checking skills relevance and audit bundle**
[codex:690348] exec
[codex:690348] /bin/bash -lc ls in /tmp/codex-multi-q_i_c2h8 succeeded in 5ms:
[codex:690348] AUDIT_BUNDLE.txt
[codex:690348] codex-output-schema.json
[codex:690348] contracts
[codex:690348] exec
[codex:690348] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-q_i_c2h8 succeeded in 8ms:
[codex:690348] 894 AUDIT_BUNDLE.txt
[codex:690348] exec
[codex:690348] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-q_i_c2h8 succeeded in 5ms:
[codex:690348] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:690348] 
[codex:690348] ================================================================================
[codex:690348] FILE: contracts/Contract.sol
[codex:690348] ================================================================================
[codex:690348] # @version 0.3.1
[codex:690348] """
[codex:690348] @title StableSwap
[codex:690348] @author Curve.Fi
[codex:690348] @license Copyright (c) Curve.Fi, 2020 - all rights reserved
[codex:690348] """
[codex:690348] from vyper.interfaces import ERC20
[codex:690348] 
[codex:690348] 
[codex:690348] interface CurveToken:
[codex:690348]     def totalSupply() -> uint256: view
[codex:690348]     def mint(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348]     def burnFrom(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348] 
[codex:690348] 
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Reviewing large file with sections**
[codex:690348] exec
[codex:690348] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-q_i_c2h8 succeeded in 5ms:
[codex:690348]     result: uint256[N_COINS] = RATES
[codex:690348]     for i in range(N_COINS):
[codex:690348]         result[i] = result[i] * _balances[i] / PRECISION
[codex:690348]     return result
[codex:690348] 
[codex:690348] 
[codex:690348] @pure
[codex:690348] @internal
[codex:690348] def _get_D(_xp: uint256[N_COINS], _amp: uint256) -> uint256:
[codex:690348]     """
[codex:690348]     D invariant calculation in non-overflowing integer operations
[codex:690348]     iteratively
[codex:690348] 
[codex:690348]     A * sum(x_i) * n**n + D = A * D * n**n + D**(n+1) / (n**n * prod(x_i))
[codex:690348] 
[codex:690348]     Converging solution:
[codex:690348]     D[j+1] = (A * n**n * sum(x_i) - D[j]**(n+1) / (n**n prod(x_i))) / (A * n**n - 1)
[codex:690348]     """
[codex:690348]     S: uint256 = 0
[codex:690348]     Dprev: uint256 = 0
[codex:690348] exec
[codex:690348] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-q_i_c2h8 succeeded in 5ms:
[codex:690348] 
[codex:690348]     A: uint256 = self._A()
[codex:690348]     D: uint256 = self._get_D(_xp, A)
[codex:690348]     Ann: uint256 = A * N_COINS
[codex:690348]     c: uint256 = D
[codex:690348]     S: uint256 = 0
[codex:690348]     _x: uint256 = 0
[codex:690348]     y_prev: uint256 = 0
[codex:690348] 
[codex:690348]     for _i in range(N_COINS):
[codex:690348]         if _i == i:
[codex:690348]             _x = x
[codex:690348]         elif _i != j:
[codex:690348]             _x = _xp[_i]
[codex:690348]         else:
[codex:690348]             continue
[codex:690348]         S += _x
[codex:690348]         c = c * D / (_x * N_COINS)
[codex:690348]     c = c * D * A_PRECISION / (Ann * N_COINS)
[codex:690348]     b: uint256 = S + D * A_PRECISION / Ann  # - D
[codex:690348] exec
[codex:690348] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-q_i_c2h8 succeeded in 7ms:
[codex:690348] 
[codex:690348]     self.admin_actions_deadline = 0
[codex:690348]     fee: uint256 = self.future_fee
[codex:690348]     admin_fee: uint256 = self.future_admin_fee
[codex:690348]     self.fee = fee
[codex:690348]     self.admin_fee = admin_fee
[codex:690348] 
[codex:690348]     log NewFee(fee, admin_fee)
[codex:690348] 
[codex:690348] 
[codex:690348] @external
[codex:690348] def revert_new_parameters():
[codex:690348]     assert msg.sender == self.owner  # dev: only owner
[codex:690348] 
[codex:690348]     self.admin_actions_deadline = 0
[codex:690348] 
[codex:690348] 
[codex:690348] @external
[codex:690348] def commit_transfer_ownership(_owner: address):
[codex:690348]     assert msg.sender == self.owner  # dev: only owner
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Checking file completeness**
[codex:690348] exec
[codex:690348] /bin/bash -lc 'tail -n 20 AUDIT_BUNDLE.txt' in /tmp/codex-multi-q_i_c2h8 succeeded in 5ms:
[codex:690348] 
[codex:690348] @external
[codex:690348] def donate_admin_fees():
[codex:690348]     assert msg.sender == self.owner  # dev: only owner
[codex:690348]     for i in range(N_COINS):
[codex:690348]         self.balances[i] = ERC20(self.coins[i]).balanceOf(self)
[codex:690348] 
[codex:690348] 
[codex:690348] @external
[codex:690348] def kill_me():
[codex:690348]     assert msg.sender == self.owner  # dev: only owner
[codex:690348]     assert self.kill_deadline > block.timestamp  # dev: deadline has passed
[codex:690348]     self.is_killed = True
[codex:690348] 
[codex:690348] 
[codex:690348] @external
[codex:690348] def unkill_me():
[codex:690348]     assert msg.sender == self.owner  # dev: only owner
[codex:690348]     self.is_killed = False
[codex:690348] 
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Preparing for Vyper contract audit**
[codex:690348] exec
[codex:690348] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '1,200p'" in /tmp/codex-multi-q_i_c2h8 succeeded in 7ms:
[codex:690348]      1	This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:690348]      2	
[codex:690348]      3	================================================================================
[codex:690348]      4	FILE: contracts/Contract.sol
[codex:690348]      5	================================================================================
[codex:690348]      6	# @version 0.3.1
[codex:690348]      7	"""
[codex:690348]      8	@title StableSwap
[codex:690348]      9	@author Curve.Fi
[codex:690348]     10	@license Copyright (c) Curve.Fi, 2020 - all rights reserved
[codex:690348]     11	"""
[codex:690348]     12	from vyper.interfaces import ERC20
[codex:690348]     13	
[codex:690348]     14	
[codex:690348]     15	interface CurveToken:
[codex:690348]     16	    def totalSupply() -> uint256: view
[codex:690348]     17	    def mint(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348]     18	    def burnFrom(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348]     19	
[codex:690348]     20	
[codex:690348] 
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Auditing potential reentrancy and token handling issues**
[codex:690348] 
[codex:690348] I'm carefully examining possible reentrancy risks, especially in owner-only admin functions lacking locks, and how external token calls might interact with pool state. I’m also considering unchecked return values from token mint/burn calls and implications of deflationary or fee-on-transfer tokens on pool accounting and invariants. There’s a lot to unpack about state updates before external calls and admin fee accounting that could impact security subtly. Let's explore this together!
[codex:690348] thinking
[codex:690348] **Evaluating unchecked token call returns and contract assumptions**
[codex:690348] 
[codex:690348] I'm reviewing unchecked returns from LP token minting and burning, highlighting how ignoring these can lead to silent failures allowing withdrawals without burning tokens. I'm also considering assumptions about token behavior—like fee-on-transfer or rebasing tokens—that could disrupt pool accounting or enable arbitrage, and checking access control and state-check logic consistency. Let's dig into the specifics here!
[codex:690348] exec
[codex:690348] /bin/bash -lc 'ls contracts' in /tmp/codex-multi-q_i_c2h8 succeeded in 7ms:
[codex:690348] Contract.sol
[codex:690348] exec
[codex:690348] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1,200p'" in /tmp/codex-multi-q_i_c2h8 succeeded in 6ms:
[codex:690348]      1	# @version 0.3.1
[codex:690348]      2	"""
[codex:690348]      3	@title StableSwap
[codex:690348]      4	@author Curve.Fi
[codex:690348]      5	@license Copyright (c) Curve.Fi, 2020 - all rights reserved
[codex:690348]      6	"""
[codex:690348]      7	from vyper.interfaces import ERC20
[codex:690348]      8	
[codex:690348]      9	
[codex:690348]     10	interface CurveToken:
[codex:690348]     11	    def totalSupply() -> uint256: view
[codex:690348]     12	    def mint(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348]     13	    def burnFrom(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348]     14	
[codex:690348]     15	
[codex:690348]     16	# Events
[codex:690348]     17	event TokenExchange:
[codex:690348]     18	    buyer: indexed(address)
[codex:690348]     19	    sold_id: int128
[codex:690348]     20	    tokens_sold: uint256
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Searching for mint and burn lines**
[codex:690348] exec
[codex:690348] /bin/bash -lc "rg -n \"mint\\(|burnFrom\" contracts/Contract.sol" in /tmp/codex-multi-q_i_c2h8 succeeded in 7ms:
[codex:690348] 12:    def mint(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348] 13:    def burnFrom(_to: address, _value: uint256) -> bool: nonpayable
[codex:690348] 367:    CurveToken(lp_token).mint(msg.sender, mint_amount)
[codex:690348] 540:    CurveToken(lp_token).burnFrom(msg.sender, _amount)  # dev: insufficient funds
[codex:690348] 589:    CurveToken(lp_token).burnFrom(msg.sender, token_amount)  # dev: insufficient funds
[codex:690348] 718:    CurveToken(self.lp_token).burnFrom(msg.sender, _token_amount)  # dev: insufficient funds
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Analyzing potential vulnerabilities and unchecked return values**
[codex:690348] exec
[codex:690348] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '320,420p'" in /tmp/codex-multi-q_i_c2h8 succeeded in 6ms:
[codex:690348]    320	
[codex:690348]    321	    # We need to recalculate the invariant accounting for fees
[codex:690348]    322	    # to calculate fair user's share
[codex:690348]    323	    D2: uint256 = D1
[codex:690348]    324	    fees: uint256[N_COINS] = empty(uint256[N_COINS])
[codex:690348]    325	    mint_amount: uint256 = 0
[codex:690348]    326	    if token_supply > 0:
[codex:690348]    327	        # Only account for fees if we are not the first to deposit
[codex:690348]    328	        fee: uint256 = self.fee * N_COINS / (4 * (N_COINS - 1))
[codex:690348]    329	        admin_fee: uint256 = self.admin_fee
[codex:690348]    330	        for i in range(N_COINS):
[codex:690348]    331	            ideal_balance: uint256 = D1 * old_balances[i] / D0
[codex:690348]    332	            difference: uint256 = 0
[codex:690348]    333	            new_balance: uint256 = new_balances[i]
[codex:690348]    334	            if ideal_balance > new_balance:
[codex:690348]    335	                difference = ideal_balance - new_balance
[codex:690348]    336	            else:
[codex:690348]    337	                difference = new_balance - ideal_balance
[codex:690348]    338	            fees[i] = fee * difference / FEE_DENOMINATOR
[codex:690348]    339	            self.balances[i] = new_balance - (fees[i] * admin_fee / FEE_DENOMINATOR)
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Inspecting liquidity addition code**
[codex:690348] exec
[codex:690348] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '440,540p'" in /tmp/codex-multi-q_i_c2h8 succeeded in 6ms:
[codex:690348]    440	
[codex:690348]    441	
[codex:690348]    442	@external
[codex:690348]    443	@nonreentrant('lock')
[codex:690348]    444	def exchange(i: int128, j: int128, _dx: uint256, _min_dy: uint256) -> uint256:
[codex:690348]    445	    """
[codex:690348]    446	    @notice Perform an exchange between two coins
[codex:690348]    447	    @dev Index values can be found via the `coins` public getter method
[codex:690348]    448	    @param i Index value for the coin to send
[codex:690348]    449	    @param j Index valie of the coin to recieve
[codex:690348]    450	    @param _dx Amount of `i` being exchanged
[codex:690348]    451	    @param _min_dy Minimum amount of `j` to receive
[codex:690348]    452	    @return Actual amount of `j` received
[codex:690348]    453	    """
[codex:690348]    454	    assert not self.is_killed  # dev: is killed
[codex:690348]    455	
[codex:690348]    456	    old_balances: uint256[N_COINS] = self.balances
[codex:690348]    457	    xp: uint256[N_COINS] = self._xp_mem(old_balances)
[codex:690348]    458	
[codex:690348]    459	    rates: uint256[N_COINS] = RATES
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Evaluating accounting and token behavior risks**
[codex:690348] exec
[codex:690348] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '560,760p'" in /tmp/codex-multi-q_i_c2h8 succeeded in 6ms:
[codex:690348]    560	    D0: uint256 = self._get_D_mem(old_balances, amp)
[codex:690348]    561	    new_balances: uint256[N_COINS] = old_balances
[codex:690348]    562	    for i in range(N_COINS):
[codex:690348]    563	        new_balances[i] -= _amounts[i]
[codex:690348]    564	    D1: uint256 = self._get_D_mem(new_balances, amp)
[codex:690348]    565	
[codex:690348]    566	    fee: uint256 = self.fee * N_COINS / (4 * (N_COINS - 1))
[codex:690348]    567	    admin_fee: uint256 = self.admin_fee
[codex:690348]    568	    fees: uint256[N_COINS] = empty(uint256[N_COINS])
[codex:690348]    569	    for i in range(N_COINS):
[codex:690348]    570	        new_balance: uint256 = new_balances[i]
[codex:690348]    571	        ideal_balance: uint256 = D1 * old_balances[i] / D0
[codex:690348]    572	        difference: uint256 = 0
[codex:690348]    573	        if ideal_balance > new_balance:
[codex:690348]    574	            difference = ideal_balance - new_balance
[codex:690348]    575	        else:
[codex:690348]    576	            difference = new_balance - ideal_balance
[codex:690348]    577	        fees[i] = fee * difference / FEE_DENOMINATOR
[codex:690348]    578	        self.balances[i] = new_balance - (fees[i] * admin_fee / FEE_DENOMINATOR)
[codex:690348]    579	        new_balances[i] = new_balance - fees[i]
[codex:690348] 
[codex:690348] thinking
[codex:690348] **Preparing detailed vulnerability report**
[codex:690348] 
[codex:690348] I'm putting together a JSON report describing two low-severity issues: unchecked return values from LP token mint/burn calls that could let attackers exploit silent failures, and assumptions in internal pool accounting that break with fee-on-transfer or rebasing tokens. I’m carefully outlining exploit scenarios, recommendations, evidence, and precise code locations to make this clear and actionable.
[codex:690348] codex
[codex:690348] {"no_findings":false,"summary":"Identified 2 low-severity issues: unchecked LP token mint/burn return values and accounting assumptions that break with fee-on-transfer or rebasing tokens.","findings":[{"severity":"low","category":"other","title":"Unchecked LP token mint/burn return values can allow silent failures","exploit_scenario":"If the LP token’s `burnFrom` returns false instead of reverting (e.g., insufficient allowance/balance), the pool still transfers underlying coins to the caller, allowing withdrawals without burning LP tokens and enabling repeated draining. Similarly, if `mint` returns false, deposits are accepted without LP tokens minted, locking user funds.","recommendation":"Require the LP token to revert on failure or explicitly check the returned boolean from `mint`/`burnFrom` and revert on false. Consider using a safe wrapper or `raw_call` with explicit return-value validation.","evidence":"`CurveToken.mint` and `CurveToken.burnFrom` are called without checking their boolean return values, so a non-reverting false return will not halt execution while assets are already transferred.","locations":["contracts/Contract.sol:367","contracts/Contract.sol:540","contracts/Contract.sol:589","contracts/Contract.sol:718"]},{"severity":"low","category":"math","title":"Internal balances assume full transfer amounts, breaking invariants for fee-on-transfer/rebasing tokens","exploit_scenario":"If any pool coin charges transfer fees or rebases, `add_liquidity` and `exchange` credit `self.balances` using the requested amounts (`_amounts`/`_dx`) instead of the actual received amount. An attacker can exploit this by depositing or swapping fee-on-transfer tokens to receive more LP tokens or output coins than paid, potentially draining pool liquidity or causing insolvency.","recommendation":"Either restrict `coins` to standard ERC20s without transfer fees/rebases (enforced off-chain or via allowlist) or measure actual token deltas before/after transfers and use those values for accounting.","evidence":"Balances are updated based on `_amounts`/`_dx` before verifying actual received amounts, so accounting assumes full transfers.","locations":["contracts/Contract.sol:339","contracts/Contract.sol:348","contracts/Contract.sol:474"]}]}
[codex:690348] tokens used
[codex:690348] 34,880
[codex:690348] {"no_findings":false,"summary":"Identified 2 low-severity issues: unchecked LP token mint/burn return values and accounting assumptions that break with fee-on-transfer or rebasing tokens.","findings":[{"severity":"low","category":"other","title":"Unchecked LP token mint/burn return values can allow silent failures","exploit_scenario":"If the LP token’s `burnFrom` returns false instead of reverting (e.g., insufficient allowance/balance), the pool still transfers underlying coins to the caller, allowing withdrawals without burning LP tokens and enabling repeated draining. Similarly, if `mint` returns false, deposits are accepted without LP tokens minted, locking user funds.","recommendation":"Require the LP token to revert on failure or explicitly check the returned boolean from `mint`/`burnFrom` and revert on false. Consider using a safe wrapper or `raw_call` with explicit return-value validation.","evidence":"`CurveToken.mint` and `CurveToken.burnFrom` are called without checking their boolean return values, so a non-reverting false return will not halt execution while assets are already transferred.","locations":["contracts/Contract.sol:367","contracts/Contract.sol:540","contracts/Contract.sol:589","contracts/Contract.sol:718"]},{"severity":"low","category":"math","title":"Internal balances assume full transfer amounts, breaking invariants for fee-on-transfer/rebasing tokens","exploit_scenario":"If any pool coin charges transfer fees or rebases, `add_liquidity` and `exchange` credit `self.balances` using the requested amounts (`_amounts`/`_dx`) instead of the actual received amount. An attacker can exploit this by depositing or swapping fee-on-transfer tokens to receive more LP tokens or output coins than paid, potentially draining pool liquidity or causing insolvency.","recommendation":"Either restrict `coins` to standard ERC20s without transfer fees/rebases (enforced off-chain or via allowlist) or measure actual token deltas before/after transfers and use those values for accounting.","evidence":"Balances are updated based on `_amounts`/`_dx` before verifying actual received amounts, so accounting assumes full transfers.","locations":["contracts/Contract.sol:339","contracts/Contract.sol:348","contracts/Contract.sol:474"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T19:00:21.837010+00:00",
        "returncode": 0
    },
    "summary": "Identified 2 low-severity issues: unchecked LP token mint/burn return values and accounting assumptions that break with fee-on-transfer or rebasing tokens.",
    "raw_final": {
        "summary": "Identified 2 low-severity issues: unchecked LP token mint/burn return values and accounting assumptions that break with fee-on-transfer or rebasing tokens.",
        "findings": [
            {
                "title": "Unchecked LP token mint/burn return values can allow silent failures",
                "category": "other",
                "evidence": "`CurveToken.mint` and `CurveToken.burnFrom` are called without checking their boolean return values, so a non-reverting false return will not halt execution while assets are already transferred.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:367",
                    "contracts/Contract.sol:540",
                    "contracts/Contract.sol:589",
                    "contracts/Contract.sol:718"
                ],
                "recommendation": "Require the LP token to revert on failure or explicitly check the returned boolean from `mint`/`burnFrom` and revert on false. Consider using a safe wrapper or `raw_call` with explicit return-value validation.",
                "exploit_scenario": "If the LP token\u2019s `burnFrom` returns false instead of reverting (e.g., insufficient allowance/balance), the pool still transfers underlying coins to the caller, allowing withdrawals without burning LP tokens and enabling repeated draining. Similarly, if `mint` returns false, deposits are accepted without LP tokens minted, locking user funds."
            },
            {
                "title": "Internal balances assume full transfer amounts, breaking invariants for fee-on-transfer/rebasing tokens",
                "category": "math",
                "evidence": "Balances are updated based on `_amounts`/`_dx` before verifying actual received amounts, so accounting assumes full transfers.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:339",
                    "contracts/Contract.sol:348",
                    "contracts/Contract.sol:474"
                ],
                "recommendation": "Either restrict `coins` to standard ERC20s without transfer fees/rebases (enforced off-chain or via allowlist) or measure actual token deltas before/after transfers and use those values for accounting.",
                "exploit_scenario": "If any pool coin charges transfer fees or rebases, `add_liquidity` and `exchange` credit `self.balances` using the requested amounts (`_amounts`/`_dx`) instead of the actual received amount. An attacker can exploit this by depositing or swapping fee-on-transfer tokens to receive more LP tokens or output coins than paid, potentially draining pool liquidity or causing insolvency."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
34
EXT*/BALANCE
0
Total opcodes
8441
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x04
00000002: CALLDATASIZE
00000003: LT
00000004: ISZERO
00000005: PUSH2 0x000d
00000008: JUMPI
00000009: PUSH2 0x2698
0000000c: JUMP
0000000d: JUMPDEST
0000000e: PUSH1 0x04
00000010: PUSH1 0x00
00000012: PUSH1 0x1c
00000014: CALLDATACOPY
00000015: PUSH1 0x00
00000017: MLOAD
00000018: CALLVALUE
00000019: PUSH2 0x3588
0000001c: JUMPI
0000001d: PUSH4 0xf446c1d0
00000022: DUP2
00000023: XOR
00000024: PUSH2 0x004a
00000027: JUMPI
00000028: PUSH2 0x0032
0000002b: PUSH2 0x0160
0000002e: PUSH2 0x269e
00000031: JUMP
00000032: JUMPDEST
00000033: PUSH2 0x0160
00000036: MLOAD
00000037: PUSH1 0x64
00000039: DUP1
0000003a: DUP3
0000003b: DIV
0000003c: SWAP1
0000003d: POP
0000003e: SWAP1
0000003f: POP
00000040: PUSH2 0x0180
00000043: MSTORE
00000044: PUSH1 0x20
00000046: PUSH2 0x0180
00000049: RETURN
0000004a: JUMPDEST
0000004b: PUSH4 0x76a2f0f0
00000050: DUP2
00000051: XOR
00000052: PUSH2 0x006f
00000055: JUMPI
00000056: PUSH2 0x0060
00000059: PUSH2 0x0160
0000005c: PUSH2 0x269e
0000005f: JUMP
00000060: JUMPDEST
00000061: PUSH2 0x0160
00000064: MLOAD
00000065: PUSH2 0x0180
00000068: MSTORE
00000069: PUSH1 0x20
0000006b: PUSH2 0x0180
0000006e: RETURN
0000006f: JUMPDEST
00000070: PUSH4 0xbb7b8b80
00000075: DUP2
00000076: XOR
00000077: PUSH2 0x014a
0000007a: JUMPI
0000007b: PUSH2 0x0085
0000007e: PUSH2 0x0260
00000081: PUSH2 0x27d9
00000084: JUMP
00000085: JUMPDEST
00000086: PUSH2 0x0260
00000089: DUP1
0000008a: MLOAD
0000008b: PUSH2 0x02e0
0000008e: MSTORE
0000008f: DUP1
00000090: PUSH1 0x20
00000092: ADD
00000093: MLOAD
00000094: PUSH2 0x0300
00000097: MSTORE
00000098: POP
00000099: PUSH2 0x00a3
0000009c: PUSH2 0x02a0
0000009f: PUSH2 0x269e
000000a2: JUMP
000000a3: JUMPDEST
000000a4: PUSH2 0x02a0
000000a7: MLOAD
000000a8: PUSH2 0x0320
000000ab: MSTORE
000000ac: PUSH2 0x02e0
000000af: MLOAD
000000b0: PUSH1 0xe0
000000b2: MSTORE
000000b3: PUSH2 0x0300
000000b6: MLOAD
000000b7: PUSH2 0x0100
000000ba: MSTORE
000000bb: PUSH2 0x0320
000000be: MLOAD
000000bf: PUSH2 0x0120
000000c2: MSTORE
000000c3: PUSH2 0x00cd
000000c6: PUSH2 0x02c0
000000c9: PUSH2 0x2935
000000cc: JUMP
000000cd: JUMPDEST
000000ce: PUSH2 0x02c0
000000d1: MLOAD
000000d2: PUSH2 0x0240
000000d5: MSTORE
000000d6: PUSH4 0x18160ddd
000000db: PUSH2 0x0280
000000de: MSTORE
000000df: PUSH1 0x20
000000e1: PUSH2 0x0280
000000e4: PUSH1 0x04
000000e6: PUSH2 0x029c
000000e9: PUSH1 0x08
000000eb: SLOAD
000000ec: GAS
000000ed: STATICCALL
000000ee: PUSH2 0x00fc
000000f1: JUMPI
000000f2: RETURNDATASIZE
000000f3: PUSH1 0x00
000000f5: PUSH1 0x00
000000f7: RETURNDATACOPY
000000f8: RETURNDATASIZE
000000f9: PUSH1 0x00
000000fb: REVERT
000000fc: JUMPDEST
000000fd: PUSH1 0x1f
000000ff: RETURNDATASIZE
00000100: GT
00000101: ISZERO
00000102: PUSH2 0x3588
00000105: JUMPI
00000106: PUSH2 0x0280
00000109: MLOAD
0000010a: PUSH2 0x0260
0000010d: MSTORE
0000010e: PUSH2 0x0240
00000111: MLOAD
00000112: PUSH8 0x0de0b6b3a7640000
0000011b: DUP1
0000011c: DUP3
0000011d: MUL
0000011e: DUP3
0000011f: ISZERO
00000120: DUP3
00000121: DUP5
00000122: DUP4
00000123: DIV
00000124: EQ
00000125: OR
00000126: ISZERO
00000127: PUSH2 0x3588
0000012a: JUMPI
0000012b: SWAP1
0000012c: POP
0000012d: SWAP1
0000012e: POP
0000012f: PUSH2 0x0260
00000132: MLOAD
00000133: DUP1
00000134: DUP1
00000135: ISZERO
00000136: PUSH2 0x3588
00000139: JUMPI
0000013a: DUP3
0000013b: DIV
0000013c: SWAP1
0000013d: POP
0000013e: SWAP1
0000013f: POP
00000140: PUSH2 0x0280
00000143: MSTORE
00000144: PUSH1 0x20
00000146: PUSH2 0x0280
00000149: RETURN
0000014a: JUMPDEST
0000014b: PUSH4 0xed8e84f3
00000150: DUP2
00000151: XOR
00000152: PUSH2 0x0324
00000155: JUMPI
00000156: PUSH1 0x44
00000158: CALLDATALOAD
00000159: DUP1
0000015a: PUSH1 0x01
0000015c: SHR
0000015d: PUSH2 0x3588
00000160: JUMPI
00000161: PUSH2 0x0360
00000164: MSTORE
00000165: PUSH2 0x016f
00000168: PUSH2 0x03a0
0000016b: PUSH2 0x269e
0000016e: JUMP
0000016f: JUMPDEST
00000170: PUSH2 0x03a0
00000173: MLOAD
00000174: PUSH2 0x0380
00000177: MSTORE
00000178: PUSH1 0x03
0000017a: SLOAD
0000017b: PUSH2 0x03a0
0000017e: MSTORE
0000017f: PUSH1 0x04
00000181: SLOAD
00000182: PUSH2 0x03c0
00000185: MSTORE
00000186: PUSH2 0x03a0
00000189: MLOAD
0000018a: PUSH2 0x0240
0000018d: MSTORE
0000018e: PUSH2 0x03c0
00000191: MLOAD
00000192: PUSH2 0x0260
00000195: MSTORE
00000196: PUSH2 0x0380
00000199: MLOAD
0000019a: PUSH2 0x0280
0000019d: MSTORE
0000019e: PUSH2 0x01a8
000001a1: PUSH2 0x0400
000001a4: PUSH2 0x2ba2
000001a7: JUMP
000001a8: JUMPDEST
000001a9: PUSH2 0x0400
000001ac: MLOAD
000001ad: PUSH2 0x03e0
000001b0: MSTORE
000001b1: PUSH2 0x0400
000001b4: PUSH1 0x00
000001b6: PUSH1 0x02
000001b8: DUP2
000001b9: DUP4
000001ba: MSTORE
000001bb: ADD
000001bc: JUMPDEST
000001bd: PUSH2 0x0360
000001c0: MLOAD
000001c1: PUSH2 0x01fb
000001c4: JUMPI
000001c5: PUSH2 0x03a0
000001c8: PUSH2 0x0400
000001cb: MLOAD
000001cc: PUSH1 0x02
000001ce: DUP2
000001cf: LT
000001d0: ISZERO
000001d1: PUSH2 0x3588
000001d4: JUMPI
000001d5: PUSH1 0x20
000001d7: MUL
000001d8: ADD
000001d9: DUP1
000001da: MLOAD
000001db: PUSH1 0x20
000001dd: PUSH2 0x0400
000001e0: MLOAD
000001e1: MUL
000001e2: PUSH1 0x04
000001e4: ADD
000001e5: CALLDATALOAD
000001e6: DUP1
000001e7: DUP3
000001e8: LT
000001e9: PUSH2 0x3588
000001ec: JUMPI
000001ed: DUP1
000001ee: DUP3
000001ef: SUB
000001f0: SWAP1
000001f1: POP
000001f2: SWAP1
000001f3: POP
000001f4: DUP2
000001f5: MSTORE
000001f6: POP
000001f7: PUSH2 0x0230
000001fa: JUMP
000001fb: JUMPDEST
000001fc: PUSH2 0x03a0
000001ff: PUSH2 0x0400
00000202: MLOAD
00000203: PUSH1 0x02
00000205: DUP2
00000206: LT
00000207: ISZERO
00000208: PUSH2 0x3588
0000020b: JUMPI
0000020c: PUSH1 0x20
0000020e: MUL
0000020f: ADD
00000210: DUP1
00000211: MLOAD
00000212: PUSH1 0x20
00000214: PUSH2 0x0400
00000217: MLOAD
00000218: MUL
00000219: PUSH1 0x04
0000021b: ADD
0000021c: CALLDATALOAD
0000021d: DUP2
0000021e: DUP2
0000021f: DUP4
00000220: ADD
00000221: LT
00000222: PUSH2 0x3588
00000225: JUMPI
00000226: DUP1
00000227: DUP3
00000228: ADD
00000229: SWAP1
0000022a: POP
0000022b: SWAP1
0000022c: POP
0000022d: DUP2
0000022e: MSTORE
0000022f: POP
00000230: JUMPDEST
00000231: DUP2
00000232: MLOAD
00000233: PUSH1 0x01
00000235: ADD
00000236: DUP1
00000237: DUP4
00000238: MSTORE
00000239: DUP2
0000023a: EQ
0000023b: ISZERO
0000023c: PUSH2 0x01bc
0000023f: JUMPI
00000240: POP
00000241: POP
00000242: PUSH2 0x03a0
00000245: MLOAD
00000246: PUSH2 0x0240
00000249: MSTORE
0000024a: PUSH2 0x03c0
0000024d: MLOAD
0000024e: PUSH2 0x0260
00000251: MSTORE
00000252: PUSH2 0x0380
00000255: MLOAD
00000256: PUSH2 0x0280
00000259: MSTORE
0000025a: PUSH2 0x0264
0000025d: PUSH2 0x0420
00000260: PUSH2 0x2ba2
00000263: JUMP
00000264: JUMPDEST
00000265: PUSH2 0x0420
00000268: MLOAD
00000269: PUSH2 0x0400
0000026c: MSTORE
0000026d: PUSH4 0x18160ddd
00000272: PUSH2 0x0440
00000275: MSTORE
00000276: PUSH1 0x20
00000278: PUSH2 0x0440
0000027b: PUSH1 0x04
0000027d: PUSH2 0x045c
00000280: PUSH1 0x08
00000282: SLOAD
00000283: GAS
00000284: STATICCALL
00000285: PUSH2 0x0293
00000288: JUMPI
00000289: RETURNDATASIZE
0000028a: PUSH1 0x00
0000028c: PUSH1 0x00
0000028e: RETURNDATACOPY
0000028f: RETURNDATASIZE
00000290: PUSH1 0x00
00000292: REVERT
00000293: JUMPDEST
00000294: PUSH1 0x1f
00000296: RETURNDATASIZE
00000297: GT
00000298: ISZERO
00000299: PUSH2 0x3588
0000029c: JUMPI
0000029d: PUSH2 0x0440
000002a0: MLOAD
000002a1: PUSH2 0x0420
000002a4: MSTORE
000002a5: PUSH1 0x00
000002a7: PUSH2 0x0440
000002aa: MSTORE
000002ab: PUSH2 0x0360
000002ae: MLOAD
000002af: PUSH2 0x02d1
000002b2: JUMPI
000002b3: PUSH2 0x03e0
000002b6: MLOAD
000002b7: PUSH2 0x0400
000002ba: MLOAD
000002bb: DUP1
000002bc: DUP3
000002bd: LT
000002be: PUSH2 0x3588
000002c1: JUMPI
000002c2: DUP1
000002c3: DUP3
000002c4: SUB
000002c5: SWAP1
000002c6: POP
000002c7: SWAP1
000002c8: POP
000002c9: PUSH2 0x0440
000002cc: MSTORE
000002cd: PUSH2 0x02ec
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH2 0x0400
000002d5: MLOAD
000002d6: PUSH2 0x03e0
000002d9: MLOAD
000002da: DUP1
000002db: DUP3
000002dc: LT
000002dd: PUSH2 0x3588
000002e0: JUMPI
000002e1: DUP1
000002e2: DUP3
000002e3: SUB
000002e4: SWAP1
000002e5: POP
000002e6: SWAP1
000002e7: POP
000002e8: PUSH2 0x0440
000002eb: MSTORE
000002ec: JUMPDEST
000002ed: PUSH2 0x0440
000002f0: MLOAD
000002f1: PUSH2 0x0420
000002f4: MLOAD
000002f5: DUP1
000002f6: DUP3
000002f7: MUL
000002f8: DUP3
000002f9: ISZERO
000002fa: DUP3
000002fb: DUP5
000002fc: DUP4
000002fd: DIV
000002fe: EQ
000002ff: OR
00000300: ISZERO
00000301: PUSH2 0x3588
00000304: JUMPI
00000305: SWAP1
00000306: POP
00000307: SWAP1
00000308: POP
00000309: PUSH2 0x03e0
0000030c: MLOAD
0000030d: DUP1
0000030e: DUP1
0000030f: ISZERO
00000310: PUSH2 0x3588
00000313: JUMPI
00000314: DUP3
00000315: DIV
00000316: SWAP1
00000317: POP
00000318: SWAP1
00000319: POP
0000031a: PUSH2 0x0460
0000031d: MSTORE
0000031e: PUSH1 0x20
00000320: PUSH2 0x0460
00000323: RETURN
00000324: JUMPDEST
00000325: PUSH4 0x0b4c7e4d
0000032a: DUP2
0000032b: XOR
0000032c: PUSH2 0x0983
0000032f: JUMPI
00000330: PUSH1 0x00
00000332: SLOAD
00000333: PUSH2 0x3588
00000336: JUMPI
00000337: PUSH1 0x01
00000339: PUSH1 0x00
0000033b: SSTORE
0000033c: PUSH1 0x12
0000033e: SLOAD
0000033f: PUSH2 0x3588
00000342: JUMPI
00000343: PUSH2 0x034d
00000346: PUSH2 0x0380
00000349: PUSH2 0x269e
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH2 0x0380
00000351: MLOAD
00000352: PUSH2 0x0360
00000355: MSTORE
00000356: PUSH1 0x03
00000358: SLOAD
00000359: PUSH2 0x0380
0000035c: MSTORE
0000035d: PUSH1 0x04
0000035f: SLOAD
00000360: PUSH2 0x03a0
00000363: MSTORE
00000364: PUSH2 0x0380
00000367: MLOAD
00000368: PUSH2 0x0240
0000036b: MSTORE
0000036c: PUSH2 0x03a0
0000036f: MLOAD
00000370: PUSH2 0x0260
00000373: MSTORE
00000374: PUSH2 0x0360
00000377: MLOAD
00000378: PUSH2 0x0280
0000037b: MSTORE
0000037c: PUSH2 0x0386
0000037f: PUSH2 0x03e0
00000382: PUSH2 0x2ba2
00000385: JUMP
00000386: JUMPDEST
00000387: PUSH2 0x03e0
0000038a: MLOAD
0000038b: PUSH2 0x03c0
0000038e: MSTORE
0000038f: PUSH1 0x08
00000391: SLOAD
00000392: PUSH2 0x03e0
00000395: MSTORE
00000396: PUSH4 0x18160ddd
0000039b: PUSH2 0x0420
0000039e: MSTORE
0000039f: PUSH1 0x20
000003a1: PUSH2 0x0420
000003a4: PUSH1 0x04
000003a6: PUSH2 0x043c
000003a9: PUSH2 0x03e0
000003ac: MLOAD
000003ad: GAS
000003ae: STATICCALL
000003af: PUSH2 0x03bd
000003b2: JUMPI
000003b3: RETURNDATASIZE
000003b4: PUSH1 0x00
000003b6: PUSH1 0x00
000003b8: RETURNDATACOPY
000003b9: RETURNDATASIZE
000003ba: PUSH1 0x00
000003bc: REVERT
000003bd: JUMPDEST
000003be: PUSH1 0x1f
000003c0: RETURNDATASIZE
000003c1: GT
000003c2: ISZERO
000003c3: PUSH2 0x3588
000003c6: JUMPI
000003c7: PUSH2 0x0420
000003ca: MLOAD
000003cb: PUSH2 0x0400
000003ce: MSTORE
000003cf: PUSH2 0x0380
000003d2: MLOAD
000003d3: PUSH2 0x0420
000003d6: MSTORE
000003d7: PUSH2 0x03a0
000003da: MLOAD
000003db: PUSH2 0x0440
000003de: MSTORE
000003df: PUSH2 0x0460
000003e2: PUSH1 0x00
000003e4: PUSH1 0x02
000003e6: DUP2
000003e7: DUP4
000003e8: MSTORE
000003e9: ADD
000003ea: JUMPDEST
000003eb: PUSH2 0x0400
000003ee: MLOAD
000003ef: PUSH2 0x0406
000003f2: JUMPI
000003f3: PUSH1 0x00
000003f5: PUSH1 0x20
000003f7: PUSH2 0x0460
000003fa: MLOAD
000003fb: MUL
000003fc: PUSH1 0x04
000003fe: ADD
000003ff: CALLDATALOAD
00000400: GT
00000401: ISZERO
00000402: PUSH2 0x3588
00000405: JUMPI
00000406: JUMPDEST
00000407: PUSH2 0x0420
0000040a: PUSH2 0x0460
0000040d: MLOAD
0000040e: PUSH1 0x02
00000410: DUP2
00000411: LT
00000412: ISZERO
00000413: PUSH2 0x3588
00000416: JUMPI
00000417: PUSH1 0x20
00000419: MUL
0000041a: ADD
0000041b: DUP1
0000041c: MLOAD
0000041d: PUSH1 0x20
0000041f: PUSH2 0x0460
00000422: MLOAD
00000423: MUL
00000424: PUSH1 0x04
00000426: ADD
00000427: CALLDATALOAD
00000428: DUP2
00000429: DUP2
0000042a: DUP4
0000042b: ADD
0000042c: LT
0000042d: PUSH2 0x3588
00000430: JUMPI
00000431: DUP1
00000432: DUP3
00000433: ADD
00000434: SWAP1
00000435: POP
00000436: SWAP1
00000437: POP
00000438: DUP2
00000439: MSTORE
0000043a: POP
0000043b: DUP2
0000043c: MLOAD
0000043d: PUSH1 0x01
0000043f: ADD
00000440: DUP1
00000441: DUP4
00000442: MSTORE
00000443: DUP2
00000444: EQ
00000445: ISZERO
00000446: PUSH2 0x03ea
00000449: JUMPI
0000044a: POP
0000044b: POP
0000044c: PUSH2 0x0420
0000044f: MLOAD
00000450: PUSH2 0x0240
00000453: MSTORE
00000454: PUSH2 0x0440
00000457: MLOAD
00000458: PUSH2 0x0260
0000045b: MSTORE
0000045c: PUSH2 0x0360
0000045f: MLOAD
00000460: PUSH2 0x0280
00000463: MSTORE
00000464: PUSH2 0x046e
00000467: PUSH2 0x0480
0000046a: PUSH2 0x2ba2
0000046d: JUMP
0000046e: JUMPDEST
0000046f: PUSH2 0x0480
00000472: MLOAD
00000473: PUSH2 0x0460
00000476: MSTORE
00000477: PUSH2 0x03c0
0000047a: MLOAD
0000047b: PUSH2 0x0460
0000047e: MLOAD
0000047f: GT
00000480: ISZERO
00000481: PUSH2 0x3588
00000484: JUMPI
00000485: PUSH2 0x0460
00000488: MLOAD
00000489: PUSH2 0x0480
0000048c: MSTORE
0000048d: PUSH1 0x60
0000048f: CALLDATASIZE
00000490: PUSH2 0x04a0
00000493: CALLDATACOPY
00000494: PUSH1 0x00
00000496: PUSH2 0x0400
00000499: MLOAD
0000049a: GT
0000049b: PUSH2 0x04b9
0000049e: JUMPI
0000049f: PUSH2 0x0420
000004a2: MLOAD
000004a3: PUSH1 0x03
000004a5: SSTORE
000004a6: PUSH2 0x0440
000004a9: MLOAD
000004aa: PUSH1 0x04
000004ac: SSTORE
000004ad: PUSH2 0x0460
000004b0: MLOAD
000004b1: PUSH2 0x04e0
000004b4: MSTORE
000004b5: PUSH2 0x06f4
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH1 0x05
000004bc: SLOAD
000004bd: PUSH1 0x02
000004bf: DUP1
000004c0: DUP3
000004c1: MUL
000004c2: DUP3
000004c3: ISZERO
000004c4: DUP3
000004c5: DUP5
000004c6: DUP4
000004c7: DIV
000004c8: EQ
000004c9: OR
000004ca: ISZERO
000004cb: PUSH2 0x3588
000004ce: JUMPI
000004cf: SWAP1
000004d0: POP
000004d1: SWAP1
000004d2: POP
000004d3: PUSH1 0x04
000004d5: DUP1
000004d6: DUP3
000004d7: DIV
000004d8: SWAP1
000004d9: POP
000004da: SWAP1
000004db: POP
000004dc: PUSH2 0x0500
000004df: MSTORE
000004e0: PUSH1 0x06
000004e2: SLOAD
000004e3: PUSH2 0x0520
000004e6: MSTORE
000004e7: PUSH2 0x0540
000004ea: PUSH1 0x00
000004ec: PUSH1 0x02
000004ee: DUP2
000004ef: DUP4
000004f0: MSTORE
000004f1: ADD
000004f2: JUMPDEST
000004f3: PUSH2 0x0460
000004f6: MLOAD
000004f7: PUSH2 0x0380
000004fa: PUSH2 0x0540
000004fd: MLOAD
000004fe: PUSH1 0x02
00000500: DUP2
00000501: LT
00000502: ISZERO
00000503: PUSH2 0x3588
00000506: JUMPI
00000507: PUSH1 0x20
00000509: MUL
0000050a: ADD
0000050b: MLOAD
0000050c: DUP1
0000050d: DUP3
0000050e: MUL
0000050f: DUP3
00000510: ISZERO
00000511: DUP3
00000512: DUP5
00000513: DUP4
00000514: DIV
00000515: EQ
00000516: OR
00000517: ISZERO
00000518: PUSH2 0x3588
0000051b: JUMPI
0000051c: SWAP1
0000051d: POP
0000051e: SWAP1
0000051f: POP
00000520: PUSH2 0x03c0
00000523: MLOAD
00000524: DUP1
00000525: DUP1
00000526: ISZERO
00000527: PUSH2 0x3588
0000052a: JUMPI
0000052b: DUP3
0000052c: DIV
0000052d: SWAP1
0000052e: POP
0000052f: SWAP1
00000530: POP
00000531: PUSH2 0x0560
00000534: MSTORE
00000535: PUSH1 0x00
00000537: PUSH2 0x0580
0000053a: MSTORE
0000053b: PUSH2 0x0420
0000053e: PUSH2 0x0540
00000541: MLOAD
00000542: PUSH1 0x02
00000544: DUP2
00000545: LT
00000546: ISZERO
00000547: PUSH2 0x3588
0000054a: JUMPI
0000054b: PUSH1 0x20
0000054d: MUL
0000054e: ADD
0000054f: MLOAD
00000550: PUSH2 0x05a0
00000553: MSTORE
00000554: PUSH2 0x05a0
00000557: MLOAD
00000558: PUSH2 0x0560
0000055b: MLOAD
0000055c: GT
0000055d: PUSH2 0x057f
00000560: JUMPI
00000561: PUSH2 0x05a0
00000564: MLOAD
00000565: PUSH2 0x0560
00000568: MLOAD
00000569: DUP1
0000056a: DUP3
0000056b: LT
0000056c: PUSH2 0x3588
0000056f: JUMPI
00000570: DUP1
00000571: DUP3
00000572: SUB
00000573: SWAP1
00000574: POP
00000575: SWAP1
00000576: POP
00000577: PUSH2 0x0580
0000057a: MSTORE
0000057b: PUSH2 0x059a
0000057e: JUMP
0000057f: JUMPDEST
00000580: PUSH2 0x0560
00000583: MLOAD
00000584: PUSH2 0x05a0
00000587: MLOAD
00000588: DUP1
00000589: DUP3
0000058a: LT
0000058b: PUSH2 0x3588
0000058e: JUMPI
0000058f: DUP1
00000590: DUP3
00000591: SUB
00000592: SWAP1
00000593: POP
00000594: SWAP1
00000595: POP
00000596: PUSH2 0x0580
00000599: MSTORE
0000059a: JUMPDEST
0000059b: PUSH2 0x0500
0000059e: MLOAD
0000059f: PUSH2 0x0580
000005a2: MLOAD
000005a3: DUP1
000005a4: DUP3
000005a5: MUL
000005a6: DUP3
000005a7: ISZERO
000005a8: DUP3
000005a9: DUP5
000005aa: DUP4
000005ab: DIV
000005ac: EQ
000005ad: OR
000005ae: ISZERO
000005af: PUSH2 0x3588
000005b2: JUMPI
000005b3: SWAP1
000005b4: POP
000005b5: SWAP1
000005b6: POP
000005b7: PUSH5 0x02540be400
000005bd: DUP1
000005be: DUP3
000005bf: DIV
000005c0: SWAP1
000005c1: POP
000005c2: SWAP1
000005c3: POP
000005c4: PUSH2 0x04a0
000005c7: PUSH2 0x0540
000005ca: MLOAD
000005cb: PUSH1 0x02
000005cd: DUP2
000005ce: LT
000005cf: ISZERO
000005d0: PUSH2 0x3588
000005d3: JUMPI
000005d4: PUSH1 0x20
000005d6: MUL
000005d7: ADD
000005d8: MSTORE
000005d9: PUSH2 0x05a0
000005dc: MLOAD
000005dd: PUSH2 0x04a0
000005e0: PUSH2 0x0540
000005e3: MLOAD
000005e4: PUSH1 0x02
000005e6: DUP2
000005e7: LT
000005e8: ISZERO
000005e9: PUSH2 0x3588
000005ec: JUMPI
000005ed: PUSH1 0x20
000005ef: MUL
000005f0: ADD
000005f1: MLOAD
000005f2: PUSH2 0x0520
000005f5: MLOAD
000005f6: DUP1
000005f7: DUP3
000005f8: MUL
000005f9: DUP3
000005fa: ISZERO
000005fb: DUP3
000005fc: DUP5
000005fd: DUP4
000005fe: DIV
000005ff: EQ
00000600: OR
00000601: ISZERO
00000602: PUSH2 0x3588
00000605: JUMPI
00000606: SWAP1
00000607: POP
00000608: SWAP1
00000609: POP
0000060a: PUSH5 0x02540be400
00000610: DUP1
00000611: DUP3
00000612: DIV
00000613: SWAP1
00000614: POP
00000615: SWAP1
00000616: POP
00000617: DUP1
00000618: DUP3
00000619: LT
0000061a: PUSH2 0x3588
0000061d: JUMPI
0000061e: DUP1
0000061f: DUP3
00000620: SUB
00000621: SWAP1
00000622: POP
00000623: SWAP1
00000624: POP
00000625: PUSH1 0x01
00000627: PUSH2 0x0540
0000062a: MLOAD
0000062b: PUSH1 0x02
0000062d: DUP2
0000062e: LT
0000062f: ISZERO
00000630: PUSH2 0x3588
00000633: JUMPI
00000634: MUL
00000635: PUSH1 0x03
00000637: ADD
00000638: SSTORE
00000639: PUSH2 0x0420
0000063c: PUSH2 0x0540
0000063f: MLOAD
00000640: PUSH1 0x02
00000642: DUP2
00000643: LT
00000644: ISZERO
00000645: PUSH2 0x3588
00000648: JUMPI
00000649: PUSH1 0x20
0000064b: MUL
0000064c: ADD
0000064d: DUP1
0000064e: MLOAD
0000064f: PUSH2 0x04a0
00000652: PUSH2 0x0540
00000655: MLOAD
00000656: PUSH1 0x02
00000658: DUP2
00000659: LT
0000065a: ISZERO
0000065b: PUSH2 0x3588
0000065e: JUMPI
0000065f: PUSH1 0x20
00000661: MUL
00000662: ADD
00000663: MLOAD
00000664: DUP1
00000665: DUP3
00000666: LT
00000667: PUSH2 0x3588
0000066a: JUMPI
0000066b: DUP1
0000066c: DUP3
0000066d: SUB
0000066e: SWAP1
0000066f: POP
00000670: SWAP1
00000671: POP
00000672: DUP2
00000673: MSTORE
00000674: POP
00000675: DUP2
00000676: MLOAD
00000677: PUSH1 0x01
00000679: ADD
0000067a: DUP1
0000067b: DUP4
0000067c: MSTORE
0000067d: DUP2
0000067e: EQ
0000067f: ISZERO
00000680: PUSH2 0x04f2
00000683: JUMPI
00000684: POP
00000685: POP
00000686: PUSH2 0x0420
00000689: MLOAD
0000068a: PUSH2 0x0240
0000068d: MSTORE
0000068e: PUSH2 0x0440
00000691: MLOAD
00000692: PUSH2 0x0260
00000695: MSTORE
00000696: PUSH2 0x0360
00000699: MLOAD
0000069a: PUSH2 0x0280
0000069d: MSTORE
0000069e: PUSH2 0x06a8
000006a1: PUSH2 0x0540
000006a4: PUSH2 0x2ba2
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH2 0x0540
000006ac: MLOAD
000006ad: PUSH2 0x0480
000006b0: MSTORE
000006b1: PUSH2 0x0400
000006b4: MLOAD
000006b5: PUSH2 0x0480
000006b8: MLOAD
000006b9: PUSH2 0x03c0
000006bc: MLOAD
000006bd: DUP1
000006be: DUP3
000006bf: LT
000006c0: PUSH2 0x3588
000006c3: JUMPI
000006c4: DUP1
000006c5: DUP3
000006c6: SUB
000006c7: SWAP1
000006c8: POP
000006c9: SWAP1
000006ca: POP
000006cb: DUP1
000006cc: DUP3
000006cd: MUL
000006ce: DUP3
000006cf: ISZERO
000006d0: DUP3
000006d1: DUP5
000006d2: DUP4
000006d3: DIV
000006d4: EQ
000006d5: OR
000006d6: ISZERO
000006d7: PUSH2 0x3588
000006da: JUMPI
000006db: SWAP1
000006dc: POP
000006dd: SWAP1
000006de: POP
000006df: PUSH2 0x03c0
000006e2: MLOAD
000006e3: DUP1
000006e4: DUP1
000006e5: ISZERO
000006e6: PUSH2 0x3588
000006e9: JUMPI
000006ea: DUP3
000006eb: DIV
000006ec: SWAP1
000006ed: POP
000006ee: SWAP1
000006ef: POP
000006f0: PUSH2 0x04e0
000006f3: MSTORE
000006f4: JUMPDEST
000006f5: PUSH1 0x44
000006f7: CALLDATALOAD
000006f8: PUSH2 0x04e0
000006fb: MLOAD
000006fc: LT
000006fd: ISZERO
000006fe: PUSH2 0x0778
00000701: JUMPI
00000702: PUSH1 0x14
00000704: PUSH2 0x0500
00000707: MSTORE
00000708: PUSH32 0x536c697070616765207363726577656420796f75000000000000000000000000
00000729: PUSH2 0x0520
0000072c: MSTORE
0000072d: PUSH2 0x0500
00000730: POP
00000731: PUSH2 0x0500
00000734: MLOAD
00000735: DUP1
00000736: PUSH2 0x0520
00000739: ADD
0000073a: DUP2
0000073b: DUP3
0000073c: PUSH1 0x20
0000073e: PUSH1 0x01
00000740: DUP3
00000741: SUB
00000742: MOD
00000743: PUSH1 0x1f
00000745: DUP3
00000746: ADD
00000747: SUB
00000748: SWAP1
00000749: POP
0000074a: SUB
0000074b: CALLDATASIZE
0000074c: DUP3
0000074d: CALLDATACOPY
0000074e: POP
0000074f: POP
00000750: PUSH4 0x08c379a0
00000755: PUSH2 0x04c0
00000758: MSTORE
00000759: PUSH1 0x20
0000075b: PUSH2 0x04e0
0000075e: MSTORE
0000075f: PUSH2 0x0500
00000762: MLOAD
00000763: PUSH1 0x20
00000765: PUSH1 0x01
00000767: DUP3
00000768: SUB
00000769: MOD
0000076a: PUSH1 0x1f
0000076c: DUP3
0000076d: ADD
0000076e: SUB
0000076f: SWAP1
00000770: POP
00000771: PUSH1 0x44
00000773: ADD
00000774: PUSH2 0x04dc
00000777: REVERT
00000778: JUMPDEST
00000779: PUSH2 0x0500
0000077c: PUSH1 0x00
0000077e: PUSH1 0x02
00000780: DUP2
00000781: DUP4
00000782: MSTORE
00000783: ADD
00000784: JUMPDEST
00000785: PUSH1 0x00
00000787: PUSH1 0x20
00000789: PUSH2 0x0500
0000078c: MLOAD
0000078d: MUL
0000078e: PUSH1 0x04
00000790: ADD
00000791: CALLDATALOAD
00000792: GT
00000793: ISZERO
00000794: PUSH2 0x08b0
00000797: JUMPI
00000798: PUSH1 0x00
0000079a: PUSH1 0x04
0000079c: PUSH2 0x0560
0000079f: MSTORE
000007a0: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000007c1: PUSH2 0x0580
000007c4: MSTORE
000007c5: PUSH2 0x0560
000007c8: PUSH1 0x04
000007ca: DUP1
000007cb: PUSH1 0x20
000007cd: DUP5
000007ce: PUSH2 0x05a0
000007d1: ADD
000007d2: ADD
000007d3: DUP3
000007d4: PUSH1 0x20
000007d6: DUP6
000007d7: ADD
000007d8: PUSH1 0x04
000007da: GAS
000007db: STATICCALL
000007dc: POP
000007dd: POP
000007de: DUP1
000007df: MLOAD
000007e0: DUP3
000007e1: ADD
000007e2: SWAP2
000007e3: POP
000007e4: POP
000007e5: CALLER
000007e6: PUSH1 0x20
000007e8: DUP3
000007e9: PUSH2 0x05a0
000007ec: ADD
000007ed: ADD
000007ee: MSTORE
000007ef: PUSH1 0x20
000007f1: DUP2
000007f2: ADD
000007f3: SWAP1
000007f4: POP
000007f5: ADDRESS
000007f6: PUSH1 0x20
000007f8: DUP3
000007f9: PUSH2 0x05a0
000007fc: ADD
000007fd: ADD
000007fe: MSTORE
000007ff: PUSH1 0x20
00000801: DUP2
00000802: ADD
00000803: SWAP1
00000804: POP
00000805: PUSH1 0x20
00000807: PUSH2 0x0500
0000080a: MLOAD
0000080b: MUL
0000080c: PUSH1 0x04
0000080e: ADD
0000080f: CALLDATALOAD
00000810: PUSH1 0x20
00000812: DUP3
00000813: PUSH2 0x05a0
00000816: ADD
00000817: ADD
00000818: MSTORE
00000819: PUSH1 0x20
0000081b: DUP2
0000081c: ADD
0000081d: SWAP1
0000081e: POP
0000081f: DUP1
00000820: PUSH2 0x05a0
00000823: MSTORE
00000824: PUSH2 0x05a0
00000827: POP
00000828: POP
00000829: PUSH1 0x20
0000082b: PUSH2 0x0660
0000082e: PUSH2 0x05a0
00000831: MLOAD
00000832: PUSH2 0x05c0
00000835: PUSH1 0x00
00000837: PUSH1 0x01
00000839: PUSH2 0x0500
0000083c: MLOAD
0000083d: PUSH1 0x02
0000083f: DUP2
00000840: LT
00000841: ISZERO
00000842: PUSH2 0x3588
00000845: JUMPI
00000846: MUL
00000847: PUSH1 0x01
00000849: ADD
0000084a: SLOAD
0000084b: GAS
0000084c: CALL
0000084d: PUSH2 0x085b
00000850: JUMPI
00000851: RETURNDATASIZE
00000852: PUSH1 0x00
00000854: PUSH1 0x00
00000856: RETURNDATACOPY
00000857: RETURNDATASIZE
00000858: PUSH1 0x00
0000085a: REVERT
0000085b: JUMPDEST
0000085c: PUSH2 0x0640
0000085f: PUSH1 0x20
00000861: RETURNDATASIZE
00000862: DUP1
00000863: DUP3
00000864: GT
00000865: PUSH2 0x086e
00000868: JUMPI
00000869: DUP2
0000086a: PUSH2 0x0870
0000086d: JUMP
0000086e: JUMPDEST
0000086f: DUP1
00000870: JUMPDEST
00000871: SWAP1
00000872: POP
00000873: SWAP1
00000874: POP
00000875: DUP2
00000876: MSTORE
00000877: DUP1
00000878: MLOAD
00000879: PUSH1 0x20
0000087b: ADD
0000087c: DUP1
0000087d: PUSH2 0x0520
00000880: DUP3
00000881: DUP5
00000882: PUSH1 0x04
00000884: GAS
00000885: STATICCALL
00000886: SWAP1
00000887: POP
00000888: POP
00000889: POP
0000088a: PUSH1 0x00
0000088c: PUSH2 0x0520
0000088f: MLOAD
00000890: GT
00000891: ISZERO
00000892: PUSH2 0x08b0
00000895: JUMPI
00000896: PUSH2 0x0540
00000899: MLOAD
0000089a: PUSH2 0x0520
0000089d: MLOAD
0000089e: DUP2
0000089f: DUP2
000008a0: PUSH1 0x20
000008a2: SUB
000008a3: PUSH1 0x08
000008a5: MUL
000008a6: SHR
000008a7: SWAP1
000008a8: POP
000008a9: SWAP1
000008aa: POP
000008ab: ISZERO
000008ac: PUSH2 0x3588
000008af: JUMPI
000008b0: JUMPDEST
000008b1: DUP2
000008b2: MLOAD
000008b3: PUSH1 0x01
000008b5: ADD
000008b6: DUP1
000008b7: DUP4
000008b8: MSTORE
000008b9: DUP2
000008ba: EQ
000008bb: ISZERO
000008bc: PUSH2 0x0784
000008bf: JUMPI
000008c0: POP
000008c1: POP
000008c2: PUSH4 0x40c10f19
000008c7: PUSH2 0x0500
000008ca: MSTORE
000008cb: CALLER
000008cc: PUSH2 0x0520
000008cf: MSTORE
000008d0: PUSH2 0x04e0
000008d3: MLOAD
000008d4: PUSH2 0x0540
000008d7: MSTORE
000008d8: PUSH1 0x20
000008da: PUSH2 0x0500
000008dd: PUSH1 0x44
000008df: PUSH2 0x051c
000008e2: PUSH1 0x00
000008e4: PUSH2 0x03e0
000008e7: MLOAD
000008e8: GAS
000008e9: CALL
000008ea: PUSH2 0x08f8
000008ed: JUMPI
000008ee: RETURNDATASIZE
000008ef: PUSH1 0x00
000008f1: PUSH1 0x00
000008f3: RETURNDATACOPY
000008f4: RETURNDATASIZE
000008f5: PUSH1 0x00
000008f7: REVERT
000008f8: JUMPDEST
000008f9: PUSH1 0x1f
000008fb: RETURNDATASIZE
000008fc: GT
000008fd: ISZERO
000008fe: PUSH2 0x3588
00000901: JUMPI
00000902: PUSH2 0x0500
00000905: POP
00000906: CALLER
00000907: PUSH32 0x26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a768
00000928: PUSH1 0x04
0000092a: CALLDATALOAD
0000092b: PUSH2 0x0500
0000092e: MSTORE
0000092f: PUSH1 0x24
00000931: CALLDATALOAD
00000932: PUSH2 0x0520
00000935: MSTORE
00000936: PUSH2 0x04a0
00000939: MLOAD
0000093a: PUSH2 0x0540
0000093d: MSTORE
0000093e: PUSH2 0x04c0
00000941: MLOAD
00000942: PUSH2 0x0560
00000945: MSTORE
00000946: PUSH2 0x0460
00000949: MLOAD
0000094a: PUSH2 0x0580
0000094d: MSTORE
0000094e: PUSH2 0x0400
00000951: MLOAD
00000952: PUSH2 0x04e0
00000955: MLOAD
00000956: DUP2
00000957: DUP2
00000958: DUP4
00000959: ADD
0000095a: LT
0000095b: PUSH2 0x3588
0000095e: JUMPI
0000095f: DUP1
00000960: DUP3
00000961: ADD
00000962: SWAP1
00000963: POP
00000964: SWAP1
00000965: POP
00000966: PUSH2 0x05a0
00000969: MSTORE
0000096a: PUSH1 0xc0
0000096c: PUSH2 0x0500
0000096f: LOG2
00000970: PUSH2 0x04e0
00000973: MLOAD
00000974: PUSH2 0x0500
00000977: MSTORE
00000978: PUSH1 0x20
0000097a: PUSH2 0x0500
0000097d: PUSH1 0x00
0000097f: PUSH1 0x00
00000981: SSTORE
00000982: RETURN
00000983: JUMPDEST
00000984: PUSH4 0x5e0d443f
00000989: DUP2
0000098a: XOR
0000098b: PUSH2 0x0b5a
0000098e: JUMPI
0000098f: PUSH1 0x04
00000991: CALLDATALOAD
00000992: DUP1
00000993: PUSH1 0x80
00000995: SAR
00000996: DUP2
00000997: PUSH1 0x7f
00000999: SAR
0000099a: XOR
0000099b: PUSH2 0x3588
0000099e: JUMPI
0000099f: PUSH2 0x0420
000009a2: MSTORE
000009a3: PUSH1 0x24
000009a5: CALLDATALOAD
000009a6: DUP1
000009a7: PUSH1 0x80
000009a9: SAR
000009aa: DUP2
000009ab: PUSH1 0x7f
000009ad: SAR
000009ae: XOR
000009af: PUSH2 0x3588
000009b2: JUMPI
000009b3: PUSH2 0x0440
000009b6: MSTORE
000009b7: PUSH2 0x09c1
000009ba: PUSH2 0x04a0
000009bd: PUSH2 0x27d9
000009c0: JUMP
000009c1: JUMPDEST
000009c2: PUSH2 0x04a0
000009c5: DUP1
000009c6: MLOAD
000009c7: PUSH2 0x0460
000009ca: MSTORE
000009cb: DUP1
000009cc: PUSH1 0x20
000009ce: ADD
000009cf: MLOAD
000009d0: PUSH2 0x0480
000009d3: MSTORE
000009d4: POP
000009d5: PUSH8 0x0de0b6b3a7640000
000009de: PUSH2 0x04a0
000009e1: MSTORE
000009e2: PUSH13 0x0c9f2c9cd04674edea40000000
000009f0: PUSH2 0x04c0
000009f3: MSTORE
000009f4: PUSH2 0x0460
000009f7: PUSH2 0x0420
000009fa: MLOAD
000009fb: PUSH1 0x02
000009fd: DUP2
000009fe: LT
000009ff: ISZERO
00000a00: PUSH2 0x3588
00000a03: JUMPI
00000a04: PUSH1 0x20
00000a06: MUL
00000a07: ADD
00000a08: MLOAD
00000a09: PUSH1 0x44
00000a0b: CALLDATALOAD
00000a0c: PUSH2 0x04a0
00000a0f: PUSH2 0x0420
00000a12: MLOAD
00000a13: PUSH1 0x02
00000a15: DUP2
00000a16: LT
00000a17: ISZERO
00000a18: PUSH2 0x3588
00000a1b: JUMPI
00000a1c: PUSH1 0x20
00000a1e: MUL
00000a1f: ADD
00000a20: MLOAD
00000a21: DUP1
00000a22: DUP3
00000a23: MUL
00000a24: DUP3
00000a25: ISZERO
00000a26: DUP3
00000a27: DUP5
00000a28: DUP4
00000a29: DIV
00000a2a: EQ
00000a2b: OR
00000a2c: ISZERO
00000a2d: PUSH2 0x3588
00000a30: JUMPI
00000a31: SWAP1
00000a32: POP
00000a33: SWAP1
00000a34: POP
00000a35: PUSH8 0x0de0b6b3a7640000
00000a3e: DUP1
00000a3f: DUP3
00000a40: DIV
00000a41: SWAP1
00000a42: POP
00000a43: SWAP1
00000a44: POP
00000a45: DUP2
00000a46: DUP2
00000a47: DUP4
00000a48: ADD
00000a49: LT
00000a4a: PUSH2 0x3588
00000a4d: JUMPI
00000a4e: DUP1
00000a4f: DUP3
00000a50: ADD
00000a51: SWAP1
00000a52: POP
00000a53: SWAP1
00000a54: POP
00000a55: PUSH2 0x04e0
00000a58: MSTORE
00000a59: PUSH2 0x0420
00000a5c: MLOAD
00000a5d: PUSH2 0x0240
00000a60: MSTORE
00000a61: PUSH2 0x0440
00000a64: MLOAD
00000a65: PUSH2 0x0260
00000a68: MSTORE
00000a69: PUSH2 0x04e0
00000a6c: MLOAD
00000a6d: PUSH2 0x0280
00000a70: MSTORE
00000a71: PUSH2 0x0460
00000a74: MLOAD
00000a75: PUSH2 0x02a0
00000a78: MSTORE
00000a79: PUSH2 0x0480
00000a7c: MLOAD
00000a7d: PUSH2 0x02c0
00000a80: MSTORE
00000a81: PUSH2 0x0a8b
00000a84: PUSH2 0x0520
00000a87: PUSH2 0x2c02
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: PUSH2 0x0520
00000a8f: MLOAD
00000a90: PUSH2 0x0500
00000a93: MSTORE
00000a94: PUSH2 0x0460
00000a97: PUSH2 0x0440
00000a9a: MLOAD
00000a9b: PUSH1 0x02
00000a9d: DUP2
00000a9e: LT
00000a9f: ISZERO
00000aa0: PUSH2 0x3588
00000aa3: JUMPI
00000aa4: PUSH1 0x20
00000aa6: MUL
00000aa7: ADD
00000aa8: MLOAD
00000aa9: PUSH2 0x0500
00000aac: MLOAD
00000aad: DUP1
00000aae: DUP3
00000aaf: LT
00000ab0: PUSH2 0x3588
00000ab3: JUMPI
00000ab4: DUP1
00000ab5: DUP3
00000ab6: SUB
00000ab7: SWAP1
00000ab8: POP
00000ab9: SWAP1
00000aba: POP
00000abb: PUSH1 0x01
00000abd: DUP1
00000abe: DUP3
00000abf: LT
00000ac0: PUSH2 0x3588
00000ac3: JUMPI
00000ac4: DUP1
00000ac5: DUP3
00000ac6: SUB
00000ac7: SWAP1
00000ac8: POP
00000ac9: SWAP1
00000aca: POP
00000acb: PUSH2 0x0520
00000ace: MSTORE
00000acf: PUSH1 0x05
00000ad1: SLOAD
00000ad2: PUSH2 0x0520
00000ad5: MLOAD
00000ad6: DUP1
00000ad7: DUP3
00000ad8: MUL
00000ad9: DUP3
00000ada: ISZERO
00000adb: DUP3
00000adc: DUP5
00000add: DUP4
00000ade: DIV
00000adf: EQ
00000ae0: OR
00000ae1: ISZERO
00000ae2: PUSH2 0x3588
00000ae5: JUMPI
00000ae6: SWAP1
00000ae7: POP
00000ae8: SWAP1
00000ae9: POP
00000aea: PUSH5 0x02540be400
00000af0: DUP1
00000af1: DUP3
00000af2: DIV
00000af3: SWAP1
00000af4: POP
00000af5: SWAP1
00000af6: POP
00000af7: PUSH2 0x0540
00000afa: MSTORE
00000afb: PUSH2 0x0520
00000afe: MLOAD
00000aff: PUSH2 0x0540
00000b02: MLOAD
00000b03: DUP1
00000b04: DUP3
00000b05: LT
00000b06: PUSH2 0x3588
00000b09: JUMPI
00000b0a: DUP1
00000b0b: DUP3
00000b0c: SUB
00000b0d: SWAP1
00000b0e: POP
00000b0f: SWAP1
00000b10: POP
00000b11: PUSH8 0x0de0b6b3a7640000
00000b1a: DUP1
00000b1b: DUP3
00000b1c: MUL
00000b1d: DUP3
00000b1e: ISZERO
00000b1f: DUP3
00000b20: DUP5
00000b21: DUP4
00000b22: DIV
00000b23: EQ
00000b24: OR
00000b25: ISZERO
00000b26: PUSH2 0x3588
00000b29: JUMPI
00000b2a: SWAP1
00000b2b: POP
00000b2c: SWAP1
00000b2d: POP
00000b2e: PUSH2 0x04a0
00000b31: PUSH2 0x0440
00000b34: MLOAD
00000b35: PUSH1 0x02
00000b37: DUP2
00000b38: LT
00000b39: ISZERO
00000b3a: PUSH2 0x3588
00000b3d: JUMPI
00000b3e: PUSH1 0x20
00000b40: MUL
00000b41: ADD
00000b42: MLOAD
00000b43: DUP1
00000b44: DUP1
00000b45: ISZERO
00000b46: PUSH2 0x3588
00000b49: JUMPI
00000b4a: DUP3
00000b4b: DIV
00000b4c: SWAP1
00000b4d: POP
00000b4e: SWAP1
00000b4f: POP
00000b50: PUSH2 0x0560
00000b53: MSTORE
00000b54: PUSH1 0x20
00000b56: PUSH2 0x0560
00000b59: RETURN
00000b5a: JUMPDEST
00000b5b: PUSH4 0x3df02124
00000b60: DUP2
00000b61: XOR
00000b62: PUSH2 0x116d
00000b65: JUMPI
00000b66: PUSH1 0x04
00000b68: CALLDATALOAD
00000b69: DUP1
00000b6a: PUSH1 0x80
00000b6c: SAR
00000b6d: DUP2
00000b6e: PUSH1 0x7f
00000b70: SAR
00000b71: XOR
00000b72: PUSH2 0x3588
00000b75: JUMPI
00000b76: PUSH2 0x0420
00000b79: MSTORE
00000b7a: PUSH1 0x24
00000b7c: CALLDATALOAD
00000b7d: DUP1
00000b7e: PUSH1 0x80
00000b80: SAR
00000b81: DUP2
00000b82: PUSH1 0x7f
00000b84: SAR
00000b85: XOR
00000b86: PUSH2 0x3588
00000b89: JUMPI
00000b8a: PUSH2 0x0440
00000b8d: MSTORE
00000b8e: PUSH1 0x00
00000b90: SLOAD
00000b91: PUSH2 0x3588
00000b94: JUMPI
00000b95: PUSH1 0x01
00000b97: PUSH1 0x00
00000b99: SSTORE
00000b9a: PUSH1 0x12
00000b9c: SLOAD
00000b9d: PUSH2 0x3588
00000ba0: JUMPI
00000ba1: PUSH1 0x03
00000ba3: SLOAD
00000ba4: PUSH2 0x0460
00000ba7: MSTORE
00000ba8: PUSH1 0x04
00000baa: SLOAD
00000bab: PUSH2 0x0480
00000bae: MSTORE
00000baf: PUSH2 0x0460
00000bb2: MLOAD
00000bb3: PUSH1 0xe0
00000bb5: MSTORE
00000bb6: PUSH2 0x0480
00000bb9: MLOAD
00000bba: PUSH2 0x0100
00000bbd: MSTORE
00000bbe: PUSH2 0x0bc8
00000bc1: PUSH2 0x04e0
00000bc4: PUSH2 0x2885
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: PUSH2 0x04e0
00000bcc: DUP1
00000bcd: MLOAD
00000bce: PUSH2 0x04a0
00000bd1: MSTORE
00000bd2: DUP1
00000bd3: PUSH1 0x20
00000bd5: ADD
00000bd6: MLOAD
00000bd7: PUSH2 0x04c0
00000bda: MSTORE
00000bdb: POP
00000bdc: PUSH8 0x0de0b6b3a7640000
00000be5: PUSH2 0x04e0
00000be8: MSTORE
00000be9: PUSH13 0x0c9f2c9cd04674edea40000000
00000bf7: PUSH2 0x0500
00000bfa: MSTORE
00000bfb: PUSH2 0x04a0
00000bfe: PUSH2 0x0420
00000c01: MLOAD
00000c02: PUSH1 0x02
00000c04: DUP2
00000c05: LT
00000c06: ISZERO
00000c07: PUSH2 0x3588
00000c0a: JUMPI
00000c0b: PUSH1 0x20
00000c0d: MUL
00000c0e: ADD
00000c0f: MLOAD
00000c10: PUSH1 0x44
00000c12: CALLDATALOAD
00000c13: PUSH2 0x04e0
00000c16: PUSH2 0x0420
00000c19: MLOAD
00000c1a: PUSH1 0x02
00000c1c: DUP2
00000c1d: LT
00000c1e: ISZERO
00000c1f: PUSH2 0x3588
00000c22: JUMPI
00000c23: PUSH1 0x20
00000c25: MUL
00000c26: ADD
00000c27: MLOAD
00000c28: DUP1
00000c29: DUP3
00000c2a: MUL
00000c2b: DUP3
00000c2c: ISZERO
00000c2d: DUP3
00000c2e: DUP5
00000c2f: DUP4
00000c30: DIV
00000c31: EQ
00000c32: OR
00000c33: ISZERO
00000c34: PUSH2 0x3588
00000c37: JUMPI
00000c38: SWAP1
00000c39: POP
00000c3a: SWAP1
00000c3b: POP
00000c3c: PUSH8 0x0de0b6b3a7640000
00000c45: DUP1
00000c46: DUP3
00000c47: DIV
00000c48: SWAP1
00000c49: POP
00000c4a: SWAP1
00000c4b: POP
00000c4c: DUP2
00000c4d: DUP2
00000c4e: DUP4
00000c4f: ADD
00000c50: LT
00000c51: PUSH2 0x3588
00000c54: JUMPI
00000c55: DUP1
00000c56: DUP3
00000c57: ADD
00000c58: SWAP1
00000c59: POP
00000c5a: SWAP1
00000c5b: POP
00000c5c: PUSH2 0x0520
00000c5f: MSTORE
00000c60: PUSH2 0x0420
00000c63: MLOAD
00000c64: PUSH2 0x0240
00000c67: MSTORE
00000c68: PUSH2 0x0440
00000c6b: MLOAD
00000c6c: PUSH2 0x0260
00000c6f: MSTORE
00000c70: PUSH2 0x0520
00000c73: MLOAD
00000c74: PUSH2 0x0280
00000c77: MSTORE
00000c78: PUSH2 0x04a0
00000c7b: MLOAD
00000c7c: PUSH2 0x02a0
00000c7f: MSTORE
00000c80: PUSH2 0x04c0
00000c83: MLOAD
00000c84: PUSH2 0x02c0
00000c87: MSTORE
00000c88: PUSH2 0x0c92
00000c8b: PUSH2 0x0560
00000c8e: PUSH2 0x2c02
00000c91: JUMP
00000c92: JUMPDEST
00000c93: PUSH2 0x0560
00000c96: MLOAD
00000c97: PUSH2 0x0540
00000c9a: MSTORE
00000c9b: PUSH2 0x04a0
00000c9e: PUSH2 0x0440
00000ca1: MLOAD
00000ca2: PUSH1 0x02
00000ca4: DUP2
00000ca5: LT
00000ca6: ISZERO
00000ca7: PUSH2 0x3588
00000caa: JUMPI
00000cab: PUSH1 0x20
00000cad: MUL
00000cae: ADD
00000caf: MLOAD
00000cb0: PUSH2 0x0540
00000cb3: MLOAD
00000cb4: DUP1
00000cb5: DUP3
00000cb6: LT
00000cb7: PUSH2 0x3588
00000cba: JUMPI
00000cbb: DUP1
00000cbc: DUP3
00000cbd: SUB
00000cbe: SWAP1
00000cbf: POP
00000cc0: SWAP1
00000cc1: POP
00000cc2: PUSH1 0x01
00000cc4: DUP1
00000cc5: DUP3
00000cc6: LT
00000cc7: PUSH2 0x3588
00000cca: JUMPI
00000ccb: DUP1
00000ccc: DUP3
00000ccd: SUB
00000cce: SWAP1
00000ccf: POP
00000cd0: SWAP1
00000cd1: POP
00000cd2: PUSH2 0x0560
00000cd5: MSTORE
00000cd6: PUSH2 0x0560
00000cd9: MLOAD
00000cda: PUSH1 0x05
00000cdc: SLOAD
00000cdd: DUP1
00000cde: DUP3
00000cdf: MUL
00000ce0: DUP3
00000ce1: ISZERO
00000ce2: DUP3
00000ce3: DUP5
00000ce4: DUP4
00000ce5: DIV
00000ce6: EQ
00000ce7: OR
00000ce8: ISZERO
00000ce9: PUSH2 0x3588
00000cec: JUMPI
00000ced: SWAP1
00000cee: POP
00000cef: SWAP1
00000cf0: POP
00000cf1: PUSH5 0x02540be400
00000cf7: DUP1
00000cf8: DUP3
00000cf9: DIV
00000cfa: SWAP1
00000cfb: POP
00000cfc: SWAP1
00000cfd: POP
00000cfe: PUSH2 0x0580
00000d01: MSTORE
00000d02: PUSH2 0x0560
00000d05: MLOAD
00000d06: PUSH2 0x0580
00000d09: MLOAD
00000d0a: DUP1
00000d0b: DUP3
00000d0c: LT
00000d0d: PUSH2 0x3588
00000d10: JUMPI
00000d11: DUP1
00000d12: DUP3
00000d13: SUB
00000d14: SWAP1
00000d15: POP
00000d16: SWAP1
00000d17: POP
00000d18: PUSH8 0x0de0b6b3a7640000
00000d21: DUP1
00000d22: DUP3
00000d23: MUL
00000d24: DUP3
00000d25: ISZERO
00000d26: DUP3
00000d27: DUP5
00000d28: DUP4
00000d29: DIV
00000d2a: EQ
00000d2b: OR
00000d2c: ISZERO
00000d2d: PUSH2 0x3588
00000d30: JUMPI
00000d31: SWAP1
00000d32: POP
00000d33: SWAP1
00000d34: POP
00000d35: PUSH2 0x04e0
00000d38: PUSH2 0x0440
00000d3b: MLOAD
00000d3c: PUSH1 0x02
00000d3e: DUP2
00000d3f: LT
00000d40: ISZERO
00000d41: PUSH2 0x3588
00000d44: JUMPI
00000d45: PUSH1 0x20
00000d47: MUL
00000d48: ADD
00000d49: MLOAD
00000d4a: DUP1
00000d4b: DUP1
00000d4c: ISZERO
00000d4d: PUSH2 0x3588
00000d50: JUMPI
00000d51: DUP3
00000d52: DIV
00000d53: SWAP1
00000d54: POP
00000d55: SWAP1
00000d56: POP
00000d57: PUSH2 0x0560
00000d5a: MSTORE
00000d5b: PUSH1 0x64
00000d5d: CALLDATALOAD
00000d5e: PUSH2 0x0560
00000d61: MLOAD
00000d62: LT
00000d63: ISZERO
00000d64: PUSH2 0x0e03
00000d67: JUMPI
00000d68: PUSH1 0x2e
00000d6a: PUSH2 0x05a0
00000d6d: MSTORE
00000d6e: PUSH32 0x45786368616e676520726573756c74656420696e20666577657220636f696e73
00000d8f: PUSH2 0x05c0
00000d92: MSTORE
00000d93: PUSH32 0x207468616e206578706563746564000000000000000000000000000000000000
00000db4: PUSH2 0x05e0
00000db7: MSTORE
00000db8: PUSH2 0x05a0
00000dbb: POP
00000dbc: PUSH2 0x05a0
00000dbf: MLOAD
00000dc0: DUP1
00000dc1: PUSH2 0x05c0
00000dc4: ADD
00000dc5: DUP2
00000dc6: DUP3
00000dc7: PUSH1 0x20
00000dc9: PUSH1 0x01
00000dcb: DUP3
00000dcc: SUB
00000dcd: MOD
00000dce: PUSH1 0x1f
00000dd0: DUP3
00000dd1: ADD
00000dd2: SUB
00000dd3: SWAP1
00000dd4: POP
00000dd5: SUB
00000dd6: CALLDATASIZE
00000dd7: DUP3
00000dd8: CALLDATACOPY
00000dd9: POP
00000dda: POP
00000ddb: PUSH4 0x08c379a0
00000de0: PUSH2 0x0560
00000de3: MSTORE
00000de4: PUSH1 0x20
00000de6: PUSH2 0x0580
00000de9: MSTORE
00000dea: PUSH2 0x05a0
00000ded: MLOAD
00000dee: PUSH1 0x20
00000df0: PUSH1 0x01
00000df2: DUP3
00000df3: SUB
00000df4: MOD
00000df5: PUSH1 0x1f
00000df7: DUP3
00000df8: ADD
00000df9: SUB
00000dfa: SWAP1
00000dfb: POP
00000dfc: PUSH1 0x44
00000dfe: ADD
00000dff: PUSH2 0x057c
00000e02: REVERT
00000e03: JUMPDEST
00000e04: PUSH2 0x0580
00000e07: MLOAD
00000e08: PUSH1 0x06
00000e0a: SLOAD
00000e0b: DUP1
00000e0c: DUP3
00000e0d: MUL
00000e0e: DUP3
00000e0f: ISZERO
00000e10: DUP3
00000e11: DUP5
00000e12: DUP4
00000e13: DIV
00000e14: EQ
00000e15: OR
00000e16: ISZERO
00000e17: PUSH2 0x3588
00000e1a: JUMPI
00000e1b: SWAP1
00000e1c: POP
00000e1d: SWAP1
00000e1e: POP
00000e1f: PUSH5 0x02540be400
00000e25: DUP1
00000e26: DUP3
00000e27: DIV
00000e28: SWAP1
00000e29: POP
00000e2a: SWAP1
00000e2b: POP
00000e2c: PUSH2 0x05a0
00000e2f: MSTORE
00000e30: PUSH2 0x05a0
00000e33: MLOAD
00000e34: PUSH8 0x0de0b6b3a7640000
00000e3d: DUP1
00000e3e: DUP3
00000e3f: MUL
00000e40: DUP3
00000e41: ISZERO
00000e42: DUP3
00000e43: DUP5
00000e44: DUP4
00000e45: DIV
00000e46: EQ
00000e47: OR
00000e48: ISZERO
00000e49: PUSH2 0x3588
00000e4c: JUMPI
00000e4d: SWAP1
00000e4e: POP
00000e4f: SWAP1
00000e50: POP
00000e51: PUSH2 0x04e0
00000e54: PUSH2 0x0440
00000e57: MLOAD
00000e58: PUSH1 0x02
00000e5a: DUP2
00000e5b: LT
00000e5c: ISZERO
00000e5d: PUSH2 0x3588
00000e60: JUMPI
00000e61: PUSH1 0x20
00000e63: MUL
00000e64: ADD
00000e65: MLOAD
00000e66: DUP1
00000e67: DUP1
00000e68: ISZERO
00000e69: PUSH2 0x3588
00000e6c: JUMPI
00000e6d: DUP3
00000e6e: DIV
00000e6f: SWAP1
00000e70: POP
00000e71: SWAP1
00000e72: POP
00000e73: PUSH2 0x05a0
00000e76: MSTORE
00000e77: PUSH2 0x0460
00000e7a: PUSH2 0x0420
00000e7d: MLOAD
00000e7e: PUSH1 0x02
00000e80: DUP2
00000e81: LT
00000e82: ISZERO
00000e83: PUSH2 0x3588
00000e86: JUMPI
00000e87: PUSH1 0x20
00000e89: MUL
00000e8a: ADD
00000e8b: MLOAD
00000e8c: PUSH1 0x44
00000e8e: CALLDATALOAD
00000e8f: DUP2
00000e90: DUP2
00000e91: DUP4
00000e92: ADD
00000e93: LT
00000e94: PUSH2 0x3588
00000e97: JUMPI
00000e98: DUP1
00000e99: DUP3
00000e9a: ADD
00000e9b: SWAP1
00000e9c: POP
00000e9d: SWAP1
00000e9e: POP
00000e9f: PUSH1 0x01
00000ea1: PUSH2 0x0420
00000ea4: MLOAD
00000ea5: PUSH1 0x02
00000ea7: DUP2
00000ea8: LT
00000ea9: ISZERO
00000eaa: PUSH2 0x3588
00000ead: JUMPI
00000eae: MUL
00000eaf: PUSH1 0x03
00000eb1: ADD
00000eb2: SSTORE
00000eb3: PUSH2 0x0460
00000eb6: PUSH2 0x0440
00000eb9: MLOAD
00000eba: PUSH1 0x02
00000ebc: DUP2
00000ebd: LT
00000ebe: ISZERO
00000ebf: PUSH2 0x3588
00000ec2: JUMPI
00000ec3: PUSH1 0x20
00000ec5: MUL
00000ec6: ADD
00000ec7: MLOAD
00000ec8: PUSH2 0x0560
00000ecb: MLOAD
00000ecc: DUP1
00000ecd: DUP3
00000ece: LT
00000ecf: PUSH2 0x3588
00000ed2: JUMPI
00000ed3: DUP1
00000ed4: DUP3
00000ed5: SUB
00000ed6: SWAP1
00000ed7: POP
00000ed8: SWAP1
00000ed9: POP
00000eda: PUSH2 0x05a0
00000edd: MLOAD
00000ede: DUP1
00000edf: DUP3
00000ee0: LT
00000ee1: PUSH2 0x3588
00000ee4: JUMPI
00000ee5: DUP1
00000ee6: DUP3
00000ee7: SUB
00000ee8: SWAP1
00000ee9: POP
00000eea: SWAP1
00000eeb: POP
00000eec: PUSH1 0x01
00000eee: PUSH2 0x0440
00000ef1: MLOAD
00000ef2: PUSH1 0x02
00000ef4: DUP2
00000ef5: LT
00000ef6: ISZERO
00000ef7: PUSH2 0x3588
00000efa: JUMPI
00000efb: MUL
00000efc: PUSH1 0x03
00000efe: ADD
00000eff: SSTORE
00000f00: PUSH1 0x00
00000f02: PUSH1 0x04
00000f04: PUSH2 0x0600
00000f07: MSTORE
00000f08: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00000f29: PUSH2 0x0620
00000f2c: MSTORE
00000f2d: PUSH2 0x0600
00000f30: PUSH1 0x04
00000f32: DUP1
00000f33: PUSH1 0x20
00000f35: DUP5
00000f36: PUSH2 0x0640
00000f39: ADD
00000f3a: ADD
00000f3b: DUP3
00000f3c: PUSH1 0x20
00000f3e: DUP6
00000f3f: ADD
00000f40: PUSH1 0x04
00000f42: GAS
00000f43: STATICCALL
00000f44: POP
00000f45: POP
00000f46: DUP1
00000f47: MLOAD
00000f48: DUP3
00000f49: ADD
00000f4a: SWAP2
00000f4b: POP
00000f4c: POP
00000f4d: CALLER
00000f4e: PUSH1 0x20
00000f50: DUP3
00000f51: PUSH2 0x0640
00000f54: ADD
00000f55: ADD
00000f56: MSTORE
00000f57: PUSH1 0x20
00000f59: DUP2
00000f5a: ADD
00000f5b: SWAP1
00000f5c: POP
00000f5d: ADDRESS
00000f5e: PUSH1 0x20
00000f60: DUP3
00000f61: PUSH2 0x0640
00000f64: ADD
00000f65: ADD
00000f66: MSTORE
00000f67: PUSH1 0x20
00000f69: DUP2
00000f6a: ADD
00000f6b: SWAP1
00000f6c: POP
00000f6d: PUSH1 0x44
00000f6f: CALLDATALOAD
00000f70: PUSH1 0x20
00000f72: DUP3
00000f73: PUSH2 0x0640
00000f76: ADD
00000f77: ADD
00000f78: MSTORE
00000f79: PUSH1 0x20
00000f7b: DUP2
00000f7c: ADD
00000f7d: SWAP1
00000f7e: POP
00000f7f: DUP1
00000f80: PUSH2 0x0640
00000f83: MSTORE
00000f84: PUSH2 0x0640
00000f87: POP
00000f88: POP
00000f89: PUSH1 0x20
00000f8b: PUSH2 0x0700
00000f8e: PUSH2 0x0640
00000f91: MLOAD
00000f92: PUSH2 0x0660
00000f95: PUSH1 0x00
00000f97: PUSH1 0x01
00000f99: PUSH2 0x0420
00000f9c: MLOAD
00000f9d: PUSH1 0x02
00000f9f: DUP2
00000fa0: LT
00000fa1: ISZERO
00000fa2: PUSH2 0x3588
00000fa5: JUMPI
00000fa6: MUL
00000fa7: PUSH1 0x01
00000fa9: ADD
00000faa: SLOAD
00000fab: GAS
00000fac: CALL
00000fad: PUSH2 0x0fbb
00000fb0: JUMPI
00000fb1: RETURNDATASIZE
00000fb2: PUSH1 0x00
00000fb4: PUSH1 0x00
00000fb6: RETURNDATACOPY
00000fb7: RETURNDATASIZE
00000fb8: PUSH1 0x00
00000fba: REVERT
00000fbb: JUMPDEST
00000fbc: PUSH2 0x06e0
00000fbf: PUSH1 0x20
00000fc1: RETURNDATASIZE
00000fc2: DUP1
00000fc3: DUP3
00000fc4: GT
00000fc5: PUSH2 0x0fce
00000fc8: JUMPI
00000fc9: DUP2
00000fca: PUSH2 0x0fd0
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: DUP1
00000fd0: JUMPDEST
00000fd1: SWAP1
00000fd2: POP
00000fd3: SWAP1
00000fd4: POP
00000fd5: DUP2
00000fd6: MSTORE
00000fd7: DUP1
00000fd8: MLOAD
00000fd9: PUSH1 0x20
00000fdb: ADD
00000fdc: DUP1
00000fdd: PUSH2 0x05c0
00000fe0: DUP3
00000fe1: DUP5
00000fe2: PUSH1 0x04
00000fe4: GAS
00000fe5: STATICCALL
00000fe6: SWAP1
00000fe7: POP
00000fe8: POP
00000fe9: POP
00000fea: PUSH1 0x00
00000fec: PUSH2 0x05c0
00000fef: MLOAD
00000ff0: GT
00000ff1: ISZERO
00000ff2: PUSH2 0x1010
00000ff5: JUMPI
00000ff6: PUSH2 0x05e0
00000ff9: MLOAD
00000ffa: PUSH2 0x05c0
00000ffd: MLOAD
00000ffe: DUP2
00000fff: DUP2
00001000: PUSH1 0x20
00001002: SUB
00001003: PUSH1 0x08
00001005: MUL
00001006: SHR
00001007: SWAP1
00001008: POP
00001009: SWAP1
0000100a: POP
0000100b: ISZERO
0000100c: PUSH2 0x3588
0000100f: JUMPI
00001010: JUMPDEST
00001011: PUSH1 0x00
00001013: PUSH1 0x04
00001015: PUSH2 0x0600
00001018: MSTORE
00001019: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000103a: PUSH2 0x0620
0000103d: MSTORE
0000103e: PUSH2 0x0600
00001041: PUSH1 0x04
00001043: DUP1
00001044: PUSH1 0x20
00001046: DUP5
00001047: PUSH2 0x0640
0000104a: ADD
0000104b: ADD
0000104c: DUP3
0000104d: PUSH1 0x20
0000104f: DUP6
00001050: ADD
00001051: PUSH1 0x04
00001053: GAS
00001054: STATICCALL
00001055: POP
00001056: POP
00001057: DUP1
00001058: MLOAD
00001059: DUP3
0000105a: ADD
0000105b: SWAP2
0000105c: POP
0000105d: POP
0000105e: CALLER
0000105f: PUSH1 0x20
00001061: DUP3
00001062: PUSH2 0x0640
00001065: ADD
00001066: ADD
00001067: MSTORE
00001068: PUSH1 0x20
0000106a: DUP2
0000106b: ADD
0000106c: SWAP1
0000106d: POP
0000106e: PUSH2 0x0560
00001071: MLOAD
00001072: PUSH1 0x20
00001074: DUP3
00001075: PUSH2 0x0640
00001078: ADD
00001079: ADD
0000107a: MSTORE
0000107b: PUSH1 0x20
0000107d: DUP2
0000107e: ADD
0000107f: SWAP1
00001080: POP
00001081: DUP1
00001082: PUSH2 0x0640
00001085: MSTORE
00001086: PUSH2 0x0640
00001089: POP
0000108a: POP
0000108b: PUSH1 0x20
0000108d: PUSH2 0x06e0
00001090: PUSH2 0x0640
00001093: MLOAD
00001094: PUSH2 0x0660
00001097: PUSH1 0x00
00001099: PUSH1 0x01
0000109b: PUSH2 0x0440
0000109e: MLOAD
0000109f: PUSH1 0x02
000010a1: DUP2
000010a2: LT
000010a3: ISZERO
000010a4: PUSH2 0x3588
000010a7: JUMPI
000010a8: MUL
000010a9: PUSH1 0x01
000010ab: ADD
000010ac: SLOAD
000010ad: GAS
000010ae: CALL
000010af: PUSH2 0x10bd
000010b2: JUMPI
000010b3: RETURNDATASIZE
000010b4: PUSH1 0x00
000010b6: PUSH1 0x00
000010b8: RETURNDATACOPY
000010b9: RETURNDATASIZE
000010ba: PUSH1 0x00
000010bc: REVERT
000010bd: JUMPDEST
000010be: PUSH2 0x06c0
000010c1: PUSH1 0x20
000010c3: RETURNDATASIZE
000010c4: DUP1
000010c5: DUP3
000010c6: GT
000010c7: PUSH2 0x10d0
000010ca: JUMPI
000010cb: DUP2
000010cc: PUSH2 0x10d2
000010cf: JUMP
000010d0: JUMPDEST
000010d1: DUP1
000010d2: JUMPDEST
000010d3: SWAP1
000010d4: POP
000010d5: SWAP1
000010d6: POP
000010d7: DUP2
000010d8: MSTORE
000010d9: DUP1
000010da: MLOAD
000010db: PUSH1 0x20
000010dd: ADD
000010de: DUP1
000010df: PUSH2 0x05c0
000010e2: DUP3
000010e3: DUP5
000010e4: PUSH1 0x04
000010e6: GAS
000010e7: STATICCALL
000010e8: SWAP1
000010e9: POP
000010ea: POP
000010eb: POP
000010ec: PUSH1 0x00
000010ee: PUSH2 0x05c0
000010f1: MLOAD
000010f2: GT
000010f3: ISZERO
000010f4: PUSH2 0x1112
000010f7: JUMPI
000010f8: PUSH2 0x05e0
000010fb: MLOAD
000010fc: PUSH2 0x05c0
000010ff: MLOAD
00001100: DUP2
00001101: DUP2
00001102: PUSH1 0x20
00001104: SUB
00001105: PUSH1 0x08
00001107: MUL
00001108: SHR
00001109: SWAP1
0000110a: POP
0000110b: SWAP1
0000110c: POP
0000110d: ISZERO
0000110e: PUSH2 0x3588
00001111: JUMPI
00001112: JUMPDEST
00001113: CALLER
00001114: PUSH32 0x8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140
00001135: PUSH2 0x0420
00001138: MLOAD
00001139: PUSH2 0x0600
0000113c: MSTORE
0000113d: PUSH1 0x44
0000113f: CALLDATALOAD
00001140: PUSH2 0x0620
00001143: MSTORE
00001144: PUSH2 0x0440
00001147: MLOAD
00001148: PUSH2 0x0640
0000114b: MSTORE
0000114c: PUSH2 0x0560
0000114f: MLOAD
00001150: PUSH2 0x0660
00001153: MSTORE
00001154: PUSH1 0x80
00001156: PUSH2 0x0600
00001159: LOG2
0000115a: PUSH2 0x0560
0000115d: MLOAD
0000115e: PUSH2 0x0600
00001161: MSTORE
00001162: PUSH1 0x20
00001164: PUSH2 0x0600
00001167: PUSH1 0x00
00001169: PUSH1 0x00
0000116b: SSTORE
0000116c: RETURN
0000116d: JUMPDEST
0000116e: PUSH4 0x5b36389c
00001173: DUP2
00001174: XOR
00001175: PUSH2 0x14da
00001178: JUMPI
00001179: PUSH1 0x00
0000117b: SLOAD
0000117c: PUSH2 0x3588
0000117f: JUMPI
00001180: PUSH1 0x01
00001182: PUSH1 0x00
00001184: SSTORE
00001185: PUSH1 0x08
00001187: SLOAD
00001188: PUSH1 0xe0
0000118a: MSTORE
0000118b: PUSH4 0x18160ddd
00001190: PUSH2 0x0120
00001193: MSTORE
00001194: PUSH1 0x20
00001196: PUSH2 0x0120
00001199: PUSH1 0x04
0000119b: PUSH2 0x013c
0000119e: PUSH1 0xe0
000011a0: MLOAD
000011a1: GAS
000011a2: STATICCALL
000011a3: PUSH2 0x11b1
000011a6: JUMPI
000011a7: RETURNDATASIZE
000011a8: PUSH1 0x00
000011aa: PUSH1 0x00
000011ac: RETURNDATACOPY
000011ad: RETURNDATASIZE
000011ae: PUSH1 0x00
000011b0: REVERT
000011b1: JUMPDEST
000011b2: PUSH1 0x1f
000011b4: RETURNDATASIZE
000011b5: GT
000011b6: ISZERO
000011b7: PUSH2 0x3588
000011ba: JUMPI
000011bb: PUSH2 0x0120
000011be: MLOAD
000011bf: PUSH2 0x0100
000011c2: MSTORE
000011c3: PUSH1 0x40
000011c5: CALLDATASIZE
000011c6: PUSH2 0x0120
000011c9: CALLDATACOPY
000011ca: PUSH2 0x0160
000011cd: PUSH1 0x00
000011cf: PUSH1 0x02
000011d1: DUP2
000011d2: DUP4
000011d3: MSTORE
000011d4: ADD
000011d5: JUMPDEST
000011d6: PUSH1 0x01
000011d8: PUSH2 0x0160
000011db: MLOAD
000011dc: PUSH1 0x02
000011de: DUP2
000011df: LT
000011e0: ISZERO
000011e1: PUSH2 0x3588
000011e4: JUMPI
000011e5: MUL
000011e6: PUSH1 0x03
000011e8: ADD
000011e9: SLOAD
000011ea: PUSH2 0x0180
000011ed: MSTORE
000011ee: PUSH2 0x0180
000011f1: MLOAD
000011f2: PUSH1 0x04
000011f4: CALLDATALOAD
000011f5: DUP1
000011f6: DUP3
000011f7: MUL
000011f8: DUP3
000011f9: ISZERO
000011fa: DUP3
000011fb: DUP5
000011fc: DUP4
000011fd: DIV
000011fe: EQ
000011ff: OR
00001200: ISZERO
00001201: PUSH2 0x3588
00001204: JUMPI
00001205: SWAP1
00001206: POP
00001207: SWAP1
00001208: POP
00001209: PUSH2 0x0100
0000120c: MLOAD
0000120d: DUP1
0000120e: DUP1
0000120f: ISZERO
00001210: PUSH2 0x3588
00001213: JUMPI
00001214: DUP3
00001215: DIV
00001216: SWAP1
00001217: POP
00001218: SWAP1
00001219: POP
0000121a: PUSH2 0x01a0
0000121d: MSTORE
0000121e: PUSH1 0x20
00001220: PUSH2 0x0160
00001223: MLOAD
00001224: MUL
00001225: PUSH1 0x24
00001227: ADD
00001228: CALLDATALOAD
00001229: PUSH2 0x01a0
0000122c: MLOAD
0000122d: LT
0000122e: ISZERO
0000122f: PUSH2 0x12ce
00001232: JUMPI
00001233: PUSH1 0x30
00001235: PUSH2 0x01c0
00001238: MSTORE
00001239: PUSH32 0x5769746864726177616c20726573756c74656420696e20666577657220636f69
0000125a: PUSH2 0x01e0
0000125d: MSTORE
0000125e: PUSH32 0x6e73207468616e20657870656374656400000000000000000000000000000000
0000127f: PUSH2 0x0200
00001282: MSTORE
00001283: PUSH2 0x01c0
00001286: POP
00001287: PUSH2 0x01c0
0000128a: MLOAD
0000128b: DUP1
0000128c: PUSH2 0x01e0
0000128f: ADD
00001290: DUP2
00001291: DUP3
00001292: PUSH1 0x20
00001294: PUSH1 0x01
00001296: DUP3
00001297: SUB
00001298: MOD
00001299: PUSH1 0x1f
0000129b: DUP3
0000129c: ADD
0000129d: SUB
0000129e: SWAP1
0000129f: POP
000012a0: SUB
000012a1: CALLDATASIZE
000012a2: DUP3
000012a3: CALLDATACOPY
000012a4: POP
000012a5: POP
000012a6: PUSH4 0x08c379a0
000012ab: PUSH2 0x0180
000012ae: MSTORE
000012af: PUSH1 0x20
000012b1: PUSH2 0x01a0
000012b4: MSTORE
000012b5: PUSH2 0x01c0
000012b8: MLOAD
000012b9: PUSH1 0x20
000012bb: PUSH1 0x01
000012bd: DUP3
000012be: SUB
000012bf: MOD
000012c0: PUSH1 0x1f
000012c2: DUP3
000012c3: ADD
000012c4: SUB
000012c5: SWAP1
000012c6: POP
000012c7: PUSH1 0x44
000012c9: ADD
000012ca: PUSH2 0x019c
000012cd: REVERT
000012ce: JUMPDEST
000012cf: PUSH2 0x0180
000012d2: MLOAD
000012d3: PUSH2 0x01a0
000012d6: MLOAD
000012d7: DUP1
000012d8: DUP3
000012d9: LT
000012da: PUSH2 0x3588
000012dd: JUMPI
000012de: DUP1
000012df: DUP3
000012e0: SUB
000012e1: SWAP1
000012e2: POP
000012e3: SWAP1
000012e4: POP
000012e5: PUSH1 0x01
000012e7: PUSH2 0x0160
000012ea: MLOAD
000012eb: PUSH1 0x02
000012ed: DUP2
000012ee: LT
000012ef: ISZERO
000012f0: PUSH2 0x3588
000012f3: JUMPI
000012f4: MUL
000012f5: PUSH1 0x03
000012f7: ADD
000012f8: SSTORE
000012f9: PUSH2 0x01a0
000012fc: MLOAD
000012fd: PUSH2 0x0120
00001300: PUSH2 0x0160
00001303: MLOAD
00001304: PUSH1 0x02
00001306: DUP2
00001307: LT
00001308: ISZERO
00001309: PUSH2 0x3588
0000130c: JUMPI
0000130d: PUSH1 0x20
0000130f: MUL
00001310: ADD
00001311: MSTORE
00001312: PUSH1 0x00
00001314: PUSH1 0x04
00001316: PUSH2 0x0200
00001319: MSTORE
0000131a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000133b: PUSH2 0x0220
0000133e: MSTORE
0000133f: PUSH2 0x0200
00001342: PUSH1 0x04
00001344: DUP1
00001345: PUSH1 0x20
00001347: DUP5
00001348: PUSH2 0x0240
0000134b: ADD
0000134c: ADD
0000134d: DUP3
0000134e: PUSH1 0x20
00001350: DUP6
00001351: ADD
00001352: PUSH1 0x04
00001354: GAS
00001355: STATICCALL
00001356: POP
00001357: POP
00001358: DUP1
00001359: MLOAD
0000135a: DUP3
0000135b: ADD
0000135c: SWAP2
0000135d: POP
0000135e: POP
0000135f: CALLER
00001360: PUSH1 0x20
00001362: DUP3
00001363: PUSH2 0x0240
00001366: ADD
00001367: ADD
00001368: MSTORE
00001369: PUSH1 0x20
0000136b: DUP2
0000136c: ADD
0000136d: SWAP1
0000136e: POP
0000136f: PUSH2 0x01a0
00001372: MLOAD
00001373: PUSH1 0x20
00001375: DUP3
00001376: PUSH2 0x0240
00001379: ADD
0000137a: ADD
0000137b: MSTORE
0000137c: PUSH1 0x20
0000137e: DUP2
0000137f: ADD
00001380: SWAP1
00001381: POP
00001382: DUP1
00001383: PUSH2 0x0240
00001386: MSTORE
00001387: PUSH2 0x0240
0000138a: POP
0000138b: POP
0000138c: PUSH1 0x20
0000138e: PUSH2 0x02e0
00001391: PUSH2 0x0240
00001394: MLOAD
00001395: PUSH2 0x0260
00001398: PUSH1 0x00
0000139a: PUSH1 0x01
0000139c: PUSH2 0x0160
0000139f: MLOAD
000013a0: PUSH1 0x02
000013a2: DUP2
000013a3: LT
000013a4: ISZERO
000013a5: PUSH2 0x3588
000013a8: JUMPI
000013a9: MUL
000013aa: PUSH1 0x01
000013ac: ADD
000013ad: SLOAD
000013ae: GAS
000013af: CALL
000013b0: PUSH2 0x13be
000013b3: JUMPI
000013b4: RETURNDATASIZE
000013b5: PUSH1 0x00
000013b7: PUSH1 0x00
000013b9: RETURNDATACOPY
000013ba: RETURNDATASIZE
000013bb: PUSH1 0x00
000013bd: REVERT
000013be: JUMPDEST
000013bf: PUSH2 0x02c0
000013c2: PUSH1 0x20
000013c4: RETURNDATASIZE
000013c5: DUP1
000013c6: DUP3
000013c7: GT
000013c8: PUSH2 0x13d1
000013cb: JUMPI
000013cc: DUP2
000013cd: PUSH2 0x13d3
000013d0: JUMP
000013d1: JUMPDEST
000013d2: DUP1
000013d3: JUMPDEST
000013d4: SWAP1
000013d5: POP
000013d6: SWAP1
000013d7: POP
000013d8: DUP2
000013d9: MSTORE
000013da: DUP1
000013db: MLOAD
000013dc: PUSH1 0x20
000013de: ADD
000013df: DUP1
000013e0: PUSH2 0x01c0
000013e3: DUP3
000013e4: DUP5
000013e5: PUSH1 0x04
000013e7: GAS
000013e8: STATICCALL
000013e9: SWAP1
000013ea: POP
000013eb: POP
000013ec: POP
000013ed: PUSH1 0x00
000013ef: PUSH2 0x01c0
000013f2: MLOAD
000013f3: GT
000013f4: ISZERO
000013f5: PUSH2 0x1413
000013f8: JUMPI
000013f9: PUSH2 0x01e0
000013fc: MLOAD
000013fd: PUSH2 0x01c0
00001400: MLOAD
00001401: DUP2
00001402: DUP2
00001403: PUSH1 0x20
00001405: SUB
00001406: PUSH1 0x08
00001408: MUL
00001409: SHR
0000140a: SWAP1
0000140b: POP
0000140c: SWAP1
0000140d: POP
0000140e: ISZERO
0000140f: PUSH2 0x3588
00001412: JUMPI
00001413: JUMPDEST
00001414: DUP2
00001415: MLOAD
00001416: PUSH1 0x01
00001418: ADD
00001419: DUP1
0000141a: DUP4
0000141b: MSTORE
0000141c: DUP2
0000141d: EQ
0000141e: ISZERO
0000141f: PUSH2 0x11d5
00001422: JUMPI
00001423: POP
00001424: POP
00001425: PUSH4 0x79cc6790
0000142a: PUSH2 0x0160
0000142d: MSTORE
0000142e: CALLER
0000142f: PUSH2 0x0180
00001432: MSTORE
00001433: PUSH1 0x04
00001435: CALLDATALOAD
00001436: PUSH2 0x01a0
00001439: MSTORE
0000143a: PUSH1 0x20
0000143c: PUSH2 0x0160
0000143f: PUSH1 0x44
00001441: PUSH2 0x017c
00001444: PUSH1 0x00
00001446: PUSH1 0xe0
00001448: MLOAD
00001449: GAS
0000144a: CALL
0000144b: PUSH2 0x1459
0000144e: JUMPI
0000144f: RETURNDATASIZE
00001450: PUSH1 0x00
00001452: PUSH1 0x00
00001454: RETURNDATACOPY
00001455: RETURNDATASIZE
00001456: PUSH1 0x00
00001458: REVERT
00001459: JUMPDEST
0000145a: PUSH1 0x1f
0000145c: RETURNDATASIZE
0000145d: GT
0000145e: ISZERO
0000145f: PUSH2 0x3588
00001462: JUMPI
00001463: PUSH2 0x0160
00001466: POP
00001467: CALLER
00001468: PUSH32 0x7c363854ccf79623411f8995b362bce5eddff18c927edc6f5dbbb5e05819a82c
00001489: PUSH2 0x0120
0000148c: MLOAD
0000148d: PUSH2 0x0160
00001490: MSTORE
00001491: PUSH2 0x0140
00001494: MLOAD
00001495: PUSH2 0x0180
00001498: MSTORE
00001499: PUSH1 0x40
0000149b: CALLDATASIZE
0000149c: PUSH2 0x01a0
0000149f: CALLDATACOPY
000014a0: PUSH2 0x0100
000014a3: MLOAD
000014a4: PUSH1 0x04
000014a6: CALLDATALOAD
000014a7: DUP1
000014a8: DUP3
000014a9: LT
000014aa: PUSH2 0x3588
000014ad: JUMPI
000014ae: DUP1
000014af: DUP3
000014b0: SUB
000014b1: SWAP1
000014b2: POP
000014b3: SWAP1
000014b4: POP
000014b5: PUSH2 0x01e0
000014b8: MSTORE
000014b9: PUSH1 0xa0
000014bb: PUSH2 0x0160
000014be: LOG2
000014bf: PUSH2 0x0120
000014c2: MLOAD
000014c3: PUSH2 0x0160
000014c6: MSTORE
000014c7: PUSH2 0x0140
000014ca: MLOAD
000014cb: PUSH2 0x0180
000014ce: MSTORE
000014cf: PUSH1 0x40
000014d1: PUSH2 0x0160
000014d4: PUSH1 0x00
000014d6: PUSH1 0x00
000014d8: SSTORE
000014d9: RETURN
000014da: JUMPDEST
000014db: PUSH4 0xe3103273
000014e0: DUP2
000014e1: XOR
000014e2: PUSH2 0x1af0
000014e5: JUMPI
000014e6: PUSH1 0x00
000014e8: SLOAD
000014e9: PUSH2 0x3588
000014ec: JUMPI
000014ed: PUSH1 0x01
000014ef: PUSH1 0x00
000014f1: SSTORE
000014f2: PUSH1 0x12
000014f4: SLOAD
000014f5: PUSH2 0x3588
000014f8: JUMPI
000014f9: PUSH2 0x1503
000014fc: PUSH2 0x0380
000014ff: PUSH2 0x269e
00001502: JUMP
00001503: JUMPDEST
00001504: PUSH2 0x0380
00001507: MLOAD
00001508: PUSH2 0x0360
0000150b: MSTORE
0000150c: PUSH1 0x03
0000150e: SLOAD
0000150f: PUSH2 0x0380
00001512: MSTORE
00001513: PUSH1 0x04
00001515: SLOAD
00001516: PUSH2 0x03a0
00001519: MSTORE
0000151a: PUSH2 0x0380
0000151d: MLOAD
0000151e: PUSH2 0x0240
00001521: MSTORE
00001522: PUSH2 0x03a0
00001525: MLOAD
00001526: PUSH2 0x0260
00001529: MSTORE
0000152a: PUSH2 0x0360
0000152d: MLOAD
0000152e: PUSH2 0x0280
00001531: MSTORE
00001532: PUSH2 0x153c
00001535: PUSH2 0x03e0
00001538: PUSH2 0x2ba2
0000153b: JUMP
0000153c: JUMPDEST
0000153d: PUSH2 0x03e0
00001540: MLOAD
00001541: PUSH2 0x03c0
00001544: MSTORE
00001545: PUSH2 0x0380
00001548: MLOAD
00001549: PUSH2 0x03e0
0000154c: MSTORE
0000154d: PUSH2 0x03a0
00001550: MLOAD
00001551: PUSH2 0x0400
00001554: MSTORE
00001555: PUSH2 0x0420
00001558: PUSH1 0x00
0000155a: PUSH1 0x02
0000155c: DUP2
0000155d: DUP4
0000155e: MSTORE
0000155f: ADD
00001560: JUMPDEST
00001561: PUSH2 0x03e0
00001564: PUSH2 0x0420
00001567: MLOAD
00001568: PUSH1 0x02
0000156a: DUP2
0000156b: LT
0000156c: ISZERO
0000156d: PUSH2 0x3588
00001570: JUMPI
00001571: PUSH1 0x20
00001573: MUL
00001574: ADD
00001575: DUP1
00001576: MLOAD
00001577: PUSH1 0x20
00001579: PUSH2 0x0420
0000157c: MLOAD
0000157d: MUL
0000157e: PUSH1 0x04
00001580: ADD
00001581: CALLDATALOAD
00001582: DUP1
00001583: DUP3
00001584: LT
00001585: PUSH2 0x3588
00001588: JUMPI
00001589: DUP1
0000158a: DUP3
0000158b: SUB
0000158c: SWAP1
0000158d: POP
0000158e: SWAP1
0000158f: POP
00001590: DUP2
00001591: MSTORE
00001592: POP
00001593: DUP2
00001594: MLOAD
00001595: PUSH1 0x01
00001597: ADD
00001598: DUP1
00001599: DUP4
0000159a: MSTORE
0000159b: DUP2
0000159c: EQ
0000159d: ISZERO
0000159e: PUSH2 0x1560
000015a1: JUMPI
000015a2: POP
000015a3: POP
000015a4: PUSH2 0x03e0
000015a7: MLOAD
000015a8: PUSH2 0x0240
000015ab: MSTORE
000015ac: PUSH2 0x0400
000015af: MLOAD
000015b0: PUSH2 0x0260
000015b3: MSTORE
000015b4: PUSH2 0x0360
000015b7: MLOAD
000015b8: PUSH2 0x0280
000015bb: MSTORE
000015bc: PUSH2 0x15c6
000015bf: PUSH2 0x0440
000015c2: PUSH2 0x2ba2
000015c5: JUMP
000015c6: JUMPDEST
000015c7: PUSH2 0x0440
000015ca: MLOAD
000015cb: PUSH2 0x0420
000015ce: MSTORE
000015cf: PUSH1 0x05
000015d1: SLOAD
000015d2: PUSH1 0x02
000015d4: DUP1
000015d5: DUP3
000015d6: MUL
000015d7: DUP3
000015d8: ISZERO
000015d9: DUP3
000015da: DUP5
000015db: DUP4
000015dc: DIV
000015dd: EQ
000015de: OR
000015df: ISZERO
000015e0: PUSH2 0x3588
000015e3: JUMPI
000015e4: SWAP1
000015e5: POP
000015e6: SWAP1
000015e7: POP
000015e8: PUSH1 0x04
000015ea: DUP1
000015eb: DUP3
000015ec: DIV
000015ed: SWAP1
000015ee: POP
000015ef: SWAP1
000015f0: POP
000015f1: PUSH2 0x0440
000015f4: MSTORE
000015f5: PUSH1 0x06
000015f7: SLOAD
000015f8: PUSH2 0x0460
000015fb: MSTORE
000015fc: PUSH1 0x40
000015fe: CALLDATASIZE
000015ff: PUSH2 0x0480
00001602: CALLDATACOPY
00001603: PUSH2 0x04c0
00001606: PUSH1 0x00
00001608: PUSH1 0x02
0000160a: DUP2
0000160b: DUP4
0000160c: MSTORE
0000160d: ADD
0000160e: JUMPDEST
0000160f: PUSH2 0x03e0
00001612: PUSH2 0x04c0
00001615: MLOAD
00001616: PUSH1 0x02
00001618: DUP2
00001619: LT
0000161a: ISZERO
0000161b: PUSH2 0x3588
0000161e: JUMPI
0000161f: PUSH1 0x20
00001621: MUL
00001622: ADD
00001623: MLOAD
00001624: PUSH2 0x04e0
00001627: MSTORE
00001628: PUSH2 0x0420
0000162b: MLOAD
0000162c: PUSH2 0x0380
0000162f: PUSH2 0x04c0
00001632: MLOAD
00001633: PUSH1 0x02
00001635: DUP2
00001636: LT
00001637: ISZERO
00001638: PUSH2 0x3588
0000163b: JUMPI
0000163c: PUSH1 0x20
0000163e: MUL
0000163f: ADD
00001640: MLOAD
00001641: DUP1
00001642: DUP3
00001643: MUL
00001644: DUP3
00001645: ISZERO
00001646: DUP3
00001647: DUP5
00001648: DUP4
00001649: DIV
0000164a: EQ
0000164b: OR
0000164c: ISZERO
0000164d: PUSH2 0x3588
00001650: JUMPI
00001651: SWAP1
00001652: POP
00001653: SWAP1
00001654: POP
00001655: PUSH2 0x03c0
00001658: MLOAD
00001659: DUP1
0000165a: DUP1
0000165b: ISZERO
0000165c: PUSH2 0x3588
0000165f: JUMPI
00001660: DUP3
00001661: DIV
00001662: SWAP1
00001663: POP
00001664: SWAP1
00001665: POP
00001666: PUSH2 0x0500
00001669: MSTORE
0000166a: PUSH1 0x00
0000166c: PUSH2 0x0520
0000166f: MSTORE
00001670: PUSH2 0x04e0
00001673: MLOAD
00001674: PUSH2 0x0500
00001677: MLOAD
00001678: GT
00001679: PUSH2 0x169b
0000167c: JUMPI
0000167d: PUSH2 0x04e0
00001680: MLOAD
00001681: PUSH2 0x0500
00001684: MLOAD
00001685: DUP1
00001686: DUP3
00001687: LT
00001688: PUSH2 0x3588
0000168b: JUMPI
0000168c: DUP1
0000168d: DUP3
0000168e: SUB
0000168f: SWAP1
00001690: POP
00001691: SWAP1
00001692: POP
00001693: PUSH2 0x0520
00001696: MSTORE
00001697: PUSH2 0x16b6
0000169a: JUMP
0000169b: JUMPDEST
0000169c: PUSH2 0x0500
0000169f: MLOAD
000016a0: PUSH2 0x04e0
000016a3: MLOAD
000016a4: DUP1
000016a5: DUP3
000016a6: LT
000016a7: PUSH2 0x3588
000016aa: JUMPI
000016ab: DUP1
000016ac: DUP3
000016ad: SUB
000016ae: SWAP1
000016af: POP
000016b0: SWAP1
000016b1: POP
000016b2: PUSH2 0x0520
000016b5: MSTORE
000016b6: JUMPDEST
000016b7: PUSH2 0x0440
000016ba: MLOAD
000016bb: PUSH2 0x0520
000016be: MLOAD
000016bf: DUP1
000016c0: DUP3
000016c1: MUL
000016c2: DUP3
000016c3: ISZERO
000016c4: DUP3
000016c5: DUP5
000016c6: DUP4
000016c7: DIV
000016c8: EQ
000016c9: OR
000016ca: ISZERO
000016cb: PUSH2 0x3588
000016ce: JUMPI
000016cf: SWAP1
000016d0: POP
000016d1: SWAP1
000016d2: POP
000016d3: PUSH5 0x02540be400
000016d9: DUP1
000016da: DUP3
000016db: DIV
000016dc: SWAP1
000016dd: POP
000016de: SWAP1
000016df: POP
000016e0: PUSH2 0x0480
000016e3: PUSH2 0x04c0
000016e6: MLOAD
000016e7: PUSH1 0x02
000016e9: DUP2
000016ea: LT
000016eb: ISZERO
000016ec: PUSH2 0x3588
000016ef: JUMPI
000016f0: PUSH1 0x20
000016f2: MUL
000016f3: ADD
000016f4: MSTORE
000016f5: PUSH2 0x04e0
000016f8: MLOAD
000016f9: PUSH2 0x0480
000016fc: PUSH2 0x04c0
000016ff: MLOAD
00001700: PUSH1 0x02
00001702: DUP2
00001703: LT
00001704: ISZERO
00001705: PUSH2 0x3588
00001708: JUMPI
00001709: PUSH1 0x20
0000170b: MUL
0000170c: ADD
0000170d: MLOAD
0000170e: PUSH2 0x0460
00001711: MLOAD
00001712: DUP1
00001713: DUP3
00001714: MUL
00001715: DUP3
00001716: ISZERO
00001717: DUP3
00001718: DUP5
00001719: DUP4
0000171a: DIV
0000171b: EQ
0000171c: OR
0000171d: ISZERO
0000171e: PUSH2 0x3588
00001721: JUMPI
00001722: SWAP1
00001723: POP
00001724: SWAP1
00001725: POP
00001726: PUSH5 0x02540be400
0000172c: DUP1
0000172d: DUP3
0000172e: DIV
0000172f: SWAP1
00001730: POP
00001731: SWAP1
00001732: POP
00001733: DUP1
00001734: DUP3
00001735: LT
00001736: PUSH2 0x3588
00001739: JUMPI
0000173a: DUP1
0000173b: DUP3
0000173c: SUB
0000173d: SWAP1
0000173e: POP
0000173f: SWAP1
00001740: POP
00001741: PUSH1 0x01
00001743: PUSH2 0x04c0
00001746: MLOAD
00001747: PUSH1 0x02
00001749: DUP2
0000174a: LT
0000174b: ISZERO
0000174c: PUSH2 0x3588
0000174f: JUMPI
00001750: MUL
00001751: PUSH1 0x03
00001753: ADD
00001754: SSTORE
00001755: PUSH2 0x04e0
00001758: MLOAD
00001759: PUSH2 0x0480
0000175c: PUSH2 0x04c0
0000175f: MLOAD
00001760: PUSH1 0x02
00001762: DUP2
00001763: LT
00001764: ISZERO
00001765: PUSH2 0x3588
00001768: JUMPI
00001769: PUSH1 0x20
0000176b: MUL
0000176c: ADD
0000176d: MLOAD
0000176e: DUP1
0000176f: DUP3
00001770: LT
00001771: PUSH2 0x3588
00001774: JUMPI
00001775: DUP1
00001776: DUP3
00001777: SUB
00001778: SWAP1
00001779: POP
0000177a: SWAP1
0000177b: POP
0000177c: PUSH2 0x03e0
0000177f: PUSH2 0x04c0
00001782: MLOAD
00001783: PUSH1 0x02
00001785: DUP2
00001786: LT
00001787: ISZERO
00001788: PUSH2 0x3588
0000178b: JUMPI
0000178c: PUSH1 0x20
0000178e: MUL
0000178f: ADD
00001790: MSTORE
00001791: DUP2
00001792: MLOAD
00001793: PUSH1 0x01
00001795: ADD
00001796: DUP1
00001797: DUP4
00001798: MSTORE
00001799: DUP2
0000179a: EQ
0000179b: ISZERO
0000179c: PUSH2 0x160e
0000179f: JUMPI
000017a0: POP
000017a1: POP
000017a2: PUSH2 0x03e0
000017a5: MLOAD
000017a6: PUSH2 0x0240
000017a9: MSTORE
000017aa: PUSH2 0x0400
000017ad: MLOAD
000017ae: PUSH2 0x0260
000017b1: MSTORE
000017b2: PUSH2 0x0360
000017b5: MLOAD
000017b6: PUSH2 0x0280
000017b9: MSTORE
000017ba: PUSH2 0x17c4
000017bd: PUSH2 0x04e0
000017c0: PUSH2 0x2ba2
000017c3: JUMP
000017c4: JUMPDEST
000017c5: PUSH2 0x04e0
000017c8: MLOAD
000017c9: PUSH2 0x04c0
000017cc: MSTORE
000017cd: PUSH1 0x08
000017cf: SLOAD
000017d0: PUSH2 0x04e0
000017d3: MSTORE
000017d4: PUSH4 0x18160ddd
000017d9: PUSH2 0x0520
000017dc: MSTORE
000017dd: PUSH1 0x20
000017df: PUSH2 0x0520
000017e2: PUSH1 0x04
000017e4: PUSH2 0x053c
000017e7: PUSH2 0x04e0
000017ea: MLOAD
000017eb: GAS
000017ec: STATICCALL
000017ed: PUSH2 0x17fb
000017f0: JUMPI
000017f1: RETURNDATASIZE
000017f2: PUSH1 0x00
000017f4: PUSH1 0x00
000017f6: RETURNDATACOPY
000017f7: RETURNDATASIZE
000017f8: PUSH1 0x00
000017fa: REVERT
000017fb: JUMPDEST
000017fc: PUSH1 0x1f
000017fe: RETURNDATASIZE
000017ff: GT
00001800: ISZERO
00001801: PUSH2 0x3588
00001804: JUMPI
00001805: PUSH2 0x0520
00001808: MLOAD
00001809: PUSH2 0x0500
0000180c: MSTORE
0000180d: PUSH2 0x03c0
00001810: MLOAD
00001811: PUSH2 0x04c0
00001814: MLOAD
00001815: DUP1
00001816: DUP3
00001817: LT
00001818: PUSH2 0x3588
0000181b: JUMPI
0000181c: DUP1
0000181d: DUP3
0000181e: SUB
0000181f: SWAP1
00001820: POP
00001821: SWAP1
00001822: POP
00001823: PUSH2 0x0500
00001826: MLOAD
00001827: DUP1
00001828: DUP3
00001829: MUL
0000182a: DUP3
0000182b: ISZERO
0000182c: DUP3
0000182d: DUP5
0000182e: DUP4
0000182f: DIV
00001830: EQ
00001831: OR
00001832: ISZERO
00001833: PUSH2 0x3588
00001836: JUMPI
00001837: SWAP1
00001838: POP
00001839: SWAP1
0000183a: POP
0000183b: PUSH2 0x03c0
0000183e: MLOAD
0000183f: DUP1
00001840: DUP1
00001841: ISZERO
00001842: PUSH2 0x3588
00001845: JUMPI
00001846: DUP3
00001847: DIV
00001848: SWAP1
00001849: POP
0000184a: SWAP1
0000184b: POP
0000184c: PUSH2 0x0520
0000184f: MSTORE
00001850: PUSH1 0x00
00001852: PUSH2 0x0520
00001855: MLOAD
00001856: EQ
00001857: PUSH2 0x3588
0000185a: JUMPI
0000185b: PUSH2 0x0520
0000185e: DUP1
0000185f: MLOAD
00001860: PUSH1 0x01
00001862: DUP2
00001863: DUP2
00001864: DUP4
00001865: ADD
00001866: LT
00001867: PUSH2 0x3588
0000186a: JUMPI
0000186b: DUP1
0000186c: DUP3
0000186d: ADD
0000186e: SWAP1
0000186f: POP
00001870: SWAP1
00001871: POP
00001872: DUP2
00001873: MSTORE
00001874: POP
00001875: PUSH1 0x44
00001877: CALLDATALOAD
00001878: PUSH2 0x0520
0000187b: MLOAD
0000187c: GT
0000187d: ISZERO
0000187e: PUSH2 0x18f8
00001881: JUMPI
00001882: PUSH1 0x14
00001884: PUSH2 0x0540
00001887: MSTORE
00001888: PUSH32 0x536c697070616765207363726577656420796f75000000000000000000000000
000018a9: PUSH2 0x0560
000018ac: MSTORE
000018ad: PUSH2 0x0540
000018b0: POP
000018b1: PUSH2 0x0540
000018b4: MLOAD
000018b5: DUP1
000018b6: PUSH2 0x0560
000018b9: ADD
000018ba: DUP2
000018bb: DUP3
000018bc: PUSH1 0x20
000018be: PUSH1 0x01
000018c0: DUP3
000018c1: SUB
000018c2: MOD
000018c3: PUSH1 0x1f
000018c5: DUP3
000018c6: ADD
000018c7: SUB
000018c8: SWAP1
000018c9: POP
000018ca: SUB
000018cb: CALLDATASIZE
000018cc: DUP3
000018cd: CALLDATACOPY
000018ce: POP
000018cf: POP
000018d0: PUSH4 0x08c379a0
000018d5: PUSH2 0x0500
000018d8: MSTORE
000018d9: PUSH1 0x20
000018db: PUSH2 0x0520
000018de: MSTORE
000018df: PUSH2 0x0540
000018e2: MLOAD
000018e3: PUSH1 0x20
000018e5: PUSH1 0x01
000018e7: DUP3
000018e8: SUB
000018e9: MOD
000018ea: PUSH1 0x1f
000018ec: DUP3
000018ed: ADD
000018ee: SUB
000018ef: SWAP1
000018f0: POP
000018f1: PUSH1 0x44
000018f3: ADD
000018f4: PUSH2 0x051c
000018f7: REVERT
000018f8: JUMPDEST
000018f9: PUSH4 0x79cc6790
000018fe: PUSH2 0x0540
00001901: MSTORE
00001902: CALLER
00001903: PUSH2 0x0560
00001906: MSTORE
00001907: PUSH2 0x0520
0000190a: MLOAD
0000190b: PUSH2 0x0580
0000190e: MSTORE
0000190f: PUSH1 0x20
00001911: PUSH2 0x0540
00001914: PUSH1 0x44
00001916: PUSH2 0x055c
00001919: PUSH1 0x00
0000191b: PUSH2 0x04e0
0000191e: MLOAD
0000191f: GAS
00001920: CALL
00001921: PUSH2 0x192f
00001924: JUMPI
00001925: RETURNDATASIZE
00001926: PUSH1 0x00
00001928: PUSH1 0x00
0000192a: RETURNDATACOPY
0000192b: RETURNDATASIZE
0000192c: PUSH1 0x00
0000192e: REVERT
0000192f: JUMPDEST
00001930: PUSH1 0x1f
00001932: RETURNDATASIZE
00001933: GT
00001934: ISZERO
00001935: PUSH2 0x3588
00001938: JUMPI
00001939: PUSH2 0x0540
0000193c: POP
0000193d: PUSH2 0x0540
00001940: PUSH1 0x00
00001942: PUSH1 0x02
00001944: DUP2
00001945: DUP4
00001946: MSTORE
00001947: ADD
00001948: JUMPDEST
00001949: PUSH1 0x00
0000194b: PUSH1 0x20
0000194d: PUSH2 0x0540
00001950: MLOAD
00001951: MUL
00001952: PUSH1 0x04
00001954: ADD
00001955: CALLDATALOAD
00001956: EQ
00001957: PUSH2 0x1a63
0000195a: JUMPI
0000195b: PUSH1 0x00
0000195d: PUSH1 0x04
0000195f: PUSH2 0x05a0
00001962: MSTORE
00001963: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00001984: PUSH2 0x05c0
00001987: MSTORE
00001988: PUSH2 0x05a0
0000198b: PUSH1 0x04
0000198d: DUP1
0000198e: PUSH1 0x20
00001990: DUP5
00001991: PUSH2 0x05e0
00001994: ADD
00001995: ADD
00001996: DUP3
00001997: PUSH1 0x20
00001999: DUP6
0000199a: ADD
0000199b: PUSH1 0x04
0000199d: GAS
0000199e: STATICCALL
0000199f: POP
000019a0: POP
000019a1: DUP1
000019a2: MLOAD
000019a3: DUP3
000019a4: ADD
000019a5: SWAP2
000019a6: POP
000019a7: POP
000019a8: CALLER
000019a9: PUSH1 0x20
000019ab: DUP3
000019ac: PUSH2 0x05e0
000019af: ADD
000019b0: ADD
000019b1: MSTORE
000019b2: PUSH1 0x20
000019b4: DUP2
000019b5: ADD
000019b6: SWAP1
000019b7: POP
000019b8: PUSH1 0x20
000019ba: PUSH2 0x0540
000019bd: MLOAD
000019be: MUL
000019bf: PUSH1 0x04
000019c1: ADD
000019c2: CALLDATALOAD
000019c3: PUSH1 0x20
000019c5: DUP3
000019c6: PUSH2 0x05e0
000019c9: ADD
000019ca: ADD
000019cb: MSTORE
000019cc: PUSH1 0x20
000019ce: DUP2
000019cf: ADD
000019d0: SWAP1
000019d1: POP
000019d2: DUP1
000019d3: PUSH2 0x05e0
000019d6: MSTORE
000019d7: PUSH2 0x05e0
000019da: POP
000019db: POP
000019dc: PUSH1 0x20
000019de: PUSH2 0x0680
000019e1: PUSH2 0x05e0
000019e4: MLOAD
000019e5: PUSH2 0x0600
000019e8: PUSH1 0x00
000019ea: PUSH1 0x01
000019ec: PUSH2 0x0540
000019ef: MLOAD
000019f0: PUSH1 0x02
000019f2: DUP2
000019f3: LT
000019f4: ISZERO
000019f5: PUSH2 0x3588
000019f8: JUMPI
000019f9: MUL
000019fa: PUSH1 0x01
000019fc: ADD
000019fd: SLOAD
000019fe: GAS
000019ff: CALL
00001a00: PUSH2 0x1a0e
00001a03: JUMPI
00001a04: RETURNDATASIZE
00001a05: PUSH1 0x00
00001a07: PUSH1 0x00
00001a09: RETURNDATACOPY
00001a0a: RETURNDATASIZE
00001a0b: PUSH1 0x00
00001a0d: REVERT
00001a0e: JUMPDEST
00001a0f: PUSH2 0x0660
00001a12: PUSH1 0x20
00001a14: RETURNDATASIZE
00001a15: DUP1
00001a16: DUP3
00001a17: GT
00001a18: PUSH2 0x1a21
00001a1b: JUMPI
00001a1c: DUP2
00001a1d: PUSH2 0x1a23
00001a20: JUMP
00001a21: JUMPDEST
00001a22: DUP1
00001a23: JUMPDEST
00001a24: SWAP1
00001a25: POP
00001a26: SWAP1
00001a27: POP
00001a28: DUP2
00001a29: MSTORE
00001a2a: DUP1
00001a2b: MLOAD
00001a2c: PUSH1 0x20
00001a2e: ADD
00001a2f: DUP1
00001a30: PUSH2 0x0560
00001a33: DUP3
00001a34: DUP5
00001a35: PUSH1 0x04
00001a37: GAS
00001a38: STATICCALL
00001a39: SWAP1
00001a3a: POP
00001a3b: POP
00001a3c: POP
00001a3d: PUSH1 0x00
00001a3f: PUSH2 0x0560
00001a42: MLOAD
00001a43: GT
00001a44: ISZERO
00001a45: PUSH2 0x1a63
00001a48: JUMPI
00001a49: PUSH2 0x0580
00001a4c: MLOAD
00001a4d: PUSH2 0x0560
00001a50: MLOAD
00001a51: DUP2
00001a52: DUP2
00001a53: PUSH1 0x20
00001a55: SUB
00001a56: PUSH1 0x08
00001a58: MUL
00001a59: SHR
00001a5a: SWAP1
00001a5b: POP
00001a5c: SWAP1
00001a5d: POP
00001a5e: ISZERO
00001a5f: PUSH2 0x3588
00001a62: JUMPI
00001a63: JUMPDEST
00001a64: DUP2
00001a65: MLOAD
00001a66: PUSH1 0x01
00001a68: ADD
00001a69: DUP1
00001a6a: DUP4
00001a6b: MSTORE
00001a6c: DUP2
00001a6d: EQ
00001a6e: ISZERO
00001a6f: PUSH2 0x1948
00001a72: JUMPI
00001a73: POP
00001a74: POP
00001a75: CALLER
00001a76: PUSH32 0x2b5508378d7e19e0d5fa338419034731416c4f5b219a10379956f764317fd47e
00001a97: PUSH1 0x04
00001a99: CALLDATALOAD
00001a9a: PUSH2 0x0540
00001a9d: MSTORE
00001a9e: PUSH1 0x24
00001aa0: CALLDATALOAD
00001aa1: PUSH2 0x0560
00001aa4: MSTORE
00001aa5: PUSH2 0x0480
00001aa8: MLOAD
00001aa9: PUSH2 0x0580
00001aac: MSTORE
00001aad: PUSH2 0x04a0
00001ab0: MLOAD
00001ab1: PUSH2 0x05a0
00001ab4: MSTORE
00001ab5: PUSH2 0x0420
00001ab8: MLOAD
00001ab9: PUSH2 0x05c0
00001abc: MSTORE
00001abd: PUSH2 0x0500
00001ac0: MLOAD
00001ac1: PUSH2 0x0520
00001ac4: MLOAD
00001ac5: DUP1
00001ac6: DUP3
00001ac7: LT
00001ac8: PUSH2 0x3588
00001acb: JUMPI
00001acc: DUP1
00001acd: DUP3
00001ace: SUB
00001acf: SWAP1
00001ad0: POP
00001ad1: SWAP1
00001ad2: POP
00001ad3: PUSH2 0x05e0
00001ad6: MSTORE
00001ad7: PUSH1 0xc0
00001ad9: PUSH2 0x0540
00001adc: LOG2
00001add: PUSH2 0x0520
00001ae0: MLOAD
00001ae1: PUSH2 0x0540
00001ae4: MSTORE
00001ae5: PUSH1 0x20
00001ae7: PUSH2 0x0540
00001aea: PUSH1 0x00
00001aec: PUSH1 0x00
00001aee: SSTORE
00001aef: RETURN
00001af0: JUMPDEST
00001af1: PUSH4 0xcc2b27d7
00001af6: DUP2
00001af7: XOR
00001af8: PUSH2 0x1b38
00001afb: JUMPI
00001afc: PUSH1 0x24
00001afe: CALLDATALOAD
00001aff: DUP1
00001b00: PUSH1 0x80
00001b02: SAR
00001b03: DUP2
00001b04: PUSH1 0x7f
00001b06: SAR
00001b07: XOR
00001b08: PUSH2 0x3588
00001b0b: JUMPI
00001b0c: PUSH2 0x0480
00001b0f: MSTORE
00001b10: PUSH1 0x04
00001b12: CALLDATALOAD
00001b13: PUSH2 0x0280
00001b16: MSTORE
00001b17: PUSH2 0x0480
00001b1a: MLOAD
00001b1b: PUSH2 0x02a0
00001b1e: MSTORE
00001b1f: PUSH2 0x1b29
00001b22: PUSH2 0x04a0
00001b25: PUSH2 0x31e2
00001b28: JUMP
00001b29: JUMPDEST
00001b2a: PUSH2 0x04a0
00001b2d: MLOAD
00001b2e: PUSH2 0x0500
00001b31: MSTORE
00001b32: PUSH1 0x20
00001b34: PUSH2 0x0500
00001b37: RETURN
00001b38: JUMPDEST
00001b39: PUSH4 0x1a4d01d2
00001b3e: DUP2
00001b3f: XOR
00001b40: PUSH2 0x1e35
00001b43: JUMPI
00001b44: PUSH1 0x24
00001b46: CALLDATALOAD
00001b47: DUP1
00001b48: PUSH1 0x80
00001b4a: SAR
00001b4b: DUP2
00001b4c: PUSH1 0x7f
00001b4e: SAR
00001b4f: XOR
00001b50: PUSH2 0x3588
00001b53: JUMPI
00001b54: PUSH2 0x0480
00001b57: MSTORE
00001b58: PUSH1 0x00
00001b5a: SLOAD
00001b5b: PUSH2 0x3588
00001b5e: JUMPI
00001b5f: PUSH1 0x01
00001b61: PUSH1 0x00
00001b63: SSTORE
00001b64: PUSH1 0x12
00001b66: SLOAD
00001b67: PUSH2 0x3588
00001b6a: JUMPI
00001b6b: PUSH1 0x60
00001b6d: CALLDATASIZE
00001b6e: PUSH2 0x04a0
00001b71: CALLDATACOPY
00001b72: PUSH1 0x04
00001b74: CALLDATALOAD
00001b75: PUSH2 0x0280
00001b78: MSTORE
00001b79: PUSH2 0x0480
00001b7c: MLOAD
00001b7d: PUSH2 0x02a0
00001b80: MSTORE
00001b81: PUSH2 0x1b8b
00001b84: PUSH2 0x0500
00001b87: PUSH2 0x31e2
00001b8a: JUMP
00001b8b: JUMPDEST
00001b8c: PUSH2 0x0500
00001b8f: DUP1
00001b90: MLOAD
00001b91: PUSH2 0x04a0
00001b94: MSTORE
00001b95: PUSH1 0x20
00001b97: DUP2
00001b98: ADD
00001b99: MLOAD
00001b9a: PUSH2 0x04c0
00001b9d: MSTORE
00001b9e: PUSH1 0x40
00001ba0: DUP2
00001ba1: ADD
00001ba2: MLOAD
00001ba3: PUSH2 0x04e0
00001ba6: MSTORE
00001ba7: POP
00001ba8: PUSH1 0x44
00001baa: CALLDATALOAD
00001bab: PUSH2 0x04a0
00001bae: MLOAD
00001baf: LT
00001bb0: ISZERO
00001bb1: PUSH2 0x1c2b
00001bb4: JUMPI
00001bb5: PUSH1 0x18
00001bb7: PUSH2 0x0500
00001bba: MSTORE
00001bbb: PUSH32 0x4e6f7420656e6f75676820636f696e732072656d6f7665640000000000000000
00001bdc: PUSH2 0x0520
00001bdf: MSTORE
00001be0: PUSH2 0x0500
00001be3: POP
00001be4: PUSH2 0x0500
00001be7: MLOAD
00001be8: DUP1
00001be9: PUSH2 0x0520
00001bec: ADD
00001bed: DUP2
00001bee: DUP3
00001bef: PUSH1 0x20
00001bf1: PUSH1 0x01
00001bf3: DUP3
00001bf4: SUB
00001bf5: MOD
00001bf6: PUSH1 0x1f
00001bf8: DUP3
00001bf9: ADD
00001bfa: SUB
00001bfb: SWAP1
00001bfc: POP
00001bfd: SUB
00001bfe: CALLDATASIZE
00001bff: DUP3
00001c00: CALLDATACOPY
00001c01: POP
00001c02: POP
00001c03: PUSH4 0x08c379a0
00001c08: PUSH2 0x04c0
00001c0b: MSTORE
00001c0c: PUSH1 0x20
00001c0e: PUSH2 0x04e0
00001c11: MSTORE
00001c12: PUSH2 0x0500
00001c15: MLOAD
00001c16: PUSH1 0x20
00001c18: PUSH1 0x01
00001c1a: DUP3
00001c1b: SUB
00001c1c: MOD
00001c1d: PUSH1 0x1f
00001c1f: DUP3
00001c20: ADD
00001c21: SUB
00001c22: SWAP1
00001c23: POP
00001c24: PUSH1 0x44
00001c26: ADD
00001c27: PUSH2 0x04dc
00001c2a: REVERT
00001c2b: JUMPDEST
00001c2c: PUSH1 0x01
00001c2e: PUSH2 0x0480
00001c31: MLOAD
00001c32: PUSH1 0x02
00001c34: DUP2
00001c35: LT
00001c36: ISZERO
00001c37: PUSH2 0x3588
00001c3a: JUMPI
00001c3b: MUL
00001c3c: PUSH1 0x03
00001c3e: ADD
00001c3f: DUP1
00001c40: SLOAD
00001c41: PUSH2 0x04a0
00001c44: MLOAD
00001c45: PUSH2 0x04c0
00001c48: MLOAD
00001c49: PUSH1 0x06
00001c4b: SLOAD
00001c4c: DUP1
00001c4d: DUP3
00001c4e: MUL
00001c4f: DUP3
00001c50: ISZERO
00001c51: DUP3
00001c52: DUP5
00001c53: DUP4
00001c54: DIV
00001c55: EQ
00001c56: OR
00001c57: ISZERO
00001c58: PUSH2 0x3588
00001c5b: JUMPI
00001c5c: SWAP1
00001c5d: POP
00001c5e: SWAP1
00001c5f: POP
00001c60: PUSH5 0x02540be400
00001c66: DUP1
00001c67: DUP3
00001c68: DIV
00001c69: SWAP1
00001c6a: POP
00001c6b: SWAP1
00001c6c: POP
00001c6d: DUP2
00001c6e: DUP2
00001c6f: DUP4
00001c70: ADD
00001c71: LT
00001c72: PUSH2 0x3588
00001c75: JUMPI
00001c76: DUP1
00001c77: DUP3
00001c78: ADD
00001c79: SWAP1
00001c7a: POP
00001c7b: SWAP1
00001c7c: POP
00001c7d: DUP1
00001c7e: DUP3
00001c7f: LT
00001c80: PUSH2 0x3588
00001c83: JUMPI
00001c84: DUP1
00001c85: DUP3
00001c86: SUB
00001c87: SWAP1
00001c88: POP
00001c89: SWAP1
00001c8a: POP
00001c8b: DUP2
00001c8c: SSTORE
00001c8d: POP
00001c8e: PUSH4 0x79cc6790
00001c93: PUSH2 0x0500
00001c96: MSTORE
00001c97: CALLER
00001c98: PUSH2 0x0520
00001c9b: MSTORE
00001c9c: PUSH1 0x04
00001c9e: CALLDATALOAD
00001c9f: PUSH2 0x0540
00001ca2: MSTORE
00001ca3: PUSH1 0x20
00001ca5: PUSH2 0x0500
00001ca8: PUSH1 0x44
00001caa: PUSH2 0x051c
00001cad: PUSH1 0x00
00001caf: PUSH1 0x08
00001cb1: SLOAD
00001cb2: GAS
00001cb3: CALL
00001cb4: PUSH2 0x1cc2
00001cb7: JUMPI
00001cb8: RETURNDATASIZE
00001cb9: PUSH1 0x00
00001cbb: PUSH1 0x00
00001cbd: RETURNDATACOPY
00001cbe: RETURNDATASIZE
00001cbf: PUSH1 0x00
00001cc1: REVERT
00001cc2: JUMPDEST
00001cc3: PUSH1 0x1f
00001cc5: RETURNDATASIZE
00001cc6: GT
00001cc7: ISZERO
00001cc8: PUSH2 0x3588
00001ccb: JUMPI
00001ccc: PUSH2 0x0500
00001ccf: POP
00001cd0: PUSH1 0x00
00001cd2: PUSH1 0x04
00001cd4: PUSH2 0x0540
00001cd7: MSTORE
00001cd8: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00001cf9: PUSH2 0x0560
00001cfc: MSTORE
00001cfd: PUSH2 0x0540
00001d00: PUSH1 0x04
00001d02: DUP1
00001d03: PUSH1 0x20
00001d05: DUP5
00001d06: PUSH2 0x0580
00001d09: ADD
00001d0a: ADD
00001d0b: DUP3
00001d0c: PUSH1 0x20
00001d0e: DUP6
00001d0f: ADD
00001d10: PUSH1 0x04
00001d12: GAS
00001d13: STATICCALL
00001d14: POP
00001d15: POP
00001d16: DUP1
00001d17: MLOAD
00001d18: DUP3
00001d19: ADD
00001d1a: SWAP2
00001d1b: POP
00001d1c: POP
00001d1d: CALLER
00001d1e: PUSH1 0x20
00001d20: DUP3
00001d21: PUSH2 0x0580
00001d24: ADD
00001d25: ADD
00001d26: MSTORE
00001d27: PUSH1 0x20
00001d29: DUP2
00001d2a: ADD
00001d2b: SWAP1
00001d2c: POP
00001d2d: PUSH2 0x04a0
00001d30: MLOAD
00001d31: PUSH1 0x20
00001d33: DUP3
00001d34: PUSH2 0x0580
00001d37: ADD
00001d38: ADD
00001d39: MSTORE
00001d3a: PUSH1 0x20
00001d3c: DUP2
00001d3d: ADD
00001d3e: SWAP1
00001d3f: POP
00001d40: DUP1
00001d41: PUSH2 0x0580
00001d44: MSTORE
00001d45: PUSH2 0x0580
00001d48: POP
00001d49: POP
00001d4a: PUSH1 0x20
00001d4c: PUSH2 0x0620
00001d4f: PUSH2 0x0580
00001d52: MLOAD
00001d53: PUSH2 0x05a0
00001d56: PUSH1 0x00
00001d58: PUSH1 0x01
00001d5a: PUSH2 0x0480
00001d5d: MLOAD
00001d5e: PUSH1 0x02
00001d60: DUP2
00001d61: LT
00001d62: ISZERO
00001d63: PUSH2 0x3588
00001d66: JUMPI
00001d67: MUL
00001d68: PUSH1 0x01
00001d6a: ADD
00001d6b: SLOAD
00001d6c: GAS
00001d6d: CALL
00001d6e: PUSH2 0x1d7c
00001d71: JUMPI
00001d72: RETURNDATASIZE
00001d73: PUSH1 0x00
00001d75: PUSH1 0x00
00001d77: RETURNDATACOPY
00001d78: RETURNDATASIZE
00001d79: PUSH1 0x00
00001d7b: REVERT
00001d7c: JUMPDEST
00001d7d: PUSH2 0x0600
00001d80: PUSH1 0x20
00001d82: RETURNDATASIZE
00001d83: DUP1
00001d84: DUP3
00001d85: GT
00001d86: PUSH2 0x1d8f
00001d89: JUMPI
00001d8a: DUP2
00001d8b: PUSH2 0x1d91
00001d8e: JUMP
00001d8f: JUMPDEST
00001d90: DUP1
00001d91: JUMPDEST
00001d92: SWAP1
00001d93: POP
00001d94: SWAP1
00001d95: POP
00001d96: DUP2
00001d97: MSTORE
00001d98: DUP1
00001d99: MLOAD
00001d9a: PUSH1 0x20
00001d9c: ADD
00001d9d: DUP1
00001d9e: PUSH2 0x0500
00001da1: DUP3
00001da2: DUP5
00001da3: PUSH1 0x04
00001da5: GAS
00001da6: STATICCALL
00001da7: SWAP1
00001da8: POP
00001da9: POP
00001daa: POP
00001dab: PUSH1 0x00
00001dad: PUSH2 0x0500
00001db0: MLOAD
00001db1: GT
00001db2: ISZERO
00001db3: PUSH2 0x1dd1
00001db6: JUMPI
00001db7: PUSH2 0x0520
00001dba: MLOAD
00001dbb: PUSH2 0x0500
00001dbe: MLOAD
00001dbf: DUP2
00001dc0: DUP2
00001dc1: PUSH1 0x20
00001dc3: SUB
00001dc4: PUSH1 0x08
00001dc6: MUL
00001dc7: SHR
00001dc8: SWAP1
00001dc9: POP
00001dca: SWAP1
00001dcb: POP
00001dcc: ISZERO
00001dcd: PUSH2 0x3588
00001dd0: JUMPI
00001dd1: JUMPDEST
00001dd2: CALLER
00001dd3: PUSH32 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0
00001df4: PUSH1 0x04
00001df6: CALLDATALOAD
00001df7: PUSH2 0x0540
00001dfa: MSTORE
00001dfb: PUSH2 0x04a0
00001dfe: MLOAD
00001dff: PUSH2 0x0560
00001e02: MSTORE
00001e03: PUSH2 0x04e0
00001e06: MLOAD
00001e07: PUSH1 0x04
00001e09: CALLDATALOAD
00001e0a: DUP1
00001e0b: DUP3
00001e0c: LT
00001e0d: PUSH2 0x3588
00001e10: JUMPI
00001e11: DUP1
00001e12: DUP3
00001e13: SUB
00001e14: SWAP1
00001e15: POP
00001e16: SWAP1
00001e17: POP
00001e18: PUSH2 0x0580
00001e1b: MSTORE
00001e1c: PUSH1 0x60
00001e1e: PUSH2 0x0540
00001e21: LOG2
00001e22: PUSH2 0x04a0
00001e25: MLOAD
00001e26: PUSH2 0x0540
00001e29: MSTORE
00001e2a: PUSH1 0x20
00001e2c: PUSH2 0x0540
00001e2f: PUSH1 0x00
00001e31: PUSH1 0x00
00001e33: SSTORE
00001e34: RETURN
00001e35: JUMPDEST
00001e36: PUSH4 0x3c157e64
00001e3b: DUP2
00001e3c: XOR
00001e3d: PUSH2 0x1f88
00001e40: JUMPI
00001e41: PUSH1 0x07
00001e43: SLOAD
00001e44: CALLER
00001e45: XOR
00001e46: PUSH2 0x3588
00001e49: JUMPI
00001e4a: PUSH1 0x0b
00001e4c: SLOAD
00001e4d: PUSH3 0x015180
00001e51: DUP2
00001e52: DUP2
00001e53: DUP4
00001e54: ADD
00001e55: LT
00001e56: PUSH2 0x3588
00001e59: JUMPI
00001e5a: DUP1
00001e5b: DUP3
00001e5c: ADD
00001e5d: SWAP1
00001e5e: POP
00001e5f: SWAP1
00001e60: POP
00001e61: TIMESTAMP
00001e62: LT
00001e63: PUSH2 0x3588
00001e66: JUMPI
00001e67: TIMESTAMP
00001e68: PUSH3 0x015180
00001e6c: DUP2
00001e6d: DUP2
00001e6e: DUP4
00001e6f: ADD
00001e70: LT
00001e71: PUSH2 0x3588
00001e74: JUMPI
00001e75: DUP1
00001e76: DUP3
00001e77: ADD
00001e78: SWAP1
00001e79: POP
00001e7a: SWAP1
00001e7b: POP
00001e7c: PUSH1 0x24
00001e7e: CALLDATALOAD
00001e7f: LT
00001e80: PUSH2 0x3588
00001e83: JUMPI
00001e84: PUSH2 0x1e8e
00001e87: PUSH2 0x0180
00001e8a: PUSH2 0x269e
00001e8d: JUMP
00001e8e: JUMPDEST
00001e8f: PUSH2 0x0180
00001e92: MLOAD
00001e93: PUSH2 0x0160
00001e96: MSTORE
00001e97: PUSH1 0x04
00001e99: CALLDATALOAD
00001e9a: PUSH1 0x64
00001e9c: DUP1
00001e9d: DUP3
00001e9e: MUL
00001e9f: DUP3
00001ea0: ISZERO
00001ea1: DUP3
00001ea2: DUP5
00001ea3: DUP4
00001ea4: DIV
00001ea5: EQ
00001ea6: OR
00001ea7: ISZERO
00001ea8: PUSH2 0x3588
00001eab: JUMPI
00001eac: SWAP1
00001ead: POP
00001eae: SWAP1
00001eaf: POP
00001eb0: PUSH2 0x0180
00001eb3: MSTORE
00001eb4: PUSH1 0x00
00001eb6: PUSH1 0x04
00001eb8: CALLDATALOAD
00001eb9: GT
00001eba: PUSH2 0x1ec4
00001ebd: JUMPI
00001ebe: PUSH1 0x00
00001ec0: PUSH2 0x1ecd
00001ec3: JUMP
00001ec4: JUMPDEST
00001ec5: PUSH3 0x0f4240
00001ec9: PUSH1 0x04
00001ecb: CALLDATALOAD
00001ecc: LT
00001ecd: JUMPDEST
00001ece: ISZERO
00001ecf: PUSH2 0x3588
00001ed2: JUMPI
00001ed3: PUSH2 0x0160
00001ed6: MLOAD
00001ed7: PUSH2 0x0180
00001eda: MLOAD
00001edb: LT
00001edc: PUSH2 0x1f07
00001edf: JUMPI
00001ee0: PUSH2 0x0160
00001ee3: MLOAD
00001ee4: PUSH1 0x0a
00001ee6: DUP1
00001ee7: DUP3
00001ee8: MUL
00001ee9: DUP3
00001eea: ISZERO
00001eeb: DUP3
00001eec: DUP5
00001eed: DUP4
00001eee: DIV
00001eef: EQ
00001ef0: OR
00001ef1: ISZERO
00001ef2: PUSH2 0x3588
00001ef5: JUMPI
00001ef6: SWAP1
00001ef7: POP
00001ef8: SWAP1
00001ef9: POP
00001efa: PUSH2 0x0180
00001efd: MLOAD
00001efe: GT
00001eff: PUSH2 0x3588
00001f02: JUMPI
00001f03: PUSH2 0x1f2b
00001f06: JUMP
00001f07: JUMPDEST
00001f08: PUSH2 0x0160
00001f0b: MLOAD
00001f0c: PUSH2 0x0180
00001f0f: MLOAD
00001f10: PUSH1 0x0a
00001f12: DUP1
00001f13: DUP3
00001f14: MUL
00001f15: DUP3
00001f16: ISZERO
00001f17: DUP3
00001f18: DUP5
00001f19: DUP4
00001f1a: DIV
00001f1b: EQ
00001f1c: OR
00001f1d: ISZERO
00001f1e: PUSH2 0x3588
00001f21: JUMPI
00001f22: SWAP1
00001f23: POP
00001f24: SWAP1
00001f25: POP
00001f26: LT
00001f27: PUSH2 0x3588
00001f2a: JUMPI
00001f2b: JUMPDEST
00001f2c: PUSH2 0x0160
00001f2f: MLOAD
00001f30: PUSH1 0x09
00001f32: SSTORE
00001f33: PUSH2 0x0180
00001f36: MLOAD
00001f37: PUSH1 0x0a
00001f39: SSTORE
00001f3a: TIMESTAMP
00001f3b: PUSH1 0x0b
00001f3d: SSTORE
00001f3e: PUSH1 0x24
00001f40: CALLDATALOAD
00001f41: PUSH1 0x0c
00001f43: SSTORE
00001f44: PUSH32 0xa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254
00001f65: PUSH2 0x0160
00001f68: MLOAD
00001f69: PUSH2 0x01a0
00001f6c: MSTORE
00001f6d: PUSH2 0x0180
00001f70: MLOAD
00001f71: PUSH2 0x01c0
00001f74: MSTORE
00001f75: TIMESTAMP
00001f76: PUSH2 0x01e0
00001f79: MSTORE
00001f7a: PUSH1 0x24
00001f7c: CALLDATALOAD
00001f7d: PUSH2 0x0200
00001f80: MSTORE
00001f81: PUSH1 0x80
00001f83: PUSH2 0x01a0
00001f86: LOG1
00001f87: STOP
00001f88: JUMPDEST
00001f89: PUSH4 0x551a6588
00001f8e: DUP2
00001f8f: XOR
00001f90: PUSH2 0x1ffb
00001f93: JUMPI
00001f94: PUSH1 0x07
00001f96: SLOAD
00001f97: CALLER
00001f98: XOR
00001f99: PUSH2 0x3588
00001f9c: JUMPI
00001f9d: PUSH2 0x1fa7
00001fa0: PUSH2 0x0180
00001fa3: PUSH2 0x269e
00001fa6: JUMP
00001fa7: JUMPDEST
00001fa8: PUSH2 0x0180
00001fab: MLOAD
00001fac: PUSH2 0x0160
00001faf: MSTORE
00001fb0: PUSH2 0x0160
00001fb3: MLOAD
00001fb4: PUSH1 0x09
00001fb6: SSTORE
00001fb7: PUSH2 0x0160
00001fba: MLOAD
00001fbb: PUSH1 0x0a
00001fbd: SSTORE
00001fbe: TIMESTAMP
00001fbf: PUSH1 0x0b
00001fc1: SSTORE
00001fc2: TIMESTAMP
00001fc3: PUSH1 0x0c
00001fc5: SSTORE
00001fc6: PUSH32 0x46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc201938
00001fe7: PUSH2 0x0160
00001fea: MLOAD
00001feb: PUSH2 0x0180
00001fee: MSTORE
00001fef: TIMESTAMP
00001ff0: PUSH2 0x01a0
00001ff3: MSTORE
00001ff4: PUSH1 0x40
00001ff6: PUSH2 0x0180
00001ff9: LOG1
00001ffa: STOP
00001ffb: JUMPDEST
00001ffc: PUSH4 0x5b5a1467
00002001: DUP2
00002002: XOR
00002003: PUSH2 0x2096
00002006: JUMPI
00002007: PUSH1 0x07
00002009: SLOAD
0000200a: CALLER
0000200b: XOR
0000200c: PUSH2 0x3588
0000200f: JUMPI
00002010: PUSH1 0x0d
00002012: SLOAD
00002013: PUSH2 0x3588
00002016: JUMPI
00002017: PUSH5 0x012a05f200
0000201d: PUSH1 0x04
0000201f: CALLDATALOAD
00002020: GT
00002021: PUSH2 0x3588
00002024: JUMPI
00002025: PUSH5 0x02540be400
0000202b: PUSH1 0x24
0000202d: CALLDATALOAD
0000202e: GT
0000202f: PUSH2 0x3588
00002032: JUMPI
00002033: TIMESTAMP
00002034: PUSH3 0x03f480
00002038: DUP2
00002039: DUP2
0000203a: DUP4
0000203b: ADD
0000203c: LT
0000203d: PUSH2 0x3588
00002040: JUMPI
00002041: DUP1
00002042: DUP3
00002043: ADD
00002044: SWAP1
00002045: POP
00002046: SWAP1
00002047: POP
00002048: PUSH1 0xe0
0000204a: MSTORE
0000204b: PUSH1 0xe0
0000204d: MLOAD
0000204e: PUSH1 0x0d
00002050: SSTORE
00002051: PUSH1 0x04
00002053: CALLDATALOAD
00002054: PUSH1 0x0f
00002056: SSTORE
00002057: PUSH1 0x24
00002059: CALLDATALOAD
0000205a: PUSH1 0x10
0000205c: SSTORE
0000205d: PUSH1 0xe0
0000205f: MLOAD
00002060: PUSH32 0x351fc5da2fbf480f2225debf3664a4bc90fa9923743aad58b4603f648e931fe0
00002081: PUSH1 0x04
00002083: CALLDATALOAD
00002084: PUSH2 0x0100
00002087: MSTORE
00002088: PUSH1 0x24
0000208a: CALLDATALOAD
0000208b: PUSH2 0x0120
0000208e: MSTORE
0000208f: PUSH1 0x40
00002091: PUSH2 0x0100
00002094: LOG2
00002095: STOP
00002096: JUMPDEST
00002097: PUSH4 0x4f12fe97
0000209c: DUP2
0000209d: XOR
0000209e: PUSH2 0x2114
000020a1: JUMPI
000020a2: PUSH1 0x07
000020a4: SLOAD
000020a5: CALLER
000020a6: XOR
000020a7: PUSH2 0x3588
000020aa: JUMPI
000020ab: PUSH1 0x0d
000020ad: SLOAD
000020ae: TIMESTAMP
000020af: LT
000020b0: PUSH2 0x3588
000020b3: JUMPI
000020b4: PUSH1 0x00
000020b6: PUSH1 0x0d
000020b8: SLOAD
000020b9: EQ
000020ba: PUSH2 0x3588
000020bd: JUMPI
000020be: PUSH1 0x00
000020c0: PUSH1 0x0d
000020c2: SSTORE
000020c3: PUSH1 0x0f
000020c5: SLOAD
000020c6: PUSH1 0xe0
000020c8: MSTORE
000020c9: PUSH1 0x10
000020cb: SLOAD
000020cc: PUSH2 0x0100
000020cf: MSTORE
000020d0: PUSH1 0xe0
000020d2: MLOAD
000020d3: PUSH1 0x05
000020d5: SSTORE
000020d6: PUSH2 0x0100
000020d9: MLOAD
000020da: PUSH1 0x06
000020dc: SSTORE
000020dd: PUSH32 0xbe12859b636aed607d5230b2cc2711f68d70e51060e6cca1f575ef5d2fcc95d1
000020fe: PUSH1 0xe0
00002100: MLOAD
00002101: PUSH2 0x0120
00002104: MSTORE
00002105: PUSH2 0x0100
00002108: MLOAD
00002109: PUSH2 0x0140
0000210c: MSTORE
0000210d: PUSH1 0x40
0000210f: PUSH2 0x0120
00002112: LOG1
00002113: STOP
00002114: JUMPDEST
00002115: PUSH4 0x226840fb
0000211a: DUP2
0000211b: XOR
0000211c: PUSH2 0x212f
0000211f: JUMPI
00002120: PUSH1 0x07
00002122: SLOAD
00002123: CALLER
00002124: XOR
00002125: PUSH2 0x3588
00002128: JUMPI
00002129: PUSH1 0x00
0000212b: PUSH1 0x0d
0000212d: SSTORE
0000212e: STOP
0000212f: JUMPDEST
00002130: PUSH4 0x6b441a40
00002135: DUP2
00002136: XOR
00002137: PUSH2 0x21ae
0000213a: JUMPI
0000213b: PUSH1 0x04
0000213d: CALLDATALOAD
0000213e: DUP1
0000213f: PUSH1 0xa0
00002141: SHR
00002142: PUSH2 0x3588
00002145: JUMPI
00002146: PUSH1 0xe0
00002148: MSTORE
00002149: PUSH1 0x07
0000214b: SLOAD
0000214c: CALLER
0000214d: XOR
0000214e: PUSH2 0x3588
00002151: JUMPI
00002152: PUSH1 0x0e
00002154: SLOAD
00002155: PUSH2 0x3588
00002158: JUMPI
00002159: TIMESTAMP
0000215a: PUSH3 0x03f480
0000215e: DUP2
0000215f: DUP2
00002160: DUP4
00002161: ADD
00002162: LT
00002163: PUSH2 0x3588
00002166: JUMPI
00002167: DUP1
00002168: DUP3
00002169: ADD
0000216a: SWAP1
0000216b: POP
0000216c: SWAP1
0000216d: POP
0000216e: PUSH2 0x0100
00002171: MSTORE
00002172: PUSH2 0x0100
00002175: MLOAD
00002176: PUSH1 0x0e
00002178: SSTORE
00002179: PUSH1 0xe0
0000217b: MLOAD
0000217c: PUSH1 0x11
0000217e: SSTORE
0000217f: PUSH1 0xe0
00002181: MLOAD
00002182: PUSH2 0x0100
00002185: MLOAD
00002186: PUSH32 0x181aa3aa17d4cbf99265dd4443eba009433d3cde79d60164fde1d1a192beb935
000021a7: PUSH1 0x00
000021a9: PUSH2 0x0120
000021ac: LOG3
000021ad: STOP
000021ae: JUMPDEST
000021af: PUSH4 0x6a1c05ae
000021b4: DUP2
000021b5: XOR
000021b6: PUSH2 0x2212
000021b9: JUMPI
000021ba: PUSH1 0x07
000021bc: SLOAD
000021bd: CALLER
000021be: XOR
000021bf: PUSH2 0x3588
000021c2: JUMPI
000021c3: PUSH1 0x0e
000021c5: SLOAD
000021c6: TIMESTAMP
000021c7: LT
000021c8: PUSH2 0x3588
000021cb: JUMPI
000021cc: PUSH1 0x00
000021ce: PUSH1 0x0e
000021d0: SLOAD
000021d1: EQ
000021d2: PUSH2 0x3588
000021d5: JUMPI
000021d6: PUSH1 0x00
000021d8: PUSH1 0x0e
000021da: SSTORE
000021db: PUSH1 0x11
000021dd: SLOAD
000021de: PUSH1 0xe0
000021e0: MSTORE
000021e1: PUSH1 0xe0
000021e3: MLOAD
000021e4: PUSH1 0x07
000021e6: SSTORE
000021e7: PUSH1 0xe0
000021e9: MLOAD
000021ea: PUSH32 0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c
0000220b: PUSH1 0x00
0000220d: PUSH2 0x0100
00002210: LOG2
00002211: STOP
00002212: JUMPDEST
00002213: PUSH4 0x86fbf193
00002218: DUP2
00002219: XOR
0000221a: PUSH2 0x222d
0000221d: JUMPI
0000221e: PUSH1 0x07
00002220: SLOAD
00002221: CALLER
00002222: XOR
00002223: PUSH2 0x3588
00002226: JUMPI
00002227: PUSH1 0x00
00002229: PUSH1 0x0e
0000222b: SSTORE
0000222c: STOP
0000222d: JUMPDEST
0000222e: PUSH4 0xe2e7d264
00002233: DUP2
00002234: XOR
00002235: PUSH2 0x22a9
00002238: JUMPI
00002239: PUSH4 0x70a08231
0000223e: PUSH1 0xe0
00002240: MSTORE
00002241: ADDRESS
00002242: PUSH2 0x0100
00002245: MSTORE
00002246: PUSH1 0x20
00002248: PUSH1 0xe0
0000224a: PUSH1 0x24
0000224c: PUSH1 0xfc
0000224e: PUSH1 0x01
00002250: PUSH1 0x04
00002252: CALLDATALOAD
00002253: PUSH1 0x02
00002255: DUP2
00002256: LT
00002257: ISZERO
00002258: PUSH2 0x3588
0000225b: JUMPI
0000225c: MUL
0000225d: PUSH1 0x01
0000225f: ADD
00002260: SLOAD
00002261: GAS
00002262: STATICCALL
00002263: PUSH2 0x2271
00002266: JUMPI
00002267: RETURNDATASIZE
00002268: PUSH1 0x00
0000226a: PUSH1 0x00
0000226c: RETURNDATACOPY
0000226d: RETURNDATASIZE
0000226e: PUSH1 0x00
00002270: REVERT
00002271: JUMPDEST
00002272: PUSH1 0x1f
00002274: RETURNDATASIZE
00002275: GT
00002276: ISZERO
00002277: PUSH2 0x3588
0000227a: JUMPI
0000227b: PUSH1 0xe0
0000227d: MLOAD
0000227e: PUSH1 0x01
00002280: PUSH1 0x04
00002282: CALLDATALOAD
00002283: PUSH1 0x02
00002285: DUP2
00002286: LT
00002287: ISZERO
00002288: PUSH2 0x3588
0000228b: JUMPI
0000228c: MUL
0000228d: PUSH1 0x03
0000228f: ADD
00002290: SLOAD
00002291: DUP1
00002292: DUP3
00002293: LT
00002294: PUSH2 0x3588
00002297: JUMPI
00002298: DUP1
00002299: DUP3
0000229a: SUB
0000229b: SWAP1
0000229c: POP
0000229d: SWAP1
0000229e: POP
0000229f: PUSH2 0x0120
000022a2: MSTORE
000022a3: PUSH1 0x20
000022a5: PUSH2 0x0120
000022a8: RETURN
000022a9: JUMPDEST
000022aa: PUSH4 0x30c54085
000022af: DUP2
000022b0: XOR
000022b1: PUSH2 0x244f
000022b4: JUMPI
000022b5: PUSH1 0x07
000022b7: SLOAD
000022b8: CALLER
000022b9: XOR
000022ba: PUSH2 0x3588
000022bd: JUMPI
000022be: PUSH1 0xe0
000022c0: PUSH1 0x00
000022c2: PUSH1 0x02
000022c4: DUP2
000022c5: DUP4
000022c6: MSTORE
000022c7: ADD
000022c8: JUMPDEST
000022c9: PUSH1 0x01
000022cb: PUSH1 0xe0
000022cd: MLOAD
000022ce: PUSH1 0x02
000022d0: DUP2
000022d1: LT
000022d2: ISZERO
000022d3: PUSH2 0x3588
000022d6: JUMPI
000022d7: MUL
000022d8: PUSH1 0x01
000022da: ADD
000022db: SLOAD
000022dc: PUSH2 0x0100
000022df: MSTORE
000022e0: PUSH4 0x70a08231
000022e5: PUSH2 0x0140
000022e8: MSTORE
000022e9: ADDRESS
000022ea: PUSH2 0x0160
000022ed: MSTORE
000022ee: PUSH1 0x20
000022f0: PUSH2 0x0140
000022f3: PUSH1 0x24
000022f5: PUSH2 0x015c
000022f8: PUSH2 0x0100
000022fb: MLOAD
000022fc: GAS
000022fd: STATICCALL
000022fe: PUSH2 0x230c
00002301: JUMPI
00002302: RETURNDATASIZE
00002303: PUSH1 0x00
00002305: PUSH1 0x00
00002307: RETURNDATACOPY
00002308: RETURNDATASIZE
00002309: PUSH1 0x00
0000230b: REVERT
0000230c: JUMPDEST
0000230d: PUSH1 0x1f
0000230f: RETURNDATASIZE
00002310: GT
00002311: ISZERO
00002312: PUSH2 0x3588
00002315: JUMPI
00002316: PUSH2 0x0140
00002319: MLOAD
0000231a: PUSH1 0x01
0000231c: PUSH1 0xe0
0000231e: MLOAD
0000231f: PUSH1 0x02
00002321: DUP2
00002322: LT
00002323: ISZERO
00002324: PUSH2 0x3588
00002327: JUMPI
00002328: MUL
00002329: PUSH1 0x03
0000232b: ADD
0000232c: SLOAD
0000232d: DUP1
0000232e: DUP3
0000232f: LT
00002330: PUSH2 0x3588
00002333: JUMPI
00002334: DUP1
00002335: DUP3
00002336: SUB
00002337: SWAP1
00002338: POP
00002339: SWAP1
0000233a: POP
0000233b: PUSH2 0x0120
0000233e: MSTORE
0000233f: PUSH1 0x00
00002341: PUSH2 0x0120
00002344: MLOAD
00002345: GT
00002346: ISZERO
00002347: PUSH2 0x243c
0000234a: JUMPI
0000234b: PUSH1 0x00
0000234d: PUSH1 0x04
0000234f: PUSH2 0x0180
00002352: MSTORE
00002353: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002374: PUSH2 0x01a0
00002377: MSTORE
00002378: PUSH2 0x0180
0000237b: PUSH1 0x04
0000237d: DUP1
0000237e: PUSH1 0x20
00002380: DUP5
00002381: PUSH2 0x01c0
00002384: ADD
00002385: ADD
00002386: DUP3
00002387: PUSH1 0x20
00002389: DUP6
0000238a: ADD
0000238b: PUSH1 0x04
0000238d: GAS
0000238e: STATICCALL
0000238f: POP
00002390: POP
00002391: DUP1
00002392: MLOAD
00002393: DUP3
00002394: ADD
00002395: SWAP2
00002396: POP
00002397: POP
00002398: CALLER
00002399: PUSH1 0x20
0000239b: DUP3
0000239c: PUSH2 0x01c0
0000239f: ADD
000023a0: ADD
000023a1: MSTORE
000023a2: PUSH1 0x20
000023a4: DUP2
000023a5: ADD
000023a6: SWAP1
000023a7: POP
000023a8: PUSH2 0x0120
000023ab: MLOAD
000023ac: PUSH1 0x20
000023ae: DUP3
000023af: PUSH2 0x01c0
000023b2: ADD
000023b3: ADD
000023b4: MSTORE
000023b5: PUSH1 0x20
000023b7: DUP2
000023b8: ADD
000023b9: SWAP1
000023ba: POP
000023bb: DUP1
000023bc: PUSH2 0x01c0
000023bf: MSTORE
000023c0: PUSH2 0x01c0
000023c3: POP
000023c4: POP
000023c5: PUSH1 0x20
000023c7: PUSH2 0x0260
000023ca: PUSH2 0x01c0
000023cd: MLOAD
000023ce: PUSH2 0x01e0
000023d1: PUSH1 0x00
000023d3: PUSH2 0x0100
000023d6: MLOAD
000023d7: GAS
000023d8: CALL
000023d9: PUSH2 0x23e7
000023dc: JUMPI
000023dd: RETURNDATASIZE
000023de: PUSH1 0x00
000023e0: PUSH1 0x00
000023e2: RETURNDATACOPY
000023e3: RETURNDATASIZE
000023e4: PUSH1 0x00
000023e6: REVERT
000023e7: JUMPDEST
000023e8: PUSH2 0x0240
000023eb: PUSH1 0x20
000023ed: RETURNDATASIZE
000023ee: DUP1
000023ef: DUP3
000023f0: GT
000023f1: PUSH2 0x23fa
000023f4: JUMPI
000023f5: DUP2
000023f6: PUSH2 0x23fc
000023f9: JUMP
000023fa: JUMPDEST
000023fb: DUP1
000023fc: JUMPDEST
000023fd: SWAP1
000023fe: POP
000023ff: SWAP1
00002400: POP
00002401: DUP2
00002402: MSTORE
00002403: DUP1
00002404: MLOAD
00002405: PUSH1 0x20
00002407: ADD
00002408: DUP1
00002409: PUSH2 0x0140
0000240c: DUP3
0000240d: DUP5
0000240e: PUSH1 0x04
00002410: GAS
00002411: STATICCALL
00002412: SWAP1
00002413: POP
00002414: POP
00002415: POP
00002416: PUSH1 0x00
00002418: PUSH2 0x0140
0000241b: MLOAD
0000241c: GT
0000241d: ISZERO
0000241e: PUSH2 0x243c
00002421: JUMPI
00002422: PUSH2 0x0160
00002425: MLOAD
00002426: PUSH2 0x0140
00002429: MLOAD
0000242a: DUP2
0000242b: DUP2
0000242c: PUSH1 0x20
0000242e: SUB
0000242f: PUSH1 0x08
00002431: MUL
00002432: SHR
00002433: SWAP1
00002434: POP
00002435: SWAP1
00002436: POP
00002437: ISZERO
00002438: PUSH2 0x3588
0000243b: JUMPI
0000243c: JUMPDEST
0000243d: DUP2
0000243e: MLOAD
0000243f: PUSH1 0x01
00002441: ADD
00002442: DUP1
00002443: DUP4
00002444: MSTORE
00002445: DUP2
00002446: EQ
00002447: ISZERO
00002448: PUSH2 0x22c8
0000244b: JUMPI
0000244c: POP
0000244d: POP
0000244e: STOP
0000244f: JUMPDEST
00002450: PUSH4 0x524c3901
00002455: DUP2
00002456: XOR
00002457: PUSH2 0x24dd
0000245a: JUMPI
0000245b: PUSH1 0x07
0000245d: SLOAD
0000245e: CALLER
0000245f: XOR
00002460: PUSH2 0x3588
00002463: JUMPI
00002464: PUSH1 0xe0
00002466: PUSH1 0x00
00002468: PUSH1 0x02
0000246a: DUP2
0000246b: DUP4
0000246c: MSTORE
0000246d: ADD
0000246e: JUMPDEST
0000246f: PUSH4 0x70a08231
00002474: PUSH2 0x0100
00002477: MSTORE
00002478: ADDRESS
00002479: PUSH2 0x0120
0000247c: MSTORE
0000247d: PUSH1 0x20
0000247f: PUSH2 0x0100
00002482: PUSH1 0x24
00002484: PUSH2 0x011c
00002487: PUSH1 0x01
00002489: PUSH1 0xe0
0000248b: MLOAD
0000248c: PUSH1 0x02
0000248e: DUP2
0000248f: LT
00002490: ISZERO
00002491: PUSH2 0x3588
00002494: JUMPI
00002495: MUL
00002496: PUSH1 0x01
00002498: ADD
00002499: SLOAD
0000249a: GAS
0000249b: STATICCALL
0000249c: PUSH2 0x24aa
0000249f: JUMPI
000024a0: RETURNDATASIZE
000024a1: PUSH1 0x00
000024a3: PUSH1 0x00
000024a5: RETURNDATACOPY
000024a6: RETURNDATASIZE
000024a7: PUSH1 0x00
000024a9: REVERT
000024aa: JUMPDEST
000024ab: PUSH1 0x1f
000024ad: RETURNDATASIZE
000024ae: GT
000024af: ISZERO
000024b0: PUSH2 0x3588
000024b3: JUMPI
000024b4: PUSH2 0x0100
000024b7: MLOAD
000024b8: PUSH1 0x01
000024ba: PUSH1 0xe0
000024bc: MLOAD
000024bd: PUSH1 0x02
000024bf: DUP2
000024c0: LT
000024c1: ISZERO
000024c2: PUSH2 0x3588
000024c5: JUMPI
000024c6: MUL
000024c7: PUSH1 0x03
000024c9: ADD
000024ca: SSTORE
000024cb: DUP2
000024cc: MLOAD
000024cd: PUSH1 0x01
000024cf: ADD
000024d0: DUP1
000024d1: DUP4
000024d2: MSTORE
000024d3: DUP2
000024d4: EQ
000024d5: ISZERO
000024d6: PUSH2 0x246e
000024d9: JUMPI
000024da: POP
000024db: POP
000024dc: STOP
000024dd: JUMPDEST
000024de: PUSH4 0xe3698853
000024e3: DUP2
000024e4: XOR
000024e5: PUSH2 0x2502
000024e8: JUMPI
000024e9: PUSH1 0x07
000024eb: SLOAD
000024ec: CALLER
000024ed: XOR
000024ee: PUSH2 0x3588
000024f1: JUMPI
000024f2: TIMESTAMP
000024f3: PUSH1 0x13
000024f5: SLOAD
000024f6: GT
000024f7: ISZERO
000024f8: PUSH2 0x3588
000024fb: JUMPI
000024fc: PUSH1 0x01
000024fe: PUSH1 0x12
00002500: SSTORE
00002501: STOP
00002502: JUMPDEST
00002503: PUSH4 0x3046f972
00002508: DUP2
00002509: XOR
0000250a: PUSH2 0x251d
0000250d: JUMPI
0000250e: PUSH1 0x07
00002510: SLOAD
00002511: CALLER
00002512: XOR
00002513: PUSH2 0x3588
00002516: JUMPI
00002517: PUSH1 0x00
00002519: PUSH1 0x12
0000251b: SSTORE
0000251c: STOP
0000251d: JUMPDEST
0000251e: PUSH4 0xc6610657
00002523: DUP2
00002524: XOR
00002525: PUSH2 0x2544
00002528: JUMPI
00002529: PUSH1 0x01
0000252b: PUSH1 0x04
0000252d: CALLDATALOAD
0000252e: PUSH1 0x02
00002530: DUP2
00002531: LT
00002532: ISZERO
00002533: PUSH2 0x3588
00002536: JUMPI
00002537: MUL
00002538: PUSH1 0x01
0000253a: ADD
0000253b: SLOAD
0000253c: PUSH1 0xe0
0000253e: MSTORE
0000253f: PUSH1 0x20
00002541: PUSH1 0xe0
00002543: RETURN
00002544: JUMPDEST
00002545: PUSH4 0x4903b0d1
0000254a: DUP2
0000254b: XOR
0000254c: PUSH2 0x256b
0000254f: JUMPI
00002550: PUSH1 0x01
00002552: PUSH1 0x04
00002554: CALLDATALOAD
00002555: PUSH1 0x02
00002557: DUP2
00002558: LT
00002559: ISZERO
0000255a: PUSH2 0x3588
0000255d: JUMPI
0000255e: MUL
0000255f: PUSH1 0x03
00002561: ADD
00002562: SLOAD
00002563: PUSH1 0xe0
00002565: MSTORE
00002566: PUSH1 0x20
00002568: PUSH1 0xe0
0000256a: RETURN
0000256b: JUMPDEST
0000256c: PUSH4 0xddca3f43
00002571: DUP2
00002572: XOR
00002573: PUSH2 0x2582
00002576: JUMPI
00002577: PUSH1 0x05
00002579: SLOAD
0000257a: PUSH1 0xe0
0000257c: MSTORE
0000257d: PUSH1 0x20
0000257f: PUSH1 0xe0
00002581: RETURN
00002582: JUMPDEST
00002583: PUSH4 0xfee3f7f9
00002588: DUP2
00002589: XOR
0000258a: PUSH2 0x2599
0000258d: JUMPI
0000258e: PUSH1 0x06
00002590: SLOAD
00002591: PUSH1 0xe0
00002593: MSTORE
00002594: PUSH1 0x20
00002596: PUSH1 0xe0
00002598: RETURN
00002599: JUMPDEST
0000259a: PUSH4 0x8da5cb5b
0000259f: DUP2
000025a0: XOR
000025a1: PUSH2 0x25b0
000025a4: JUMPI
000025a5: PUSH1 0x07
000025a7: SLOAD
000025a8: PUSH1 0xe0
000025aa: MSTORE
000025ab: PUSH1 0x20
000025ad: PUSH1 0xe0
000025af: RETURN
000025b0: JUMPDEST
000025b1: PUSH4 0x82c63066
000025b6: DUP2
000025b7: XOR
000025b8: PUSH2 0x25c7
000025bb: JUMPI
000025bc: PUSH1 0x08
000025be: SLOAD
000025bf: PUSH1 0xe0
000025c1: MSTORE
000025c2: PUSH1 0x20
000025c4: PUSH1 0xe0
000025c6: RETURN
000025c7: JUMPDEST
000025c8: PUSH4 0x5409491a
000025cd: DUP2
000025ce: XOR
000025cf: PUSH2 0x25de
000025d2: JUMPI
000025d3: PUSH1 0x09
000025d5: SLOAD
000025d6: PUSH1 0xe0
000025d8: MSTORE
000025d9: PUSH1 0x20
000025db: PUSH1 0xe0
000025dd: RETURN
000025de: JUMPDEST
000025df: PUSH4 0xb4b577ad
000025e4: DUP2
000025e5: XOR
000025e6: PUSH2 0x25f5
000025e9: JUMPI
000025ea: PUSH1 0x0a
000025ec: SLOAD
000025ed: PUSH1 0xe0
000025ef: MSTORE
000025f0: PUSH1 0x20
000025f2: PUSH1 0xe0
000025f4: RETURN
000025f5: JUMPDEST
000025f6: PUSH4 0x2081066c
000025fb: DUP2
000025fc: XOR
000025fd: PUSH2 0x260c
00002600: JUMPI
00002601: PUSH1 0x0b
00002603: SLOAD
00002604: PUSH1 0xe0
00002606: MSTORE
00002607: PUSH1 0x20
00002609: PUSH1 0xe0
0000260b: RETURN
0000260c: JUMPDEST
0000260d: PUSH4 0x14052288
00002612: DUP2
00002613: XOR
00002614: PUSH2 0x2623
00002617: JUMPI
00002618: PUSH1 0x0c
0000261a: SLOAD
0000261b: PUSH1 0xe0
0000261d: MSTORE
0000261e: PUSH1 0x20
00002620: PUSH1 0xe0
00002622: RETURN
00002623: JUMPDEST
00002624: PUSH4 0x405e28f8
00002629: DUP2
0000262a: XOR
0000262b: PUSH2 0x263a
0000262e: JUMPI
0000262f: PUSH1 0x0d
00002631: SLOAD
00002632: PUSH1 0xe0
00002634: MSTORE
00002635: PUSH1 0x20
00002637: PUSH1 0xe0
00002639: RETURN
0000263a: JUMPDEST
0000263b: PUSH4 0xe0a0b586
00002640: DUP2
00002641: XOR
00002642: PUSH2 0x2651
00002645: JUMPI
00002646: PUSH1 0x0e
00002648: SLOAD
00002649: PUSH1 0xe0
0000264b: MSTORE
0000264c: PUSH1 0x20
0000264e: PUSH1 0xe0
00002650: RETURN
00002651: JUMPDEST
00002652: PUSH4 0x58680d0b
00002657: DUP2
00002658: XOR
00002659: PUSH2 0x2668
0000265c: JUMPI
0000265d: PUSH1 0x0f
0000265f: SLOAD
00002660: PUSH1 0xe0
00002662: MSTORE
00002663: PUSH1 0x20
00002665: PUSH1 0xe0
00002667: RETURN
00002668: JUMPDEST
00002669: PUSH4 0xe3824462
0000266e: DUP2
0000266f: XOR
00002670: PUSH2 0x267f
00002673: JUMPI
00002674: PUSH1 0x10
00002676: SLOAD
00002677: PUSH1 0xe0
00002679: MSTORE
0000267a: PUSH1 0x20
0000267c: PUSH1 0xe0
0000267e: RETURN
0000267f: JUMPDEST
00002680: PUSH4 0x1ec0cdc1
00002685: DUP2
00002686: XOR
00002687: PUSH2 0x2696
0000268a: JUMPI
0000268b: PUSH1 0x11
0000268d: SLOAD
0000268e: PUSH1 0xe0
00002690: MSTORE
00002691: PUSH1 0x20
00002693: PUSH1 0xe0
00002695: RETURN
00002696: JUMPDEST
00002697: POP
00002698: JUMPDEST
00002699: PUSH1 0x00
0000269b: PUSH1 0x00
0000269d: REVERT
0000269e: JUMPDEST
0000269f: PUSH1 0x0c
000026a1: SLOAD
000026a2: PUSH1 0xe0
000026a4: MSTORE
000026a5: PUSH1 0x0a
000026a7: SLOAD
000026a8: PUSH2 0x0100
000026ab: MSTORE
000026ac: PUSH1 0xe0
000026ae: MLOAD
000026af: TIMESTAMP
000026b0: LT
000026b1: PUSH2 0x26c4
000026b4: JUMPI
000026b5: PUSH2 0x0100
000026b8: MLOAD
000026b9: DUP2
000026ba: MSTORE
000026bb: POP
000026bc: PUSH2 0x27d7
000026bf: JUMP
000026c0: PUSH2 0x27d7
000026c3: JUMP
000026c4: JUMPDEST
000026c5: PUSH1 0x09
000026c7: SLOAD
000026c8: PUSH2 0x0120
000026cb: MSTORE
000026cc: PUSH1 0x0b
000026ce: SLOAD
000026cf: PUSH2 0x0140
000026d2: MSTORE
000026d3: PUSH2 0x0120
000026d6: MLOAD
000026d7: PUSH2 0x0100
000026da: MLOAD
000026db: GT
000026dc: PUSH2 0x275c
000026df: JUMPI
000026e0: PUSH2 0x0120
000026e3: MLOAD
000026e4: PUSH2 0x0120
000026e7: MLOAD
000026e8: PUSH2 0x0100
000026eb: MLOAD
000026ec: DUP1
000026ed: DUP3
000026ee: LT
000026ef: PUSH2 0x3588
000026f2: JUMPI
000026f3: DUP1
000026f4: DUP3
000026f5: SUB
000026f6: SWAP1
000026f7: POP
000026f8: SWAP1
000026f9: POP
000026fa: TIMESTAMP
000026fb: PUSH2 0x0140
000026fe: MLOAD
000026ff: DUP1
00002700: DUP3
00002701: LT
00002702: PUSH2 0x3588
00002705: JUMPI
00002706: DUP1
00002707: DUP3
00002708: SUB
00002709: SWAP1
0000270a: POP
0000270b: SWAP1
0000270c: POP
0000270d: DUP1
0000270e: DUP3
0000270f: MUL
00002710: DUP3
00002711: ISZERO
00002712: DUP3
00002713: DUP5
00002714: DUP4
00002715: DIV
00002716: EQ
00002717: OR
00002718: ISZERO
00002719: PUSH2 0x3588
0000271c: JUMPI
0000271d: SWAP1
0000271e: POP
0000271f: SWAP1
00002720: POP
00002721: PUSH1 0xe0
00002723: MLOAD
00002724: PUSH2 0x0140
00002727: MLOAD
00002728: DUP1
00002729: DUP3
0000272a: LT
0000272b: PUSH2 0x3588
0000272e: JUMPI
0000272f: DUP1
00002730: DUP3
00002731: SUB
00002732: SWAP1
00002733: POP
00002734: SWAP1
00002735: POP
00002736: DUP1
00002737: DUP1
00002738: ISZERO
00002739: PUSH2 0x3588
0000273c: JUMPI
0000273d: DUP3
0000273e: DIV
0000273f: SWAP1
00002740: POP
00002741: SWAP1
00002742: POP
00002743: DUP1
00002744: DUP3
00002745: LT
00002746: PUSH2 0x3588
00002749: JUMPI
0000274a: DUP1
0000274b: DUP3
0000274c: SUB
0000274d: SWAP1
0000274e: POP
0000274f: SWAP1
00002750: POP
00002751: DUP2
00002752: MSTORE
00002753: POP
00002754: PUSH2 0x27d7
00002757: JUMP
00002758: PUSH2 0x27d7
0000275b: JUMP
0000275c: JUMPDEST
0000275d: PUSH2 0x0120
00002760: MLOAD
00002761: PUSH2 0x0100
00002764: MLOAD
00002765: PUSH2 0x0120
00002768: MLOAD
00002769: DUP1
0000276a: DUP3
0000276b: LT
0000276c: PUSH2 0x3588
0000276f: JUMPI
00002770: DUP1
00002771: DUP3
00002772: SUB
00002773: SWAP1
00002774: POP
00002775: SWAP1
00002776: POP
00002777: TIMESTAMP
00002778: PUSH2 0x0140
0000277b: MLOAD
0000277c: DUP1
0000277d: DUP3
0000277e: LT
0000277f: PUSH2 0x3588
00002782: JUMPI
00002783: DUP1
00002784: DUP3
00002785: SUB
00002786: SWAP1
00002787: POP
00002788: SWAP1
00002789: POP
0000278a: DUP1
0000278b: DUP3
0000278c: MUL
0000278d: DUP3
0000278e: ISZERO
0000278f: DUP3
00002790: DUP5
00002791: DUP4
00002792: DIV
00002793: EQ
00002794: OR
00002795: ISZERO
00002796: PUSH2 0x3588
00002799: JUMPI
0000279a: SWAP1
0000279b: POP
0000279c: SWAP1
0000279d: POP
0000279e: PUSH1 0xe0
000027a0: MLOAD
000027a1: PUSH2 0x0140
000027a4: MLOAD
000027a5: DUP1
000027a6: DUP3
000027a7: LT
000027a8: PUSH2 0x3588
000027ab: JUMPI
000027ac: DUP1
000027ad: DUP3
000027ae: SUB
000027af: SWAP1
000027b0: POP
000027b1: SWAP1
000027b2: POP
000027b3: DUP1
000027b4: DUP1
000027b5: ISZERO
000027b6: PUSH2 0x3588
000027b9: JUMPI
000027ba: DUP3
000027bb: DIV
000027bc: SWAP1
000027bd: POP
000027be: SWAP1
000027bf: POP
000027c0: DUP2
000027c1: DUP2
000027c2: DUP4
000027c3: ADD
000027c4: LT
000027c5: PUSH2 0x3588
000027c8: JUMPI
000027c9: DUP1
000027ca: DUP3
000027cb: ADD
000027cc: SWAP1
000027cd: POP
000027ce: SWAP1
000027cf: POP
000027d0: DUP2
000027d1: MSTORE
000027d2: POP
000027d3: PUSH2 0x27d7
000027d6: JUMP
000027d7: JUMPDEST
000027d8: JUMP
000027d9: JUMPDEST
000027da: PUSH8 0x0de0b6b3a7640000
000027e3: PUSH1 0xe0
000027e5: MSTORE
000027e6: PUSH13 0x0c9f2c9cd04674edea40000000
000027f4: PUSH2 0x0100
000027f7: MSTORE
000027f8: PUSH2 0x0120
000027fb: PUSH1 0x00
000027fd: PUSH1 0x02
000027ff: DUP2
00002800: DUP4
00002801: MSTORE
00002802: ADD
00002803: JUMPDEST
00002804: PUSH1 0xe0
00002806: PUSH2 0x0120
00002809: MLOAD
0000280a: PUSH1 0x02
0000280c: DUP2
0000280d: LT
0000280e: ISZERO
0000280f: PUSH2 0x3588
00002812: JUMPI
00002813: PUSH1 0x20
00002815: MUL
00002816: ADD
00002817: MLOAD
00002818: PUSH1 0x01
0000281a: PUSH2 0x0120
0000281d: MLOAD
0000281e: PUSH1 0x02
00002820: DUP2
00002821: LT
00002822: ISZERO
00002823: PUSH2 0x3588
00002826: JUMPI
00002827: MUL
00002828: PUSH1 0x03
0000282a: ADD
0000282b: SLOAD
0000282c: DUP1
0000282d: DUP3
0000282e: MUL
0000282f: DUP3
00002830: ISZERO
00002831: DUP3
00002832: DUP5
00002833: DUP4
00002834: DIV
00002835: EQ
00002836: OR
00002837: ISZERO
00002838: PUSH2 0x3588
0000283b: JUMPI
0000283c: SWAP1
0000283d: POP
0000283e: SWAP1
0000283f: POP
00002840: PUSH8 0x0de0b6b3a7640000
00002849: DUP1
0000284a: DUP3
0000284b: DIV
0000284c: SWAP1
0000284d: POP
0000284e: SWAP1
0000284f: POP
00002850: PUSH1 0xe0
00002852: PUSH2 0x0120
00002855: MLOAD
00002856: PUSH1 0x02
00002858: DUP2
00002859: LT
0000285a: ISZERO
0000285b: PUSH2 0x3588
0000285e: JUMPI
0000285f: PUSH1 0x20
00002861: MUL
00002862: ADD
00002863: MSTORE
00002864: DUP2
00002865: MLOAD
00002866: PUSH1 0x01
00002868: ADD
00002869: DUP1
0000286a: DUP4
0000286b: MSTORE
0000286c: DUP2
0000286d: EQ
0000286e: ISZERO
0000286f: PUSH2 0x2803
00002872: JUMPI
00002873: POP
00002874: POP
00002875: PUSH1 0xe0
00002877: MLOAD
00002878: DUP2
00002879: MSTORE
0000287a: PUSH2 0x0100
0000287d: MLOAD
0000287e: DUP2
0000287f: PUSH1 0x20
00002881: ADD
00002882: MSTORE
00002883: POP
00002884: JUMP
00002885: JUMPDEST
00002886: PUSH8 0x0de0b6b3a7640000
0000288f: PUSH2 0x0120
00002892: MSTORE
00002893: PUSH13 0x0c9f2c9cd04674edea40000000
000028a1: PUSH2 0x0140
000028a4: MSTORE
000028a5: PUSH2 0x0160
000028a8: PUSH1 0x00
000028aa: PUSH1 0x02
000028ac: DUP2
000028ad: DUP4
000028ae: MSTORE
000028af: ADD
000028b0: JUMPDEST
000028b1: PUSH2 0x0120
000028b4: PUSH2 0x0160
000028b7: MLOAD
000028b8: PUSH1 0x02
000028ba: DUP2
000028bb: LT
000028bc: ISZERO
000028bd: PUSH2 0x3588
000028c0: JUMPI
000028c1: PUSH1 0x20
000028c3: MUL
000028c4: ADD
000028c5: MLOAD
000028c6: PUSH1 0xe0
000028c8: PUSH2 0x0160
000028cb: MLOAD
000028cc: PUSH1 0x02
000028ce: DUP2
000028cf: LT
000028d0: ISZERO
000028d1: PUSH2 0x3588
000028d4: JUMPI
000028d5: PUSH1 0x20
000028d7: MUL
000028d8: ADD
000028d9: MLOAD
000028da: DUP1
000028db: DUP3
000028dc: MUL
000028dd: DUP3
000028de: ISZERO
000028df: DUP3
000028e0: DUP5
000028e1: DUP4
000028e2: DIV
000028e3: EQ
000028e4: OR
000028e5: ISZERO
000028e6: PUSH2 0x3588
000028e9: JUMPI
000028ea: SWAP1
000028eb: POP
000028ec: SWAP1
000028ed: POP
000028ee: PUSH8 0x0de0b6b3a7640000
000028f7: DUP1
000028f8: DUP3
000028f9: DIV
000028fa: SWAP1
000028fb: POP
000028fc: SWAP1
000028fd: POP
000028fe: PUSH2 0x0120
00002901: PUSH2 0x0160
00002904: MLOAD
00002905: PUSH1 0x02
00002907: DUP2
00002908: LT
00002909: ISZERO
0000290a: PUSH2 0x3588
0000290d: JUMPI
0000290e: PUSH1 0x20
00002910: MUL
00002911: ADD
00002912: MSTORE
00002913: DUP2
00002914: MLOAD
00002915: PUSH1 0x01
00002917: ADD
00002918: DUP1
00002919: DUP4
0000291a: MSTORE
0000291b: DUP2
0000291c: EQ
0000291d: ISZERO
0000291e: PUSH2 0x28b0
00002921: JUMPI
00002922: POP
00002923: POP
00002924: PUSH2 0x0120
00002927: MLOAD
00002928: DUP2
00002929: MSTORE
0000292a: PUSH2 0x0140
0000292d: MLOAD
0000292e: DUP2
0000292f: PUSH1 0x20
00002931: ADD
00002932: MSTORE
00002933: POP
00002934: JUMP
00002935: JUMPDEST
00002936: PUSH1 0x40
00002938: CALLDATASIZE
00002939: PUSH2 0x0140
0000293c: CALLDATACOPY
0000293d: PUSH2 0x01a0
00002940: PUSH1 0x00
00002942: PUSH1 0x02
00002944: DUP2
00002945: DUP4
00002946: MSTORE
00002947: ADD
00002948: JUMPDEST
00002949: PUSH1 0x20
0000294b: PUSH2 0x01a0
0000294e: MLOAD
0000294f: MUL
00002950: PUSH1 0xe0
00002952: ADD
00002953: MLOAD
00002954: PUSH2 0x0180
00002957: MSTORE
00002958: PUSH2 0x0140
0000295b: DUP1
0000295c: MLOAD
0000295d: PUSH2 0x0180
00002960: MLOAD
00002961: DUP2
00002962: DUP2
00002963: DUP4
00002964: ADD
00002965: LT
00002966: PUSH2 0x3588
00002969: JUMPI
0000296a: DUP1
0000296b: DUP3
0000296c: ADD
0000296d: SWAP1
0000296e: POP
0000296f: SWAP1
00002970: POP
00002971: DUP2
00002972: MSTORE
00002973: POP
00002974: DUP2
00002975: MLOAD
00002976: PUSH1 0x01
00002978: ADD
00002979: DUP1
0000297a: DUP4
0000297b: MSTORE
0000297c: DUP2
0000297d: EQ
0000297e: ISZERO
0000297f: PUSH2 0x2948
00002982: JUMPI
00002983: POP
00002984: POP
00002985: PUSH2 0x0140
00002988: MLOAD
00002989: PUSH2 0x2996
0000298c: JUMPI
0000298d: PUSH1 0x00
0000298f: DUP2
00002990: MSTORE
00002991: POP
00002992: PUSH2 0x2ba0
00002995: JUMP
00002996: JUMPDEST
00002997: PUSH2 0x0140
0000299a: MLOAD
0000299b: PUSH2 0x0180
0000299e: MSTORE
0000299f: PUSH2 0x0120
000029a2: MLOAD
000029a3: PUSH1 0x02
000029a5: DUP1
000029a6: DUP3
000029a7: MUL
000029a8: DUP3
000029a9: ISZERO
000029aa: DUP3
000029ab: DUP5
000029ac: DUP4
000029ad: DIV
000029ae: EQ
000029af: OR
000029b0: ISZERO
000029b1: PUSH2 0x3588
000029b4: JUMPI
000029b5: SWAP1
000029b6: POP
000029b7: SWAP1
000029b8: POP
000029b9: PUSH2 0x01a0
000029bc: MSTORE
000029bd: PUSH2 0x01c0
000029c0: PUSH1 0x00
000029c2: PUSH1 0xff
000029c4: DUP2
000029c5: DUP4
000029c6: MSTORE
000029c7: ADD
000029c8: JUMPDEST
000029c9: PUSH2 0x0180
000029cc: MLOAD
000029cd: PUSH2 0x01e0
000029d0: MSTORE
000029d1: PUSH2 0x0220
000029d4: PUSH1 0x00
000029d6: PUSH1 0x02
000029d8: DUP2
000029d9: DUP4
000029da: MSTORE
000029db: ADD
000029dc: JUMPDEST
000029dd: PUSH1 0x20
000029df: PUSH2 0x0220
000029e2: MLOAD
000029e3: MUL
000029e4: PUSH1 0xe0
000029e6: ADD
000029e7: MLOAD
000029e8: PUSH2 0x0200
000029eb: MSTORE
000029ec: PUSH2 0x01e0
000029ef: MLOAD
000029f0: PUSH2 0x0180
000029f3: MLOAD
000029f4: DUP1
000029f5: DUP3
000029f6: MUL
000029f7: DUP3
000029f8: ISZERO
000029f9: DUP3
000029fa: DUP5
000029fb: DUP4
000029fc: DIV
000029fd: EQ
000029fe: OR
000029ff: ISZERO
00002a00: PUSH2 0x3588
00002a03: JUMPI
00002a04: SWAP1
00002a05: POP
00002a06: SWAP1
00002a07: POP
00002a08: PUSH2 0x0200
00002a0b: MLOAD
00002a0c: PUSH1 0x02
00002a0e: DUP1
00002a0f: DUP3
00002a10: MUL
00002a11: DUP3
00002a12: ISZERO
00002a13: DUP3
00002a14: DUP5
00002a15: DUP4
00002a16: DIV
00002a17: EQ
00002a18: OR
00002a19: ISZERO
00002a1a: PUSH2 0x3588
00002a1d: JUMPI
00002a1e: SWAP1
00002a1f: POP
00002a20: SWAP1
00002a21: POP
00002a22: DUP1
00002a23: DUP1
00002a24: ISZERO
00002a25: PUSH2 0x3588
00002a28: JUMPI
00002a29: DUP3
00002a2a: DIV
00002a2b: SWAP1
00002a2c: POP
00002a2d: SWAP1
00002a2e: POP
00002a2f: PUSH2 0x01e0
00002a32: MSTORE
00002a33: DUP2
00002a34: MLOAD
00002a35: PUSH1 0x01
00002a37: ADD
00002a38: DUP1
00002a39: DUP4
00002a3a: MSTORE
00002a3b: DUP2
00002a3c: EQ
00002a3d: ISZERO
00002a3e: PUSH2 0x29dc
00002a41: JUMPI
00002a42: POP
00002a43: POP
00002a44: PUSH2 0x0180
00002a47: MLOAD
00002a48: PUSH2 0x0160
00002a4b: MSTORE
00002a4c: PUSH2 0x01a0
00002a4f: MLOAD
00002a50: PUSH2 0x0140
00002a53: MLOAD
00002a54: DUP1
00002a55: DUP3
00002a56: MUL
00002a57: DUP3
00002a58: ISZERO
00002a59: DUP3
00002a5a: DUP5
00002a5b: DUP4
00002a5c: DIV
00002a5d: EQ
00002a5e: OR
00002a5f: ISZERO
00002a60: PUSH2 0x3588
00002a63: JUMPI
00002a64: SWAP1
00002a65: POP
00002a66: SWAP1
00002a67: POP
00002a68: PUSH1 0x64
00002a6a: DUP1
00002a6b: DUP3
00002a6c: DIV
00002a6d: SWAP1
00002a6e: POP
00002a6f: SWAP1
00002a70: POP
00002a71: PUSH2 0x01e0
00002a74: MLOAD
00002a75: PUSH1 0x02
00002a77: DUP1
00002a78: DUP3
00002a79: MUL
00002a7a: DUP3
00002a7b: ISZERO
00002a7c: DUP3
00002a7d: DUP5
00002a7e: DUP4
00002a7f: DIV
00002a80: EQ
00002a81: OR
00002a82: ISZERO
00002a83: PUSH2 0x3588
00002a86: JUMPI
00002a87: SWAP1
00002a88: POP
00002a89: SWAP1
00002a8a: POP
00002a8b: DUP2
00002a8c: DUP2
00002a8d: DUP4
00002a8e: ADD
00002a8f: LT
00002a90: PUSH2 0x3588
00002a93: JUMPI
00002a94: DUP1
00002a95: DUP3
00002a96: ADD
00002a97: SWAP1
00002a98: POP
00002a99: SWAP1
00002a9a: POP
00002a9b: PUSH2 0x0180
00002a9e: MLOAD
00002a9f: DUP1
00002aa0: DUP3
00002aa1: MUL
00002aa2: DUP3
00002aa3: ISZERO
00002aa4: DUP3
00002aa5: DUP5
00002aa6: DUP4
00002aa7: DIV
00002aa8: EQ
00002aa9: OR
00002aaa: ISZERO
00002aab: PUSH2 0x3588
00002aae: JUMPI
00002aaf: SWAP1
00002ab0: POP
00002ab1: SWAP1
00002ab2: POP
00002ab3: PUSH2 0x01a0
00002ab6: MLOAD
00002ab7: PUSH1 0x64
00002ab9: DUP1
00002aba: DUP3
00002abb: LT
00002abc: PUSH2 0x3588
00002abf: JUMPI
00002ac0: DUP1
00002ac1: DUP3
00002ac2: SUB
00002ac3: SWAP1
00002ac4: POP
00002ac5: SWAP1
00002ac6: POP
00002ac7: PUSH2 0x0180
00002aca: MLOAD
00002acb: DUP1
00002acc: DUP3
00002acd: MUL
00002ace: DUP3
00002acf: ISZERO
00002ad0: DUP3
00002ad1: DUP5
00002ad2: DUP4
00002ad3: DIV
00002ad4: EQ
00002ad5: OR
00002ad6: ISZERO
00002ad7: PUSH2 0x3588
00002ada: JUMPI
00002adb: SWAP1
00002adc: POP
00002add: SWAP1
00002ade: POP
00002adf: PUSH1 0x64
00002ae1: DUP1
00002ae2: DUP3
00002ae3: DIV
00002ae4: SWAP1
00002ae5: POP
00002ae6: SWAP1
00002ae7: POP
00002ae8: PUSH1 0x03
00002aea: PUSH2 0x01e0
00002aed: MLOAD
00002aee: DUP1
00002aef: DUP3
00002af0: MUL
00002af1: DUP3
00002af2: ISZERO
00002af3: DUP3
00002af4: DUP5
00002af5: DUP4
00002af6: DIV
00002af7: EQ
00002af8: OR
00002af9: ISZERO
00002afa: PUSH2 0x3588
00002afd: JUMPI
00002afe: SWAP1
00002aff: POP
00002b00: SWAP1
00002b01: POP
00002b02: DUP2
00002b03: DUP2
00002b04: DUP4
00002b05: ADD
00002b06: LT
00002b07: PUSH2 0x3588
00002b0a: JUMPI
00002b0b: DUP1
00002b0c: DUP3
00002b0d: ADD
00002b0e: SWAP1
00002b0f: POP
00002b10: SWAP1
00002b11: POP
00002b12: DUP1
00002b13: DUP1
00002b14: ISZERO
00002b15: PUSH2 0x3588
00002b18: JUMPI
00002b19: DUP3
00002b1a: DIV
00002b1b: SWAP1
00002b1c: POP
00002b1d: SWAP1
00002b1e: POP
00002b1f: PUSH2 0x0180
00002b22: MSTORE
00002b23: PUSH2 0x0160
00002b26: MLOAD
00002b27: PUSH2 0x0180
00002b2a: MLOAD
00002b2b: GT
00002b2c: PUSH2 0x2b5e
00002b2f: JUMPI
00002b30: PUSH1 0x01
00002b32: PUSH2 0x0160
00002b35: MLOAD
00002b36: PUSH2 0x0180
00002b39: MLOAD
00002b3a: DUP1
00002b3b: DUP3
00002b3c: LT
00002b3d: PUSH2 0x3588
00002b40: JUMPI
00002b41: DUP1
00002b42: DUP3
00002b43: SUB
00002b44: SWAP1
00002b45: POP
00002b46: SWAP1
00002b47: POP
00002b48: GT
00002b49: PUSH2 0x2b89
00002b4c: JUMPI
00002b4d: POP
00002b4e: POP
00002b4f: PUSH2 0x0180
00002b52: MLOAD
00002b53: DUP2
00002b54: MSTORE
00002b55: POP
00002b56: PUSH2 0x2ba0
00002b59: JUMP
00002b5a: PUSH2 0x2b89
00002b5d: JUMP
00002b5e: JUMPDEST
00002b5f: PUSH1 0x01
00002b61: PUSH2 0x0180
00002b64: MLOAD
00002b65: PUSH2 0x0160
00002b68: MLOAD
00002b69: DUP1
00002b6a: DUP3
00002b6b: LT
00002b6c: PUSH2 0x3588
00002b6f: JUMPI
00002b70: DUP1
00002b71: DUP3
00002b72: SUB
00002b73: SWAP1
00002b74: POP
00002b75: SWAP1
00002b76: POP
00002b77: GT
00002b78: PUSH2 0x2b89
00002b7b: JUMPI
00002b7c: POP
00002b7d: POP
00002b7e: PUSH2 0x0180
00002b81: MLOAD
00002b82: DUP2
00002b83: MSTORE
00002b84: POP
00002b85: PUSH2 0x2ba0
00002b88: JUMP
00002b89: JUMPDEST
00002b8a: DUP2
00002b8b: MLOAD
00002b8c: PUSH1 0x01
00002b8e: ADD
00002b8f: DUP1
00002b90: DUP4
00002b91: MSTORE
00002b92: DUP2
00002b93: EQ
00002b94: ISZERO
00002b95: PUSH2 0x29c8
00002b98: JUMPI
00002b99: POP
00002b9a: POP
00002b9b: PUSH1 0x00
00002b9d: PUSH1 0x00
00002b9f: REVERT
00002ba0: JUMPDEST
00002ba1: JUMP
00002ba2: JUMPDEST
00002ba3: PUSH2 0x0240
00002ba6: MLOAD
00002ba7: PUSH1 0xe0
00002ba9: MSTORE
00002baa: PUSH2 0x0260
00002bad: MLOAD
00002bae: PUSH2 0x0100
00002bb1: MSTORE
00002bb2: PUSH2 0x2bbc
00002bb5: PUSH2 0x02a0
00002bb8: PUSH2 0x2885
00002bbb: JUMP
00002bbc: JUMPDEST
00002bbd: PUSH2 0x02a0
00002bc0: DUP1
00002bc1: MLOAD
00002bc2: PUSH2 0x0300
00002bc5: MSTORE
00002bc6: DUP1
00002bc7: PUSH1 0x20
00002bc9: ADD
00002bca: MLOAD
00002bcb: PUSH2 0x0320
00002bce: MSTORE
00002bcf: POP
00002bd0: PUSH2 0x0280
00002bd3: MLOAD
00002bd4: PUSH2 0x0340
00002bd7: MSTORE
00002bd8: PUSH2 0x0300
00002bdb: MLOAD
00002bdc: PUSH1 0xe0
00002bde: MSTORE
00002bdf: PUSH2 0x0320
00002be2: MLOAD
00002be3: PUSH2 0x0100
00002be6: MSTORE
00002be7: PUSH2 0x0340
00002bea: MLOAD
00002beb: PUSH2 0x0120
00002bee: MSTORE
00002bef: PUSH2 0x2bf9
00002bf2: PUSH2 0x02e0
00002bf5: PUSH2 0x2935
00002bf8: JUMP
00002bf9: JUMPDEST
00002bfa: PUSH2 0x02e0
00002bfd: MLOAD
00002bfe: DUP2
00002bff: MSTORE
00002c00: POP
00002c01: JUMP
00002c02: JUMPDEST
00002c03: PUSH2 0x0260
00002c06: MLOAD
00002c07: PUSH2 0x0240
00002c0a: MLOAD
00002c0b: EQ
00002c0c: PUSH2 0x3588
00002c0f: JUMPI
00002c10: PUSH1 0x00
00002c12: PUSH2 0x0260
00002c15: MLOAD
00002c16: SLT
00002c17: PUSH2 0x3588
00002c1a: JUMPI
00002c1b: PUSH1 0x02
00002c1d: PUSH2 0x0260
00002c20: MLOAD
00002c21: SLT
00002c22: ISZERO
00002c23: PUSH2 0x3588
00002c26: JUMPI
00002c27: PUSH1 0x00
00002c29: PUSH2 0x0240
00002c2c: MLOAD
00002c2d: SLT
00002c2e: PUSH2 0x3588
00002c31: JUMPI
00002c32: PUSH1 0x02
00002c34: PUSH2 0x0240
00002c37: MLOAD
00002c38: SLT
00002c39: ISZERO
00002c3a: PUSH2 0x3588
00002c3d: JUMPI
00002c3e: PUSH2 0x2c48
00002c41: PUSH2 0x0300
00002c44: PUSH2 0x269e
00002c47: JUMP
00002c48: JUMPDEST
00002c49: PUSH2 0x0300
00002c4c: MLOAD
00002c4d: PUSH2 0x02e0
00002c50: MSTORE
00002c51: PUSH2 0x02a0
00002c54: MLOAD
00002c55: PUSH1 0xe0
00002c57: MSTORE
00002c58: PUSH2 0x02c0
00002c5b: MLOAD
00002c5c: PUSH2 0x0100
00002c5f: MSTORE
00002c60: PUSH2 0x02e0
00002c63: MLOAD
00002c64: PUSH2 0x0120
00002c67: MSTORE
00002c68: PUSH2 0x2c72
00002c6b: PUSH2 0x0320
00002c6e: PUSH2 0x2935
00002c71: JUMP
00002c72: JUMPDEST
00002c73: PUSH2 0x0320
00002c76: MLOAD
00002c77: PUSH2 0x0300
00002c7a: MSTORE
00002c7b: PUSH2 0x02e0
00002c7e: MLOAD
00002c7f: PUSH1 0x02
00002c81: DUP1
00002c82: DUP3
00002c83: MUL
00002c84: DUP3
00002c85: ISZERO
00002c86: DUP3
00002c87: DUP5
00002c88: DUP4
00002c89: DIV
00002c8a: EQ
00002c8b: OR
00002c8c: ISZERO
00002c8d: PUSH2 0x3588
00002c90: JUMPI
00002c91: SWAP1
00002c92: POP
00002c93: SWAP1
00002c94: POP
00002c95: PUSH2 0x0320
00002c98: MSTORE
00002c99: PUSH2 0x0300
00002c9c: MLOAD
00002c9d: PUSH2 0x0340
00002ca0: MSTORE
00002ca1: PUSH1 0x60
00002ca3: CALLDATASIZE
00002ca4: PUSH2 0x0360
00002ca7: CALLDATACOPY
00002ca8: PUSH2 0x03c0
00002cab: PUSH1 0x00
00002cad: PUSH1 0x02
00002caf: DUP2
00002cb0: DUP4
00002cb1: MSTORE
00002cb2: ADD
00002cb3: JUMPDEST
00002cb4: PUSH2 0x0240
00002cb7: MLOAD
00002cb8: PUSH2 0x03c0
00002cbb: MLOAD
00002cbc: XOR
00002cbd: PUSH2 0x2ccd
00002cc0: JUMPI
00002cc1: PUSH2 0x0280
00002cc4: MLOAD
00002cc5: PUSH2 0x0380
00002cc8: MSTORE
00002cc9: PUSH2 0x2cfe
00002ccc: JUMP
00002ccd: JUMPDEST
00002cce: PUSH2 0x0260
00002cd1: MLOAD
00002cd2: PUSH2 0x03c0
00002cd5: MLOAD
00002cd6: EQ
00002cd7: ISZERO
00002cd8: PUSH2 0x2ce4
00002cdb: JUMPI
00002cdc: PUSH2 0x2d62
00002cdf: JUMP
00002ce0: PUSH2 0x2cfe
00002ce3: JUMP
00002ce4: JUMPDEST
00002ce5: PUSH2 0x02a0
00002ce8: PUSH2 0x03c0
00002ceb: MLOAD
00002cec: PUSH1 0x02
00002cee: DUP2
00002cef: LT
00002cf0: ISZERO
00002cf1: PUSH2 0x3588
00002cf4: JUMPI
00002cf5: PUSH1 0x20
00002cf7: MUL
00002cf8: ADD
00002cf9: MLOAD
00002cfa: PUSH2 0x0380
00002cfd: MSTORE
00002cfe: JUMPDEST
00002cff: PUSH2 0x0360
00002d02: DUP1
00002d03: MLOAD
00002d04: PUSH2 0x0380
00002d07: MLOAD
00002d08: DUP2
00002d09: DUP2
00002d0a: DUP4
00002d0b: ADD
00002d0c: LT
00002d0d: PUSH2 0x3588
00002d10: JUMPI
00002d11: DUP1
00002d12: DUP3
00002d13: ADD
00002d14: SWAP1
00002d15: POP
00002d16: SWAP1
00002d17: POP
00002d18: DUP2
00002d19: MSTORE
00002d1a: POP
00002d1b: PUSH2 0x0340
00002d1e: MLOAD
00002d1f: PUSH2 0x0300
00002d22: MLOAD
00002d23: DUP1
00002d24: DUP3
00002d25: MUL
00002d26: DUP3
00002d27: ISZERO
00002d28: DUP3
00002d29: DUP5
00002d2a: DUP4
00002d2b: DIV
00002d2c: EQ
00002d2d: OR
00002d2e: ISZERO
00002d2f: PUSH2 0x3588
00002d32: JUMPI
00002d33: SWAP1
00002d34: POP
00002d35: SWAP1
00002d36: POP
00002d37: PUSH2 0x0380
00002d3a: MLOAD
00002d3b: PUSH1 0x02
00002d3d: DUP1
00002d3e: DUP3
00002d3f: MUL
00002d40: DUP3
00002d41: ISZERO
00002d42: DUP3
00002d43: DUP5
00002d44: DUP4
00002d45: DIV
00002d46: EQ
00002d47: OR
00002d48: ISZERO
00002d49: PUSH2 0x3588
00002d4c: JUMPI
00002d4d: SWAP1
00002d4e: POP
00002d4f: SWAP1
00002d50: POP
00002d51: DUP1
00002d52: DUP1
00002d53: ISZERO
00002d54: PUSH2 0x3588
00002d57: JUMPI
00002d58: DUP3
00002d59: DIV
00002d5a: SWAP1
00002d5b: POP
00002d5c: SWAP1
00002d5d: POP
00002d5e: PUSH2 0x0340
00002d61: MSTORE
00002d62: JUMPDEST
00002d63: DUP2
00002d64: MLOAD
00002d65: PUSH1 0x01
00002d67: ADD
00002d68: DUP1
00002d69: DUP4
00002d6a: MSTORE
00002d6b: DUP2
00002d6c: EQ
00002d6d: ISZERO
00002d6e: PUSH2 0x2cb3
00002d71: JUMPI
00002d72: POP
00002d73: POP
00002d74: PUSH2 0x0340
00002d77: MLOAD
00002d78: PUSH2 0x0300
00002d7b: MLOAD
00002d7c: DUP1
00002d7d: DUP3
00002d7e: MUL
00002d7f: DUP3
00002d80: ISZERO
00002d81: DUP3
00002d82: DUP5
00002d83: DUP4
00002d84: DIV
00002d85: EQ
00002d86: OR
00002d87: ISZERO
00002d88: PUSH2 0x3588
00002d8b: JUMPI
00002d8c: SWAP1
00002d8d: POP
00002d8e: SWAP1
00002d8f: POP
00002d90: PUSH1 0x64
00002d92: DUP1
00002d93: DUP3
00002d94: MUL
00002d95: DUP3
00002d96: ISZERO
00002d97: DUP3
00002d98: DUP5
00002d99: DUP4
00002d9a: DIV
00002d9b: EQ
00002d9c: OR
00002d9d: ISZERO
00002d9e: PUSH2 0x3588
00002da1: JUMPI
00002da2: SWAP1
00002da3: POP
00002da4: SWAP1
00002da5: POP
00002da6: PUSH2 0x0320
00002da9: MLOAD
00002daa: PUSH1 0x02
00002dac: DUP1
00002dad: DUP3
00002dae: MUL
00002daf: DUP3
00002db0: ISZERO
00002db1: DUP3
00002db2: DUP5
00002db3: DUP4
00002db4: DIV
00002db5: EQ
00002db6: OR
00002db7: ISZERO
00002db8: PUSH2 0x3588
00002dbb: JUMPI
00002dbc: SWAP1
00002dbd: POP
00002dbe: SWAP1
00002dbf: POP
00002dc0: DUP1
00002dc1: DUP1
00002dc2: ISZERO
00002dc3: PUSH2 0x3588
00002dc6: JUMPI
00002dc7: DUP3
00002dc8: DIV
00002dc9: SWAP1
00002dca: POP
00002dcb: SWAP1
00002dcc: POP
00002dcd: PUSH2 0x0340
00002dd0: MSTORE
00002dd1: PUSH2 0x0360
00002dd4: MLOAD
00002dd5: PUSH2 0x0300
00002dd8: MLOAD
00002dd9: PUSH1 0x64
00002ddb: DUP1
00002ddc: DUP3
00002ddd: MUL
00002dde: DUP3
00002ddf: ISZERO
00002de0: DUP3
00002de1: DUP5
00002de2: DUP4
00002de3: DIV
00002de4: EQ
00002de5: OR
00002de6: ISZERO
00002de7: PUSH2 0x3588
00002dea: JUMPI
00002deb: SWAP1
00002dec: POP
00002ded: SWAP1
00002dee: POP
00002def: PUSH2 0x0320
00002df2: MLOAD
00002df3: DUP1
00002df4: DUP1
00002df5: ISZERO
00002df6: PUSH2 0x3588
00002df9: JUMPI
00002dfa: DUP3
00002dfb: DIV
00002dfc: SWAP1
00002dfd: POP
00002dfe: SWAP1
00002dff: POP
00002e00: DUP2
00002e01: DUP2
00002e02: DUP4
00002e03: ADD
00002e04: LT
00002e05: PUSH2 0x3588
00002e08: JUMPI
00002e09: DUP1
00002e0a: DUP3
00002e0b: ADD
00002e0c: SWAP1
00002e0d: POP
00002e0e: SWAP1
00002e0f: POP
00002e10: PUSH2 0x03c0
00002e13: MSTORE
00002e14: PUSH2 0x0300
00002e17: MLOAD
00002e18: PUSH2 0x03e0
00002e1b: MSTORE
00002e1c: PUSH2 0x0400
00002e1f: PUSH1 0x00
00002e21: PUSH1 0xff
00002e23: DUP2
00002e24: DUP4
00002e25: MSTORE
00002e26: ADD
00002e27: JUMPDEST
00002e28: PUSH2 0x03e0
00002e2b: MLOAD
00002e2c: PUSH2 0x03a0
00002e2f: MSTORE
00002e30: PUSH2 0x03e0
00002e33: MLOAD
00002e34: PUSH2 0x03e0
00002e37: MLOAD
00002e38: DUP1
00002e39: DUP3
00002e3a: MUL
00002e3b: DUP3
00002e3c: ISZERO
00002e3d: DUP3
00002e3e: DUP5
00002e3f: DUP4
00002e40: DIV
00002e41: EQ
00002e42: OR
00002e43: ISZERO
00002e44: PUSH2 0x3588
00002e47: JUMPI
00002e48: SWAP1
00002e49: POP
00002e4a: SWAP1
00002e4b: POP
00002e4c: PUSH2 0x0340
00002e4f: MLOAD
00002e50: DUP2
00002e51: DUP2
00002e52: DUP4
00002e53: ADD
00002e54: LT
00002e55: PUSH2 0x3588
00002e58: JUMPI
00002e59: DUP1
00002e5a: DUP3
00002e5b: ADD
00002e5c: SWAP1
00002e5d: POP
00002e5e: SWAP1
00002e5f: POP
00002e60: PUSH1 0x02
00002e62: PUSH2 0x03e0
00002e65: MLOAD
00002e66: DUP1
00002e67: DUP3
00002e68: MUL
00002e69: DUP3
00002e6a: ISZERO
00002e6b: DUP3
00002e6c: DUP5
00002e6d: DUP4
00002e6e: DIV
00002e6f: EQ
00002e70: OR
00002e71: ISZERO
00002e72: PUSH2 0x3588
00002e75: JUMPI
00002e76: SWAP1
00002e77: POP
00002e78: SWAP1
00002e79: POP
00002e7a: PUSH2 0x03c0
00002e7d: MLOAD
00002e7e: DUP2
00002e7f: DUP2
00002e80: DUP4
00002e81: ADD
00002e82: LT
00002e83: PUSH2 0x3588
00002e86: JUMPI
00002e87: DUP1
00002e88: DUP3
00002e89: ADD
00002e8a: SWAP1
00002e8b: POP
00002e8c: SWAP1
00002e8d: POP
00002e8e: PUSH2 0x0300
00002e91: MLOAD
00002e92: DUP1
00002e93: DUP3
00002e94: LT
00002e95: PUSH2 0x3588
00002e98: JUMPI
00002e99: DUP1
00002e9a: DUP3
00002e9b: SUB
00002e9c: SWAP1
00002e9d: POP
00002e9e: SWAP1
00002e9f: POP
00002ea0: DUP1
00002ea1: DUP1
00002ea2: ISZERO
00002ea3: PUSH2 0x3588
00002ea6: JUMPI
00002ea7: DUP3
00002ea8: DIV
00002ea9: SWAP1
00002eaa: POP
00002eab: SWAP1
00002eac: POP
00002ead: PUSH2 0x03e0
00002eb0: MSTORE
00002eb1: PUSH2 0x03a0
00002eb4: MLOAD
00002eb5: PUSH2 0x03e0
00002eb8: MLOAD
00002eb9: GT
00002eba: PUSH2 0x2eec
00002ebd: JUMPI
00002ebe: PUSH1 0x01
00002ec0: PUSH2 0x03a0
00002ec3: MLOAD
00002ec4: PUSH2 0x03e0
00002ec7: MLOAD
00002ec8: DUP1
00002ec9: DUP3
00002eca: LT
00002ecb: PUSH2 0x3588
00002ece: JUMPI
00002ecf: DUP1
00002ed0: DUP3
00002ed1: SUB
00002ed2: SWAP1
00002ed3: POP
00002ed4: SWAP1
00002ed5: POP
00002ed6: GT
00002ed7: PUSH2 0x2f17
00002eda: JUMPI
00002edb: POP
00002edc: POP
00002edd: PUSH2 0x03e0
00002ee0: MLOAD
00002ee1: DUP2
00002ee2: MSTORE
00002ee3: POP
00002ee4: PUSH2 0x2f2e
00002ee7: JUMP
00002ee8: PUSH2 0x2f17
00002eeb: JUMP
00002eec: JUMPDEST
00002eed: PUSH1 0x01
00002eef: PUSH2 0x03e0
00002ef2: MLOAD
00002ef3: PUSH2 0x03a0
00002ef6: MLOAD
00002ef7: DUP1
00002ef8: DUP3
00002ef9: LT
00002efa: PUSH2 0x3588
00002efd: JUMPI
00002efe: DUP1
00002eff: DUP3
00002f00: SUB
00002f01: SWAP1
00002f02: POP
00002f03: SWAP1
00002f04: POP
00002f05: GT
00002f06: PUSH2 0x2f17
00002f09: JUMPI
00002f0a: POP
00002f0b: POP
00002f0c: PUSH2 0x03e0
00002f0f: MLOAD
00002f10: DUP2
00002f11: MSTORE
00002f12: POP
00002f13: PUSH2 0x2f2e
00002f16: JUMP
00002f17: JUMPDEST
00002f18: DUP2
00002f19: MLOAD
00002f1a: PUSH1 0x01
00002f1c: ADD
00002f1d: DUP1
00002f1e: DUP4
00002f1f: MSTORE
00002f20: DUP2
00002f21: EQ
00002f22: ISZERO
00002f23: PUSH2 0x2e27
00002f26: JUMPI
00002f27: POP
00002f28: POP
00002f29: PUSH1 0x00
00002f2b: PUSH1 0x00
00002f2d: REVERT
00002f2e: JUMPDEST
00002f2f: JUMP
00002f30: JUMPDEST
00002f31: PUSH1 0x00
00002f33: PUSH2 0x0100
00002f36: MLOAD
00002f37: SLT
00002f38: PUSH2 0x3588
00002f3b: JUMPI
00002f3c: PUSH1 0x02
00002f3e: PUSH2 0x0100
00002f41: MLOAD
00002f42: SLT
00002f43: ISZERO
00002f44: PUSH2 0x3588
00002f47: JUMPI
00002f48: PUSH1 0xe0
00002f4a: MLOAD
00002f4b: PUSH1 0x02
00002f4d: DUP1
00002f4e: DUP3
00002f4f: MUL
00002f50: DUP3
00002f51: ISZERO
00002f52: DUP3
00002f53: DUP5
00002f54: DUP4
00002f55: DIV
00002f56: EQ
00002f57: OR
00002f58: ISZERO
00002f59: PUSH2 0x3588
00002f5c: JUMPI
00002f5d: SWAP1
00002f5e: POP
00002f5f: SWAP1
00002f60: POP
00002f61: PUSH2 0x0180
00002f64: MSTORE
00002f65: PUSH2 0x0160
00002f68: MLOAD
00002f69: PUSH2 0x01a0
00002f6c: MSTORE
00002f6d: PUSH1 0x60
00002f6f: CALLDATASIZE
00002f70: PUSH2 0x01c0
00002f73: CALLDATACOPY
00002f74: PUSH2 0x0220
00002f77: PUSH1 0x00
00002f79: PUSH1 0x02
00002f7b: DUP2
00002f7c: DUP4
00002f7d: MSTORE
00002f7e: ADD
00002f7f: JUMPDEST
00002f80: PUSH2 0x0100
00002f83: MLOAD
00002f84: PUSH2 0x0220
00002f87: MLOAD
00002f88: EQ
00002f89: ISZERO
00002f8a: PUSH2 0x2f96
00002f8d: JUMPI
00002f8e: PUSH2 0x3014
00002f91: JUMP
00002f92: PUSH2 0x2fb0
00002f95: JUMP
00002f96: JUMPDEST
00002f97: PUSH2 0x0120
00002f9a: PUSH2 0x0220
00002f9d: MLOAD
00002f9e: PUSH1 0x02
00002fa0: DUP2
00002fa1: LT
00002fa2: ISZERO
00002fa3: PUSH2 0x3588
00002fa6: JUMPI
00002fa7: PUSH1 0x20
00002fa9: MUL
00002faa: ADD
00002fab: MLOAD
00002fac: PUSH2 0x01e0
00002faf: MSTORE
00002fb0: JUMPDEST
00002fb1: PUSH2 0x01c0
00002fb4: DUP1
00002fb5: MLOAD
00002fb6: PUSH2 0x01e0
00002fb9: MLOAD
00002fba: DUP2
00002fbb: DUP2
00002fbc: DUP4
00002fbd: ADD
00002fbe: LT
00002fbf: PUSH2 0x3588
00002fc2: JUMPI
00002fc3: DUP1
00002fc4: DUP3
00002fc5: ADD
00002fc6: SWAP1
00002fc7: POP
00002fc8: SWAP1
00002fc9: POP
00002fca: DUP2
00002fcb: MSTORE
00002fcc: POP
00002fcd: PUSH2 0x01a0
00002fd0: MLOAD
00002fd1: PUSH2 0x0160
00002fd4: MLOAD
00002fd5: DUP1
00002fd6: DUP3
00002fd7: MUL
00002fd8: DUP3
00002fd9: ISZERO
00002fda: DUP3
00002fdb: DUP5
00002fdc: DUP4
00002fdd: DIV
00002fde: EQ
00002fdf: OR
00002fe0: ISZERO
00002fe1: PUSH2 0x3588
00002fe4: JUMPI
00002fe5: SWAP1
00002fe6: POP
00002fe7: SWAP1
00002fe8: POP
00002fe9: PUSH2 0x01e0
00002fec: MLOAD
00002fed: PUSH1 0x02
00002fef: DUP1
00002ff0: DUP3
00002ff1: MUL
00002ff2: DUP3
00002ff3: ISZERO
00002ff4: DUP3
00002ff5: DUP5
00002ff6: DUP4
00002ff7: DIV
00002ff8: EQ
00002ff9: OR
00002ffa: ISZERO
00002ffb: PUSH2 0x3588
00002ffe: JUMPI
00002fff: SWAP1
00003000: POP
00003001: SWAP1
00003002: POP
00003003: DUP1
00003004: DUP1
00003005: ISZERO
00003006: PUSH2 0x3588
00003009: JUMPI
0000300a: DUP3
0000300b: DIV
0000300c: SWAP1
0000300d: POP
0000300e: SWAP1
0000300f: POP
00003010: PUSH2 0x01a0
00003013: MSTORE
00003014: JUMPDEST
00003015: DUP2
00003016: MLOAD
00003017: PUSH1 0x01
00003019: ADD
0000301a: DUP1
0000301b: DUP4
0000301c: MSTORE
0000301d: DUP2
0000301e: EQ
0000301f: ISZERO
00003020: PUSH2 0x2f7f
00003023: JUMPI
00003024: POP
00003025: POP
00003026: PUSH2 0x01a0
00003029: MLOAD
0000302a: PUSH2 0x0160
0000302d: MLOAD
0000302e: DUP1
0000302f: DUP3
00003030: MUL
00003031: DUP3
00003032: ISZERO
00003033: DUP3
00003034: DUP5
00003035: DUP4
00003036: DIV
00003037: EQ
00003038: OR
00003039: ISZERO
0000303a: PUSH2 0x3588
0000303d: JUMPI
0000303e: SWAP1
0000303f: POP
00003040: SWAP1
00003041: POP
00003042: PUSH1 0x64
00003044: DUP1
00003045: DUP3
00003046: MUL
00003047: DUP3
00003048: ISZERO
00003049: DUP3
0000304a: DUP5
0000304b: DUP4
0000304c: DIV
0000304d: EQ
0000304e: OR
0000304f: ISZERO
00003050: PUSH2 0x3588
00003053: JUMPI
00003054: SWAP1
00003055: POP
00003056: SWAP1
00003057: POP
00003058: PUSH2 0x0180
0000305b: MLOAD
0000305c: PUSH1 0x02
0000305e: DUP1
0000305f: DUP3
00003060: MUL
00003061: DUP3
00003062: ISZERO
00003063: DUP3
00003064: DUP5
00003065: DUP4
00003066: DIV
00003067: EQ
00003068: OR
00003069: ISZERO
0000306a: PUSH2 0x3588
0000306d: JUMPI
0000306e: SWAP1
0000306f: POP
00003070: SWAP1
00003071: POP
00003072: DUP1
00003073: DUP1
00003074: ISZERO
00003075: PUSH2 0x3588
00003078: JUMPI
00003079: DUP3
0000307a: DIV
0000307b: SWAP1
0000307c: POP
0000307d: SWAP1
0000307e: POP
0000307f: PUSH2 0x01a0
00003082: MSTORE
00003083: PUSH2 0x01c0
00003086: MLOAD
00003087: PUSH2 0x0160
0000308a: MLOAD
0000308b: PUSH1 0x64
0000308d: DUP1
0000308e: DUP3
0000308f: MUL
00003090: DUP3
00003091: ISZERO
00003092: DUP3
00003093: DUP5
00003094: DUP4
00003095: DIV
00003096: EQ
00003097: OR
00003098: ISZERO
00003099: PUSH2 0x3588
0000309c: JUMPI
0000309d: SWAP1
0000309e: POP
0000309f: SWAP1
000030a0: POP
000030a1: PUSH2 0x0180
000030a4: MLOAD
000030a5: DUP1
000030a6: DUP1
000030a7: ISZERO
000030a8: PUSH2 0x3588
000030ab: JUMPI
000030ac: DUP3
000030ad: DIV
000030ae: SWAP1
000030af: POP
000030b0: SWAP1
000030b1: POP
000030b2: DUP2
000030b3: DUP2
000030b4: DUP4
000030b5: ADD
000030b6: LT
000030b7: PUSH2 0x3588
000030ba: JUMPI
000030bb: DUP1
000030bc: DUP3
000030bd: ADD
000030be: SWAP1
000030bf: POP
000030c0: SWAP1
000030c1: POP
000030c2: PUSH2 0x0220
000030c5: MSTORE
000030c6: PUSH2 0x0160
000030c9: MLOAD
000030ca: PUSH2 0x0240
000030cd: MSTORE
000030ce: PUSH2 0x0260
000030d1: PUSH1 0x00
000030d3: PUSH1 0xff
000030d5: DUP2
000030d6: DUP4
000030d7: MSTORE
000030d8: ADD
000030d9: JUMPDEST
000030da: PUSH2 0x0240
000030dd: MLOAD
000030de: PUSH2 0x0200
000030e1: MSTORE
000030e2: PUSH2 0x0240
000030e5: MLOAD
000030e6: PUSH2 0x0240
000030e9: MLOAD
000030ea: DUP1
000030eb: DUP3
000030ec: MUL
000030ed: DUP3
000030ee: ISZERO
000030ef: DUP3
000030f0: DUP5
000030f1: DUP4
000030f2: DIV
000030f3: EQ
000030f4: OR
000030f5: ISZERO
000030f6: PUSH2 0x3588
000030f9: JUMPI
000030fa: SWAP1
000030fb: POP
000030fc: SWAP1
000030fd: POP
000030fe: PUSH2 0x01a0
00003101: MLOAD
00003102: DUP2
00003103: DUP2
00003104: DUP4
00003105: ADD
00003106: LT
00003107: PUSH2 0x3588
0000310a: JUMPI
0000310b: DUP1
0000310c: DUP3
0000310d: ADD
0000310e: SWAP1
0000310f: POP
00003110: SWAP1
00003111: POP
00003112: PUSH1 0x02
00003114: PUSH2 0x0240
00003117: MLOAD
00003118: DUP1
00003119: DUP3
0000311a: MUL
0000311b: DUP3
0000311c: ISZERO
0000311d: DUP3
0000311e: DUP5
0000311f: DUP4
00003120: DIV
00003121: EQ
00003122: OR
00003123: ISZERO
00003124: PUSH2 0x3588
00003127: JUMPI
00003128: SWAP1
00003129: POP
0000312a: SWAP1
0000312b: POP
0000312c: PUSH2 0x0220
0000312f: MLOAD
00003130: DUP2
00003131: DUP2
00003132: DUP4
00003133: ADD
00003134: LT
00003135: PUSH2 0x3588
00003138: JUMPI
00003139: DUP1
0000313a: DUP3
0000313b: ADD
0000313c: SWAP1
0000313d: POP
0000313e: SWAP1
0000313f: POP
00003140: PUSH2 0x0160
00003143: MLOAD
00003144: DUP1
00003145: DUP3
00003146: LT
00003147: PUSH2 0x3588
0000314a: JUMPI
0000314b: DUP1
0000314c: DUP3
0000314d: SUB
0000314e: SWAP1
0000314f: POP
00003150: SWAP1
00003151: POP
00003152: DUP1
00003153: DUP1
00003154: ISZERO
00003155: PUSH2 0x3588
00003158: JUMPI
00003159: DUP3
0000315a: DIV
0000315b: SWAP1
0000315c: POP
0000315d: SWAP1
0000315e: POP
0000315f: PUSH2 0x0240
00003162: MSTORE
00003163: PUSH2 0x0200
00003166: MLOAD
00003167: PUSH2 0x0240
0000316a: MLOAD
0000316b: GT
0000316c: PUSH2 0x319e
0000316f: JUMPI
00003170: PUSH1 0x01
00003172: PUSH2 0x0200
00003175: MLOAD
00003176: PUSH2 0x0240
00003179: MLOAD
0000317a: DUP1
0000317b: DUP3
0000317c: LT
0000317d: PUSH2 0x3588
00003180: JUMPI
00003181: DUP1
00003182: DUP3
00003183: SUB
00003184: SWAP1
00003185: POP
00003186: SWAP1
00003187: POP
00003188: GT
00003189: PUSH2 0x31c9
0000318c: JUMPI
0000318d: POP
0000318e: POP
0000318f: PUSH2 0x0240
00003192: MLOAD
00003193: DUP2
00003194: MSTORE
00003195: POP
00003196: PUSH2 0x31e0
00003199: JUMP
0000319a: PUSH2 0x31c9
0000319d: JUMP
0000319e: JUMPDEST
0000319f: PUSH1 0x01
000031a1: PUSH2 0x0240
000031a4: MLOAD
000031a5: PUSH2 0x0200
000031a8: MLOAD
000031a9: DUP1
000031aa: DUP3
000031ab: LT
000031ac: PUSH2 0x3588
000031af: JUMPI
000031b0: DUP1
000031b1: DUP3
000031b2: SUB
000031b3: SWAP1
000031b4: POP
000031b5: SWAP1
000031b6: POP
000031b7: GT
000031b8: PUSH2 0x31c9
000031bb: JUMPI
000031bc: POP
000031bd: POP
000031be: PUSH2 0x0240
000031c1: MLOAD
000031c2: DUP2
000031c3: MSTORE
000031c4: POP
000031c5: PUSH2 0x31e0
000031c8: JUMP
000031c9: JUMPDEST
000031ca: DUP2
000031cb: MLOAD
000031cc: PUSH1 0x01
000031ce: ADD
000031cf: DUP1
000031d0: DUP4
000031d1: MSTORE
000031d2: DUP2
000031d3: EQ
000031d4: ISZERO
000031d5: PUSH2 0x30d9
000031d8: JUMPI
000031d9: POP
000031da: POP
000031db: PUSH1 0x00
000031dd: PUSH1 0x00
000031df: REVERT
000031e0: JUMPDEST
000031e1: JUMP
000031e2: JUMPDEST
000031e3: PUSH2 0x31ed
000031e6: PUSH2 0x02e0
000031e9: PUSH2 0x269e
000031ec: JUMP
000031ed: JUMPDEST
000031ee: PUSH2 0x02e0
000031f1: MLOAD
000031f2: PUSH2 0x02c0
000031f5: MSTORE
000031f6: PUSH2 0x3200
000031f9: PUSH2 0x0320
000031fc: PUSH2 0x27d9
000031ff: JUMP
00003200: JUMPDEST
00003201: PUSH2 0x0320
00003204: DUP1
00003205: MLOAD
00003206: PUSH2 0x02e0
00003209: MSTORE
0000320a: DUP1
0000320b: PUSH1 0x20
0000320d: ADD
0000320e: MLOAD
0000320f: PUSH2 0x0300
00003212: MSTORE
00003213: POP
00003214: PUSH2 0x02e0
00003217: MLOAD
00003218: PUSH1 0xe0
0000321a: MSTORE
0000321b: PUSH2 0x0300
0000321e: MLOAD
0000321f: PUSH2 0x0100
00003222: MSTORE
00003223: PUSH2 0x02c0
00003226: MLOAD
00003227: PUSH2 0x0120
0000322a: MSTORE
0000322b: PUSH2 0x3235
0000322e: PUSH2 0x0340
00003231: PUSH2 0x2935
00003234: JUMP
00003235: JUMPDEST
00003236: PUSH2 0x0340
00003239: MLOAD
0000323a: PUSH2 0x0320
0000323d: MSTORE
0000323e: PUSH4 0x18160ddd
00003243: PUSH2 0x0360
00003246: MSTORE
00003247: PUSH1 0x20
00003249: PUSH2 0x0360
0000324c: PUSH1 0x04
0000324e: PUSH2 0x037c
00003251: PUSH1 0x08
00003253: SLOAD
00003254: GAS
00003255: STATICCALL
00003256: PUSH2 0x3264
00003259: JUMPI
0000325a: RETURNDATASIZE
0000325b: PUSH1 0x00
0000325d: PUSH1 0x00
0000325f: RETURNDATACOPY
00003260: RETURNDATASIZE
00003261: PUSH1 0x00
00003263: REVERT
00003264: JUMPDEST
00003265: PUSH1 0x1f
00003267: RETURNDATASIZE
00003268: GT
00003269: ISZERO
0000326a: PUSH2 0x3588
0000326d: JUMPI
0000326e: PUSH2 0x0360
00003271: MLOAD
00003272: PUSH2 0x0340
00003275: MSTORE
00003276: PUSH2 0x0320
00003279: MLOAD
0000327a: PUSH2 0x0280
0000327d: MLOAD
0000327e: PUSH2 0x0320
00003281: MLOAD
00003282: DUP1
00003283: DUP3
00003284: MUL
00003285: DUP3
00003286: ISZERO
00003287: DUP3
00003288: DUP5
00003289: DUP4
0000328a: DIV
0000328b: EQ
0000328c: OR
0000328d: ISZERO
0000328e: PUSH2 0x3588
00003291: JUMPI
00003292: SWAP1
00003293: POP
00003294: SWAP1
00003295: POP
00003296: PUSH2 0x0340
00003299: MLOAD
0000329a: DUP1
0000329b: DUP1
0000329c: ISZERO
0000329d: PUSH2 0x3588
000032a0: JUMPI
000032a1: DUP3
000032a2: DIV
000032a3: SWAP1
000032a4: POP
000032a5: SWAP1
000032a6: POP
000032a7: DUP1
000032a8: DUP3
000032a9: LT
000032aa: PUSH2 0x3588
000032ad: JUMPI
000032ae: DUP1
000032af: DUP3
000032b0: SUB
000032b1: SWAP1
000032b2: POP
000032b3: SWAP1
000032b4: POP
000032b5: PUSH2 0x0360
000032b8: MSTORE
000032b9: PUSH2 0x02c0
000032bc: MLOAD
000032bd: PUSH1 0xe0
000032bf: MSTORE
000032c0: PUSH2 0x02a0
000032c3: MLOAD
000032c4: PUSH2 0x0100
000032c7: MSTORE
000032c8: PUSH2 0x02e0
000032cb: MLOAD
000032cc: PUSH2 0x0120
000032cf: MSTORE
000032d0: PUSH2 0x0300
000032d3: MLOAD
000032d4: PUSH2 0x0140
000032d7: MSTORE
000032d8: PUSH2 0x0360
000032db: MLOAD
000032dc: PUSH2 0x0160
000032df: MSTORE
000032e0: PUSH2 0x32ea
000032e3: PUSH2 0x03a0
000032e6: PUSH2 0x2f30
000032e9: JUMP
000032ea: JUMPDEST
000032eb: PUSH2 0x03a0
000032ee: MLOAD
000032ef: PUSH2 0x0380
000032f2: MSTORE
000032f3: PUSH2 0x02e0
000032f6: MLOAD
000032f7: PUSH2 0x03a0
000032fa: MSTORE
000032fb: PUSH2 0x0300
000032fe: MLOAD
000032ff: PUSH2 0x03c0
00003302: MSTORE
00003303: PUSH1 0x05
00003305: SLOAD
00003306: PUSH1 0x02
00003308: DUP1
00003309: DUP3
0000330a: MUL
0000330b: DUP3
0000330c: ISZERO
0000330d: DUP3
0000330e: DUP5
0000330f: DUP4
00003310: DIV
00003311: EQ
00003312: OR
00003313: ISZERO
00003314: PUSH2 0x3588
00003317: JUMPI
00003318: SWAP1
00003319: POP
0000331a: SWAP1
0000331b: POP
0000331c: PUSH1 0x04
0000331e: DUP1
0000331f: DUP3
00003320: DIV
00003321: SWAP1
00003322: POP
00003323: SWAP1
00003324: POP
00003325: PUSH2 0x03e0
00003328: MSTORE
00003329: PUSH2 0x0400
0000332c: PUSH1 0x00
0000332e: PUSH1 0x02
00003330: DUP2
00003331: DUP4
00003332: MSTORE
00003333: ADD
00003334: JUMPDEST
00003335: PUSH1 0x00
00003337: PUSH2 0x0420
0000333a: MSTORE
0000333b: PUSH2 0x02a0
0000333e: MLOAD
0000333f: PUSH2 0x0400
00003342: MLOAD
00003343: XOR
00003344: PUSH2 0x33a0
00003347: JUMPI
00003348: PUSH2 0x02e0
0000334b: PUSH2 0x0400
0000334e: MLOAD
0000334f: PUSH1 0x02
00003351: DUP2
00003352: LT
00003353: ISZERO
00003354: PUSH2 0x3588
00003357: JUMPI
00003358: PUSH1 0x20
0000335a: MUL
0000335b: ADD
0000335c: MLOAD
0000335d: PUSH2 0x0360
00003360: MLOAD
00003361: DUP1
00003362: DUP3
00003363: MUL
00003364: DUP3
00003365: ISZERO
00003366: DUP3
00003367: DUP5
00003368: DUP4
00003369: DIV
0000336a: EQ
0000336b: OR
0000336c: ISZERO
0000336d: PUSH2 0x3588
00003370: JUMPI
00003371: SWAP1
00003372: POP
00003373: SWAP1
00003374: POP
00003375: PUSH2 0x0320
00003378: MLOAD
00003379: DUP1
0000337a: DUP1
0000337b: ISZERO
0000337c: PUSH2 0x3588
0000337f: JUMPI
00003380: DUP3
00003381: DIV
00003382: SWAP1
00003383: POP
00003384: SWAP1
00003385: POP
00003386: PUSH2 0x0380
00003389: MLOAD
0000338a: DUP1
0000338b: DUP3
0000338c: LT
0000338d: PUSH2 0x3588
00003390: JUMPI
00003391: DUP1
00003392: DUP3
00003393: SUB
00003394: SWAP1
00003395: POP
00003396: SWAP1
00003397: POP
00003398: PUSH2 0x0420
0000339b: MSTORE
0000339c: PUSH2 0x3406
0000339f: JUMP
000033a0: JUMPDEST
000033a1: PUSH2 0x02e0
000033a4: PUSH2 0x0400
000033a7: MLOAD
000033a8: PUSH1 0x02
000033aa: DUP2
000033ab: LT
000033ac: ISZERO
000033ad: PUSH2 0x3588
000033b0: JUMPI
000033b1: PUSH1 0x20
000033b3: MUL
000033b4: ADD
000033b5: MLOAD
000033b6: PUSH2 0x02e0
000033b9: PUSH2 0x0400
000033bc: MLOAD
000033bd: PUSH1 0x02
000033bf: DUP2
000033c0: LT
000033c1: ISZERO
000033c2: PUSH2 0x3588
000033c5: JUMPI
000033c6: PUSH1 0x20
000033c8: MUL
000033c9: ADD
000033ca: MLOAD
000033cb: PUSH2 0x0360
000033ce: MLOAD
000033cf: DUP1
000033d0: DUP3
000033d1: MUL
000033d2: DUP3
000033d3: ISZERO
000033d4: DUP3
000033d5: DUP5
000033d6: DUP4
000033d7: DIV
000033d8: EQ
000033d9: OR
000033da: ISZERO
000033db: PUSH2 0x3588
000033de: JUMPI
000033df: SWAP1
000033e0: POP
000033e1: SWAP1
000033e2: POP
000033e3: PUSH2 0x0320
000033e6: MLOAD
000033e7: DUP1
000033e8: DUP1
000033e9: ISZERO
000033ea: PUSH2 0x3588
000033ed: JUMPI
000033ee: DUP3
000033ef: DIV
000033f0: SWAP1
000033f1: POP
000033f2: SWAP1
000033f3: POP
000033f4: DUP1
000033f5: DUP3
000033f6: LT
000033f7: PUSH2 0x3588
000033fa: JUMPI
000033fb: DUP1
000033fc: DUP3
000033fd: SUB
000033fe: SWAP1
000033ff: POP
00003400: SWAP1
00003401: POP
00003402: PUSH2 0x0420
00003405: MSTORE
00003406: JUMPDEST
00003407: PUSH2 0x03a0
0000340a: PUSH2 0x0400
0000340d: MLOAD
0000340e: PUSH1 0x02
00003410: DUP2
00003411: LT
00003412: ISZERO
00003413: PUSH2 0x3588
00003416: JUMPI
00003417: PUSH1 0x20
00003419: MUL
0000341a: ADD
0000341b: DUP1
0000341c: MLOAD
0000341d: PUSH2 0x03e0
00003420: MLOAD
00003421: PUSH2 0x0420
00003424: MLOAD
00003425: DUP1
00003426: DUP3
00003427: MUL
00003428: DUP3
00003429: ISZERO
0000342a: DUP3
0000342b: DUP5
0000342c: DUP4
0000342d: DIV
0000342e: EQ
0000342f: OR
00003430: ISZERO
00003431: PUSH2 0x3588
00003434: JUMPI
00003435: SWAP1
00003436: POP
00003437: SWAP1
00003438: POP
00003439: PUSH5 0x02540be400
0000343f: DUP1
00003440: DUP3
00003441: DIV
00003442: SWAP1
00003443: POP
00003444: SWAP1
00003445: POP
00003446: DUP1
00003447: DUP3
00003448: LT
00003449: PUSH2 0x3588
0000344c: JUMPI
0000344d: DUP1
0000344e: DUP3
0000344f: SUB
00003450: SWAP1
00003451: POP
00003452: SWAP1
00003453: POP
00003454: DUP2
00003455: MSTORE
00003456: POP
00003457: DUP2
00003458: MLOAD
00003459: PUSH1 0x01
0000345b: ADD
0000345c: DUP1
0000345d: DUP4
0000345e: MSTORE
0000345f: DUP2
00003460: EQ
00003461: ISZERO
00003462: PUSH2 0x3334
00003465: JUMPI
00003466: POP
00003467: POP
00003468: PUSH2 0x03a0
0000346b: PUSH2 0x02a0
0000346e: MLOAD
0000346f: PUSH1 0x02
00003471: DUP2
00003472: LT
00003473: ISZERO
00003474: PUSH2 0x3588
00003477: JUMPI
00003478: PUSH1 0x20
0000347a: MUL
0000347b: ADD
0000347c: MLOAD
0000347d: PUSH2 0x02c0
00003480: MLOAD
00003481: PUSH1 0xe0
00003483: MSTORE
00003484: PUSH2 0x02a0
00003487: MLOAD
00003488: PUSH2 0x0100
0000348b: MSTORE
0000348c: PUSH2 0x03a0
0000348f: MLOAD
00003490: PUSH2 0x0120
00003493: MSTORE
00003494: PUSH2 0x03c0
00003497: MLOAD
00003498: PUSH2 0x0140
0000349b: MSTORE
0000349c: PUSH2 0x0360
0000349f: MLOAD
000034a0: PUSH2 0x0160
000034a3: MSTORE
000034a4: PUSH2 0x34ae
000034a7: PUSH2 0x0420
000034aa: PUSH2 0x2f30
000034ad: JUMP
000034ae: JUMPDEST
000034af: PUSH2 0x0420
000034b2: MLOAD
000034b3: DUP1
000034b4: DUP3
000034b5: LT
000034b6: PUSH2 0x3588
000034b9: JUMPI
000034ba: DUP1
000034bb: DUP3
000034bc: SUB
000034bd: SWAP1
000034be: POP
000034bf: SWAP1
000034c0: POP
000034c1: PUSH2 0x0400
000034c4: MSTORE
000034c5: PUSH1 0x01
000034c7: PUSH2 0x0420
000034ca: MSTORE
000034cb: PUSH5 0xe8d4a51000
000034d1: PUSH2 0x0440
000034d4: MSTORE
000034d5: PUSH2 0x0400
000034d8: MLOAD
000034d9: PUSH1 0x01
000034db: DUP1
000034dc: DUP3
000034dd: LT
000034de: PUSH2 0x3588
000034e1: JUMPI
000034e2: DUP1
000034e3: DUP3
000034e4: SUB
000034e5: SWAP1
000034e6: POP
000034e7: SWAP1
000034e8: POP
000034e9: PUSH2 0x0420
000034ec: PUSH2 0x02a0
000034ef: MLOAD
000034f0: PUSH1 0x02
000034f2: DUP2
000034f3: LT
000034f4: ISZERO
000034f5: PUSH2 0x3588
000034f8: JUMPI
000034f9: PUSH1 0x20
000034fb: MUL
000034fc: ADD
000034fd: MLOAD
000034fe: DUP1
000034ff: DUP1
00003500: ISZERO
00003501: PUSH2 0x3588
00003504: JUMPI
00003505: DUP3
00003506: DIV
00003507: SWAP1
00003508: POP
00003509: SWAP1
0000350a: POP
0000350b: PUSH2 0x0400
0000350e: MSTORE
0000350f: PUSH2 0x02e0
00003512: PUSH2 0x02a0
00003515: MLOAD
00003516: PUSH1 0x02
00003518: DUP2
00003519: LT
0000351a: ISZERO
0000351b: PUSH2 0x3588
0000351e: JUMPI
0000351f: PUSH1 0x20
00003521: MUL
00003522: ADD
00003523: MLOAD
00003524: PUSH2 0x0380
00003527: MLOAD
00003528: DUP1
00003529: DUP3
0000352a: LT
0000352b: PUSH2 0x3588
0000352e: JUMPI
0000352f: DUP1
00003530: DUP3
00003531: SUB
00003532: SWAP1
00003533: POP
00003534: SWAP1
00003535: POP
00003536: PUSH2 0x0420
00003539: PUSH2 0x02a0
0000353c: MLOAD
0000353d: PUSH1 0x02
0000353f: DUP2
00003540: LT
00003541: ISZERO
00003542: PUSH2 0x3588
00003545: JUMPI
00003546: PUSH1 0x20
00003548: MUL
00003549: ADD
0000354a: MLOAD
0000354b: DUP1
0000354c: DUP1
0000354d: ISZERO
0000354e: PUSH2 0x3588
00003551: JUMPI
00003552: DUP3
00003553: DIV
00003554: SWAP1
00003555: POP
00003556: SWAP1
00003557: POP
00003558: PUSH2 0x0460
0000355b: MSTORE
0000355c: PUSH2 0x0400
0000355f: MLOAD
00003560: DUP2
00003561: MSTORE
00003562: PUSH2 0x0460
00003565: MLOAD
00003566: PUSH2 0x0400
00003569: MLOAD
0000356a: DUP1
0000356b: DUP3
0000356c: LT
0000356d: PUSH2 0x3588
00003570: JUMPI
00003571: DUP1
00003572: DUP3
00003573: SUB
00003574: SWAP1
00003575: POP
00003576: SWAP1
00003577: POP
00003578: PUSH1 0x20
0000357a: DUP3
0000357b: ADD
0000357c: MSTORE
0000357d: PUSH2 0x0340
00003580: MLOAD
00003581: PUSH1 0x40
00003583: DUP3
00003584: ADD
00003585: MSTORE
00003586: POP
00003587: JUMP
00003588: JUMPDEST
00003589: PUSH1 0x00
0000358b: DUP1
0000358c: REVERT

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: 0xc738b7da0ea393aaea5cfe92c44f86d467b6e7f97a3c2758a40256d0202fb8dc
call_targets: 0xdcef968d416a41cdac0ed8702fac8128a64241a2
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc738b7da0ea393aaea5cfe92c44f86d467b6e7f97a3c2758a40256d0202fb8dc",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdcef968d416a41cdac0ed8702fac8128a64241a2"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4012,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4270,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xc738b7da0ea393aaea5cfe92c44f86d467b6e7f97a3c2758a40256d0202fb8dc
call_targets: 0xdcef968d416a41cdac0ed8702fac8128a64241a2
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc738b7da0ea393aaea5cfe92c44f86d467b6e7f97a3c2758a40256d0202fb8dc",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdcef968d416a41cdac0ed8702fac8128a64241a2"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2281,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "constant"
        },
        {
            "pc": 4012,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": []
}
low other codex Unchecked LP token mint/burn return values can allow silent failures 65 no
view
evidence_json
{
    "evidence": "`CurveToken.mint` and `CurveToken.burnFrom` are called without checking their boolean return values, so a non-reverting false return will not halt execution while assets are already transferred.",
    "locations": [
        "contracts/Contract.sol:367",
        "contracts/Contract.sol:540",
        "contracts/Contract.sol:589",
        "contracts/Contract.sol:718"
    ],
    "recommendation": "Require the LP token to revert on failure or explicitly check the returned boolean from `mint`/`burnFrom` and revert on false. Consider using a safe wrapper or `raw_call` with explicit return-value validation.",
    "exploit_scenario": "If the LP token\u2019s `burnFrom` returns false instead of reverting (e.g., insufficient allowance/balance), the pool still transfers underlying coins to the caller, allowing withdrawals without burning LP tokens and enabling repeated draining. Similarly, if `mint` returns false, deposits are accepted without LP tokens minted, locking user funds."
}
low math codex Internal balances assume full transfer amounts, breaking invariants for fee-on-transfer/rebasing tokens 65 no
view
evidence_json
{
    "evidence": "Balances are updated based on `_amounts`/`_dx` before verifying actual received amounts, so accounting assumes full transfers.",
    "locations": [
        "contracts/Contract.sol:339",
        "contracts/Contract.sol:348",
        "contracts/Contract.sol:474"
    ],
    "recommendation": "Either restrict `coins` to standard ERC20s without transfer fees/rebases (enforced off-chain or via allowlist) or measure actual token deltas before/after transfers and use those values for accounting.",
    "exploit_scenario": "If any pool coin charges transfer fees or rebases, `add_liquidity` and `exchange` credit `self.balances` using the requested amounts (`_amounts`/`_dx`) instead of the actual received amount. An attacker can exploit this by depositing or swapping fee-on-transfer tokens to receive more LP tokens or output coins than paid, potentially draining pool liquidity or causing insolvency."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 34
}