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

Analysis Run

3c876ae7-8ac4-47da-9c32-04123766eae8

complete
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 7:07 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
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30357 report.consolidate complete 1 / 1 3 months ago
74326 artifact.fetch complete 1 / 3 1 week ago
74327 tool.cast_disasm complete 1 / 3 1 week ago
74328 analysis.bundle complete 1 / 3 1 week ago
74329 capability.graph complete 1 / 3 1 week ago
74330 detector.run complete 1 / 3 1 week ago
74331 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
3
No findings?
no
Summary
Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.
View stderr
[codex:541634] OpenAI Codex v0.77.0 (research preview)
[codex:541634] --------
[codex:541634] workdir: /tmp/codex-multi-4xrwn7kg
[codex:541634] model: gpt-5.2-codex
[codex:541634] provider: openai
[codex:541634] approval: never
[codex:541634] sandbox: read-only
[codex:541634] reasoning effort: xhigh
[codex:541634] reasoning summaries: auto
[codex:541634] session id: 019b6655-495f-7603-94f2-7464f384ce0d
[codex:541634] --------
[codex:541634] user
[codex:541634] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:541634] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:541634] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:541634] 
[codex:541634] Scope rules:
[codex:541634] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:541634] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:541634] 
[codex:541634] Output MUST be valid JSON matching the provided schema.
[codex:541634] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:541634] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:541634] 
[codex:541634] Output constraints (IMPORTANT):
[codex:541634] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:541634] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:541634] mcp startup: no servers
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Reading AUDIT_BUNDLE.txt**
[codex:541634] exec
[codex:541634] /bin/bash -lc ls in /tmp/codex-multi-4xrwn7kg succeeded in 7ms:
[codex:541634] AUDIT_BUNDLE.txt
[codex:541634] codex-output-schema.json
[codex:541634] contracts
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:541634] 
[codex:541634] ================================================================================
[codex:541634] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: MIT
[codex:541634] 
[codex:541634] pragma solidity >=0.6.0 <0.8.0;
[codex:541634] 
[codex:541634] /*
[codex:541634]  * @dev Provides information about the current execution context, including the
[codex:541634]  * sender of the transaction and its data. While these are generally available
[codex:541634]  * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:541634]  * manner, since when dealing with GSN meta-transactions the account sending and
[codex:541634]  * paying for execution may not be the actual sender (as far as an application
[codex:541634]  * is concerned).
[codex:541634]  *
[codex:541634]  * This contract is only required for intermediate, library-like contracts.
[codex:541634]  */
[codex:541634] abstract contract Context {
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Analyzing audit bundle file strategy**
[codex:541634] exec
[codex:541634] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-4xrwn7kg succeeded in 7ms:
[codex:541634] 4:FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] 32:FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:541634] 104:FILE: contracts/@openzeppelin/contracts/math/Math.sol
[codex:541634] 139:FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:541634] 302:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:541634] 383:FILE: contracts/@openzeppelin/contracts/token/ERC20/SafeERC20.sol
[codex:541634] 462:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:541634] 631:FILE: contracts/contracts/EasyAuction.sol
[codex:541634] 1383:FILE: contracts/contracts/allowListExamples/AllowListOffChainManaged.sol
[codex:541634] 1472:FILE: contracts/contracts/interfaces/AllowListVerifier.sol
[codex:541634] 1498:FILE: contracts/contracts/interfaces/IWETH.sol
[codex:541634] 1511:FILE: contracts/contracts/libraries/IdToAddressBiMap.sol
[codex:541634] 1578:FILE: contracts/contracts/libraries/IterableOrderedOrderSet.sol
[codex:541634] 1815:FILE: contracts/contracts/libraries/SafeCast.sol
[codex:541634] 1840:FILE: contracts/contracts/test/IterableOrderedOrderSetWrapper.sol
[codex:541634] 1926:FILE: contracts/contracts/wrappers/DepositAndPlaceOrder.sol
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Preparing to review contract sections**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '631,1382p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] FILE: contracts/contracts/EasyAuction.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:541634] import "./libraries/IterableOrderedOrderSet.sol";
[codex:541634] import "@openzeppelin/contracts/math/Math.sol";
[codex:541634] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634] import "./libraries/IdToAddressBiMap.sol";
[codex:541634] import "./libraries/SafeCast.sol";
[codex:541634] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:541634] import "./interfaces/AllowListVerifier.sol";
[codex:541634] 
[codex:541634] contract EasyAuction is Ownable {
[codex:541634]     using SafeERC20 for IERC20;
[codex:541634]     using SafeMath for uint64;
[codex:541634]     using SafeMath for uint96;
[codex:541634]     using SafeMath for uint256;
[codex:541634]     using SafeCast for uint256;
[codex:541634]     using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Continuing to gather information**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1383,1577p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] FILE: contracts/contracts/allowListExamples/AllowListOffChainManaged.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "../interfaces/AllowListVerifier.sol";
[codex:541634] import "../EasyAuction.sol";
[codex:541634] 
[codex:541634] // Idea was first mentioned in the blog:
[codex:541634] // https://medium.com/@PhABC/off-chain-whitelist-with-on-chain-verification-for-ethereum-smart-contracts-1563ca4b8f11
[codex:541634] 
[codex:541634] contract AllowListOffChainManaged {
[codex:541634]     /// @dev The EIP-712 domain type hash used for computing the domain
[codex:541634]     /// separator.
[codex:541634]     bytes32 private constant DOMAIN_TYPE_HASH =
[codex:541634]         keccak256(
[codex:541634]             "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
[codex:541634]         );
[codex:541634] 
[codex:541634]     /// @dev The EIP-712 domain name used for computing the domain separator.
[codex:541634]     bytes32 private constant DOMAIN_NAME = keccak256("AccessManager");
[codex:541634] 
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Requesting remaining sections**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1578,1840p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/libraries/IterableOrderedOrderSet.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] 
[codex:541634] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634] 
[codex:541634] library IterableOrderedOrderSet {
[codex:541634]     using SafeMath for uint96;
[codex:541634]     using IterableOrderedOrderSet for bytes32;
[codex:541634] 
[codex:541634]     // represents smallest possible value for an order under comparison of fn smallerThan()
[codex:541634]     bytes32 internal constant QUEUE_START =
[codex:541634]         0x0000000000000000000000000000000000000000000000000000000000000001;
[codex:541634]     // represents highest possible value for an order under comparison of fn smallerThan()
[codex:541634]     bytes32 internal constant QUEUE_END =
[codex:541634]         0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001;
[codex:541634] 
[codex:541634]     /// The struct is used to implement a modified version of a doubly linked
[codex:541634]     /// list with sorted elements. The list starts from QUEUE_START to
[codex:541634]     /// QUEUE_END, and each node keeps track of its predecessor and successor.
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1840,1926p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/test/IterableOrderedOrderSetWrapper.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: LGPL-3.0-or-newer
[codex:541634] pragma solidity ^0.6.0;
[codex:541634] import "../libraries/IterableOrderedOrderSet.sol";
[codex:541634] 
[codex:541634] contract IterableOrderedOrderSetWrapper {
[codex:541634]     using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634] 
[codex:541634]     IterableOrderedOrderSet.Data internal data;
[codex:541634] 
[codex:541634]     function initializeEmptyList() public {
[codex:541634]         data.initializeEmptyList();
[codex:541634]     }
[codex:541634] 
[codex:541634]     function insert(bytes32 value) public returns (bool) {
[codex:541634]         return data.insert(value, IterableOrderedOrderSet.QUEUE_START);
[codex:541634]     }
[codex:541634] 
[codex:541634]     function insertAt(bytes32 value, bytes32 at) public returns (bool) {
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1926,2100p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/wrappers/DepositAndPlaceOrder.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] import "../EasyAuction.sol";
[codex:541634] import "../interfaces/IWETH.sol";
[codex:541634] 
[codex:541634] contract DepositAndPlaceOrder {
[codex:541634]     EasyAuction public immutable easyAuction;
[codex:541634]     IWETH public immutable nativeTokenWrapper;
[codex:541634] 
[codex:541634]     constructor(address easyAuctionAddress, address _nativeTokenWrapper)
[codex:541634]         public
[codex:541634]     {
[codex:541634]         nativeTokenWrapper = IWETH(_nativeTokenWrapper);
[codex:541634]         easyAuction = EasyAuction(easyAuctionAddress);
[codex:541634]         IERC20(_nativeTokenWrapper).approve(easyAuctionAddress, uint256(-1));
[codex:541634]     }
[codex:541634] 
[codex:541634]     function depositAndPlaceOrder(
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Deciding how much of AUDIT_BUNDLE.txt to read**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1,630p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:541634] 
[codex:541634] ================================================================================
[codex:541634] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: MIT
[codex:541634] 
[codex:541634] pragma solidity >=0.6.0 <0.8.0;
[codex:541634] 
[codex:541634] /*
[codex:541634]  * @dev Provides information about the current execution context, including the
[codex:541634]  * sender of the transaction and its data. While these are generally available
[codex:541634]  * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:541634]  * manner, since when dealing with GSN meta-transactions the account sending and
[codex:541634]  * paying for execution may not be the actual sender (as far as an application
[codex:541634]  * is concerned).
[codex:541634]  *
[codex:541634]  * This contract is only required for intermediate, library-like contracts.
[codex:541634]  */
[codex:541634] abstract contract Context {
[codex:541634] 
[codex:541634] 
[codex:541634] 
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Analyzing EasyAuction contract security**
[codex:541634] thinking
[codex:541634] **Examining array length and overflow risks**
[codex:541634] 
[codex:541634] I’m carefully analyzing how the contract handles potentially mismatched array lengths and numeric limits, especially around order arrays and uint96 sums. There are no explicit length checks, but mismatched arrays cause safe reverts without leaks. However, the lack of enforcement on total bidding amounts exceeding 2^96 looks like a real risk that could block settlement due to overflow on casts, allowing participants to disrupt the auction by oversizing orders. Let’s consider implications of that more closely!
[codex:541634] thinking
[codex:541634] **Analyzing numeric limits and signature nuances**
[codex:541634] 
[codex:541634] I’m diving deeper into the implications of the uint96 sum limit on order sizes and the design trade-offs around that. The huge numeric cap is unlikely to be exceeded in practice but still theoretically enables denial conditions if hit. I’m also exploring subtle signature replay possibilities across contracts sharing the same allowlist and how order placement on behalf might affect user registration and token flows. There are intricate details about access management and order sorting that seem thoughtfully guarded, but I want to keep a close eye on potential edge cases!
[codex:541634] thinking
[codex:541634] **Examining signature checks and order insertion logic**
[codex:541634] 
[codex:541634] I’m parsing through issues around allowList signature handling, including possible replay attacks across different auction deployments sharing the same allowList contract, and subtle signature malleability. I’m also considering how failed order insertions are silently ignored, which might enable griefing via incorrect `prevSellOrders` but without direct harm. Additionally, the manipulation potential of `interimSumBidAmount` and `interimOrder` via public `precalculateSellAmountSum` calls is under review, but safeguards seem in place to maintain auction correctness.
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '1,220p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634]      1	pragma solidity >=0.6.8;
[codex:541634]      2	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634]      3	import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:541634]      4	import "./libraries/IterableOrderedOrderSet.sol";
[codex:541634]      5	import "@openzeppelin/contracts/math/Math.sol";
[codex:541634]      6	import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634]      7	import "./libraries/IdToAddressBiMap.sol";
[codex:541634]      8	import "./libraries/SafeCast.sol";
[codex:541634]      9	import "@openzeppelin/contracts/access/Ownable.sol";
[codex:541634]     10	import "./interfaces/AllowListVerifier.sol";
[codex:541634]     11	
[codex:541634]     12	contract EasyAuction is Ownable {
[codex:541634]     13	    using SafeERC20 for IERC20;
[codex:541634]     14	    using SafeMath for uint64;
[codex:541634]     15	    using SafeMath for uint96;
[codex:541634]     16	    using SafeMath for uint256;
[codex:541634]     17	    using SafeCast for uint256;
[codex:541634]     18	    using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634]     19	    using IterableOrderedOrderSet for bytes32;
[codex:541634]     20	    using IdToAddressBiMap for IdToAddressBiMap.Data;
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Preparing to add line numbers**
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '220,520p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634]    220	            _minBuyAmount,
[codex:541634]    221	            minimumBiddingAmountPerOrder,
[codex:541634]    222	            minFundingThreshold,
[codex:541634]    223	            accessManagerContract,
[codex:541634]    224	            accessManagerContractData
[codex:541634]    225	        );
[codex:541634]    226	        return auctionCounter;
[codex:541634]    227	    }
[codex:541634]    228	
[codex:541634]    229	    function placeSellOrders(
[codex:541634]    230	        uint256 auctionId,
[codex:541634]    231	        uint96[] memory _minBuyAmounts,
[codex:541634]    232	        uint96[] memory _sellAmounts,
[codex:541634]    233	        bytes32[] memory _prevSellOrders,
[codex:541634]    234	        bytes calldata allowListCallData
[codex:541634]    235	    ) external atStageOrderPlacement(auctionId) returns (uint64 userId) {
[codex:541634]    236	        return
[codex:541634]    237	            _placeSellOrders(
[codex:541634]    238	                auctionId,
[codex:541634]    239	                _minBuyAmounts,
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '520,880p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634]    520	            if (currentBidSum > minAuctionedBuyAmount) {
[codex:541634]    521	                //[15]
[codex:541634]    522	                // Price higher than last order would fill the auction
[codex:541634]    523	                clearingOrder = IterableOrderedOrderSet.encodeOrder(
[codex:541634]    524	                    0,
[codex:541634]    525	                    fullAuctionedAmount,
[codex:541634]    526	                    currentBidSum.toUint96()
[codex:541634]    527	                );
[codex:541634]    528	            } else {
[codex:541634]    529	                //[16]
[codex:541634]    530	                // Even at the initial auction price, the auction is partially filled
[codex:541634]    531	                clearingOrder = IterableOrderedOrderSet.encodeOrder(
[codex:541634]    532	                    0,
[codex:541634]    533	                    fullAuctionedAmount,
[codex:541634]    534	                    minAuctionedBuyAmount
[codex:541634]    535	                );
[codex:541634]    536	                fillVolumeOfAuctioneerOrder = currentBidSum
[codex:541634]    537	                    .mul(fullAuctionedAmount)
[codex:541634]    538	                    .div(minAuctionedBuyAmount)
[codex:541634]    539	                    .toUint96();
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Locating specific function and class lines**
[codex:541634] exec
[codex:541634] /bin/bash -lc 'nl -ba contracts/contracts/allowListExamples/AllowListOffChainManaged.sol' in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634]      1	pragma solidity >=0.6.8;
[codex:541634]      2	import "../interfaces/AllowListVerifier.sol";
[codex:541634]      3	import "../EasyAuction.sol";
[codex:541634]      4	
[codex:541634]      5	// Idea was first mentioned in the blog:
[codex:541634]      6	// https://medium.com/@PhABC/off-chain-whitelist-with-on-chain-verification-for-ethereum-smart-contracts-1563ca4b8f11
[codex:541634]      7	
[codex:541634]      8	contract AllowListOffChainManaged {
[codex:541634]      9	    /// @dev The EIP-712 domain type hash used for computing the domain
[codex:541634]     10	    /// separator.
[codex:541634]     11	    bytes32 private constant DOMAIN_TYPE_HASH =
[codex:541634]     12	        keccak256(
[codex:541634]     13	            "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
[codex:541634]     14	        );
[codex:541634]     15	
[codex:541634]     16	    /// @dev The EIP-712 domain name used for computing the domain separator.
[codex:541634]     17	    bytes32 private constant DOMAIN_NAME = keccak256("AccessManager");
[codex:541634]     18	
[codex:541634]     19	    /// @dev The EIP-712 domain version used for computing the domain separator.
[codex:541634]     20	    bytes32 private constant DOMAIN_VERSION = keccak256("v1");
[codex:541634] 
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Analyzing multiple potential vulnerabilities and design nuances**
[codex:541634] 
[codex:541634] I’m reviewing various aspects of the contract for issues like unchecked return values, reentrancy concerns, signature validation gaps, and access control subtleties. I see mostly minor or non-exploitable concerns, such as unchecked `approve` return and potential reentrancy via ERC777 tokens that don’t break safety. The biggest possible problem is a settlement denial of service if bids push sums beyond the uint96 limit, causing transaction reverts and locked tokens. Also, some call patterns and signature checks could lead to griefing or minor logic quirks but not exploitable vulnerabilities. Overall, it’s a detailed sweep with a few low-severity findings and one plausible DoS risk in settlement due to numeric overflow.
[codex:541634] thinking
[codex:541634] **Highlighting signature replay and bidding sum risks**
[codex:541634] 
[codex:541634] I’m unpacking issues around silent uint96 truncation in events versus reverts on explicit toUint96 casting, showing how bids exceeding uint96 caps can cause settlement DoS. Also, I see signature replay risk across multiple EasyAuction deployments due to allowList signatures missing binding to the auction contract, enabling cross-deployment reuse under some conditions. Plus, unchecked ERC20 approve return in DepositAndPlaceOrder could cause functional failures but not theft. These form a trio of medium-to-low severity findings with clear recommendations to strengthen checks and signing scopes.
[codex:541634] exec
[codex:541634] /bin/bash -lc 'nl -ba contracts/contracts/wrappers/DepositAndPlaceOrder.sol' in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634]      1	pragma solidity >=0.6.8;
[codex:541634]      2	import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634]      3	import "../EasyAuction.sol";
[codex:541634]      4	import "../interfaces/IWETH.sol";
[codex:541634]      5	
[codex:541634]      6	contract DepositAndPlaceOrder {
[codex:541634]      7	    EasyAuction public immutable easyAuction;
[codex:541634]      8	    IWETH public immutable nativeTokenWrapper;
[codex:541634]      9	
[codex:541634]     10	    constructor(address easyAuctionAddress, address _nativeTokenWrapper)
[codex:541634]     11	        public
[codex:541634]     12	    {
[codex:541634]     13	        nativeTokenWrapper = IWETH(_nativeTokenWrapper);
[codex:541634]     14	        easyAuction = EasyAuction(easyAuctionAddress);
[codex:541634]     15	        IERC20(_nativeTokenWrapper).approve(easyAuctionAddress, uint256(-1));
[codex:541634]     16	    }
[codex:541634]     17	
[codex:541634]     18	    function depositAndPlaceOrder(
[codex:541634]     19	        uint256 auctionId,
[codex:541634]     20	        uint96[] memory _minBuyAmounts,
[codex:541634] 
[codex:541634] thinking
[codex:541634] **Preparing detailed vulnerability report**
[codex:541634] 
[codex:541634] I'm outlining three findings with categories like math and auth, detailing severity, exploit scenarios, recommendations, evidence, and locations. I'll carefully format a JSON summary capturing a medium-severity DoS, two low issues including replayable signatures and unchecked approve calls, ensuring valid JSON output with all required fields.
[codex:541634] codex
[codex:541634] {"no_findings":false,"summary":"Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.","findings":[{"severity":"medium","category":"math","title":"Settlement can be blocked if total bids exceed uint96 limit","exploit_scenario":"A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract.","recommendation":"Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.","evidence":"The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.","locations":["contracts/contracts/EasyAuction.sol:144","contracts/contracts/EasyAuction.sol:510","contracts/contracts/EasyAuction.sol:523","contracts/contracts/EasyAuction.sol:536"]},{"severity":"low","category":"auth","title":"Allowlist signatures can be replayed across EasyAuction instances","exploit_scenario":"If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation.","recommendation":"Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.","evidence":"The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.","locations":["contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67","contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"]},{"severity":"low","category":"other","title":"Unchecked ERC20 approve return value in wrapper constructor","exploit_scenario":"If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token.","recommendation":"Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.","evidence":"The constructor calls `approve` directly without checking the return value.","locations":["contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"]}]}
[codex:541634] tokens used
[codex:541634] 89,032
[codex:541634] {"no_findings":false,"summary":"Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.","findings":[{"severity":"medium","category":"math","title":"Settlement can be blocked if total bids exceed uint96 limit","exploit_scenario":"A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract.","recommendation":"Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.","evidence":"The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.","locations":["contracts/contracts/EasyAuction.sol:144","contracts/contracts/EasyAuction.sol:510","contracts/contracts/EasyAuction.sol:523","contracts/contracts/EasyAuction.sol:536"]},{"severity":"low","category":"auth","title":"Allowlist signatures can be replayed across EasyAuction instances","exploit_scenario":"If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation.","recommendation":"Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.","evidence":"The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.","locations":["contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67","contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"]},{"severity":"low","category":"other","title":"Unchecked ERC20 approve return value in wrapper constructor","exploit_scenario":"If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token.","recommendation":"Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.","evidence":"The constructor calls `approve` directly without checking the return value.","locations":["contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T19:07:56.654597+00:00",
        "returncode": 0
    },
    "summary": "Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.",
    "raw_final": {
        "summary": "Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.",
        "findings": [
            {
                "title": "Settlement can be blocked if total bids exceed uint96 limit",
                "category": "math",
                "evidence": "The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/EasyAuction.sol:144",
                    "contracts/contracts/EasyAuction.sol:510",
                    "contracts/contracts/EasyAuction.sol:523",
                    "contracts/contracts/EasyAuction.sol:536"
                ],
                "recommendation": "Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.",
                "exploit_scenario": "A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract."
            },
            {
                "title": "Allowlist signatures can be replayed across EasyAuction instances",
                "category": "auth",
                "evidence": "The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67",
                    "contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"
                ],
                "recommendation": "Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.",
                "exploit_scenario": "If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation."
            },
            {
                "title": "Unchecked ERC20 approve return value in wrapper constructor",
                "category": "other",
                "evidence": "The constructor calls `approve` directly without checking the return value.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"
                ],
                "recommendation": "Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.",
                "exploit_scenario": "If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
4
Total opcodes
12436
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0158
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x7882deaf
00000026: GT
00000027: PUSH2 0x00c3
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xd73792a9
00000031: GT
00000032: PUSH2 0x007c
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xd73792a9
0000003c: EQ
0000003d: PUSH2 0x0ccf
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xe4a59ef4
00000047: EQ
00000048: PUSH2 0x0ced
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe86dea4a
00000052: EQ
00000053: PUSH2 0x0d45
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xec20d0bb
0000005d: EQ
0000005e: PUSH2 0x0d63
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x0fe0
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xf59c2f06
00000073: EQ
00000074: PUSH2 0x1024
00000077: JUMPI
00000078: PUSH2 0x0158
0000007b: JUMP
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0x7882deaf
00000083: EQ
00000084: PUSH2 0x0642
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x7ed18b70
0000008e: EQ
0000008f: PUSH2 0x071f
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x8da5cb5b
00000099: EQ
0000009a: PUSH2 0x07e1
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x91cfc1d4
000000a4: EQ
000000a5: PUSH2 0x0815
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xa7e76644
000000af: EQ
000000b0: PUSH2 0x0a54
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xd225269c
000000ba: EQ
000000bb: PUSH2 0x0a72
000000be: JUMPI
000000bf: PUSH2 0x0158
000000c2: JUMP
000000c3: JUMPDEST
000000c4: DUP1
000000c5: PUSH4 0x3e12905f
000000ca: GT
000000cb: PUSH2 0x0115
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x3e12905f
000000d5: EQ
000000d6: PUSH2 0x0461
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x40b20b09
000000e0: EQ
000000e1: PUSH2 0x0499
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x55fc62d2
000000eb: EQ
000000ec: PUSH2 0x04e7
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x5cefb291
000000f6: EQ
000000f7: PUSH2 0x05c2
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x63c699a4
00000101: EQ
00000102: PUSH2 0x05ea
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x715018a6
0000010c: EQ
0000010d: PUSH2 0x0638
00000110: JUMPI
00000111: PUSH2 0x0158
00000114: JUMP
00000115: JUMPDEST
00000116: DUP1
00000117: PUSH4 0x0a4cd6c9
0000011c: EQ
0000011d: PUSH2 0x015d
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0x15d37b4b
00000127: EQ
00000128: PUSH2 0x02f1
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0x19a50f49
00000132: EQ
00000133: PUSH2 0x0333
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0x2199d5cd
0000013d: EQ
0000013e: PUSH2 0x035b
00000141: JUMPI
00000142: DUP1
00000143: PUSH4 0x2b956ff7
00000148: EQ
00000149: PUSH2 0x03bd
0000014c: JUMPI
0000014d: DUP1
0000014e: PUSH4 0x2e993611
00000153: EQ
00000154: PUSH2 0x041f
00000157: JUMPI
00000158: JUMPDEST
00000159: PUSH1 0x00
0000015b: DUP1
0000015c: REVERT
0000015d: JUMPDEST
0000015e: PUSH2 0x02db
00000161: PUSH1 0x04
00000163: DUP1
00000164: CALLDATASIZE
00000165: SUB
00000166: PUSH2 0x0160
00000169: DUP2
0000016a: LT
0000016b: ISZERO
0000016c: PUSH2 0x0174
0000016f: JUMPI
00000170: PUSH1 0x00
00000172: DUP1
00000173: REVERT
00000174: JUMPDEST
00000175: DUP2
00000176: ADD
00000177: SWAP1
00000178: DUP1
00000179: DUP1
0000017a: CALLDATALOAD
0000017b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000190: AND
00000191: SWAP1
00000192: PUSH1 0x20
00000194: ADD
00000195: SWAP1
00000196: SWAP3
00000197: SWAP2
00000198: SWAP1
00000199: DUP1
0000019a: CALLDATALOAD
0000019b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001b0: AND
000001b1: SWAP1
000001b2: PUSH1 0x20
000001b4: ADD
000001b5: SWAP1
000001b6: SWAP3
000001b7: SWAP2
000001b8: SWAP1
000001b9: DUP1
000001ba: CALLDATALOAD
000001bb: SWAP1
000001bc: PUSH1 0x20
000001be: ADD
000001bf: SWAP1
000001c0: SWAP3
000001c1: SWAP2
000001c2: SWAP1
000001c3: DUP1
000001c4: CALLDATALOAD
000001c5: SWAP1
000001c6: PUSH1 0x20
000001c8: ADD
000001c9: SWAP1
000001ca: SWAP3
000001cb: SWAP2
000001cc: SWAP1
000001cd: DUP1
000001ce: CALLDATALOAD
000001cf: PUSH12 0xffffffffffffffffffffffff
000001dc: AND
000001dd: SWAP1
000001de: PUSH1 0x20
000001e0: ADD
000001e1: SWAP1
000001e2: SWAP3
000001e3: SWAP2
000001e4: SWAP1
000001e5: DUP1
000001e6: CALLDATALOAD
000001e7: PUSH12 0xffffffffffffffffffffffff
000001f4: AND
000001f5: SWAP1
000001f6: PUSH1 0x20
000001f8: ADD
000001f9: SWAP1
000001fa: SWAP3
000001fb: SWAP2
000001fc: SWAP1
000001fd: DUP1
000001fe: CALLDATALOAD
000001ff: SWAP1
00000200: PUSH1 0x20
00000202: ADD
00000203: SWAP1
00000204: SWAP3
00000205: SWAP2
00000206: SWAP1
00000207: DUP1
00000208: CALLDATALOAD
00000209: SWAP1
0000020a: PUSH1 0x20
0000020c: ADD
0000020d: SWAP1
0000020e: SWAP3
0000020f: SWAP2
00000210: SWAP1
00000211: DUP1
00000212: CALLDATALOAD
00000213: ISZERO
00000214: ISZERO
00000215: SWAP1
00000216: PUSH1 0x20
00000218: ADD
00000219: SWAP1
0000021a: SWAP3
0000021b: SWAP2
0000021c: SWAP1
0000021d: DUP1
0000021e: CALLDATALOAD
0000021f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000234: AND
00000235: SWAP1
00000236: PUSH1 0x20
00000238: ADD
00000239: SWAP1
0000023a: SWAP3
0000023b: SWAP2
0000023c: SWAP1
0000023d: DUP1
0000023e: CALLDATALOAD
0000023f: SWAP1
00000240: PUSH1 0x20
00000242: ADD
00000243: SWAP1
00000244: PUSH5 0x0100000000
0000024a: DUP2
0000024b: GT
0000024c: ISZERO
0000024d: PUSH2 0x0255
00000250: JUMPI
00000251: PUSH1 0x00
00000253: DUP1
00000254: REVERT
00000255: JUMPDEST
00000256: DUP3
00000257: ADD
00000258: DUP4
00000259: PUSH1 0x20
0000025b: DUP3
0000025c: ADD
0000025d: GT
0000025e: ISZERO
0000025f: PUSH2 0x0267
00000262: JUMPI
00000263: PUSH1 0x00
00000265: DUP1
00000266: REVERT
00000267: JUMPDEST
00000268: DUP1
00000269: CALLDATALOAD
0000026a: SWAP1
0000026b: PUSH1 0x20
0000026d: ADD
0000026e: SWAP2
0000026f: DUP5
00000270: PUSH1 0x01
00000272: DUP4
00000273: MUL
00000274: DUP5
00000275: ADD
00000276: GT
00000277: PUSH5 0x0100000000
0000027d: DUP4
0000027e: GT
0000027f: OR
00000280: ISZERO
00000281: PUSH2 0x0289
00000284: JUMPI
00000285: PUSH1 0x00
00000287: DUP1
00000288: REVERT
00000289: JUMPDEST
0000028a: SWAP2
0000028b: SWAP1
0000028c: DUP1
0000028d: DUP1
0000028e: PUSH1 0x1f
00000290: ADD
00000291: PUSH1 0x20
00000293: DUP1
00000294: SWAP2
00000295: DIV
00000296: MUL
00000297: PUSH1 0x20
00000299: ADD
0000029a: PUSH1 0x40
0000029c: MLOAD
0000029d: SWAP1
0000029e: DUP2
0000029f: ADD
000002a0: PUSH1 0x40
000002a2: MSTORE
000002a3: DUP1
000002a4: SWAP4
000002a5: SWAP3
000002a6: SWAP2
000002a7: SWAP1
000002a8: DUP2
000002a9: DUP2
000002aa: MSTORE
000002ab: PUSH1 0x20
000002ad: ADD
000002ae: DUP4
000002af: DUP4
000002b0: DUP1
000002b1: DUP3
000002b2: DUP5
000002b3: CALLDATACOPY
000002b4: PUSH1 0x00
000002b6: DUP2
000002b7: DUP5
000002b8: ADD
000002b9: MSTORE
000002ba: PUSH1 0x1f
000002bc: NOT
000002bd: PUSH1 0x1f
000002bf: DUP3
000002c0: ADD
000002c1: AND
000002c2: SWAP1
000002c3: POP
000002c4: DUP1
000002c5: DUP4
000002c6: ADD
000002c7: SWAP3
000002c8: POP
000002c9: POP
000002ca: POP
000002cb: POP
000002cc: POP
000002cd: POP
000002ce: POP
000002cf: SWAP2
000002d0: SWAP3
000002d1: SWAP2
000002d2: SWAP3
000002d3: SWAP1
000002d4: POP
000002d5: POP
000002d6: POP
000002d7: PUSH2 0x10cb
000002da: JUMP
000002db: JUMPDEST
000002dc: PUSH1 0x40
000002de: MLOAD
000002df: DUP1
000002e0: DUP3
000002e1: DUP2
000002e2: MSTORE
000002e3: PUSH1 0x20
000002e5: ADD
000002e6: SWAP2
000002e7: POP
000002e8: POP
000002e9: PUSH1 0x40
000002eb: MLOAD
000002ec: DUP1
000002ed: SWAP2
000002ee: SUB
000002ef: SWAP1
000002f0: RETURN
000002f1: JUMPDEST
000002f2: PUSH2 0x031d
000002f5: PUSH1 0x04
000002f7: DUP1
000002f8: CALLDATASIZE
000002f9: SUB
000002fa: PUSH1 0x20
000002fc: DUP2
000002fd: LT
000002fe: ISZERO
000002ff: PUSH2 0x0307
00000302: JUMPI
00000303: PUSH1 0x00
00000305: DUP1
00000306: REVERT
00000307: JUMPDEST
00000308: DUP2
00000309: ADD
0000030a: SWAP1
0000030b: DUP1
0000030c: DUP1
0000030d: CALLDATALOAD
0000030e: SWAP1
0000030f: PUSH1 0x20
00000311: ADD
00000312: SWAP1
00000313: SWAP3
00000314: SWAP2
00000315: SWAP1
00000316: POP
00000317: POP
00000318: POP
00000319: PUSH2 0x178a
0000031c: JUMP
0000031d: JUMPDEST
0000031e: PUSH1 0x40
00000320: MLOAD
00000321: DUP1
00000322: DUP3
00000323: DUP2
00000324: MSTORE
00000325: PUSH1 0x20
00000327: ADD
00000328: SWAP2
00000329: POP
0000032a: POP
0000032b: PUSH1 0x40
0000032d: MLOAD
0000032e: DUP1
0000032f: SWAP2
00000330: SUB
00000331: SWAP1
00000332: RETURN
00000333: JUMPDEST
00000334: PUSH2 0x033b
00000337: PUSH2 0x17e4
0000033a: JUMP
0000033b: JUMPDEST
0000033c: PUSH1 0x40
0000033e: MLOAD
0000033f: DUP1
00000340: DUP3
00000341: PUSH8 0xffffffffffffffff
0000034a: AND
0000034b: DUP2
0000034c: MSTORE
0000034d: PUSH1 0x20
0000034f: ADD
00000350: SWAP2
00000351: POP
00000352: POP
00000353: PUSH1 0x40
00000355: MLOAD
00000356: DUP1
00000357: SWAP2
00000358: SUB
00000359: SWAP1
0000035a: RETURN
0000035b: JUMPDEST
0000035c: PUSH2 0x039d
0000035f: PUSH1 0x04
00000361: DUP1
00000362: CALLDATASIZE
00000363: SUB
00000364: PUSH1 0x20
00000366: DUP2
00000367: LT
00000368: ISZERO
00000369: PUSH2 0x0371
0000036c: JUMPI
0000036d: PUSH1 0x00
0000036f: DUP1
00000370: REVERT
00000371: JUMPDEST
00000372: DUP2
00000373: ADD
00000374: SWAP1
00000375: DUP1
00000376: DUP1
00000377: CALLDATALOAD
00000378: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000038d: AND
0000038e: SWAP1
0000038f: PUSH1 0x20
00000391: ADD
00000392: SWAP1
00000393: SWAP3
00000394: SWAP2
00000395: SWAP1
00000396: POP
00000397: POP
00000398: POP
00000399: PUSH2 0x17fe
0000039c: JUMP
0000039d: JUMPDEST
0000039e: PUSH1 0x40
000003a0: MLOAD
000003a1: DUP1
000003a2: DUP3
000003a3: PUSH8 0xffffffffffffffff
000003ac: AND
000003ad: DUP2
000003ae: MSTORE
000003af: PUSH1 0x20
000003b1: ADD
000003b2: SWAP2
000003b3: POP
000003b4: POP
000003b5: PUSH1 0x40
000003b7: MLOAD
000003b8: DUP1
000003b9: SWAP2
000003ba: SUB
000003bb: SWAP1
000003bc: RETURN
000003bd: JUMPDEST
000003be: PUSH2 0x03ff
000003c1: PUSH1 0x04
000003c3: DUP1
000003c4: CALLDATASIZE
000003c5: SUB
000003c6: PUSH1 0x20
000003c8: DUP2
000003c9: LT
000003ca: ISZERO
000003cb: PUSH2 0x03d3
000003ce: JUMPI
000003cf: PUSH1 0x00
000003d1: DUP1
000003d2: REVERT
000003d3: JUMPDEST
000003d4: DUP2
000003d5: ADD
000003d6: SWAP1
000003d7: DUP1
000003d8: DUP1
000003d9: CALLDATALOAD
000003da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ef: AND
000003f0: SWAP1
000003f1: PUSH1 0x20
000003f3: ADD
000003f4: SWAP1
000003f5: SWAP3
000003f6: SWAP2
000003f7: SWAP1
000003f8: POP
000003f9: POP
000003fa: POP
000003fb: PUSH2 0x1978
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH1 0x40
00000402: MLOAD
00000403: DUP1
00000404: DUP3
00000405: PUSH8 0xffffffffffffffff
0000040e: AND
0000040f: DUP2
00000410: MSTORE
00000411: PUSH1 0x20
00000413: ADD
00000414: SWAP2
00000415: POP
00000416: POP
00000417: PUSH1 0x40
00000419: MLOAD
0000041a: DUP1
0000041b: SWAP2
0000041c: SUB
0000041d: SWAP1
0000041e: RETURN
0000041f: JUMPDEST
00000420: PUSH2 0x044b
00000423: PUSH1 0x04
00000425: DUP1
00000426: CALLDATASIZE
00000427: SUB
00000428: PUSH1 0x20
0000042a: DUP2
0000042b: LT
0000042c: ISZERO
0000042d: PUSH2 0x0435
00000430: JUMPI
00000431: PUSH1 0x00
00000433: DUP1
00000434: REVERT
00000435: JUMPDEST
00000436: DUP2
00000437: ADD
00000438: SWAP1
00000439: DUP1
0000043a: DUP1
0000043b: CALLDATALOAD
0000043c: SWAP1
0000043d: PUSH1 0x20
0000043f: ADD
00000440: SWAP1
00000441: SWAP3
00000442: SWAP2
00000443: SWAP1
00000444: POP
00000445: POP
00000446: POP
00000447: PUSH2 0x1a0d
0000044a: JUMP
0000044b: JUMPDEST
0000044c: PUSH1 0x40
0000044e: MLOAD
0000044f: DUP1
00000450: DUP3
00000451: DUP2
00000452: MSTORE
00000453: PUSH1 0x20
00000455: ADD
00000456: SWAP2
00000457: POP
00000458: POP
00000459: PUSH1 0x40
0000045b: MLOAD
0000045c: DUP1
0000045d: SWAP2
0000045e: SUB
0000045f: SWAP1
00000460: RETURN
00000461: JUMPDEST
00000462: PUSH2 0x0497
00000465: PUSH1 0x04
00000467: DUP1
00000468: CALLDATASIZE
00000469: SUB
0000046a: PUSH1 0x40
0000046c: DUP2
0000046d: LT
0000046e: ISZERO
0000046f: PUSH2 0x0477
00000472: JUMPI
00000473: PUSH1 0x00
00000475: DUP1
00000476: REVERT
00000477: JUMPDEST
00000478: DUP2
00000479: ADD
0000047a: SWAP1
0000047b: DUP1
0000047c: DUP1
0000047d: CALLDATALOAD
0000047e: SWAP1
0000047f: PUSH1 0x20
00000481: ADD
00000482: SWAP1
00000483: SWAP3
00000484: SWAP2
00000485: SWAP1
00000486: DUP1
00000487: CALLDATALOAD
00000488: SWAP1
00000489: PUSH1 0x20
0000048b: ADD
0000048c: SWAP1
0000048d: SWAP3
0000048e: SWAP2
0000048f: SWAP1
00000490: POP
00000491: POP
00000492: POP
00000493: PUSH2 0x1fb4
00000496: JUMP
00000497: JUMPDEST
00000498: STOP
00000499: JUMPDEST
0000049a: PUSH2 0x04e5
0000049d: PUSH1 0x04
0000049f: DUP1
000004a0: CALLDATASIZE
000004a1: SUB
000004a2: PUSH1 0x40
000004a4: DUP2
000004a5: LT
000004a6: ISZERO
000004a7: PUSH2 0x04af
000004aa: JUMPI
000004ab: PUSH1 0x00
000004ad: DUP1
000004ae: REVERT
000004af: JUMPDEST
000004b0: DUP2
000004b1: ADD
000004b2: SWAP1
000004b3: DUP1
000004b4: DUP1
000004b5: CALLDATALOAD
000004b6: SWAP1
000004b7: PUSH1 0x20
000004b9: ADD
000004ba: SWAP1
000004bb: SWAP3
000004bc: SWAP2
000004bd: SWAP1
000004be: DUP1
000004bf: CALLDATALOAD
000004c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004d5: AND
000004d6: SWAP1
000004d7: PUSH1 0x20
000004d9: ADD
000004da: SWAP1
000004db: SWAP3
000004dc: SWAP2
000004dd: SWAP1
000004de: POP
000004df: POP
000004e0: POP
000004e1: PUSH2 0x22d6
000004e4: JUMP
000004e5: JUMPDEST
000004e6: STOP
000004e7: JUMPDEST
000004e8: PUSH2 0x0513
000004eb: PUSH1 0x04
000004ed: DUP1
000004ee: CALLDATASIZE
000004ef: SUB
000004f0: PUSH1 0x20
000004f2: DUP2
000004f3: LT
000004f4: ISZERO
000004f5: PUSH2 0x04fd
000004f8: JUMPI
000004f9: PUSH1 0x00
000004fb: DUP1
000004fc: REVERT
000004fd: JUMPDEST
000004fe: DUP2
000004ff: ADD
00000500: SWAP1
00000501: DUP1
00000502: DUP1
00000503: CALLDATALOAD
00000504: SWAP1
00000505: PUSH1 0x20
00000507: ADD
00000508: SWAP1
00000509: SWAP3
0000050a: SWAP2
0000050b: SWAP1
0000050c: POP
0000050d: POP
0000050e: POP
0000050f: PUSH2 0x2434
00000512: JUMP
00000513: JUMPDEST
00000514: PUSH1 0x40
00000516: MLOAD
00000517: DUP1
00000518: DUP16
00000519: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000052e: AND
0000052f: DUP2
00000530: MSTORE
00000531: PUSH1 0x20
00000533: ADD
00000534: DUP15
00000535: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000054a: AND
0000054b: DUP2
0000054c: MSTORE
0000054d: PUSH1 0x20
0000054f: ADD
00000550: DUP14
00000551: DUP2
00000552: MSTORE
00000553: PUSH1 0x20
00000555: ADD
00000556: DUP13
00000557: DUP2
00000558: MSTORE
00000559: PUSH1 0x20
0000055b: ADD
0000055c: DUP12
0000055d: DUP2
0000055e: MSTORE
0000055f: PUSH1 0x20
00000561: ADD
00000562: DUP11
00000563: DUP2
00000564: MSTORE
00000565: PUSH1 0x20
00000567: ADD
00000568: DUP10
00000569: DUP2
0000056a: MSTORE
0000056b: PUSH1 0x20
0000056d: ADD
0000056e: DUP9
0000056f: DUP2
00000570: MSTORE
00000571: PUSH1 0x20
00000573: ADD
00000574: DUP8
00000575: DUP2
00000576: MSTORE
00000577: PUSH1 0x20
00000579: ADD
0000057a: DUP7
0000057b: PUSH12 0xffffffffffffffffffffffff
00000588: AND
00000589: DUP2
0000058a: MSTORE
0000058b: PUSH1 0x20
0000058d: ADD
0000058e: DUP6
0000058f: ISZERO
00000590: ISZERO
00000591: DUP2
00000592: MSTORE
00000593: PUSH1 0x20
00000595: ADD
00000596: DUP5
00000597: ISZERO
00000598: ISZERO
00000599: DUP2
0000059a: MSTORE
0000059b: PUSH1 0x20
0000059d: ADD
0000059e: DUP4
0000059f: DUP2
000005a0: MSTORE
000005a1: PUSH1 0x20
000005a3: ADD
000005a4: DUP3
000005a5: DUP2
000005a6: MSTORE
000005a7: PUSH1 0x20
000005a9: ADD
000005aa: SWAP15
000005ab: POP
000005ac: POP
000005ad: POP
000005ae: POP
000005af: POP
000005b0: POP
000005b1: POP
000005b2: POP
000005b3: POP
000005b4: POP
000005b5: POP
000005b6: POP
000005b7: POP
000005b8: POP
000005b9: POP
000005ba: PUSH1 0x40
000005bc: MLOAD
000005bd: DUP1
000005be: SWAP2
000005bf: SUB
000005c0: SWAP1
000005c1: RETURN
000005c2: JUMPDEST
000005c3: PUSH2 0x05ca
000005c6: PUSH2 0x2512
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH1 0x40
000005cd: MLOAD
000005ce: DUP1
000005cf: DUP3
000005d0: PUSH8 0xffffffffffffffff
000005d9: AND
000005da: DUP2
000005db: MSTORE
000005dc: PUSH1 0x20
000005de: ADD
000005df: SWAP2
000005e0: POP
000005e1: POP
000005e2: PUSH1 0x40
000005e4: MLOAD
000005e5: DUP1
000005e6: SWAP2
000005e7: SUB
000005e8: SWAP1
000005e9: RETURN
000005ea: JUMPDEST
000005eb: PUSH2 0x0620
000005ee: PUSH1 0x04
000005f0: DUP1
000005f1: CALLDATASIZE
000005f2: SUB
000005f3: PUSH1 0x40
000005f5: DUP2
000005f6: LT
000005f7: ISZERO
000005f8: PUSH2 0x0600
000005fb: JUMPI
000005fc: PUSH1 0x00
000005fe: DUP1
000005ff: REVERT
00000600: JUMPDEST
00000601: DUP2
00000602: ADD
00000603: SWAP1
00000604: DUP1
00000605: DUP1
00000606: CALLDATALOAD
00000607: SWAP1
00000608: PUSH1 0x20
0000060a: ADD
0000060b: SWAP1
0000060c: SWAP3
0000060d: SWAP2
0000060e: SWAP1
0000060f: DUP1
00000610: CALLDATALOAD
00000611: SWAP1
00000612: PUSH1 0x20
00000614: ADD
00000615: SWAP1
00000616: SWAP3
00000617: SWAP2
00000618: SWAP1
00000619: POP
0000061a: POP
0000061b: POP
0000061c: PUSH2 0x252c
0000061f: JUMP
00000620: JUMPDEST
00000621: PUSH1 0x40
00000623: MLOAD
00000624: DUP1
00000625: DUP3
00000626: ISZERO
00000627: ISZERO
00000628: DUP2
00000629: MSTORE
0000062a: PUSH1 0x20
0000062c: ADD
0000062d: SWAP2
0000062e: POP
0000062f: POP
00000630: PUSH1 0x40
00000632: MLOAD
00000633: DUP1
00000634: SWAP2
00000635: SUB
00000636: SWAP1
00000637: RETURN
00000638: JUMPDEST
00000639: PUSH2 0x0640
0000063c: PUSH2 0x255b
0000063f: JUMP
00000640: JUMPDEST
00000641: STOP
00000642: JUMPDEST
00000643: PUSH2 0x0702
00000646: PUSH1 0x04
00000648: DUP1
00000649: CALLDATASIZE
0000064a: SUB
0000064b: PUSH1 0x40
0000064d: DUP2
0000064e: LT
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: DUP2
0000065a: ADD
0000065b: SWAP1
0000065c: DUP1
0000065d: DUP1
0000065e: CALLDATALOAD
0000065f: SWAP1
00000660: PUSH1 0x20
00000662: ADD
00000663: SWAP1
00000664: SWAP3
00000665: SWAP2
00000666: SWAP1
00000667: DUP1
00000668: CALLDATALOAD
00000669: SWAP1
0000066a: PUSH1 0x20
0000066c: ADD
0000066d: SWAP1
0000066e: PUSH5 0x0100000000
00000674: DUP2
00000675: GT
00000676: ISZERO
00000677: PUSH2 0x067f
0000067a: JUMPI
0000067b: PUSH1 0x00
0000067d: DUP1
0000067e: REVERT
0000067f: JUMPDEST
00000680: DUP3
00000681: ADD
00000682: DUP4
00000683: PUSH1 0x20
00000685: DUP3
00000686: ADD
00000687: GT
00000688: ISZERO
00000689: PUSH2 0x0691
0000068c: JUMPI
0000068d: PUSH1 0x00
0000068f: DUP1
00000690: REVERT
00000691: JUMPDEST
00000692: DUP1
00000693: CALLDATALOAD
00000694: SWAP1
00000695: PUSH1 0x20
00000697: ADD
00000698: SWAP2
00000699: DUP5
0000069a: PUSH1 0x20
0000069c: DUP4
0000069d: MUL
0000069e: DUP5
0000069f: ADD
000006a0: GT
000006a1: PUSH5 0x0100000000
000006a7: DUP4
000006a8: GT
000006a9: OR
000006aa: ISZERO
000006ab: PUSH2 0x06b3
000006ae: JUMPI
000006af: PUSH1 0x00
000006b1: DUP1
000006b2: REVERT
000006b3: JUMPDEST
000006b4: SWAP2
000006b5: SWAP1
000006b6: DUP1
000006b7: DUP1
000006b8: PUSH1 0x20
000006ba: MUL
000006bb: PUSH1 0x20
000006bd: ADD
000006be: PUSH1 0x40
000006c0: MLOAD
000006c1: SWAP1
000006c2: DUP2
000006c3: ADD
000006c4: PUSH1 0x40
000006c6: MSTORE
000006c7: DUP1
000006c8: SWAP4
000006c9: SWAP3
000006ca: SWAP2
000006cb: SWAP1
000006cc: DUP2
000006cd: DUP2
000006ce: MSTORE
000006cf: PUSH1 0x20
000006d1: ADD
000006d2: DUP4
000006d3: DUP4
000006d4: PUSH1 0x20
000006d6: MUL
000006d7: DUP1
000006d8: DUP3
000006d9: DUP5
000006da: CALLDATACOPY
000006db: PUSH1 0x00
000006dd: DUP2
000006de: DUP5
000006df: ADD
000006e0: MSTORE
000006e1: PUSH1 0x1f
000006e3: NOT
000006e4: PUSH1 0x1f
000006e6: DUP3
000006e7: ADD
000006e8: AND
000006e9: SWAP1
000006ea: POP
000006eb: DUP1
000006ec: DUP4
000006ed: ADD
000006ee: SWAP3
000006ef: POP
000006f0: POP
000006f1: POP
000006f2: POP
000006f3: POP
000006f4: POP
000006f5: POP
000006f6: SWAP2
000006f7: SWAP3
000006f8: SWAP2
000006f9: SWAP3
000006fa: SWAP1
000006fb: POP
000006fc: POP
000006fd: POP
000006fe: PUSH2 0x26e1
00000701: JUMP
00000702: JUMPDEST
00000703: PUSH1 0x40
00000705: MLOAD
00000706: DUP1
00000707: DUP4
00000708: DUP2
00000709: MSTORE
0000070a: PUSH1 0x20
0000070c: ADD
0000070d: DUP3
0000070e: DUP2
0000070f: MSTORE
00000710: PUSH1 0x20
00000712: ADD
00000713: SWAP3
00000714: POP
00000715: POP
00000716: POP
00000717: PUSH1 0x40
00000719: MLOAD
0000071a: DUP1
0000071b: SWAP2
0000071c: SUB
0000071d: SWAP1
0000071e: RETURN
0000071f: JUMPDEST
00000720: PUSH2 0x07df
00000723: PUSH1 0x04
00000725: DUP1
00000726: CALLDATASIZE
00000727: SUB
00000728: PUSH1 0x40
0000072a: DUP2
0000072b: LT
0000072c: ISZERO
0000072d: PUSH2 0x0735
00000730: JUMPI
00000731: PUSH1 0x00
00000733: DUP1
00000734: REVERT
00000735: JUMPDEST
00000736: DUP2
00000737: ADD
00000738: SWAP1
00000739: DUP1
0000073a: DUP1
0000073b: CALLDATALOAD
0000073c: SWAP1
0000073d: PUSH1 0x20
0000073f: ADD
00000740: SWAP1
00000741: SWAP3
00000742: SWAP2
00000743: SWAP1
00000744: DUP1
00000745: CALLDATALOAD
00000746: SWAP1
00000747: PUSH1 0x20
00000749: ADD
0000074a: SWAP1
0000074b: PUSH5 0x0100000000
00000751: DUP2
00000752: GT
00000753: ISZERO
00000754: PUSH2 0x075c
00000757: JUMPI
00000758: PUSH1 0x00
0000075a: DUP1
0000075b: REVERT
0000075c: JUMPDEST
0000075d: DUP3
0000075e: ADD
0000075f: DUP4
00000760: PUSH1 0x20
00000762: DUP3
00000763: ADD
00000764: GT
00000765: ISZERO
00000766: PUSH2 0x076e
00000769: JUMPI
0000076a: PUSH1 0x00
0000076c: DUP1
0000076d: REVERT
0000076e: JUMPDEST
0000076f: DUP1
00000770: CALLDATALOAD
00000771: SWAP1
00000772: PUSH1 0x20
00000774: ADD
00000775: SWAP2
00000776: DUP5
00000777: PUSH1 0x20
00000779: DUP4
0000077a: MUL
0000077b: DUP5
0000077c: ADD
0000077d: GT
0000077e: PUSH5 0x0100000000
00000784: DUP4
00000785: GT
00000786: OR
00000787: ISZERO
00000788: PUSH2 0x0790
0000078b: JUMPI
0000078c: PUSH1 0x00
0000078e: DUP1
0000078f: REVERT
00000790: JUMPDEST
00000791: SWAP2
00000792: SWAP1
00000793: DUP1
00000794: DUP1
00000795: PUSH1 0x20
00000797: MUL
00000798: PUSH1 0x20
0000079a: ADD
0000079b: PUSH1 0x40
0000079d: MLOAD
0000079e: SWAP1
0000079f: DUP2
000007a0: ADD
000007a1: PUSH1 0x40
000007a3: MSTORE
000007a4: DUP1
000007a5: SWAP4
000007a6: SWAP3
000007a7: SWAP2
000007a8: SWAP1
000007a9: DUP2
000007aa: DUP2
000007ab: MSTORE
000007ac: PUSH1 0x20
000007ae: ADD
000007af: DUP4
000007b0: DUP4
000007b1: PUSH1 0x20
000007b3: MUL
000007b4: DUP1
000007b5: DUP3
000007b6: DUP5
000007b7: CALLDATACOPY
000007b8: PUSH1 0x00
000007ba: DUP2
000007bb: DUP5
000007bc: ADD
000007bd: MSTORE
000007be: PUSH1 0x1f
000007c0: NOT
000007c1: PUSH1 0x1f
000007c3: DUP3
000007c4: ADD
000007c5: AND
000007c6: SWAP1
000007c7: POP
000007c8: DUP1
000007c9: DUP4
000007ca: ADD
000007cb: SWAP3
000007cc: POP
000007cd: POP
000007ce: POP
000007cf: POP
000007d0: POP
000007d1: POP
000007d2: POP
000007d3: SWAP2
000007d4: SWAP3
000007d5: SWAP2
000007d6: SWAP3
000007d7: SWAP1
000007d8: POP
000007d9: POP
000007da: POP
000007db: PUSH2 0x2d2d
000007de: JUMP
000007df: JUMPDEST
000007e0: STOP
000007e1: JUMPDEST
000007e2: PUSH2 0x07e9
000007e5: PUSH2 0x2f90
000007e8: JUMP
000007e9: JUMPDEST
000007ea: PUSH1 0x40
000007ec: MLOAD
000007ed: DUP1
000007ee: DUP3
000007ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000804: AND
00000805: DUP2
00000806: MSTORE
00000807: PUSH1 0x20
00000809: ADD
0000080a: SWAP2
0000080b: POP
0000080c: POP
0000080d: PUSH1 0x40
0000080f: MLOAD
00000810: DUP1
00000811: SWAP2
00000812: SUB
00000813: SWAP1
00000814: RETURN
00000815: JUMPDEST
00000816: PUSH2 0x0a52
00000819: PUSH1 0x04
0000081b: DUP1
0000081c: CALLDATASIZE
0000081d: SUB
0000081e: PUSH1 0xa0
00000820: DUP2
00000821: LT
00000822: ISZERO
00000823: PUSH2 0x082b
00000826: JUMPI
00000827: PUSH1 0x00
00000829: DUP1
0000082a: REVERT
0000082b: JUMPDEST
0000082c: DUP2
0000082d: ADD
0000082e: SWAP1
0000082f: DUP1
00000830: DUP1
00000831: CALLDATALOAD
00000832: SWAP1
00000833: PUSH1 0x20
00000835: ADD
00000836: SWAP1
00000837: SWAP3
00000838: SWAP2
00000839: SWAP1
0000083a: DUP1
0000083b: CALLDATALOAD
0000083c: SWAP1
0000083d: PUSH1 0x20
0000083f: ADD
00000840: SWAP1
00000841: PUSH5 0x0100000000
00000847: DUP2
00000848: GT
00000849: ISZERO
0000084a: PUSH2 0x0852
0000084d: JUMPI
0000084e: PUSH1 0x00
00000850: DUP1
00000851: REVERT
00000852: JUMPDEST
00000853: DUP3
00000854: ADD
00000855: DUP4
00000856: PUSH1 0x20
00000858: DUP3
00000859: ADD
0000085a: GT
0000085b: ISZERO
0000085c: PUSH2 0x0864
0000085f: JUMPI
00000860: PUSH1 0x00
00000862: DUP1
00000863: REVERT
00000864: JUMPDEST
00000865: DUP1
00000866: CALLDATALOAD
00000867: SWAP1
00000868: PUSH1 0x20
0000086a: ADD
0000086b: SWAP2
0000086c: DUP5
0000086d: PUSH1 0x20
0000086f: DUP4
00000870: MUL
00000871: DUP5
00000872: ADD
00000873: GT
00000874: PUSH5 0x0100000000
0000087a: DUP4
0000087b: GT
0000087c: OR
0000087d: ISZERO
0000087e: PUSH2 0x0886
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP1
00000885: REVERT
00000886: JUMPDEST
00000887: SWAP2
00000888: SWAP1
00000889: DUP1
0000088a: DUP1
0000088b: PUSH1 0x20
0000088d: MUL
0000088e: PUSH1 0x20
00000890: ADD
00000891: PUSH1 0x40
00000893: MLOAD
00000894: SWAP1
00000895: DUP2
00000896: ADD
00000897: PUSH1 0x40
00000899: MSTORE
0000089a: DUP1
0000089b: SWAP4
0000089c: SWAP3
0000089d: SWAP2
0000089e: SWAP1
0000089f: DUP2
000008a0: DUP2
000008a1: MSTORE
000008a2: PUSH1 0x20
000008a4: ADD
000008a5: DUP4
000008a6: DUP4
000008a7: PUSH1 0x20
000008a9: MUL
000008aa: DUP1
000008ab: DUP3
000008ac: DUP5
000008ad: CALLDATACOPY
000008ae: PUSH1 0x00
000008b0: DUP2
000008b1: DUP5
000008b2: ADD
000008b3: MSTORE
000008b4: PUSH1 0x1f
000008b6: NOT
000008b7: PUSH1 0x1f
000008b9: DUP3
000008ba: ADD
000008bb: AND
000008bc: SWAP1
000008bd: POP
000008be: DUP1
000008bf: DUP4
000008c0: ADD
000008c1: SWAP3
000008c2: POP
000008c3: POP
000008c4: POP
000008c5: POP
000008c6: POP
000008c7: POP
000008c8: POP
000008c9: SWAP2
000008ca: SWAP3
000008cb: SWAP2
000008cc: SWAP3
000008cd: SWAP1
000008ce: DUP1
000008cf: CALLDATALOAD
000008d0: SWAP1
000008d1: PUSH1 0x20
000008d3: ADD
000008d4: SWAP1
000008d5: PUSH5 0x0100000000
000008db: DUP2
000008dc: GT
000008dd: ISZERO
000008de: PUSH2 0x08e6
000008e1: JUMPI
000008e2: PUSH1 0x00
000008e4: DUP1
000008e5: REVERT
000008e6: JUMPDEST
000008e7: DUP3
000008e8: ADD
000008e9: DUP4
000008ea: PUSH1 0x20
000008ec: DUP3
000008ed: ADD
000008ee: GT
000008ef: ISZERO
000008f0: PUSH2 0x08f8
000008f3: JUMPI
000008f4: PUSH1 0x00
000008f6: DUP1
000008f7: REVERT
000008f8: JUMPDEST
000008f9: DUP1
000008fa: CALLDATALOAD
000008fb: SWAP1
000008fc: PUSH1 0x20
000008fe: ADD
000008ff: SWAP2
00000900: DUP5
00000901: PUSH1 0x20
00000903: DUP4
00000904: MUL
00000905: DUP5
00000906: ADD
00000907: GT
00000908: PUSH5 0x0100000000
0000090e: DUP4
0000090f: GT
00000910: OR
00000911: ISZERO
00000912: PUSH2 0x091a
00000915: JUMPI
00000916: PUSH1 0x00
00000918: DUP1
00000919: REVERT
0000091a: JUMPDEST
0000091b: SWAP2
0000091c: SWAP1
0000091d: DUP1
0000091e: DUP1
0000091f: PUSH1 0x20
00000921: MUL
00000922: PUSH1 0x20
00000924: ADD
00000925: PUSH1 0x40
00000927: MLOAD
00000928: SWAP1
00000929: DUP2
0000092a: ADD
0000092b: PUSH1 0x40
0000092d: MSTORE
0000092e: DUP1
0000092f: SWAP4
00000930: SWAP3
00000931: SWAP2
00000932: SWAP1
00000933: DUP2
00000934: DUP2
00000935: MSTORE
00000936: PUSH1 0x20
00000938: ADD
00000939: DUP4
0000093a: DUP4
0000093b: PUSH1 0x20
0000093d: MUL
0000093e: DUP1
0000093f: DUP3
00000940: DUP5
00000941: CALLDATACOPY
00000942: PUSH1 0x00
00000944: DUP2
00000945: DUP5
00000946: ADD
00000947: MSTORE
00000948: PUSH1 0x1f
0000094a: NOT
0000094b: PUSH1 0x1f
0000094d: DUP3
0000094e: ADD
0000094f: AND
00000950: SWAP1
00000951: POP
00000952: DUP1
00000953: DUP4
00000954: ADD
00000955: SWAP3
00000956: POP
00000957: POP
00000958: POP
00000959: POP
0000095a: POP
0000095b: POP
0000095c: POP
0000095d: SWAP2
0000095e: SWAP3
0000095f: SWAP2
00000960: SWAP3
00000961: SWAP1
00000962: DUP1
00000963: CALLDATALOAD
00000964: SWAP1
00000965: PUSH1 0x20
00000967: ADD
00000968: SWAP1
00000969: PUSH5 0x0100000000
0000096f: DUP2
00000970: GT
00000971: ISZERO
00000972: PUSH2 0x097a
00000975: JUMPI
00000976: PUSH1 0x00
00000978: DUP1
00000979: REVERT
0000097a: JUMPDEST
0000097b: DUP3
0000097c: ADD
0000097d: DUP4
0000097e: PUSH1 0x20
00000980: DUP3
00000981: ADD
00000982: GT
00000983: ISZERO
00000984: PUSH2 0x098c
00000987: JUMPI
00000988: PUSH1 0x00
0000098a: DUP1
0000098b: REVERT
0000098c: JUMPDEST
0000098d: DUP1
0000098e: CALLDATALOAD
0000098f: SWAP1
00000990: PUSH1 0x20
00000992: ADD
00000993: SWAP2
00000994: DUP5
00000995: PUSH1 0x20
00000997: DUP4
00000998: MUL
00000999: DUP5
0000099a: ADD
0000099b: GT
0000099c: PUSH5 0x0100000000
000009a2: DUP4
000009a3: GT
000009a4: OR
000009a5: ISZERO
000009a6: PUSH2 0x09ae
000009a9: JUMPI
000009aa: PUSH1 0x00
000009ac: DUP1
000009ad: REVERT
000009ae: JUMPDEST
000009af: SWAP2
000009b0: SWAP1
000009b1: DUP1
000009b2: DUP1
000009b3: PUSH1 0x20
000009b5: MUL
000009b6: PUSH1 0x20
000009b8: ADD
000009b9: PUSH1 0x40
000009bb: MLOAD
000009bc: SWAP1
000009bd: DUP2
000009be: ADD
000009bf: PUSH1 0x40
000009c1: MSTORE
000009c2: DUP1
000009c3: SWAP4
000009c4: SWAP3
000009c5: SWAP2
000009c6: SWAP1
000009c7: DUP2
000009c8: DUP2
000009c9: MSTORE
000009ca: PUSH1 0x20
000009cc: ADD
000009cd: DUP4
000009ce: DUP4
000009cf: PUSH1 0x20
000009d1: MUL
000009d2: DUP1
000009d3: DUP3
000009d4: DUP5
000009d5: CALLDATACOPY
000009d6: PUSH1 0x00
000009d8: DUP2
000009d9: DUP5
000009da: ADD
000009db: MSTORE
000009dc: PUSH1 0x1f
000009de: NOT
000009df: PUSH1 0x1f
000009e1: DUP3
000009e2: ADD
000009e3: AND
000009e4: SWAP1
000009e5: POP
000009e6: DUP1
000009e7: DUP4
000009e8: ADD
000009e9: SWAP3
000009ea: POP
000009eb: POP
000009ec: POP
000009ed: POP
000009ee: POP
000009ef: POP
000009f0: POP
000009f1: SWAP2
000009f2: SWAP3
000009f3: SWAP2
000009f4: SWAP3
000009f5: SWAP1
000009f6: DUP1
000009f7: CALLDATALOAD
000009f8: SWAP1
000009f9: PUSH1 0x20
000009fb: ADD
000009fc: SWAP1
000009fd: PUSH5 0x0100000000
00000a03: DUP2
00000a04: GT
00000a05: ISZERO
00000a06: PUSH2 0x0a0e
00000a09: JUMPI
00000a0a: PUSH1 0x00
00000a0c: DUP1
00000a0d: REVERT
00000a0e: JUMPDEST
00000a0f: DUP3
00000a10: ADD
00000a11: DUP4
00000a12: PUSH1 0x20
00000a14: DUP3
00000a15: ADD
00000a16: GT
00000a17: ISZERO
00000a18: PUSH2 0x0a20
00000a1b: JUMPI
00000a1c: PUSH1 0x00
00000a1e: DUP1
00000a1f: REVERT
00000a20: JUMPDEST
00000a21: DUP1
00000a22: CALLDATALOAD
00000a23: SWAP1
00000a24: PUSH1 0x20
00000a26: ADD
00000a27: SWAP2
00000a28: DUP5
00000a29: PUSH1 0x01
00000a2b: DUP4
00000a2c: MUL
00000a2d: DUP5
00000a2e: ADD
00000a2f: GT
00000a30: PUSH5 0x0100000000
00000a36: DUP4
00000a37: GT
00000a38: OR
00000a39: ISZERO
00000a3a: PUSH2 0x0a42
00000a3d: JUMPI
00000a3e: PUSH1 0x00
00000a40: DUP1
00000a41: REVERT
00000a42: JUMPDEST
00000a43: SWAP1
00000a44: SWAP2
00000a45: SWAP3
00000a46: SWAP4
00000a47: SWAP2
00000a48: SWAP3
00000a49: SWAP4
00000a4a: SWAP1
00000a4b: POP
00000a4c: POP
00000a4d: POP
00000a4e: PUSH2 0x2fb9
00000a51: JUMP
00000a52: JUMPDEST
00000a53: STOP
00000a54: JUMPDEST
00000a55: PUSH2 0x0a5c
00000a58: PUSH2 0x3221
00000a5b: JUMP
00000a5c: JUMPDEST
00000a5d: PUSH1 0x40
00000a5f: MLOAD
00000a60: DUP1
00000a61: DUP3
00000a62: DUP2
00000a63: MSTORE
00000a64: PUSH1 0x20
00000a66: ADD
00000a67: SWAP2
00000a68: POP
00000a69: POP
00000a6a: PUSH1 0x40
00000a6c: MLOAD
00000a6d: DUP1
00000a6e: SWAP2
00000a6f: SUB
00000a70: SWAP1
00000a71: RETURN
00000a72: JUMPDEST
00000a73: PUSH2 0x0caf
00000a76: PUSH1 0x04
00000a78: DUP1
00000a79: CALLDATASIZE
00000a7a: SUB
00000a7b: PUSH1 0xa0
00000a7d: DUP2
00000a7e: LT
00000a7f: ISZERO
00000a80: PUSH2 0x0a88
00000a83: JUMPI
00000a84: PUSH1 0x00
00000a86: DUP1
00000a87: REVERT
00000a88: JUMPDEST
00000a89: DUP2
00000a8a: ADD
00000a8b: SWAP1
00000a8c: DUP1
00000a8d: DUP1
00000a8e: CALLDATALOAD
00000a8f: SWAP1
00000a90: PUSH1 0x20
00000a92: ADD
00000a93: SWAP1
00000a94: SWAP3
00000a95: SWAP2
00000a96: SWAP1
00000a97: DUP1
00000a98: CALLDATALOAD
00000a99: SWAP1
00000a9a: PUSH1 0x20
00000a9c: ADD
00000a9d: SWAP1
00000a9e: PUSH5 0x0100000000
00000aa4: DUP2
00000aa5: GT
00000aa6: ISZERO
00000aa7: PUSH2 0x0aaf
00000aaa: JUMPI
00000aab: PUSH1 0x00
00000aad: DUP1
00000aae: REVERT
00000aaf: JUMPDEST
00000ab0: DUP3
00000ab1: ADD
00000ab2: DUP4
00000ab3: PUSH1 0x20
00000ab5: DUP3
00000ab6: ADD
00000ab7: GT
00000ab8: ISZERO
00000ab9: PUSH2 0x0ac1
00000abc: JUMPI
00000abd: PUSH1 0x00
00000abf: DUP1
00000ac0: REVERT
00000ac1: JUMPDEST
00000ac2: DUP1
00000ac3: CALLDATALOAD
00000ac4: SWAP1
00000ac5: PUSH1 0x20
00000ac7: ADD
00000ac8: SWAP2
00000ac9: DUP5
00000aca: PUSH1 0x20
00000acc: DUP4
00000acd: MUL
00000ace: DUP5
00000acf: ADD
00000ad0: GT
00000ad1: PUSH5 0x0100000000
00000ad7: DUP4
00000ad8: GT
00000ad9: OR
00000ada: ISZERO
00000adb: PUSH2 0x0ae3
00000ade: JUMPI
00000adf: PUSH1 0x00
00000ae1: DUP1
00000ae2: REVERT
00000ae3: JUMPDEST
00000ae4: SWAP2
00000ae5: SWAP1
00000ae6: DUP1
00000ae7: DUP1
00000ae8: PUSH1 0x20
00000aea: MUL
00000aeb: PUSH1 0x20
00000aed: ADD
00000aee: PUSH1 0x40
00000af0: MLOAD
00000af1: SWAP1
00000af2: DUP2
00000af3: ADD
00000af4: PUSH1 0x40
00000af6: MSTORE
00000af7: DUP1
00000af8: SWAP4
00000af9: SWAP3
00000afa: SWAP2
00000afb: SWAP1
00000afc: DUP2
00000afd: DUP2
00000afe: MSTORE
00000aff: PUSH1 0x20
00000b01: ADD
00000b02: DUP4
00000b03: DUP4
00000b04: PUSH1 0x20
00000b06: MUL
00000b07: DUP1
00000b08: DUP3
00000b09: DUP5
00000b0a: CALLDATACOPY
00000b0b: PUSH1 0x00
00000b0d: DUP2
00000b0e: DUP5
00000b0f: ADD
00000b10: MSTORE
00000b11: PUSH1 0x1f
00000b13: NOT
00000b14: PUSH1 0x1f
00000b16: DUP3
00000b17: ADD
00000b18: AND
00000b19: SWAP1
00000b1a: POP
00000b1b: DUP1
00000b1c: DUP4
00000b1d: ADD
00000b1e: SWAP3
00000b1f: POP
00000b20: POP
00000b21: POP
00000b22: POP
00000b23: POP
00000b24: POP
00000b25: POP
00000b26: SWAP2
00000b27: SWAP3
00000b28: SWAP2
00000b29: SWAP3
00000b2a: SWAP1
00000b2b: DUP1
00000b2c: CALLDATALOAD
00000b2d: SWAP1
00000b2e: PUSH1 0x20
00000b30: ADD
00000b31: SWAP1
00000b32: PUSH5 0x0100000000
00000b38: DUP2
00000b39: GT
00000b3a: ISZERO
00000b3b: PUSH2 0x0b43
00000b3e: JUMPI
00000b3f: PUSH1 0x00
00000b41: DUP1
00000b42: REVERT
00000b43: JUMPDEST
00000b44: DUP3
00000b45: ADD
00000b46: DUP4
00000b47: PUSH1 0x20
00000b49: DUP3
00000b4a: ADD
00000b4b: GT
00000b4c: ISZERO
00000b4d: PUSH2 0x0b55
00000b50: JUMPI
00000b51: PUSH1 0x00
00000b53: DUP1
00000b54: REVERT
00000b55: JUMPDEST
00000b56: DUP1
00000b57: CALLDATALOAD
00000b58: SWAP1
00000b59: PUSH1 0x20
00000b5b: ADD
00000b5c: SWAP2
00000b5d: DUP5
00000b5e: PUSH1 0x20
00000b60: DUP4
00000b61: MUL
00000b62: DUP5
00000b63: ADD
00000b64: GT
00000b65: PUSH5 0x0100000000
00000b6b: DUP4
00000b6c: GT
00000b6d: OR
00000b6e: ISZERO
00000b6f: PUSH2 0x0b77
00000b72: JUMPI
00000b73: PUSH1 0x00
00000b75: DUP1
00000b76: REVERT
00000b77: JUMPDEST
00000b78: SWAP2
00000b79: SWAP1
00000b7a: DUP1
00000b7b: DUP1
00000b7c: PUSH1 0x20
00000b7e: MUL
00000b7f: PUSH1 0x20
00000b81: ADD
00000b82: PUSH1 0x40
00000b84: MLOAD
00000b85: SWAP1
00000b86: DUP2
00000b87: ADD
00000b88: PUSH1 0x40
00000b8a: MSTORE
00000b8b: DUP1
00000b8c: SWAP4
00000b8d: SWAP3
00000b8e: SWAP2
00000b8f: SWAP1
00000b90: DUP2
00000b91: DUP2
00000b92: MSTORE
00000b93: PUSH1 0x20
00000b95: ADD
00000b96: DUP4
00000b97: DUP4
00000b98: PUSH1 0x20
00000b9a: MUL
00000b9b: DUP1
00000b9c: DUP3
00000b9d: DUP5
00000b9e: CALLDATACOPY
00000b9f: PUSH1 0x00
00000ba1: DUP2
00000ba2: DUP5
00000ba3: ADD
00000ba4: MSTORE
00000ba5: PUSH1 0x1f
00000ba7: NOT
00000ba8: PUSH1 0x1f
00000baa: DUP3
00000bab: ADD
00000bac: AND
00000bad: SWAP1
00000bae: POP
00000baf: DUP1
00000bb0: DUP4
00000bb1: ADD
00000bb2: SWAP3
00000bb3: POP
00000bb4: POP
00000bb5: POP
00000bb6: POP
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: SWAP2
00000bbb: SWAP3
00000bbc: SWAP2
00000bbd: SWAP3
00000bbe: SWAP1
00000bbf: DUP1
00000bc0: CALLDATALOAD
00000bc1: SWAP1
00000bc2: PUSH1 0x20
00000bc4: ADD
00000bc5: SWAP1
00000bc6: PUSH5 0x0100000000
00000bcc: DUP2
00000bcd: GT
00000bce: ISZERO
00000bcf: PUSH2 0x0bd7
00000bd2: JUMPI
00000bd3: PUSH1 0x00
00000bd5: DUP1
00000bd6: REVERT
00000bd7: JUMPDEST
00000bd8: DUP3
00000bd9: ADD
00000bda: DUP4
00000bdb: PUSH1 0x20
00000bdd: DUP3
00000bde: ADD
00000bdf: GT
00000be0: ISZERO
00000be1: PUSH2 0x0be9
00000be4: JUMPI
00000be5: PUSH1 0x00
00000be7: DUP1
00000be8: REVERT
00000be9: JUMPDEST
00000bea: DUP1
00000beb: CALLDATALOAD
00000bec: SWAP1
00000bed: PUSH1 0x20
00000bef: ADD
00000bf0: SWAP2
00000bf1: DUP5
00000bf2: PUSH1 0x20
00000bf4: DUP4
00000bf5: MUL
00000bf6: DUP5
00000bf7: ADD
00000bf8: GT
00000bf9: PUSH5 0x0100000000
00000bff: DUP4
00000c00: GT
00000c01: OR
00000c02: ISZERO
00000c03: PUSH2 0x0c0b
00000c06: JUMPI
00000c07: PUSH1 0x00
00000c09: DUP1
00000c0a: REVERT
00000c0b: JUMPDEST
00000c0c: SWAP2
00000c0d: SWAP1
00000c0e: DUP1
00000c0f: DUP1
00000c10: PUSH1 0x20
00000c12: MUL
00000c13: PUSH1 0x20
00000c15: ADD
00000c16: PUSH1 0x40
00000c18: MLOAD
00000c19: SWAP1
00000c1a: DUP2
00000c1b: ADD
00000c1c: PUSH1 0x40
00000c1e: MSTORE
00000c1f: DUP1
00000c20: SWAP4
00000c21: SWAP3
00000c22: SWAP2
00000c23: SWAP1
00000c24: DUP2
00000c25: DUP2
00000c26: MSTORE
00000c27: PUSH1 0x20
00000c29: ADD
00000c2a: DUP4
00000c2b: DUP4
00000c2c: PUSH1 0x20
00000c2e: MUL
00000c2f: DUP1
00000c30: DUP3
00000c31: DUP5
00000c32: CALLDATACOPY
00000c33: PUSH1 0x00
00000c35: DUP2
00000c36: DUP5
00000c37: ADD
00000c38: MSTORE
00000c39: PUSH1 0x1f
00000c3b: NOT
00000c3c: PUSH1 0x1f
00000c3e: DUP3
00000c3f: ADD
00000c40: AND
00000c41: SWAP1
00000c42: POP
00000c43: DUP1
00000c44: DUP4
00000c45: ADD
00000c46: SWAP3
00000c47: POP
00000c48: POP
00000c49: POP
00000c4a: POP
00000c4b: POP
00000c4c: POP
00000c4d: POP
00000c4e: SWAP2
00000c4f: SWAP3
00000c50: SWAP2
00000c51: SWAP3
00000c52: SWAP1
00000c53: DUP1
00000c54: CALLDATALOAD
00000c55: SWAP1
00000c56: PUSH1 0x20
00000c58: ADD
00000c59: SWAP1
00000c5a: PUSH5 0x0100000000
00000c60: DUP2
00000c61: GT
00000c62: ISZERO
00000c63: PUSH2 0x0c6b
00000c66: JUMPI
00000c67: PUSH1 0x00
00000c69: DUP1
00000c6a: REVERT
00000c6b: JUMPDEST
00000c6c: DUP3
00000c6d: ADD
00000c6e: DUP4
00000c6f: PUSH1 0x20
00000c71: DUP3
00000c72: ADD
00000c73: GT
00000c74: ISZERO
00000c75: PUSH2 0x0c7d
00000c78: JUMPI
00000c79: PUSH1 0x00
00000c7b: DUP1
00000c7c: REVERT
00000c7d: JUMPDEST
00000c7e: DUP1
00000c7f: CALLDATALOAD
00000c80: SWAP1
00000c81: PUSH1 0x20
00000c83: ADD
00000c84: SWAP2
00000c85: DUP5
00000c86: PUSH1 0x01
00000c88: DUP4
00000c89: MUL
00000c8a: DUP5
00000c8b: ADD
00000c8c: GT
00000c8d: PUSH5 0x0100000000
00000c93: DUP4
00000c94: GT
00000c95: OR
00000c96: ISZERO
00000c97: PUSH2 0x0c9f
00000c9a: JUMPI
00000c9b: PUSH1 0x00
00000c9d: DUP1
00000c9e: REVERT
00000c9f: JUMPDEST
00000ca0: SWAP1
00000ca1: SWAP2
00000ca2: SWAP3
00000ca3: SWAP4
00000ca4: SWAP2
00000ca5: SWAP3
00000ca6: SWAP4
00000ca7: SWAP1
00000ca8: POP
00000ca9: POP
00000caa: POP
00000cab: PUSH2 0x3227
00000cae: JUMP
00000caf: JUMPDEST
00000cb0: PUSH1 0x40
00000cb2: MLOAD
00000cb3: DUP1
00000cb4: DUP3
00000cb5: PUSH8 0xffffffffffffffff
00000cbe: AND
00000cbf: DUP2
00000cc0: MSTORE
00000cc1: PUSH1 0x20
00000cc3: ADD
00000cc4: SWAP2
00000cc5: POP
00000cc6: POP
00000cc7: PUSH1 0x40
00000cc9: MLOAD
00000cca: DUP1
00000ccb: SWAP2
00000ccc: SUB
00000ccd: SWAP1
00000cce: RETURN
00000ccf: JUMPDEST
00000cd0: PUSH2 0x0cd7
00000cd3: PUSH2 0x32b4
00000cd6: JUMP
00000cd7: JUMPDEST
00000cd8: PUSH1 0x40
00000cda: MLOAD
00000cdb: DUP1
00000cdc: DUP3
00000cdd: DUP2
00000cde: MSTORE
00000cdf: PUSH1 0x20
00000ce1: ADD
00000ce2: SWAP2
00000ce3: POP
00000ce4: POP
00000ce5: PUSH1 0x40
00000ce7: MLOAD
00000ce8: DUP1
00000ce9: SWAP2
00000cea: SUB
00000ceb: SWAP1
00000cec: RETURN
00000ced: JUMPDEST
00000cee: PUSH2 0x0d19
00000cf1: PUSH1 0x04
00000cf3: DUP1
00000cf4: CALLDATASIZE
00000cf5: SUB
00000cf6: PUSH1 0x20
00000cf8: DUP2
00000cf9: LT
00000cfa: ISZERO
00000cfb: PUSH2 0x0d03
00000cfe: JUMPI
00000cff: PUSH1 0x00
00000d01: DUP1
00000d02: REVERT
00000d03: JUMPDEST
00000d04: DUP2
00000d05: ADD
00000d06: SWAP1
00000d07: DUP1
00000d08: DUP1
00000d09: CALLDATALOAD
00000d0a: SWAP1
00000d0b: PUSH1 0x20
00000d0d: ADD
00000d0e: SWAP1
00000d0f: SWAP3
00000d10: SWAP2
00000d11: SWAP1
00000d12: POP
00000d13: POP
00000d14: POP
00000d15: PUSH2 0x32ba
00000d18: JUMP
00000d19: JUMPDEST
00000d1a: PUSH1 0x40
00000d1c: MLOAD
00000d1d: DUP1
00000d1e: DUP3
00000d1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d34: AND
00000d35: DUP2
00000d36: MSTORE
00000d37: PUSH1 0x20
00000d39: ADD
00000d3a: SWAP2
00000d3b: POP
00000d3c: POP
00000d3d: PUSH1 0x40
00000d3f: MLOAD
00000d40: DUP1
00000d41: SWAP2
00000d42: SUB
00000d43: SWAP1
00000d44: RETURN
00000d45: JUMPDEST
00000d46: PUSH2 0x0d4d
00000d49: PUSH2 0x32ed
00000d4c: JUMP
00000d4d: JUMPDEST
00000d4e: PUSH1 0x40
00000d50: MLOAD
00000d51: DUP1
00000d52: DUP3
00000d53: DUP2
00000d54: MSTORE
00000d55: PUSH1 0x20
00000d57: ADD
00000d58: SWAP2
00000d59: POP
00000d5a: POP
00000d5b: PUSH1 0x40
00000d5d: MLOAD
00000d5e: DUP1
00000d5f: SWAP2
00000d60: SUB
00000d61: SWAP1
00000d62: RETURN
00000d63: JUMPDEST
00000d64: PUSH2 0x0fc0
00000d67: PUSH1 0x04
00000d69: DUP1
00000d6a: CALLDATASIZE
00000d6b: SUB
00000d6c: PUSH1 0xc0
00000d6e: DUP2
00000d6f: LT
00000d70: ISZERO
00000d71: PUSH2 0x0d79
00000d74: JUMPI
00000d75: PUSH1 0x00
00000d77: DUP1
00000d78: REVERT
00000d79: JUMPDEST
00000d7a: DUP2
00000d7b: ADD
00000d7c: SWAP1
00000d7d: DUP1
00000d7e: DUP1
00000d7f: CALLDATALOAD
00000d80: SWAP1
00000d81: PUSH1 0x20
00000d83: ADD
00000d84: SWAP1
00000d85: SWAP3
00000d86: SWAP2
00000d87: SWAP1
00000d88: DUP1
00000d89: CALLDATALOAD
00000d8a: SWAP1
00000d8b: PUSH1 0x20
00000d8d: ADD
00000d8e: SWAP1
00000d8f: PUSH5 0x0100000000
00000d95: DUP2
00000d96: GT
00000d97: ISZERO
00000d98: PUSH2 0x0da0
00000d9b: JUMPI
00000d9c: PUSH1 0x00
00000d9e: DUP1
00000d9f: REVERT
00000da0: JUMPDEST
00000da1: DUP3
00000da2: ADD
00000da3: DUP4
00000da4: PUSH1 0x20
00000da6: DUP3
00000da7: ADD
00000da8: GT
00000da9: ISZERO
00000daa: PUSH2 0x0db2
00000dad: JUMPI
00000dae: PUSH1 0x00
00000db0: DUP1
00000db1: REVERT
00000db2: JUMPDEST
00000db3: DUP1
00000db4: CALLDATALOAD
00000db5: SWAP1
00000db6: PUSH1 0x20
00000db8: ADD
00000db9: SWAP2
00000dba: DUP5
00000dbb: PUSH1 0x20
00000dbd: DUP4
00000dbe: MUL
00000dbf: DUP5
00000dc0: ADD
00000dc1: GT
00000dc2: PUSH5 0x0100000000
00000dc8: DUP4
00000dc9: GT
00000dca: OR
00000dcb: ISZERO
00000dcc: PUSH2 0x0dd4
00000dcf: JUMPI
00000dd0: PUSH1 0x00
00000dd2: DUP1
00000dd3: REVERT
00000dd4: JUMPDEST
00000dd5: SWAP2
00000dd6: SWAP1
00000dd7: DUP1
00000dd8: DUP1
00000dd9: PUSH1 0x20
00000ddb: MUL
00000ddc: PUSH1 0x20
00000dde: ADD
00000ddf: PUSH1 0x40
00000de1: MLOAD
00000de2: SWAP1
00000de3: DUP2
00000de4: ADD
00000de5: PUSH1 0x40
00000de7: MSTORE
00000de8: DUP1
00000de9: SWAP4
00000dea: SWAP3
00000deb: SWAP2
00000dec: SWAP1
00000ded: DUP2
00000dee: DUP2
00000def: MSTORE
00000df0: PUSH1 0x20
00000df2: ADD
00000df3: DUP4
00000df4: DUP4
00000df5: PUSH1 0x20
00000df7: MUL
00000df8: DUP1
00000df9: DUP3
00000dfa: DUP5
00000dfb: CALLDATACOPY
00000dfc: PUSH1 0x00
00000dfe: DUP2
00000dff: DUP5
00000e00: ADD
00000e01: MSTORE
00000e02: PUSH1 0x1f
00000e04: NOT
00000e05: PUSH1 0x1f
00000e07: DUP3
00000e08: ADD
00000e09: AND
00000e0a: SWAP1
00000e0b: POP
00000e0c: DUP1
00000e0d: DUP4
00000e0e: ADD
00000e0f: SWAP3
00000e10: POP
00000e11: POP
00000e12: POP
00000e13: POP
00000e14: POP
00000e15: POP
00000e16: POP
00000e17: SWAP2
00000e18: SWAP3
00000e19: SWAP2
00000e1a: SWAP3
00000e1b: SWAP1
00000e1c: DUP1
00000e1d: CALLDATALOAD
00000e1e: SWAP1
00000e1f: PUSH1 0x20
00000e21: ADD
00000e22: SWAP1
00000e23: PUSH5 0x0100000000
00000e29: DUP2
00000e2a: GT
00000e2b: ISZERO
00000e2c: PUSH2 0x0e34
00000e2f: JUMPI
00000e30: PUSH1 0x00
00000e32: DUP1
00000e33: REVERT
00000e34: JUMPDEST
00000e35: DUP3
00000e36: ADD
00000e37: DUP4
00000e38: PUSH1 0x20
00000e3a: DUP3
00000e3b: ADD
00000e3c: GT
00000e3d: ISZERO
00000e3e: PUSH2 0x0e46
00000e41: JUMPI
00000e42: PUSH1 0x00
00000e44: DUP1
00000e45: REVERT
00000e46: JUMPDEST
00000e47: DUP1
00000e48: CALLDATALOAD
00000e49: SWAP1
00000e4a: PUSH1 0x20
00000e4c: ADD
00000e4d: SWAP2
00000e4e: DUP5
00000e4f: PUSH1 0x20
00000e51: DUP4
00000e52: MUL
00000e53: DUP5
00000e54: ADD
00000e55: GT
00000e56: PUSH5 0x0100000000
00000e5c: DUP4
00000e5d: GT
00000e5e: OR
00000e5f: ISZERO
00000e60: PUSH2 0x0e68
00000e63: JUMPI
00000e64: PUSH1 0x00
00000e66: DUP1
00000e67: REVERT
00000e68: JUMPDEST
00000e69: SWAP2
00000e6a: SWAP1
00000e6b: DUP1
00000e6c: DUP1
00000e6d: PUSH1 0x20
00000e6f: MUL
00000e70: PUSH1 0x20
00000e72: ADD
00000e73: PUSH1 0x40
00000e75: MLOAD
00000e76: SWAP1
00000e77: DUP2
00000e78: ADD
00000e79: PUSH1 0x40
00000e7b: MSTORE
00000e7c: DUP1
00000e7d: SWAP4
00000e7e: SWAP3
00000e7f: SWAP2
00000e80: SWAP1
00000e81: DUP2
00000e82: DUP2
00000e83: MSTORE
00000e84: PUSH1 0x20
00000e86: ADD
00000e87: DUP4
00000e88: DUP4
00000e89: PUSH1 0x20
00000e8b: MUL
00000e8c: DUP1
00000e8d: DUP3
00000e8e: DUP5
00000e8f: CALLDATACOPY
00000e90: PUSH1 0x00
00000e92: DUP2
00000e93: DUP5
00000e94: ADD
00000e95: MSTORE
00000e96: PUSH1 0x1f
00000e98: NOT
00000e99: PUSH1 0x1f
00000e9b: DUP3
00000e9c: ADD
00000e9d: AND
00000e9e: SWAP1
00000e9f: POP
00000ea0: DUP1
00000ea1: DUP4
00000ea2: ADD
00000ea3: SWAP3
00000ea4: POP
00000ea5: POP
00000ea6: POP
00000ea7: POP
00000ea8: POP
00000ea9: POP
00000eaa: POP
00000eab: SWAP2
00000eac: SWAP3
00000ead: SWAP2
00000eae: SWAP3
00000eaf: SWAP1
00000eb0: DUP1
00000eb1: CALLDATALOAD
00000eb2: SWAP1
00000eb3: PUSH1 0x20
00000eb5: ADD
00000eb6: SWAP1
00000eb7: PUSH5 0x0100000000
00000ebd: DUP2
00000ebe: GT
00000ebf: ISZERO
00000ec0: PUSH2 0x0ec8
00000ec3: JUMPI
00000ec4: PUSH1 0x00
00000ec6: DUP1
00000ec7: REVERT
00000ec8: JUMPDEST
00000ec9: DUP3
00000eca: ADD
00000ecb: DUP4
00000ecc: PUSH1 0x20
00000ece: DUP3
00000ecf: ADD
00000ed0: GT
00000ed1: ISZERO
00000ed2: PUSH2 0x0eda
00000ed5: JUMPI
00000ed6: PUSH1 0x00
00000ed8: DUP1
00000ed9: REVERT
00000eda: JUMPDEST
00000edb: DUP1
00000edc: CALLDATALOAD
00000edd: SWAP1
00000ede: PUSH1 0x20
00000ee0: ADD
00000ee1: SWAP2
00000ee2: DUP5
00000ee3: PUSH1 0x20
00000ee5: DUP4
00000ee6: MUL
00000ee7: DUP5
00000ee8: ADD
00000ee9: GT
00000eea: PUSH5 0x0100000000
00000ef0: DUP4
00000ef1: GT
00000ef2: OR
00000ef3: ISZERO
00000ef4: PUSH2 0x0efc
00000ef7: JUMPI
00000ef8: PUSH1 0x00
00000efa: DUP1
00000efb: REVERT
00000efc: JUMPDEST
00000efd: SWAP2
00000efe: SWAP1
00000eff: DUP1
00000f00: DUP1
00000f01: PUSH1 0x20
00000f03: MUL
00000f04: PUSH1 0x20
00000f06: ADD
00000f07: PUSH1 0x40
00000f09: MLOAD
00000f0a: SWAP1
00000f0b: DUP2
00000f0c: ADD
00000f0d: PUSH1 0x40
00000f0f: MSTORE
00000f10: DUP1
00000f11: SWAP4
00000f12: SWAP3
00000f13: SWAP2
00000f14: SWAP1
00000f15: DUP2
00000f16: DUP2
00000f17: MSTORE
00000f18: PUSH1 0x20
00000f1a: ADD
00000f1b: DUP4
00000f1c: DUP4
00000f1d: PUSH1 0x20
00000f1f: MUL
00000f20: DUP1
00000f21: DUP3
00000f22: DUP5
00000f23: CALLDATACOPY
00000f24: PUSH1 0x00
00000f26: DUP2
00000f27: DUP5
00000f28: ADD
00000f29: MSTORE
00000f2a: PUSH1 0x1f
00000f2c: NOT
00000f2d: PUSH1 0x1f
00000f2f: DUP3
00000f30: ADD
00000f31: AND
00000f32: SWAP1
00000f33: POP
00000f34: DUP1
00000f35: DUP4
00000f36: ADD
00000f37: SWAP3
00000f38: POP
00000f39: POP
00000f3a: POP
00000f3b: POP
00000f3c: POP
00000f3d: POP
00000f3e: POP
00000f3f: SWAP2
00000f40: SWAP3
00000f41: SWAP2
00000f42: SWAP3
00000f43: SWAP1
00000f44: DUP1
00000f45: CALLDATALOAD
00000f46: SWAP1
00000f47: PUSH1 0x20
00000f49: ADD
00000f4a: SWAP1
00000f4b: PUSH5 0x0100000000
00000f51: DUP2
00000f52: GT
00000f53: ISZERO
00000f54: PUSH2 0x0f5c
00000f57: JUMPI
00000f58: PUSH1 0x00
00000f5a: DUP1
00000f5b: REVERT
00000f5c: JUMPDEST
00000f5d: DUP3
00000f5e: ADD
00000f5f: DUP4
00000f60: PUSH1 0x20
00000f62: DUP3
00000f63: ADD
00000f64: GT
00000f65: ISZERO
00000f66: PUSH2 0x0f6e
00000f69: JUMPI
00000f6a: PUSH1 0x00
00000f6c: DUP1
00000f6d: REVERT
00000f6e: JUMPDEST
00000f6f: DUP1
00000f70: CALLDATALOAD
00000f71: SWAP1
00000f72: PUSH1 0x20
00000f74: ADD
00000f75: SWAP2
00000f76: DUP5
00000f77: PUSH1 0x01
00000f79: DUP4
00000f7a: MUL
00000f7b: DUP5
00000f7c: ADD
00000f7d: GT
00000f7e: PUSH5 0x0100000000
00000f84: DUP4
00000f85: GT
00000f86: OR
00000f87: ISZERO
00000f88: PUSH2 0x0f90
00000f8b: JUMPI
00000f8c: PUSH1 0x00
00000f8e: DUP1
00000f8f: REVERT
00000f90: JUMPDEST
00000f91: SWAP1
00000f92: SWAP2
00000f93: SWAP3
00000f94: SWAP4
00000f95: SWAP2
00000f96: SWAP3
00000f97: SWAP4
00000f98: SWAP1
00000f99: DUP1
00000f9a: CALLDATALOAD
00000f9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fb0: AND
00000fb1: SWAP1
00000fb2: PUSH1 0x20
00000fb4: ADD
00000fb5: SWAP1
00000fb6: SWAP3
00000fb7: SWAP2
00000fb8: SWAP1
00000fb9: POP
00000fba: POP
00000fbb: POP
00000fbc: PUSH2 0x32f3
00000fbf: JUMP
00000fc0: JUMPDEST
00000fc1: PUSH1 0x40
00000fc3: MLOAD
00000fc4: DUP1
00000fc5: DUP3
00000fc6: PUSH8 0xffffffffffffffff
00000fcf: AND
00000fd0: DUP2
00000fd1: MSTORE
00000fd2: PUSH1 0x20
00000fd4: ADD
00000fd5: SWAP2
00000fd6: POP
00000fd7: POP
00000fd8: PUSH1 0x40
00000fda: MLOAD
00000fdb: DUP1
00000fdc: SWAP2
00000fdd: SUB
00000fde: SWAP1
00000fdf: RETURN
00000fe0: JUMPDEST
00000fe1: PUSH2 0x1022
00000fe4: PUSH1 0x04
00000fe6: DUP1
00000fe7: CALLDATASIZE
00000fe8: SUB
00000fe9: PUSH1 0x20
00000feb: DUP2
00000fec: LT
00000fed: ISZERO
00000fee: PUSH2 0x0ff6
00000ff1: JUMPI
00000ff2: PUSH1 0x00
00000ff4: DUP1
00000ff5: REVERT
00000ff6: JUMPDEST
00000ff7: DUP2
00000ff8: ADD
00000ff9: SWAP1
00000ffa: DUP1
00000ffb: DUP1
00000ffc: CALLDATALOAD
00000ffd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001012: AND
00001013: SWAP1
00001014: PUSH1 0x20
00001016: ADD
00001017: SWAP1
00001018: SWAP3
00001019: SWAP2
0000101a: SWAP1
0000101b: POP
0000101c: POP
0000101d: POP
0000101e: PUSH2 0x3381
00001021: JUMP
00001022: JUMPDEST
00001023: STOP
00001024: JUMPDEST
00001025: PUSH2 0x1050
00001028: PUSH1 0x04
0000102a: DUP1
0000102b: CALLDATASIZE
0000102c: SUB
0000102d: PUSH1 0x20
0000102f: DUP2
00001030: LT
00001031: ISZERO
00001032: PUSH2 0x103a
00001035: JUMPI
00001036: PUSH1 0x00
00001038: DUP1
00001039: REVERT
0000103a: JUMPDEST
0000103b: DUP2
0000103c: ADD
0000103d: SWAP1
0000103e: DUP1
0000103f: DUP1
00001040: CALLDATALOAD
00001041: SWAP1
00001042: PUSH1 0x20
00001044: ADD
00001045: SWAP1
00001046: SWAP3
00001047: SWAP2
00001048: SWAP1
00001049: POP
0000104a: POP
0000104b: POP
0000104c: PUSH2 0x358c
0000104f: JUMP
00001050: JUMPDEST
00001051: PUSH1 0x40
00001053: MLOAD
00001054: DUP1
00001055: DUP1
00001056: PUSH1 0x20
00001058: ADD
00001059: DUP3
0000105a: DUP2
0000105b: SUB
0000105c: DUP3
0000105d: MSTORE
0000105e: DUP4
0000105f: DUP2
00001060: DUP2
00001061: MLOAD
00001062: DUP2
00001063: MSTORE
00001064: PUSH1 0x20
00001066: ADD
00001067: SWAP2
00001068: POP
00001069: DUP1
0000106a: MLOAD
0000106b: SWAP1
0000106c: PUSH1 0x20
0000106e: ADD
0000106f: SWAP1
00001070: DUP1
00001071: DUP4
00001072: DUP4
00001073: PUSH1 0x00
00001075: JUMPDEST
00001076: DUP4
00001077: DUP2
00001078: LT
00001079: ISZERO
0000107a: PUSH2 0x1090
0000107d: JUMPI
0000107e: DUP1
0000107f: DUP3
00001080: ADD
00001081: MLOAD
00001082: DUP2
00001083: DUP5
00001084: ADD
00001085: MSTORE
00001086: PUSH1 0x20
00001088: DUP2
00001089: ADD
0000108a: SWAP1
0000108b: POP
0000108c: PUSH2 0x1075
0000108f: JUMP
00001090: JUMPDEST
00001091: POP
00001092: POP
00001093: POP
00001094: POP
00001095: SWAP1
00001096: POP
00001097: SWAP1
00001098: DUP2
00001099: ADD
0000109a: SWAP1
0000109b: PUSH1 0x1f
0000109d: AND
0000109e: DUP1
0000109f: ISZERO
000010a0: PUSH2 0x10bd
000010a3: JUMPI
000010a4: DUP1
000010a5: DUP3
000010a6: SUB
000010a7: DUP1
000010a8: MLOAD
000010a9: PUSH1 0x01
000010ab: DUP4
000010ac: PUSH1 0x20
000010ae: SUB
000010af: PUSH2 0x0100
000010b2: EXP
000010b3: SUB
000010b4: NOT
000010b5: AND
000010b6: DUP2
000010b7: MSTORE
000010b8: PUSH1 0x20
000010ba: ADD
000010bb: SWAP2
000010bc: POP
000010bd: JUMPDEST
000010be: POP
000010bf: SWAP3
000010c0: POP
000010c1: POP
000010c2: POP
000010c3: PUSH1 0x40
000010c5: MLOAD
000010c6: DUP1
000010c7: SWAP2
000010c8: SUB
000010c9: SWAP1
000010ca: RETURN
000010cb: JUMPDEST
000010cc: PUSH1 0x00
000010ce: PUSH2 0x1144
000010d1: CALLER
000010d2: ADDRESS
000010d3: PUSH2 0x111d
000010d6: PUSH2 0x03e8
000010d9: PUSH2 0x110f
000010dc: PUSH2 0x10f2
000010df: PUSH1 0x09
000010e1: SLOAD
000010e2: PUSH2 0x03e8
000010e5: PUSH2 0x363c
000010e8: SWAP1
000010e9: SWAP2
000010ea: SWAP1
000010eb: PUSH4 0xffffffff
000010f0: AND
000010f1: JUMP
000010f2: JUMPDEST
000010f3: DUP15
000010f4: PUSH12 0xffffffffffffffffffffffff
00001101: AND
00001102: PUSH2 0x36c4
00001105: SWAP1
00001106: SWAP2
00001107: SWAP1
00001108: PUSH4 0xffffffff
0000110d: AND
0000110e: JUMP
0000110f: JUMPDEST
00001110: PUSH2 0x374a
00001113: SWAP1
00001114: SWAP2
00001115: SWAP1
00001116: PUSH4 0xffffffff
0000111b: AND
0000111c: JUMP
0000111d: JUMPDEST
0000111e: DUP16
0000111f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001134: AND
00001135: PUSH2 0x3794
00001138: SWAP1
00001139: SWAP4
0000113a: SWAP3
0000113b: SWAP2
0000113c: SWAP1
0000113d: PUSH4 0xffffffff
00001142: AND
00001143: JUMP
00001144: JUMPDEST
00001145: PUSH1 0x00
00001147: DUP9
00001148: PUSH12 0xffffffffffffffffffffffff
00001155: AND
00001156: GT
00001157: PUSH2 0x11c8
0000115a: JUMPI
0000115b: PUSH1 0x40
0000115d: MLOAD
0000115e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000117f: DUP2
00001180: MSTORE
00001181: PUSH1 0x04
00001183: ADD
00001184: DUP1
00001185: DUP1
00001186: PUSH1 0x20
00001188: ADD
00001189: DUP3
0000118a: DUP2
0000118b: SUB
0000118c: DUP3
0000118d: MSTORE
0000118e: PUSH1 0x1a
00001190: DUP2
00001191: MSTORE
00001192: PUSH1 0x20
00001194: ADD
00001195: DUP1
00001196: PUSH32 0x63616e6e6f742061756374696f6e207a65726f20746f6b656e73000000000000
000011b7: DUP2
000011b8: MSTORE
000011b9: POP
000011ba: PUSH1 0x20
000011bc: ADD
000011bd: SWAP2
000011be: POP
000011bf: POP
000011c0: PUSH1 0x40
000011c2: MLOAD
000011c3: DUP1
000011c4: SWAP2
000011c5: SUB
000011c6: SWAP1
000011c7: REVERT
000011c8: JUMPDEST
000011c9: PUSH1 0x00
000011cb: DUP8
000011cc: PUSH12 0xffffffffffffffffffffffff
000011d9: AND
000011da: GT
000011db: PUSH2 0x122f
000011de: JUMPI
000011df: PUSH1 0x40
000011e1: MLOAD
000011e2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001203: DUP2
00001204: MSTORE
00001205: PUSH1 0x04
00001207: ADD
00001208: DUP1
00001209: DUP1
0000120a: PUSH1 0x20
0000120c: ADD
0000120d: DUP3
0000120e: DUP2
0000120f: SUB
00001210: DUP3
00001211: MSTORE
00001212: PUSH1 0x23
00001214: DUP2
00001215: MSTORE
00001216: PUSH1 0x20
00001218: ADD
00001219: DUP1
0000121a: PUSH2 0x5840
0000121d: PUSH1 0x23
0000121f: SWAP2
00001220: CODECOPY
00001221: PUSH1 0x40
00001223: ADD
00001224: SWAP2
00001225: POP
00001226: POP
00001227: PUSH1 0x40
00001229: MLOAD
0000122a: DUP1
0000122b: SWAP2
0000122c: SUB
0000122d: SWAP1
0000122e: REVERT
0000122f: JUMPDEST
00001230: PUSH1 0x00
00001232: DUP7
00001233: GT
00001234: PUSH2 0x1288
00001237: JUMPI
00001238: PUSH1 0x40
0000123a: MLOAD
0000123b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000125c: DUP2
0000125d: MSTORE
0000125e: PUSH1 0x04
00001260: ADD
00001261: DUP1
00001262: DUP1
00001263: PUSH1 0x20
00001265: ADD
00001266: DUP3
00001267: DUP2
00001268: SUB
00001269: DUP3
0000126a: MSTORE
0000126b: PUSH1 0x36
0000126d: DUP2
0000126e: MSTORE
0000126f: PUSH1 0x20
00001271: ADD
00001272: DUP1
00001273: PUSH2 0x59a6
00001276: PUSH1 0x36
00001278: SWAP2
00001279: CODECOPY
0000127a: PUSH1 0x40
0000127c: ADD
0000127d: SWAP2
0000127e: POP
0000127f: POP
00001280: PUSH1 0x40
00001282: MLOAD
00001283: DUP1
00001284: SWAP2
00001285: SUB
00001286: SWAP1
00001287: REVERT
00001288: JUMPDEST
00001289: DUP9
0000128a: DUP11
0000128b: GT
0000128c: ISZERO
0000128d: PUSH2 0x12e1
00001290: JUMPI
00001291: PUSH1 0x40
00001293: MLOAD
00001294: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000012b5: DUP2
000012b6: MSTORE
000012b7: PUSH1 0x04
000012b9: ADD
000012ba: DUP1
000012bb: DUP1
000012bc: PUSH1 0x20
000012be: ADD
000012bf: DUP3
000012c0: DUP2
000012c1: SUB
000012c2: DUP3
000012c3: MSTORE
000012c4: PUSH1 0x29
000012c6: DUP2
000012c7: MSTORE
000012c8: PUSH1 0x20
000012ca: ADD
000012cb: DUP1
000012cc: PUSH2 0x5ac4
000012cf: PUSH1 0x29
000012d1: SWAP2
000012d2: CODECOPY
000012d3: PUSH1 0x40
000012d5: ADD
000012d6: SWAP2
000012d7: POP
000012d8: POP
000012d9: PUSH1 0x40
000012db: MLOAD
000012dc: DUP1
000012dd: SWAP2
000012de: SUB
000012df: SWAP1
000012e0: REVERT
000012e1: JUMPDEST
000012e2: TIMESTAMP
000012e3: DUP10
000012e4: GT
000012e5: PUSH2 0x1339
000012e8: JUMPI
000012e9: PUSH1 0x40
000012eb: MLOAD
000012ec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000130d: DUP2
0000130e: MSTORE
0000130f: PUSH1 0x04
00001311: ADD
00001312: DUP1
00001313: DUP1
00001314: PUSH1 0x20
00001316: ADD
00001317: DUP3
00001318: DUP2
00001319: SUB
0000131a: DUP3
0000131b: MSTORE
0000131c: PUSH1 0x26
0000131e: DUP2
0000131f: MSTORE
00001320: PUSH1 0x20
00001322: ADD
00001323: DUP1
00001324: PUSH2 0x592f
00001327: PUSH1 0x26
00001329: SWAP2
0000132a: CODECOPY
0000132b: PUSH1 0x40
0000132d: ADD
0000132e: SWAP2
0000132f: POP
00001330: POP
00001331: PUSH1 0x40
00001333: MLOAD
00001334: DUP1
00001335: SWAP2
00001336: SUB
00001337: SWAP1
00001338: REVERT
00001339: JUMPDEST
0000133a: PUSH2 0x134f
0000133d: PUSH1 0x01
0000133f: PUSH1 0x08
00001341: SLOAD
00001342: PUSH2 0x363c
00001345: SWAP1
00001346: SWAP2
00001347: SWAP1
00001348: PUSH4 0xffffffff
0000134d: AND
0000134e: JUMP
0000134f: JUMPDEST
00001350: PUSH1 0x08
00001352: DUP2
00001353: SWAP1
00001354: SSTORE
00001355: POP
00001356: PUSH2 0x1372
00001359: PUSH1 0x01
0000135b: PUSH1 0x00
0000135d: PUSH1 0x08
0000135f: SLOAD
00001360: DUP2
00001361: MSTORE
00001362: PUSH1 0x20
00001364: ADD
00001365: SWAP1
00001366: DUP2
00001367: MSTORE
00001368: PUSH1 0x20
0000136a: ADD
0000136b: PUSH1 0x00
0000136d: KECCAK256
0000136e: PUSH2 0x3855
00001371: JUMP
00001372: JUMPDEST
00001373: PUSH1 0x00
00001375: PUSH2 0x137d
00001378: CALLER
00001379: PUSH2 0x1978
0000137c: JUMP
0000137d: JUMPDEST
0000137e: SWAP1
0000137f: POP
00001380: PUSH1 0x40
00001382: MLOAD
00001383: DUP1
00001384: PUSH2 0x01c0
00001387: ADD
00001388: PUSH1 0x40
0000138a: MSTORE
0000138b: DUP1
0000138c: DUP15
0000138d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013a2: AND
000013a3: DUP2
000013a4: MSTORE
000013a5: PUSH1 0x20
000013a7: ADD
000013a8: DUP14
000013a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013be: AND
000013bf: DUP2
000013c0: MSTORE
000013c1: PUSH1 0x20
000013c3: ADD
000013c4: DUP13
000013c5: DUP2
000013c6: MSTORE
000013c7: PUSH1 0x20
000013c9: ADD
000013ca: DUP12
000013cb: DUP2
000013cc: MSTORE
000013cd: PUSH1 0x20
000013cf: ADD
000013d0: PUSH2 0x13da
000013d3: DUP4
000013d4: DUP12
000013d5: DUP14
000013d6: PUSH2 0x38da
000013d9: JUMP
000013da: JUMPDEST
000013db: DUP2
000013dc: MSTORE
000013dd: PUSH1 0x20
000013df: ADD
000013e0: DUP9
000013e1: DUP2
000013e2: MSTORE
000013e3: PUSH1 0x20
000013e5: ADD
000013e6: PUSH1 0x00
000013e8: DUP2
000013e9: MSTORE
000013ea: PUSH1 0x20
000013ec: ADD
000013ed: PUSH1 0x01
000013ef: PUSH1 0x00
000013f1: SHL
000013f2: DUP2
000013f3: MSTORE
000013f4: PUSH1 0x20
000013f6: ADD
000013f7: PUSH1 0x00
000013f9: DUP1
000013fa: SHL
000013fb: DUP2
000013fc: MSTORE
000013fd: PUSH1 0x20
000013ff: ADD
00001400: PUSH1 0x00
00001402: PUSH12 0xffffffffffffffffffffffff
0000140f: AND
00001410: DUP2
00001411: MSTORE
00001412: PUSH1 0x20
00001414: ADD
00001415: PUSH1 0x00
00001417: ISZERO
00001418: ISZERO
00001419: DUP2
0000141a: MSTORE
0000141b: PUSH1 0x20
0000141d: ADD
0000141e: DUP7
0000141f: ISZERO
00001420: ISZERO
00001421: DUP2
00001422: MSTORE
00001423: PUSH1 0x20
00001425: ADD
00001426: PUSH1 0x09
00001428: SLOAD
00001429: DUP2
0000142a: MSTORE
0000142b: PUSH1 0x20
0000142d: ADD
0000142e: DUP8
0000142f: DUP2
00001430: MSTORE
00001431: POP
00001432: PUSH1 0x02
00001434: PUSH1 0x00
00001436: PUSH1 0x08
00001438: SLOAD
00001439: DUP2
0000143a: MSTORE
0000143b: PUSH1 0x20
0000143d: ADD
0000143e: SWAP1
0000143f: DUP2
00001440: MSTORE
00001441: PUSH1 0x20
00001443: ADD
00001444: PUSH1 0x00
00001446: KECCAK256
00001447: PUSH1 0x00
00001449: DUP3
0000144a: ADD
0000144b: MLOAD
0000144c: DUP2
0000144d: PUSH1 0x00
0000144f: ADD
00001450: PUSH1 0x00
00001452: PUSH2 0x0100
00001455: EXP
00001456: DUP2
00001457: SLOAD
00001458: DUP2
00001459: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000146e: MUL
0000146f: NOT
00001470: AND
00001471: SWAP1
00001472: DUP4
00001473: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001488: AND
00001489: MUL
0000148a: OR
0000148b: SWAP1
0000148c: SSTORE
0000148d: POP
0000148e: PUSH1 0x20
00001490: DUP3
00001491: ADD
00001492: MLOAD
00001493: DUP2
00001494: PUSH1 0x01
00001496: ADD
00001497: PUSH1 0x00
00001499: PUSH2 0x0100
0000149c: EXP
0000149d: DUP2
0000149e: SLOAD
0000149f: DUP2
000014a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b5: MUL
000014b6: NOT
000014b7: AND
000014b8: SWAP1
000014b9: DUP4
000014ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014cf: AND
000014d0: MUL
000014d1: OR
000014d2: SWAP1
000014d3: SSTORE
000014d4: POP
000014d5: PUSH1 0x40
000014d7: DUP3
000014d8: ADD
000014d9: MLOAD
000014da: DUP2
000014db: PUSH1 0x02
000014dd: ADD
000014de: SSTORE
000014df: PUSH1 0x60
000014e1: DUP3
000014e2: ADD
000014e3: MLOAD
000014e4: DUP2
000014e5: PUSH1 0x03
000014e7: ADD
000014e8: SSTORE
000014e9: PUSH1 0x80
000014eb: DUP3
000014ec: ADD
000014ed: MLOAD
000014ee: DUP2
000014ef: PUSH1 0x04
000014f1: ADD
000014f2: SSTORE
000014f3: PUSH1 0xa0
000014f5: DUP3
000014f6: ADD
000014f7: MLOAD
000014f8: DUP2
000014f9: PUSH1 0x05
000014fb: ADD
000014fc: SSTORE
000014fd: PUSH1 0xc0
000014ff: DUP3
00001500: ADD
00001501: MLOAD
00001502: DUP2
00001503: PUSH1 0x06
00001505: ADD
00001506: SSTORE
00001507: PUSH1 0xe0
00001509: DUP3
0000150a: ADD
0000150b: MLOAD
0000150c: DUP2
0000150d: PUSH1 0x07
0000150f: ADD
00001510: SSTORE
00001511: PUSH2 0x0100
00001514: DUP3
00001515: ADD
00001516: MLOAD
00001517: DUP2
00001518: PUSH1 0x08
0000151a: ADD
0000151b: SSTORE
0000151c: PUSH2 0x0120
0000151f: DUP3
00001520: ADD
00001521: MLOAD
00001522: DUP2
00001523: PUSH1 0x09
00001525: ADD
00001526: PUSH1 0x00
00001528: PUSH2 0x0100
0000152b: EXP
0000152c: DUP2
0000152d: SLOAD
0000152e: DUP2
0000152f: PUSH12 0xffffffffffffffffffffffff
0000153c: MUL
0000153d: NOT
0000153e: AND
0000153f: SWAP1
00001540: DUP4
00001541: PUSH12 0xffffffffffffffffffffffff
0000154e: AND
0000154f: MUL
00001550: OR
00001551: SWAP1
00001552: SSTORE
00001553: POP
00001554: PUSH2 0x0140
00001557: DUP3
00001558: ADD
00001559: MLOAD
0000155a: DUP2
0000155b: PUSH1 0x09
0000155d: ADD
0000155e: PUSH1 0x0c
00001560: PUSH2 0x0100
00001563: EXP
00001564: DUP2
00001565: SLOAD
00001566: DUP2
00001567: PUSH1 0xff
00001569: MUL
0000156a: NOT
0000156b: AND
0000156c: SWAP1
0000156d: DUP4
0000156e: ISZERO
0000156f: ISZERO
00001570: MUL
00001571: OR
00001572: SWAP1
00001573: SSTORE
00001574: POP
00001575: PUSH2 0x0160
00001578: DUP3
00001579: ADD
0000157a: MLOAD
0000157b: DUP2
0000157c: PUSH1 0x09
0000157e: ADD
0000157f: PUSH1 0x0d
00001581: PUSH2 0x0100
00001584: EXP
00001585: DUP2
00001586: SLOAD
00001587: DUP2
00001588: PUSH1 0xff
0000158a: MUL
0000158b: NOT
0000158c: AND
0000158d: SWAP1
0000158e: DUP4
0000158f: ISZERO
00001590: ISZERO
00001591: MUL
00001592: OR
00001593: SWAP1
00001594: SSTORE
00001595: POP
00001596: PUSH2 0x0180
00001599: DUP3
0000159a: ADD
0000159b: MLOAD
0000159c: DUP2
0000159d: PUSH1 0x0a
0000159f: ADD
000015a0: SSTORE
000015a1: PUSH2 0x01a0
000015a4: DUP3
000015a5: ADD
000015a6: MLOAD
000015a7: DUP2
000015a8: PUSH1 0x0b
000015aa: ADD
000015ab: SSTORE
000015ac: SWAP1
000015ad: POP
000015ae: POP
000015af: DUP4
000015b0: PUSH1 0x03
000015b2: PUSH1 0x00
000015b4: PUSH1 0x08
000015b6: SLOAD
000015b7: DUP2
000015b8: MSTORE
000015b9: PUSH1 0x20
000015bb: ADD
000015bc: SWAP1
000015bd: DUP2
000015be: MSTORE
000015bf: PUSH1 0x20
000015c1: ADD
000015c2: PUSH1 0x00
000015c4: KECCAK256
000015c5: PUSH1 0x00
000015c7: PUSH2 0x0100
000015ca: EXP
000015cb: DUP2
000015cc: SLOAD
000015cd: DUP2
000015ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015e3: MUL
000015e4: NOT
000015e5: AND
000015e6: SWAP1
000015e7: DUP4
000015e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015fd: AND
000015fe: MUL
000015ff: OR
00001600: SWAP1
00001601: SSTORE
00001602: POP
00001603: DUP3
00001604: PUSH1 0x04
00001606: PUSH1 0x00
00001608: PUSH1 0x08
0000160a: SLOAD
0000160b: DUP2
0000160c: MSTORE
0000160d: PUSH1 0x20
0000160f: ADD
00001610: SWAP1
00001611: DUP2
00001612: MSTORE
00001613: PUSH1 0x20
00001615: ADD
00001616: PUSH1 0x00
00001618: KECCAK256
00001619: SWAP1
0000161a: DUP1
0000161b: MLOAD
0000161c: SWAP1
0000161d: PUSH1 0x20
0000161f: ADD
00001620: SWAP1
00001621: PUSH2 0x162b
00001624: SWAP3
00001625: SWAP2
00001626: SWAP1
00001627: PUSH2 0x55dc
0000162a: JUMP
0000162b: JUMPDEST
0000162c: POP
0000162d: DUP12
0000162e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001643: AND
00001644: DUP14
00001645: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000165a: AND
0000165b: PUSH1 0x08
0000165d: SLOAD
0000165e: PUSH32 0x728d0fed13687f1840de94f5ae640eae49b43eda26b7ffe97e55e79a0de6e40c
0000167f: DUP15
00001680: DUP15
00001681: DUP7
00001682: DUP16
00001683: DUP16
00001684: DUP16
00001685: DUP16
00001686: DUP15
00001687: DUP15
00001688: PUSH1 0x40
0000168a: MLOAD
0000168b: DUP1
0000168c: DUP11
0000168d: DUP2
0000168e: MSTORE
0000168f: PUSH1 0x20
00001691: ADD
00001692: DUP10
00001693: DUP2
00001694: MSTORE
00001695: PUSH1 0x20
00001697: ADD
00001698: DUP9
00001699: PUSH8 0xffffffffffffffff
000016a2: AND
000016a3: DUP2
000016a4: MSTORE
000016a5: PUSH1 0x20
000016a7: ADD
000016a8: DUP8
000016a9: PUSH12 0xffffffffffffffffffffffff
000016b6: AND
000016b7: DUP2
000016b8: MSTORE
000016b9: PUSH1 0x20
000016bb: ADD
000016bc: DUP7
000016bd: PUSH12 0xffffffffffffffffffffffff
000016ca: AND
000016cb: DUP2
000016cc: MSTORE
000016cd: PUSH1 0x20
000016cf: ADD
000016d0: DUP6
000016d1: DUP2
000016d2: MSTORE
000016d3: PUSH1 0x20
000016d5: ADD
000016d6: DUP5
000016d7: DUP2
000016d8: MSTORE
000016d9: PUSH1 0x20
000016db: ADD
000016dc: DUP4
000016dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016f2: AND
000016f3: DUP2
000016f4: MSTORE
000016f5: PUSH1 0x20
000016f7: ADD
000016f8: DUP1
000016f9: PUSH1 0x20
000016fb: ADD
000016fc: DUP3
000016fd: DUP2
000016fe: SUB
000016ff: DUP3
00001700: MSTORE
00001701: DUP4
00001702: DUP2
00001703: DUP2
00001704: MLOAD
00001705: DUP2
00001706: MSTORE
00001707: PUSH1 0x20
00001709: ADD
0000170a: SWAP2
0000170b: POP
0000170c: DUP1
0000170d: MLOAD
0000170e: SWAP1
0000170f: PUSH1 0x20
00001711: ADD
00001712: SWAP1
00001713: DUP1
00001714: DUP4
00001715: DUP4
00001716: PUSH1 0x00
00001718: JUMPDEST
00001719: DUP4
0000171a: DUP2
0000171b: LT
0000171c: ISZERO
0000171d: PUSH2 0x1733
00001720: JUMPI
00001721: DUP1
00001722: DUP3
00001723: ADD
00001724: MLOAD
00001725: DUP2
00001726: DUP5
00001727: ADD
00001728: MSTORE
00001729: PUSH1 0x20
0000172b: DUP2
0000172c: ADD
0000172d: SWAP1
0000172e: POP
0000172f: PUSH2 0x1718
00001732: JUMP
00001733: JUMPDEST
00001734: POP
00001735: POP
00001736: POP
00001737: POP
00001738: SWAP1
00001739: POP
0000173a: SWAP1
0000173b: DUP2
0000173c: ADD
0000173d: SWAP1
0000173e: PUSH1 0x1f
00001740: AND
00001741: DUP1
00001742: ISZERO
00001743: PUSH2 0x1760
00001746: JUMPI
00001747: DUP1
00001748: DUP3
00001749: SUB
0000174a: DUP1
0000174b: MLOAD
0000174c: PUSH1 0x01
0000174e: DUP4
0000174f: PUSH1 0x20
00001751: SUB
00001752: PUSH2 0x0100
00001755: EXP
00001756: SUB
00001757: NOT
00001758: AND
00001759: DUP2
0000175a: MSTORE
0000175b: PUSH1 0x20
0000175d: ADD
0000175e: SWAP2
0000175f: POP
00001760: JUMPDEST
00001761: POP
00001762: SWAP11
00001763: POP
00001764: POP
00001765: POP
00001766: POP
00001767: POP
00001768: POP
00001769: POP
0000176a: POP
0000176b: POP
0000176c: POP
0000176d: POP
0000176e: PUSH1 0x40
00001770: MLOAD
00001771: DUP1
00001772: SWAP2
00001773: SUB
00001774: SWAP1
00001775: LOG4
00001776: PUSH1 0x08
00001778: SLOAD
00001779: SWAP2
0000177a: POP
0000177b: POP
0000177c: SWAP12
0000177d: SWAP11
0000177e: POP
0000177f: POP
00001780: POP
00001781: POP
00001782: POP
00001783: POP
00001784: POP
00001785: POP
00001786: POP
00001787: POP
00001788: POP
00001789: JUMP
0000178a: JUMPDEST
0000178b: PUSH1 0x00
0000178d: TIMESTAMP
0000178e: PUSH1 0x02
00001790: PUSH1 0x00
00001792: DUP5
00001793: DUP2
00001794: MSTORE
00001795: PUSH1 0x20
00001797: ADD
00001798: SWAP1
00001799: DUP2
0000179a: MSTORE
0000179b: PUSH1 0x20
0000179d: ADD
0000179e: PUSH1 0x00
000017a0: KECCAK256
000017a1: PUSH1 0x03
000017a3: ADD
000017a4: SLOAD
000017a5: LT
000017a6: ISZERO
000017a7: PUSH2 0x17b3
000017aa: JUMPI
000017ab: PUSH1 0x00
000017ad: SWAP1
000017ae: POP
000017af: PUSH2 0x17df
000017b2: JUMP
000017b3: JUMPDEST
000017b4: PUSH2 0x17dc
000017b7: TIMESTAMP
000017b8: PUSH1 0x02
000017ba: PUSH1 0x00
000017bc: DUP6
000017bd: DUP2
000017be: MSTORE
000017bf: PUSH1 0x20
000017c1: ADD
000017c2: SWAP1
000017c3: DUP2
000017c4: MSTORE
000017c5: PUSH1 0x20
000017c7: ADD
000017c8: PUSH1 0x00
000017ca: KECCAK256
000017cb: PUSH1 0x03
000017cd: ADD
000017ce: SLOAD
000017cf: PUSH2 0x391b
000017d2: SWAP1
000017d3: SWAP2
000017d4: SWAP1
000017d5: PUSH4 0xffffffff
000017da: AND
000017db: JUMP
000017dc: JUMPDEST
000017dd: SWAP1
000017de: POP
000017df: JUMPDEST
000017e0: SWAP2
000017e1: SWAP1
000017e2: POP
000017e3: JUMP
000017e4: JUMPDEST
000017e5: PUSH1 0x07
000017e7: PUSH1 0x00
000017e9: SWAP1
000017ea: SLOAD
000017eb: SWAP1
000017ec: PUSH2 0x0100
000017ef: EXP
000017f0: SWAP1
000017f1: DIV
000017f2: PUSH8 0xffffffffffffffff
000017fb: AND
000017fc: DUP2
000017fd: JUMP
000017fe: JUMPDEST
000017ff: PUSH1 0x00
00001801: PUSH2 0x183c
00001804: PUSH2 0x1837
00001807: PUSH1 0x01
00001809: PUSH1 0x07
0000180b: PUSH1 0x00
0000180d: SWAP1
0000180e: SLOAD
0000180f: SWAP1
00001810: PUSH2 0x0100
00001813: EXP
00001814: SWAP1
00001815: DIV
00001816: PUSH8 0xffffffffffffffff
0000181f: AND
00001820: PUSH8 0xffffffffffffffff
00001829: AND
0000182a: PUSH2 0x363c
0000182d: SWAP1
0000182e: SWAP2
0000182f: SWAP1
00001830: PUSH4 0xffffffff
00001835: AND
00001836: JUMP
00001837: JUMPDEST
00001838: PUSH2 0x3965
0000183b: JUMP
0000183c: JUMPDEST
0000183d: PUSH1 0x07
0000183f: PUSH1 0x00
00001841: PUSH2 0x0100
00001844: EXP
00001845: DUP2
00001846: SLOAD
00001847: DUP2
00001848: PUSH8 0xffffffffffffffff
00001851: MUL
00001852: NOT
00001853: AND
00001854: SWAP1
00001855: DUP4
00001856: PUSH8 0xffffffffffffffff
0000185f: AND
00001860: MUL
00001861: OR
00001862: SWAP1
00001863: SSTORE
00001864: POP
00001865: PUSH2 0x1890
00001868: PUSH1 0x07
0000186a: PUSH1 0x00
0000186c: SWAP1
0000186d: SLOAD
0000186e: SWAP1
0000186f: PUSH2 0x0100
00001872: EXP
00001873: SWAP1
00001874: DIV
00001875: PUSH8 0xffffffffffffffff
0000187e: AND
0000187f: DUP4
00001880: PUSH1 0x05
00001882: PUSH2 0x39d0
00001885: SWAP1
00001886: SWAP3
00001887: SWAP2
00001888: SWAP1
00001889: PUSH4 0xffffffff
0000188e: AND
0000188f: JUMP
00001890: JUMPDEST
00001891: PUSH2 0x1902
00001894: JUMPI
00001895: PUSH1 0x40
00001897: MLOAD
00001898: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000018b9: DUP2
000018ba: MSTORE
000018bb: PUSH1 0x04
000018bd: ADD
000018be: DUP1
000018bf: DUP1
000018c0: PUSH1 0x20
000018c2: ADD
000018c3: DUP3
000018c4: DUP2
000018c5: SUB
000018c6: DUP3
000018c7: MSTORE
000018c8: PUSH1 0x17
000018ca: DUP2
000018cb: MSTORE
000018cc: PUSH1 0x20
000018ce: ADD
000018cf: DUP1
000018d0: PUSH32 0x5573657220616c72656164792072656769737465726564000000000000000000
000018f1: DUP2
000018f2: MSTORE
000018f3: POP
000018f4: PUSH1 0x20
000018f6: ADD
000018f7: SWAP2
000018f8: POP
000018f9: POP
000018fa: PUSH1 0x40
000018fc: MLOAD
000018fd: DUP1
000018fe: SWAP2
000018ff: SUB
00001900: SWAP1
00001901: REVERT
00001902: JUMPDEST
00001903: PUSH1 0x07
00001905: PUSH1 0x00
00001907: SWAP1
00001908: SLOAD
00001909: SWAP1
0000190a: PUSH2 0x0100
0000190d: EXP
0000190e: SWAP1
0000190f: DIV
00001910: PUSH8 0xffffffffffffffff
00001919: AND
0000191a: SWAP1
0000191b: POP
0000191c: DUP2
0000191d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001932: AND
00001933: PUSH32 0x6838f67cb358c332087b73dbe769a6c869a5f87225236c16dda5d0013a77074c
00001954: DUP3
00001955: PUSH1 0x40
00001957: MLOAD
00001958: DUP1
00001959: DUP3
0000195a: PUSH8 0xffffffffffffffff
00001963: AND
00001964: DUP2
00001965: MSTORE
00001966: PUSH1 0x20
00001968: ADD
00001969: SWAP2
0000196a: POP
0000196b: POP
0000196c: PUSH1 0x40
0000196e: MLOAD
0000196f: DUP1
00001970: SWAP2
00001971: SUB
00001972: SWAP1
00001973: LOG2
00001974: SWAP2
00001975: SWAP1
00001976: POP
00001977: JUMP
00001978: JUMPDEST
00001979: PUSH1 0x00
0000197b: PUSH2 0x198e
0000197e: DUP3
0000197f: PUSH1 0x05
00001981: PUSH2 0x3cf6
00001984: SWAP1
00001985: SWAP2
00001986: SWAP1
00001987: PUSH4 0xffffffff
0000198c: AND
0000198d: JUMP
0000198e: JUMPDEST
0000198f: ISZERO
00001990: PUSH2 0x19ae
00001993: JUMPI
00001994: PUSH2 0x19a7
00001997: DUP3
00001998: PUSH1 0x05
0000199a: PUSH2 0x3d63
0000199d: SWAP1
0000199e: SWAP2
0000199f: SWAP1
000019a0: PUSH4 0xffffffff
000019a5: AND
000019a6: JUMP
000019a7: JUMPDEST
000019a8: SWAP1
000019a9: POP
000019aa: PUSH2 0x1a08
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH2 0x19b7
000019b2: DUP3
000019b3: PUSH2 0x17fe
000019b6: JUMP
000019b7: JUMPDEST
000019b8: SWAP1
000019b9: POP
000019ba: DUP2
000019bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019d0: AND
000019d1: DUP2
000019d2: PUSH8 0xffffffffffffffff
000019db: AND
000019dc: PUSH32 0x969d438b19b6b5fb3c0d3c6f16867e519fcec4233799d6be29d1c00f2045ba26
000019fd: PUSH1 0x40
000019ff: MLOAD
00001a00: PUSH1 0x40
00001a02: MLOAD
00001a03: DUP1
00001a04: SWAP2
00001a05: SUB
00001a06: SWAP1
00001a07: LOG3
00001a08: JUMPDEST
00001a09: SWAP2
00001a0a: SWAP1
00001a0b: POP
00001a0c: JUMP
00001a0d: JUMPDEST
00001a0e: PUSH1 0x00
00001a10: DUP2
00001a11: PUSH1 0x00
00001a13: PUSH1 0x02
00001a15: PUSH1 0x00
00001a17: DUP4
00001a18: DUP2
00001a19: MSTORE
00001a1a: PUSH1 0x20
00001a1c: ADD
00001a1d: SWAP1
00001a1e: DUP2
00001a1f: MSTORE
00001a20: PUSH1 0x20
00001a22: ADD
00001a23: PUSH1 0x00
00001a25: KECCAK256
00001a26: PUSH1 0x03
00001a28: ADD
00001a29: SLOAD
00001a2a: SWAP1
00001a2b: POP
00001a2c: PUSH1 0x00
00001a2e: DUP2
00001a2f: EQ
00001a30: ISZERO
00001a31: DUP1
00001a32: ISZERO
00001a33: PUSH2 0x1a3c
00001a36: JUMPI
00001a37: POP
00001a38: DUP1
00001a39: TIMESTAMP
00001a3a: LT
00001a3b: ISZERO
00001a3c: JUMPDEST
00001a3d: DUP1
00001a3e: ISZERO
00001a3f: PUSH2 0x1a60
00001a42: JUMPI
00001a43: POP
00001a44: PUSH1 0x00
00001a46: DUP1
00001a47: SHL
00001a48: PUSH1 0x02
00001a4a: PUSH1 0x00
00001a4c: DUP5
00001a4d: DUP2
00001a4e: MSTORE
00001a4f: PUSH1 0x20
00001a51: ADD
00001a52: SWAP1
00001a53: DUP2
00001a54: MSTORE
00001a55: PUSH1 0x20
00001a57: ADD
00001a58: PUSH1 0x00
00001a5a: KECCAK256
00001a5b: PUSH1 0x08
00001a5d: ADD
00001a5e: SLOAD
00001a5f: EQ
00001a60: JUMPDEST
00001a61: PUSH2 0x1ab5
00001a64: JUMPI
00001a65: PUSH1 0x40
00001a67: MLOAD
00001a68: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a89: DUP2
00001a8a: MSTORE
00001a8b: PUSH1 0x04
00001a8d: ADD
00001a8e: DUP1
00001a8f: DUP1
00001a90: PUSH1 0x20
00001a92: ADD
00001a93: DUP3
00001a94: DUP2
00001a95: SUB
00001a96: DUP3
00001a97: MSTORE
00001a98: PUSH1 0x28
00001a9a: DUP2
00001a9b: MSTORE
00001a9c: PUSH1 0x20
00001a9e: ADD
00001a9f: DUP1
00001aa0: PUSH2 0x5a46
00001aa3: PUSH1 0x28
00001aa5: SWAP2
00001aa6: CODECOPY
00001aa7: PUSH1 0x40
00001aa9: ADD
00001aaa: SWAP2
00001aab: POP
00001aac: POP
00001aad: PUSH1 0x40
00001aaf: MLOAD
00001ab0: DUP1
00001ab1: SWAP2
00001ab2: SUB
00001ab3: SWAP1
00001ab4: REVERT
00001ab5: JUMPDEST
00001ab6: POP
00001ab7: PUSH1 0x00
00001ab9: DUP1
00001aba: PUSH1 0x00
00001abc: PUSH2 0x1ada
00001abf: PUSH1 0x02
00001ac1: PUSH1 0x00
00001ac3: DUP9
00001ac4: DUP2
00001ac5: MSTORE
00001ac6: PUSH1 0x20
00001ac8: ADD
00001ac9: SWAP1
00001aca: DUP2
00001acb: MSTORE
00001acc: PUSH1 0x20
00001ace: ADD
00001acf: PUSH1 0x00
00001ad1: KECCAK256
00001ad2: PUSH1 0x04
00001ad4: ADD
00001ad5: SLOAD
00001ad6: PUSH2 0x3e42
00001ad9: JUMP
00001ada: JUMPDEST
00001adb: SWAP3
00001adc: POP
00001add: SWAP3
00001ade: POP
00001adf: SWAP3
00001ae0: POP
00001ae1: PUSH1 0x00
00001ae3: PUSH1 0x02
00001ae5: PUSH1 0x00
00001ae7: DUP9
00001ae8: DUP2
00001ae9: MSTORE
00001aea: PUSH1 0x20
00001aec: ADD
00001aed: SWAP1
00001aee: DUP2
00001aef: MSTORE
00001af0: PUSH1 0x20
00001af2: ADD
00001af3: PUSH1 0x00
00001af5: KECCAK256
00001af6: PUSH1 0x06
00001af8: ADD
00001af9: SLOAD
00001afa: SWAP1
00001afb: POP
00001afc: PUSH1 0x00
00001afe: PUSH1 0x02
00001b00: PUSH1 0x00
00001b02: DUP10
00001b03: DUP2
00001b04: MSTORE
00001b05: PUSH1 0x20
00001b07: ADD
00001b08: SWAP1
00001b09: DUP2
00001b0a: MSTORE
00001b0b: PUSH1 0x20
00001b0d: ADD
00001b0e: PUSH1 0x00
00001b10: KECCAK256
00001b11: PUSH1 0x07
00001b13: ADD
00001b14: SLOAD
00001b15: SWAP1
00001b16: POP
00001b17: PUSH1 0x00
00001b19: DUP1
00001b1a: PUSH1 0x00
00001b1c: DUP6
00001b1d: SWAP1
00001b1e: POP
00001b1f: JUMPDEST
00001b20: PUSH1 0x00
00001b22: PUSH2 0x1b46
00001b25: DUP6
00001b26: PUSH1 0x01
00001b28: PUSH1 0x00
00001b2a: DUP16
00001b2b: DUP2
00001b2c: MSTORE
00001b2d: PUSH1 0x20
00001b2f: ADD
00001b30: SWAP1
00001b31: DUP2
00001b32: MSTORE
00001b33: PUSH1 0x20
00001b35: ADD
00001b36: PUSH1 0x00
00001b38: KECCAK256
00001b39: PUSH2 0x3e68
00001b3c: SWAP1
00001b3d: SWAP2
00001b3e: SWAP1
00001b3f: PUSH4 0xffffffff
00001b44: AND
00001b45: JUMP
00001b46: JUMPDEST
00001b47: SWAP1
00001b48: POP
00001b49: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
00001b6a: PUSH1 0x00
00001b6c: SHL
00001b6d: DUP2
00001b6e: EQ
00001b6f: ISZERO
00001b70: PUSH2 0x1b79
00001b73: JUMPI
00001b74: POP
00001b75: PUSH2 0x1c02
00001b78: JUMP
00001b79: JUMPDEST
00001b7a: DUP1
00001b7b: SWAP5
00001b7c: POP
00001b7d: PUSH2 0x1b85
00001b80: DUP6
00001b81: PUSH2 0x3e42
00001b84: JUMP
00001b85: JUMPDEST
00001b86: SWAP1
00001b87: SWAP2
00001b88: POP
00001b89: DUP2
00001b8a: PUSH12 0xffffffffffffffffffffffff
00001b97: AND
00001b98: SWAP2
00001b99: POP
00001b9a: DUP1
00001b9b: PUSH12 0xffffffffffffffffffffffff
00001ba8: AND
00001ba9: SWAP1
00001baa: POP
00001bab: DUP1
00001bac: SWAP5
00001bad: POP
00001bae: DUP2
00001baf: SWAP6
00001bb0: POP
00001bb1: POP
00001bb2: POP
00001bb3: PUSH2 0x1bc5
00001bb6: DUP4
00001bb7: DUP8
00001bb8: PUSH2 0x363c
00001bbb: SWAP1
00001bbc: SWAP2
00001bbd: SWAP1
00001bbe: PUSH4 0xffffffff
00001bc3: AND
00001bc4: JUMP
00001bc5: JUMPDEST
00001bc6: SWAP6
00001bc7: POP
00001bc8: POP
00001bc9: PUSH2 0x1be9
00001bcc: DUP3
00001bcd: DUP8
00001bce: PUSH12 0xffffffffffffffffffffffff
00001bdb: AND
00001bdc: PUSH2 0x36c4
00001bdf: SWAP1
00001be0: SWAP2
00001be1: SWAP1
00001be2: PUSH4 0xffffffff
00001be7: AND
00001be8: JUMP
00001be9: JUMPDEST
00001bea: PUSH2 0x1bfc
00001bed: DUP5
00001bee: DUP8
00001bef: PUSH2 0x36c4
00001bf2: SWAP1
00001bf3: SWAP2
00001bf4: SWAP1
00001bf5: PUSH4 0xffffffff
00001bfa: AND
00001bfb: JUMP
00001bfc: JUMPDEST
00001bfd: LT
00001bfe: PUSH2 0x1b1f
00001c01: JUMPI
00001c02: JUMPDEST
00001c03: PUSH1 0x00
00001c05: DUP6
00001c06: GT
00001c07: DUP1
00001c08: ISZERO
00001c09: PUSH2 0x1c44
00001c0c: JUMPI
00001c0d: POP
00001c0e: PUSH2 0x1c2e
00001c11: DUP3
00001c12: DUP8
00001c13: PUSH12 0xffffffffffffffffffffffff
00001c20: AND
00001c21: PUSH2 0x36c4
00001c24: SWAP1
00001c25: SWAP2
00001c26: SWAP1
00001c27: PUSH4 0xffffffff
00001c2c: AND
00001c2d: JUMP
00001c2e: JUMPDEST
00001c2f: PUSH2 0x1c41
00001c32: DUP5
00001c33: DUP8
00001c34: PUSH2 0x36c4
00001c37: SWAP1
00001c38: SWAP2
00001c39: SWAP1
00001c3a: PUSH4 0xffffffff
00001c3f: AND
00001c40: JUMP
00001c41: JUMPDEST
00001c42: LT
00001c43: ISZERO
00001c44: JUMPDEST
00001c45: ISZERO
00001c46: PUSH2 0x1d4d
00001c49: JUMPI
00001c4a: PUSH1 0x00
00001c4c: PUSH2 0x1c90
00001c4f: PUSH2 0x1c81
00001c52: DUP6
00001c53: PUSH2 0x1c73
00001c56: DUP7
00001c57: DUP12
00001c58: PUSH12 0xffffffffffffffffffffffff
00001c65: AND
00001c66: PUSH2 0x36c4
00001c69: SWAP1
00001c6a: SWAP2
00001c6b: SWAP1
00001c6c: PUSH4 0xffffffff
00001c71: AND
00001c72: JUMP
00001c73: JUMPDEST
00001c74: PUSH2 0x374a
00001c77: SWAP1
00001c78: SWAP2
00001c79: SWAP1
00001c7a: PUSH4 0xffffffff
00001c7f: AND
00001c80: JUMP
00001c81: JUMPDEST
00001c82: DUP8
00001c83: PUSH2 0x391b
00001c86: SWAP1
00001c87: SWAP2
00001c88: SWAP1
00001c89: PUSH4 0xffffffff
00001c8e: AND
00001c8f: JUMP
00001c90: JUMPDEST
00001c91: SWAP1
00001c92: POP
00001c93: DUP1
00001c94: DUP4
00001c95: LT
00001c96: PUSH2 0x1d1b
00001c99: JUMPI
00001c9a: PUSH1 0x00
00001c9c: PUSH2 0x1cae
00001c9f: DUP3
00001ca0: DUP6
00001ca1: PUSH2 0x391b
00001ca4: SWAP1
00001ca5: SWAP2
00001ca6: SWAP1
00001ca7: PUSH4 0xffffffff
00001cac: AND
00001cad: JUMP
00001cae: JUMPDEST
00001caf: SWAP1
00001cb0: POP
00001cb1: PUSH2 0x1cb9
00001cb4: DUP2
00001cb5: PUSH2 0x3f66
00001cb8: JUMP
00001cb9: JUMPDEST
00001cba: PUSH1 0x02
00001cbc: PUSH1 0x00
00001cbe: DUP16
00001cbf: DUP2
00001cc0: MSTORE
00001cc1: PUSH1 0x20
00001cc3: ADD
00001cc4: SWAP1
00001cc5: DUP2
00001cc6: MSTORE
00001cc7: PUSH1 0x20
00001cc9: ADD
00001cca: PUSH1 0x00
00001ccc: KECCAK256
00001ccd: PUSH1 0x09
00001ccf: ADD
00001cd0: PUSH1 0x00
00001cd2: PUSH2 0x0100
00001cd5: EXP
00001cd6: DUP2
00001cd7: SLOAD
00001cd8: DUP2
00001cd9: PUSH12 0xffffffffffffffffffffffff
00001ce6: MUL
00001ce7: NOT
00001ce8: AND
00001ce9: SWAP1
00001cea: DUP4
00001ceb: PUSH12 0xffffffffffffffffffffffff
00001cf8: AND
00001cf9: MUL
00001cfa: OR
00001cfb: SWAP1
00001cfc: SSTORE
00001cfd: POP
00001cfe: PUSH2 0x1d10
00001d01: DUP3
00001d02: DUP9
00001d03: PUSH2 0x391b
00001d06: SWAP1
00001d07: SWAP2
00001d08: SWAP1
00001d09: PUSH4 0xffffffff
00001d0e: AND
00001d0f: JUMP
00001d10: JUMPDEST
00001d11: SWAP7
00001d12: POP
00001d13: DUP6
00001d14: SWAP12
00001d15: POP
00001d16: POP
00001d17: PUSH2 0x1d47
00001d1a: JUMP
00001d1b: JUMPDEST
00001d1c: PUSH2 0x1d2e
00001d1f: DUP4
00001d20: DUP8
00001d21: PUSH2 0x391b
00001d24: SWAP1
00001d25: SWAP2
00001d26: SWAP1
00001d27: PUSH4 0xffffffff
00001d2c: AND
00001d2d: JUMP
00001d2e: JUMPDEST
00001d2f: SWAP6
00001d30: POP
00001d31: PUSH2 0x1d44
00001d34: PUSH1 0x00
00001d36: DUP9
00001d37: PUSH2 0x1d3f
00001d3a: DUP10
00001d3b: PUSH2 0x3f66
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: PUSH2 0x38da
00001d43: JUMP
00001d44: JUMPDEST
00001d45: SWAP11
00001d46: POP
00001d47: JUMPDEST
00001d48: POP
00001d49: PUSH2 0x1dd9
00001d4c: JUMP
00001d4d: JUMPDEST
00001d4e: DUP7
00001d4f: PUSH12 0xffffffffffffffffffffffff
00001d5c: AND
00001d5d: DUP6
00001d5e: GT
00001d5f: ISZERO
00001d60: PUSH2 0x1d7e
00001d63: JUMPI
00001d64: PUSH2 0x1d77
00001d67: PUSH1 0x00
00001d69: DUP8
00001d6a: PUSH2 0x1d72
00001d6d: DUP9
00001d6e: PUSH2 0x3f66
00001d71: JUMP
00001d72: JUMPDEST
00001d73: PUSH2 0x38da
00001d76: JUMP
00001d77: JUMPDEST
00001d78: SWAP10
00001d79: POP
00001d7a: PUSH2 0x1dd8
00001d7d: JUMP
00001d7e: JUMPDEST
00001d7f: PUSH2 0x1d8a
00001d82: PUSH1 0x00
00001d84: DUP8
00001d85: DUP10
00001d86: PUSH2 0x38da
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: SWAP10
00001d8c: POP
00001d8d: PUSH2 0x1dd5
00001d90: PUSH2 0x1dd0
00001d93: DUP9
00001d94: PUSH12 0xffffffffffffffffffffffff
00001da1: AND
00001da2: PUSH2 0x1dc2
00001da5: DUP10
00001da6: PUSH12 0xffffffffffffffffffffffff
00001db3: AND
00001db4: DUP10
00001db5: PUSH2 0x36c4
00001db8: SWAP1
00001db9: SWAP2
00001dba: SWAP1
00001dbb: PUSH4 0xffffffff
00001dc0: AND
00001dc1: JUMP
00001dc2: JUMPDEST
00001dc3: PUSH2 0x374a
00001dc6: SWAP1
00001dc7: SWAP2
00001dc8: SWAP1
00001dc9: PUSH4 0xffffffff
00001dce: AND
00001dcf: JUMP
00001dd0: JUMPDEST
00001dd1: PUSH2 0x3f66
00001dd4: JUMP
00001dd5: JUMPDEST
00001dd6: SWAP1
00001dd7: POP
00001dd8: JUMPDEST
00001dd9: JUMPDEST
00001dda: DUP10
00001ddb: PUSH1 0x02
00001ddd: PUSH1 0x00
00001ddf: DUP14
00001de0: DUP2
00001de1: MSTORE
00001de2: PUSH1 0x20
00001de4: ADD
00001de5: SWAP1
00001de6: DUP2
00001de7: MSTORE
00001de8: PUSH1 0x20
00001dea: ADD
00001deb: PUSH1 0x00
00001ded: KECCAK256
00001dee: PUSH1 0x08
00001df0: ADD
00001df1: DUP2
00001df2: SWAP1
00001df3: SSTORE
00001df4: POP
00001df5: DUP5
00001df6: PUSH1 0x02
00001df8: PUSH1 0x00
00001dfa: DUP14
00001dfb: DUP2
00001dfc: MSTORE
00001dfd: PUSH1 0x20
00001dff: ADD
00001e00: SWAP1
00001e01: DUP2
00001e02: MSTORE
00001e03: PUSH1 0x20
00001e05: ADD
00001e06: PUSH1 0x00
00001e08: KECCAK256
00001e09: PUSH1 0x0b
00001e0b: ADD
00001e0c: SLOAD
00001e0d: GT
00001e0e: ISZERO
00001e0f: PUSH2 0x1e42
00001e12: JUMPI
00001e13: PUSH1 0x01
00001e15: PUSH1 0x02
00001e17: PUSH1 0x00
00001e19: DUP14
00001e1a: DUP2
00001e1b: MSTORE
00001e1c: PUSH1 0x20
00001e1e: ADD
00001e1f: SWAP1
00001e20: DUP2
00001e21: MSTORE
00001e22: PUSH1 0x20
00001e24: ADD
00001e25: PUSH1 0x00
00001e27: KECCAK256
00001e28: PUSH1 0x09
00001e2a: ADD
00001e2b: PUSH1 0x0c
00001e2d: PUSH2 0x0100
00001e30: EXP
00001e31: DUP2
00001e32: SLOAD
00001e33: DUP2
00001e34: PUSH1 0xff
00001e36: MUL
00001e37: NOT
00001e38: AND
00001e39: SWAP1
00001e3a: DUP4
00001e3b: ISZERO
00001e3c: ISZERO
00001e3d: MUL
00001e3e: OR
00001e3f: SWAP1
00001e40: SSTORE
00001e41: POP
00001e42: JUMPDEST
00001e43: PUSH2 0x1e5c
00001e46: DUP12
00001e47: DUP3
00001e48: PUSH12 0xffffffffffffffffffffffff
00001e55: AND
00001e56: DUP11
00001e57: DUP10
00001e58: PUSH2 0x3fd5
00001e5b: JUMP
00001e5c: JUMPDEST
00001e5d: DUP11
00001e5e: PUSH32 0x4d160a2a345f2faeb9ac2e65272820b8ca5473b80aabef416bdf7e07ee7f5910
00001e7f: DUP3
00001e80: DUP8
00001e81: DUP14
00001e82: PUSH1 0x40
00001e84: MLOAD
00001e85: DUP1
00001e86: DUP5
00001e87: PUSH12 0xffffffffffffffffffffffff
00001e94: AND
00001e95: DUP2
00001e96: MSTORE
00001e97: PUSH1 0x20
00001e99: ADD
00001e9a: DUP4
00001e9b: PUSH12 0xffffffffffffffffffffffff
00001ea8: AND
00001ea9: DUP2
00001eaa: MSTORE
00001eab: PUSH1 0x20
00001ead: ADD
00001eae: DUP3
00001eaf: DUP2
00001eb0: MSTORE
00001eb1: PUSH1 0x20
00001eb3: ADD
00001eb4: SWAP4
00001eb5: POP
00001eb6: POP
00001eb7: POP
00001eb8: POP
00001eb9: PUSH1 0x40
00001ebb: MLOAD
00001ebc: DUP1
00001ebd: SWAP2
00001ebe: SUB
00001ebf: SWAP1
00001ec0: LOG2
00001ec1: PUSH1 0x00
00001ec3: PUSH1 0x03
00001ec5: PUSH1 0x00
00001ec7: DUP14
00001ec8: DUP2
00001ec9: MSTORE
00001eca: PUSH1 0x20
00001ecc: ADD
00001ecd: SWAP1
00001ece: DUP2
00001ecf: MSTORE
00001ed0: PUSH1 0x20
00001ed2: ADD
00001ed3: PUSH1 0x00
00001ed5: KECCAK256
00001ed6: PUSH1 0x00
00001ed8: PUSH2 0x0100
00001edb: EXP
00001edc: DUP2
00001edd: SLOAD
00001ede: DUP2
00001edf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef4: MUL
00001ef5: NOT
00001ef6: AND
00001ef7: SWAP1
00001ef8: DUP4
00001ef9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f0e: AND
00001f0f: MUL
00001f10: OR
00001f11: SWAP1
00001f12: SSTORE
00001f13: POP
00001f14: PUSH1 0x04
00001f16: PUSH1 0x00
00001f18: DUP13
00001f19: DUP2
00001f1a: MSTORE
00001f1b: PUSH1 0x20
00001f1d: ADD
00001f1e: SWAP1
00001f1f: DUP2
00001f20: MSTORE
00001f21: PUSH1 0x20
00001f23: ADD
00001f24: PUSH1 0x00
00001f26: KECCAK256
00001f27: PUSH1 0x00
00001f29: PUSH2 0x1f32
00001f2c: SWAP2
00001f2d: SWAP1
00001f2e: PUSH2 0x565c
00001f31: JUMP
00001f32: JUMPDEST
00001f33: PUSH1 0x00
00001f35: DUP1
00001f36: SHL
00001f37: PUSH1 0x02
00001f39: PUSH1 0x00
00001f3b: DUP14
00001f3c: DUP2
00001f3d: MSTORE
00001f3e: PUSH1 0x20
00001f40: ADD
00001f41: SWAP1
00001f42: DUP2
00001f43: MSTORE
00001f44: PUSH1 0x20
00001f46: ADD
00001f47: PUSH1 0x00
00001f49: KECCAK256
00001f4a: PUSH1 0x04
00001f4c: ADD
00001f4d: DUP2
00001f4e: SWAP1
00001f4f: SSTORE
00001f50: POP
00001f51: PUSH1 0x00
00001f53: DUP1
00001f54: SHL
00001f55: PUSH1 0x02
00001f57: PUSH1 0x00
00001f59: DUP14
00001f5a: DUP2
00001f5b: MSTORE
00001f5c: PUSH1 0x20
00001f5e: ADD
00001f5f: SWAP1
00001f60: DUP2
00001f61: MSTORE
00001f62: PUSH1 0x20
00001f64: ADD
00001f65: PUSH1 0x00
00001f67: KECCAK256
00001f68: PUSH1 0x07
00001f6a: ADD
00001f6b: DUP2
00001f6c: SWAP1
00001f6d: SSTORE
00001f6e: POP
00001f6f: PUSH1 0x00
00001f71: PUSH1 0x02
00001f73: PUSH1 0x00
00001f75: DUP14
00001f76: DUP2
00001f77: MSTORE
00001f78: PUSH1 0x20
00001f7a: ADD
00001f7b: SWAP1
00001f7c: DUP2
00001f7d: MSTORE
00001f7e: PUSH1 0x20
00001f80: ADD
00001f81: PUSH1 0x00
00001f83: KECCAK256
00001f84: PUSH1 0x06
00001f86: ADD
00001f87: DUP2
00001f88: SWAP1
00001f89: SSTORE
00001f8a: POP
00001f8b: PUSH1 0x00
00001f8d: PUSH1 0x02
00001f8f: PUSH1 0x00
00001f91: DUP14
00001f92: DUP2
00001f93: MSTORE
00001f94: PUSH1 0x20
00001f96: ADD
00001f97: SWAP1
00001f98: DUP2
00001f99: MSTORE
00001f9a: PUSH1 0x20
00001f9c: ADD
00001f9d: PUSH1 0x00
00001f9f: KECCAK256
00001fa0: PUSH1 0x05
00001fa2: ADD
00001fa3: DUP2
00001fa4: SWAP1
00001fa5: SSTORE
00001fa6: POP
00001fa7: POP
00001fa8: POP
00001fa9: POP
00001faa: POP
00001fab: POP
00001fac: POP
00001fad: POP
00001fae: POP
00001faf: POP
00001fb0: SWAP2
00001fb1: SWAP1
00001fb2: POP
00001fb3: JUMP
00001fb4: JUMPDEST
00001fb5: DUP2
00001fb6: PUSH1 0x00
00001fb8: PUSH1 0x02
00001fba: PUSH1 0x00
00001fbc: DUP4
00001fbd: DUP2
00001fbe: MSTORE
00001fbf: PUSH1 0x20
00001fc1: ADD
00001fc2: SWAP1
00001fc3: DUP2
00001fc4: MSTORE
00001fc5: PUSH1 0x20
00001fc7: ADD
00001fc8: PUSH1 0x00
00001fca: KECCAK256
00001fcb: PUSH1 0x03
00001fcd: ADD
00001fce: SLOAD
00001fcf: SWAP1
00001fd0: POP
00001fd1: PUSH1 0x00
00001fd3: DUP2
00001fd4: EQ
00001fd5: ISZERO
00001fd6: DUP1
00001fd7: ISZERO
00001fd8: PUSH2 0x1fe1
00001fdb: JUMPI
00001fdc: POP
00001fdd: DUP1
00001fde: TIMESTAMP
00001fdf: LT
00001fe0: ISZERO
00001fe1: JUMPDEST
00001fe2: DUP1
00001fe3: ISZERO
00001fe4: PUSH2 0x2005
00001fe7: JUMPI
00001fe8: POP
00001fe9: PUSH1 0x00
00001feb: DUP1
00001fec: SHL
00001fed: PUSH1 0x02
00001fef: PUSH1 0x00
00001ff1: DUP5
00001ff2: DUP2
00001ff3: MSTORE
00001ff4: PUSH1 0x20
00001ff6: ADD
00001ff7: SWAP1
00001ff8: DUP2
00001ff9: MSTORE
00001ffa: PUSH1 0x20
00001ffc: ADD
00001ffd: PUSH1 0x00
00001fff: KECCAK256
00002000: PUSH1 0x08
00002002: ADD
00002003: SLOAD
00002004: EQ
00002005: JUMPDEST
00002006: PUSH2 0x205a
00002009: JUMPI
0000200a: PUSH1 0x40
0000200c: MLOAD
0000200d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000202e: DUP2
0000202f: MSTORE
00002030: PUSH1 0x04
00002032: ADD
00002033: DUP1
00002034: DUP1
00002035: PUSH1 0x20
00002037: ADD
00002038: DUP3
00002039: DUP2
0000203a: SUB
0000203b: DUP3
0000203c: MSTORE
0000203d: PUSH1 0x28
0000203f: DUP2
00002040: MSTORE
00002041: PUSH1 0x20
00002043: ADD
00002044: DUP1
00002045: PUSH2 0x5a46
00002048: PUSH1 0x28
0000204a: SWAP2
0000204b: CODECOPY
0000204c: PUSH1 0x40
0000204e: ADD
0000204f: SWAP2
00002050: POP
00002051: POP
00002052: PUSH1 0x40
00002054: MLOAD
00002055: DUP1
00002056: SWAP2
00002057: SUB
00002058: SWAP1
00002059: REVERT
0000205a: JUMPDEST
0000205b: POP
0000205c: PUSH1 0x00
0000205e: PUSH2 0x207c
00002061: PUSH1 0x02
00002063: PUSH1 0x00
00002065: DUP7
00002066: DUP2
00002067: MSTORE
00002068: PUSH1 0x20
0000206a: ADD
0000206b: SWAP1
0000206c: DUP2
0000206d: MSTORE
0000206e: PUSH1 0x20
00002070: ADD
00002071: PUSH1 0x00
00002073: KECCAK256
00002074: PUSH1 0x04
00002076: ADD
00002077: SLOAD
00002078: PUSH2 0x3e42
0000207b: JUMP
0000207c: JUMPDEST
0000207d: SWAP3
0000207e: POP
0000207f: POP
00002080: POP
00002081: PUSH1 0x00
00002083: PUSH1 0x02
00002085: PUSH1 0x00
00002087: DUP7
00002088: DUP2
00002089: MSTORE
0000208a: PUSH1 0x20
0000208c: ADD
0000208d: SWAP1
0000208e: DUP2
0000208f: MSTORE
00002090: PUSH1 0x20
00002092: ADD
00002093: PUSH1 0x00
00002095: KECCAK256
00002096: PUSH1 0x06
00002098: ADD
00002099: SLOAD
0000209a: SWAP1
0000209b: POP
0000209c: PUSH1 0x00
0000209e: PUSH1 0x02
000020a0: PUSH1 0x00
000020a2: DUP8
000020a3: DUP2
000020a4: MSTORE
000020a5: PUSH1 0x20
000020a7: ADD
000020a8: SWAP1
000020a9: DUP2
000020aa: MSTORE
000020ab: PUSH1 0x20
000020ad: ADD
000020ae: PUSH1 0x00
000020b0: KECCAK256
000020b1: PUSH1 0x07
000020b3: ADD
000020b4: SLOAD
000020b5: SWAP1
000020b6: POP
000020b7: PUSH1 0x00
000020b9: JUMPDEST
000020ba: DUP6
000020bb: DUP2
000020bc: LT
000020bd: ISZERO
000020be: PUSH2 0x2128
000020c1: JUMPI
000020c2: PUSH2 0x20e6
000020c5: DUP3
000020c6: PUSH1 0x01
000020c8: PUSH1 0x00
000020ca: DUP11
000020cb: DUP2
000020cc: MSTORE
000020cd: PUSH1 0x20
000020cf: ADD
000020d0: SWAP1
000020d1: DUP2
000020d2: MSTORE
000020d3: PUSH1 0x20
000020d5: ADD
000020d6: PUSH1 0x00
000020d8: KECCAK256
000020d9: PUSH2 0x3e68
000020dc: SWAP1
000020dd: SWAP2
000020de: SWAP1
000020df: PUSH4 0xffffffff
000020e4: AND
000020e5: JUMP
000020e6: JUMPDEST
000020e7: SWAP2
000020e8: POP
000020e9: PUSH1 0x00
000020eb: PUSH2 0x20f3
000020ee: DUP4
000020ef: PUSH2 0x3e42
000020f2: JUMP
000020f3: JUMPDEST
000020f4: SWAP3
000020f5: POP
000020f6: POP
000020f7: POP
000020f8: PUSH2 0x2118
000020fb: DUP2
000020fc: PUSH12 0xffffffffffffffffffffffff
00002109: AND
0000210a: DUP6
0000210b: PUSH2 0x363c
0000210e: SWAP1
0000210f: SWAP2
00002110: SWAP1
00002111: PUSH4 0xffffffff
00002116: AND
00002117: JUMP
00002118: JUMPDEST
00002119: SWAP4
0000211a: POP
0000211b: POP
0000211c: DUP1
0000211d: DUP1
0000211e: PUSH1 0x01
00002120: ADD
00002121: SWAP2
00002122: POP
00002123: POP
00002124: PUSH2 0x20b9
00002127: JUMP
00002128: JUMPDEST
00002129: POP
0000212a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
0000214b: PUSH1 0x00
0000214d: SHL
0000214e: DUP2
0000214f: EQ
00002150: ISZERO
00002151: PUSH2 0x21c2
00002154: JUMPI
00002155: PUSH1 0x40
00002157: MLOAD
00002158: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002179: DUP2
0000217a: MSTORE
0000217b: PUSH1 0x04
0000217d: ADD
0000217e: DUP1
0000217f: DUP1
00002180: PUSH1 0x20
00002182: ADD
00002183: DUP3
00002184: DUP2
00002185: SUB
00002186: DUP3
00002187: MSTORE
00002188: PUSH1 0x19
0000218a: DUP2
0000218b: MSTORE
0000218c: PUSH1 0x20
0000218e: ADD
0000218f: DUP1
00002190: PUSH32 0x7265616368656420656e64206f66206f72646572206c69737400000000000000
000021b1: DUP2
000021b2: MSTORE
000021b3: POP
000021b4: PUSH1 0x20
000021b6: ADD
000021b7: SWAP2
000021b8: POP
000021b9: POP
000021ba: PUSH1 0x40
000021bc: MLOAD
000021bd: DUP1
000021be: SWAP2
000021bf: SUB
000021c0: SWAP1
000021c1: REVERT
000021c2: JUMPDEST
000021c3: PUSH1 0x00
000021c5: DUP1
000021c6: PUSH2 0x21ce
000021c9: DUP4
000021ca: PUSH2 0x3e42
000021cd: JUMP
000021ce: JUMPDEST
000021cf: SWAP3
000021d0: POP
000021d1: SWAP3
000021d2: POP
000021d3: POP
000021d4: PUSH2 0x2202
000021d7: DUP2
000021d8: PUSH12 0xffffffffffffffffffffffff
000021e5: AND
000021e6: DUP7
000021e7: PUSH12 0xffffffffffffffffffffffff
000021f4: AND
000021f5: PUSH2 0x36c4
000021f8: SWAP1
000021f9: SWAP2
000021fa: SWAP1
000021fb: PUSH4 0xffffffff
00002200: AND
00002201: JUMP
00002202: JUMPDEST
00002203: PUSH2 0x2223
00002206: DUP4
00002207: PUSH12 0xffffffffffffffffffffffff
00002214: AND
00002215: DUP7
00002216: PUSH2 0x36c4
00002219: SWAP1
0000221a: SWAP2
0000221b: SWAP1
0000221c: PUSH4 0xffffffff
00002221: AND
00002222: JUMP
00002223: JUMPDEST
00002224: LT
00002225: PUSH2 0x2296
00002228: JUMPI
00002229: PUSH1 0x40
0000222b: MLOAD
0000222c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000224d: DUP2
0000224e: MSTORE
0000224f: PUSH1 0x04
00002251: ADD
00002252: DUP1
00002253: DUP1
00002254: PUSH1 0x20
00002256: ADD
00002257: DUP3
00002258: DUP2
00002259: SUB
0000225a: DUP3
0000225b: MSTORE
0000225c: PUSH1 0x19
0000225e: DUP2
0000225f: MSTORE
00002260: PUSH1 0x20
00002262: ADD
00002263: DUP1
00002264: PUSH32 0x746f6f206d616e79206f72646572732073756d6d656420757000000000000000
00002285: DUP2
00002286: MSTORE
00002287: POP
00002288: PUSH1 0x20
0000228a: ADD
0000228b: SWAP2
0000228c: POP
0000228d: POP
0000228e: PUSH1 0x40
00002290: MLOAD
00002291: DUP1
00002292: SWAP2
00002293: SUB
00002294: SWAP1
00002295: REVERT
00002296: JUMPDEST
00002297: DUP4
00002298: PUSH1 0x02
0000229a: PUSH1 0x00
0000229c: DUP11
0000229d: DUP2
0000229e: MSTORE
0000229f: PUSH1 0x20
000022a1: ADD
000022a2: SWAP1
000022a3: DUP2
000022a4: MSTORE
000022a5: PUSH1 0x20
000022a7: ADD
000022a8: PUSH1 0x00
000022aa: KECCAK256
000022ab: PUSH1 0x06
000022ad: ADD
000022ae: DUP2
000022af: SWAP1
000022b0: SSTORE
000022b1: POP
000022b2: DUP3
000022b3: PUSH1 0x02
000022b5: PUSH1 0x00
000022b7: DUP11
000022b8: DUP2
000022b9: MSTORE
000022ba: PUSH1 0x20
000022bc: ADD
000022bd: SWAP1
000022be: DUP2
000022bf: MSTORE
000022c0: PUSH1 0x20
000022c2: ADD
000022c3: PUSH1 0x00
000022c5: KECCAK256
000022c6: PUSH1 0x07
000022c8: ADD
000022c9: DUP2
000022ca: SWAP1
000022cb: SSTORE
000022cc: POP
000022cd: POP
000022ce: POP
000022cf: POP
000022d0: POP
000022d1: POP
000022d2: POP
000022d3: POP
000022d4: POP
000022d5: JUMP
000022d6: JUMPDEST
000022d7: PUSH2 0x22de
000022da: PUSH2 0x41c7
000022dd: JUMP
000022de: JUMPDEST
000022df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022f4: AND
000022f5: PUSH1 0x00
000022f7: DUP1
000022f8: SLOAD
000022f9: SWAP1
000022fa: PUSH2 0x0100
000022fd: EXP
000022fe: SWAP1
000022ff: DIV
00002300: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002315: AND
00002316: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000232b: AND
0000232c: EQ
0000232d: PUSH2 0x239e
00002330: JUMPI
00002331: PUSH1 0x40
00002333: MLOAD
00002334: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002355: DUP2
00002356: MSTORE
00002357: PUSH1 0x04
00002359: ADD
0000235a: DUP1
0000235b: DUP1
0000235c: PUSH1 0x20
0000235e: ADD
0000235f: DUP3
00002360: DUP2
00002361: SUB
00002362: DUP3
00002363: MSTORE
00002364: PUSH1 0x20
00002366: DUP2
00002367: MSTORE
00002368: PUSH1 0x20
0000236a: ADD
0000236b: DUP1
0000236c: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000238d: DUP2
0000238e: MSTORE
0000238f: POP
00002390: PUSH1 0x20
00002392: ADD
00002393: SWAP2
00002394: POP
00002395: POP
00002396: PUSH1 0x40
00002398: MLOAD
00002399: DUP1
0000239a: SWAP2
0000239b: SUB
0000239c: SWAP1
0000239d: REVERT
0000239e: JUMPDEST
0000239f: PUSH1 0x0f
000023a1: DUP3
000023a2: GT
000023a3: ISZERO
000023a4: PUSH2 0x23f8
000023a7: JUMPI
000023a8: PUSH1 0x40
000023aa: MLOAD
000023ab: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023cc: DUP2
000023cd: MSTORE
000023ce: PUSH1 0x04
000023d0: ADD
000023d1: DUP1
000023d2: DUP1
000023d3: PUSH1 0x20
000023d5: ADD
000023d6: DUP3
000023d7: DUP2
000023d8: SUB
000023d9: DUP3
000023da: MSTORE
000023db: PUSH1 0x2d
000023dd: DUP2
000023de: MSTORE
000023df: PUSH1 0x20
000023e1: ADD
000023e2: DUP1
000023e3: PUSH2 0x5902
000023e6: PUSH1 0x2d
000023e8: SWAP2
000023e9: CODECOPY
000023ea: PUSH1 0x40
000023ec: ADD
000023ed: SWAP2
000023ee: POP
000023ef: POP
000023f0: PUSH1 0x40
000023f2: MLOAD
000023f3: DUP1
000023f4: SWAP2
000023f5: SUB
000023f6: SWAP1
000023f7: REVERT
000023f8: JUMPDEST
000023f9: PUSH2 0x2401
000023fc: DUP2
000023fd: PUSH2 0x1978
00002400: JUMP
00002401: JUMPDEST
00002402: PUSH1 0x0a
00002404: PUSH1 0x00
00002406: PUSH2 0x0100
00002409: EXP
0000240a: DUP2
0000240b: SLOAD
0000240c: DUP2
0000240d: PUSH8 0xffffffffffffffff
00002416: MUL
00002417: NOT
00002418: AND
00002419: SWAP1
0000241a: DUP4
0000241b: PUSH8 0xffffffffffffffff
00002424: AND
00002425: MUL
00002426: OR
00002427: SWAP1
00002428: SSTORE
00002429: POP
0000242a: DUP2
0000242b: PUSH1 0x09
0000242d: DUP2
0000242e: SWAP1
0000242f: SSTORE
00002430: POP
00002431: POP
00002432: POP
00002433: JUMP
00002434: JUMPDEST
00002435: PUSH1 0x02
00002437: PUSH1 0x20
00002439: MSTORE
0000243a: DUP1
0000243b: PUSH1 0x00
0000243d: MSTORE
0000243e: PUSH1 0x40
00002440: PUSH1 0x00
00002442: KECCAK256
00002443: PUSH1 0x00
00002445: SWAP2
00002446: POP
00002447: SWAP1
00002448: POP
00002449: DUP1
0000244a: PUSH1 0x00
0000244c: ADD
0000244d: PUSH1 0x00
0000244f: SWAP1
00002450: SLOAD
00002451: SWAP1
00002452: PUSH2 0x0100
00002455: EXP
00002456: SWAP1
00002457: DIV
00002458: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000246d: AND
0000246e: SWAP1
0000246f: DUP1
00002470: PUSH1 0x01
00002472: ADD
00002473: PUSH1 0x00
00002475: SWAP1
00002476: SLOAD
00002477: SWAP1
00002478: PUSH2 0x0100
0000247b: EXP
0000247c: SWAP1
0000247d: DIV
0000247e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002493: AND
00002494: SWAP1
00002495: DUP1
00002496: PUSH1 0x02
00002498: ADD
00002499: SLOAD
0000249a: SWAP1
0000249b: DUP1
0000249c: PUSH1 0x03
0000249e: ADD
0000249f: SLOAD
000024a0: SWAP1
000024a1: DUP1
000024a2: PUSH1 0x04
000024a4: ADD
000024a5: SLOAD
000024a6: SWAP1
000024a7: DUP1
000024a8: PUSH1 0x05
000024aa: ADD
000024ab: SLOAD
000024ac: SWAP1
000024ad: DUP1
000024ae: PUSH1 0x06
000024b0: ADD
000024b1: SLOAD
000024b2: SWAP1
000024b3: DUP1
000024b4: PUSH1 0x07
000024b6: ADD
000024b7: SLOAD
000024b8: SWAP1
000024b9: DUP1
000024ba: PUSH1 0x08
000024bc: ADD
000024bd: SLOAD
000024be: SWAP1
000024bf: DUP1
000024c0: PUSH1 0x09
000024c2: ADD
000024c3: PUSH1 0x00
000024c5: SWAP1
000024c6: SLOAD
000024c7: SWAP1
000024c8: PUSH2 0x0100
000024cb: EXP
000024cc: SWAP1
000024cd: DIV
000024ce: PUSH12 0xffffffffffffffffffffffff
000024db: AND
000024dc: SWAP1
000024dd: DUP1
000024de: PUSH1 0x09
000024e0: ADD
000024e1: PUSH1 0x0c
000024e3: SWAP1
000024e4: SLOAD
000024e5: SWAP1
000024e6: PUSH2 0x0100
000024e9: EXP
000024ea: SWAP1
000024eb: DIV
000024ec: PUSH1 0xff
000024ee: AND
000024ef: SWAP1
000024f0: DUP1
000024f1: PUSH1 0x09
000024f3: ADD
000024f4: PUSH1 0x0d
000024f6: SWAP1
000024f7: SLOAD
000024f8: SWAP1
000024f9: PUSH2 0x0100
000024fc: EXP
000024fd: SWAP1
000024fe: DIV
000024ff: PUSH1 0xff
00002501: AND
00002502: SWAP1
00002503: DUP1
00002504: PUSH1 0x0a
00002506: ADD
00002507: SLOAD
00002508: SWAP1
00002509: DUP1
0000250a: PUSH1 0x0b
0000250c: ADD
0000250d: SLOAD
0000250e: SWAP1
0000250f: POP
00002510: DUP15
00002511: JUMP
00002512: JUMPDEST
00002513: PUSH1 0x0a
00002515: PUSH1 0x00
00002517: SWAP1
00002518: SLOAD
00002519: SWAP1
0000251a: PUSH2 0x0100
0000251d: EXP
0000251e: SWAP1
0000251f: DIV
00002520: PUSH8 0xffffffffffffffff
00002529: AND
0000252a: DUP2
0000252b: JUMP
0000252c: JUMPDEST
0000252d: PUSH1 0x00
0000252f: PUSH2 0x2553
00002532: DUP3
00002533: PUSH1 0x01
00002535: PUSH1 0x00
00002537: DUP7
00002538: DUP2
00002539: MSTORE
0000253a: PUSH1 0x20
0000253c: ADD
0000253d: SWAP1
0000253e: DUP2
0000253f: MSTORE
00002540: PUSH1 0x20
00002542: ADD
00002543: PUSH1 0x00
00002545: KECCAK256
00002546: PUSH2 0x41cf
00002549: SWAP1
0000254a: SWAP2
0000254b: SWAP1
0000254c: PUSH4 0xffffffff
00002551: AND
00002552: JUMP
00002553: JUMPDEST
00002554: SWAP1
00002555: POP
00002556: SWAP3
00002557: SWAP2
00002558: POP
00002559: POP
0000255a: JUMP
0000255b: JUMPDEST
0000255c: PUSH2 0x2563
0000255f: PUSH2 0x41c7
00002562: JUMP
00002563: JUMPDEST
00002564: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002579: AND
0000257a: PUSH1 0x00
0000257c: DUP1
0000257d: SLOAD
0000257e: SWAP1
0000257f: PUSH2 0x0100
00002582: EXP
00002583: SWAP1
00002584: DIV
00002585: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000259a: AND
0000259b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025b0: AND
000025b1: EQ
000025b2: PUSH2 0x2623
000025b5: JUMPI
000025b6: PUSH1 0x40
000025b8: MLOAD
000025b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025da: DUP2
000025db: MSTORE
000025dc: PUSH1 0x04
000025de: ADD
000025df: DUP1
000025e0: DUP1
000025e1: PUSH1 0x20
000025e3: ADD
000025e4: DUP3
000025e5: DUP2
000025e6: SUB
000025e7: DUP3
000025e8: MSTORE
000025e9: PUSH1 0x20
000025eb: DUP2
000025ec: MSTORE
000025ed: PUSH1 0x20
000025ef: ADD
000025f0: DUP1
000025f1: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002612: DUP2
00002613: MSTORE
00002614: POP
00002615: PUSH1 0x20
00002617: ADD
00002618: SWAP2
00002619: POP
0000261a: POP
0000261b: PUSH1 0x40
0000261d: MLOAD
0000261e: DUP1
0000261f: SWAP2
00002620: SUB
00002621: SWAP1
00002622: REVERT
00002623: JUMPDEST
00002624: PUSH1 0x00
00002626: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000263b: AND
0000263c: PUSH1 0x00
0000263e: DUP1
0000263f: SLOAD
00002640: SWAP1
00002641: PUSH2 0x0100
00002644: EXP
00002645: SWAP1
00002646: DIV
00002647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000265c: AND
0000265d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002672: AND
00002673: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002694: PUSH1 0x40
00002696: MLOAD
00002697: PUSH1 0x40
00002699: MLOAD
0000269a: DUP1
0000269b: SWAP2
0000269c: SUB
0000269d: SWAP1
0000269e: LOG3
0000269f: PUSH1 0x00
000026a1: DUP1
000026a2: PUSH1 0x00
000026a4: PUSH2 0x0100
000026a7: EXP
000026a8: DUP2
000026a9: SLOAD
000026aa: DUP2
000026ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026c0: MUL
000026c1: NOT
000026c2: AND
000026c3: SWAP1
000026c4: DUP4
000026c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026da: AND
000026db: MUL
000026dc: OR
000026dd: SWAP1
000026de: SSTORE
000026df: POP
000026e0: JUMP
000026e1: JUMPDEST
000026e2: PUSH1 0x00
000026e4: DUP1
000026e5: DUP4
000026e6: PUSH1 0x00
000026e8: DUP1
000026e9: SHL
000026ea: PUSH1 0x02
000026ec: PUSH1 0x00
000026ee: DUP4
000026ef: DUP2
000026f0: MSTORE
000026f1: PUSH1 0x20
000026f3: ADD
000026f4: SWAP1
000026f5: DUP2
000026f6: MSTORE
000026f7: PUSH1 0x20
000026f9: ADD
000026fa: PUSH1 0x00
000026fc: KECCAK256
000026fd: PUSH1 0x08
000026ff: ADD
00002700: SLOAD
00002701: EQ
00002702: ISZERO
00002703: PUSH2 0x2774
00002706: JUMPI
00002707: PUSH1 0x40
00002709: MLOAD
0000270a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000272b: DUP2
0000272c: MSTORE
0000272d: PUSH1 0x04
0000272f: ADD
00002730: DUP1
00002731: DUP1
00002732: PUSH1 0x20
00002734: ADD
00002735: DUP3
00002736: DUP2
00002737: SUB
00002738: DUP3
00002739: MSTORE
0000273a: PUSH1 0x18
0000273c: DUP2
0000273d: MSTORE
0000273e: PUSH1 0x20
00002740: ADD
00002741: DUP1
00002742: PUSH32 0x41756374696f6e206e6f74207965742066696e69736865640000000000000000
00002763: DUP2
00002764: MSTORE
00002765: POP
00002766: PUSH1 0x20
00002768: ADD
00002769: SWAP2
0000276a: POP
0000276b: POP
0000276c: PUSH1 0x40
0000276e: MLOAD
0000276f: DUP1
00002770: SWAP2
00002771: SUB
00002772: SWAP1
00002773: REVERT
00002774: JUMPDEST
00002775: PUSH1 0x00
00002777: JUMPDEST
00002778: DUP5
00002779: MLOAD
0000277a: DUP2
0000277b: LT
0000277c: ISZERO
0000277d: PUSH2 0x2837
00002780: JUMPI
00002781: PUSH2 0x27b8
00002784: DUP6
00002785: DUP3
00002786: DUP2
00002787: MLOAD
00002788: DUP2
00002789: LT
0000278a: PUSH2 0x278f
0000278d: JUMPI
0000278e: INVALID
0000278f: JUMPDEST
00002790: PUSH1 0x20
00002792: MUL
00002793: PUSH1 0x20
00002795: ADD
00002796: ADD
00002797: MLOAD
00002798: PUSH1 0x01
0000279a: PUSH1 0x00
0000279c: DUP10
0000279d: DUP2
0000279e: MSTORE
0000279f: PUSH1 0x20
000027a1: ADD
000027a2: SWAP1
000027a3: DUP2
000027a4: MSTORE
000027a5: PUSH1 0x20
000027a7: ADD
000027a8: PUSH1 0x00
000027aa: KECCAK256
000027ab: PUSH2 0x420b
000027ae: SWAP1
000027af: SWAP2
000027b0: SWAP1
000027b1: PUSH4 0xffffffff
000027b6: AND
000027b7: JUMP
000027b8: JUMPDEST
000027b9: PUSH2 0x282a
000027bc: JUMPI
000027bd: PUSH1 0x40
000027bf: MLOAD
000027c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000027e1: DUP2
000027e2: MSTORE
000027e3: PUSH1 0x04
000027e5: ADD
000027e6: DUP1
000027e7: DUP1
000027e8: PUSH1 0x20
000027ea: ADD
000027eb: DUP3
000027ec: DUP2
000027ed: SUB
000027ee: DUP3
000027ef: MSTORE
000027f0: PUSH1 0x1c
000027f2: DUP2
000027f3: MSTORE
000027f4: PUSH1 0x20
000027f6: ADD
000027f7: DUP1
000027f8: PUSH32 0x6f72646572206973206e6f206c6f6e67657220636c61696d61626c6500000000
00002819: DUP2
0000281a: MSTORE
0000281b: POP
0000281c: PUSH1 0x20
0000281e: ADD
0000281f: SWAP2
00002820: POP
00002821: POP
00002822: PUSH1 0x40
00002824: MLOAD
00002825: DUP1
00002826: SWAP2
00002827: SUB
00002828: SWAP1
00002829: REVERT
0000282a: JUMPDEST
0000282b: DUP1
0000282c: DUP1
0000282d: PUSH1 0x01
0000282f: ADD
00002830: SWAP2
00002831: POP
00002832: POP
00002833: PUSH2 0x2777
00002836: JUMP
00002837: JUMPDEST
00002838: POP
00002839: PUSH2 0x2840
0000283c: PUSH2 0x56a4
0000283f: JUMP
00002840: JUMPDEST
00002841: PUSH1 0x02
00002843: PUSH1 0x00
00002845: DUP8
00002846: DUP2
00002847: MSTORE
00002848: PUSH1 0x20
0000284a: ADD
0000284b: SWAP1
0000284c: DUP2
0000284d: MSTORE
0000284e: PUSH1 0x20
00002850: ADD
00002851: PUSH1 0x00
00002853: KECCAK256
00002854: PUSH1 0x40
00002856: MLOAD
00002857: DUP1
00002858: PUSH2 0x01c0
0000285b: ADD
0000285c: PUSH1 0x40
0000285e: MSTORE
0000285f: SWAP1
00002860: DUP2
00002861: PUSH1 0x00
00002863: DUP3
00002864: ADD
00002865: PUSH1 0x00
00002867: SWAP1
00002868: SLOAD
00002869: SWAP1
0000286a: PUSH2 0x0100
0000286d: EXP
0000286e: SWAP1
0000286f: DIV
00002870: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002885: AND
00002886: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000289b: AND
0000289c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028b1: AND
000028b2: DUP2
000028b3: MSTORE
000028b4: PUSH1 0x20
000028b6: ADD
000028b7: PUSH1 0x01
000028b9: DUP3
000028ba: ADD
000028bb: PUSH1 0x00
000028bd: SWAP1
000028be: SLOAD
000028bf: SWAP1
000028c0: PUSH2 0x0100
000028c3: EXP
000028c4: SWAP1
000028c5: DIV
000028c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028db: AND
000028dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028f1: AND
000028f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002907: AND
00002908: DUP2
00002909: MSTORE
0000290a: PUSH1 0x20
0000290c: ADD
0000290d: PUSH1 0x02
0000290f: DUP3
00002910: ADD
00002911: SLOAD
00002912: DUP2
00002913: MSTORE
00002914: PUSH1 0x20
00002916: ADD
00002917: PUSH1 0x03
00002919: DUP3
0000291a: ADD
0000291b: SLOAD
0000291c: DUP2
0000291d: MSTORE
0000291e: PUSH1 0x20
00002920: ADD
00002921: PUSH1 0x04
00002923: DUP3
00002924: ADD
00002925: SLOAD
00002926: DUP2
00002927: MSTORE
00002928: PUSH1 0x20
0000292a: ADD
0000292b: PUSH1 0x05
0000292d: DUP3
0000292e: ADD
0000292f: SLOAD
00002930: DUP2
00002931: MSTORE
00002932: PUSH1 0x20
00002934: ADD
00002935: PUSH1 0x06
00002937: DUP3
00002938: ADD
00002939: SLOAD
0000293a: DUP2
0000293b: MSTORE
0000293c: PUSH1 0x20
0000293e: ADD
0000293f: PUSH1 0x07
00002941: DUP3
00002942: ADD
00002943: SLOAD
00002944: DUP2
00002945: MSTORE
00002946: PUSH1 0x20
00002948: ADD
00002949: PUSH1 0x08
0000294b: DUP3
0000294c: ADD
0000294d: SLOAD
0000294e: DUP2
0000294f: MSTORE
00002950: PUSH1 0x20
00002952: ADD
00002953: PUSH1 0x09
00002955: DUP3
00002956: ADD
00002957: PUSH1 0x00
00002959: SWAP1
0000295a: SLOAD
0000295b: SWAP1
0000295c: PUSH2 0x0100
0000295f: EXP
00002960: SWAP1
00002961: DIV
00002962: PUSH12 0xffffffffffffffffffffffff
0000296f: AND
00002970: PUSH12 0xffffffffffffffffffffffff
0000297d: AND
0000297e: PUSH12 0xffffffffffffffffffffffff
0000298b: AND
0000298c: DUP2
0000298d: MSTORE
0000298e: PUSH1 0x20
00002990: ADD
00002991: PUSH1 0x09
00002993: DUP3
00002994: ADD
00002995: PUSH1 0x0c
00002997: SWAP1
00002998: SLOAD
00002999: SWAP1
0000299a: PUSH2 0x0100
0000299d: EXP
0000299e: SWAP1
0000299f: DIV
000029a0: PUSH1 0xff
000029a2: AND
000029a3: ISZERO
000029a4: ISZERO
000029a5: ISZERO
000029a6: ISZERO
000029a7: DUP2
000029a8: MSTORE
000029a9: PUSH1 0x20
000029ab: ADD
000029ac: PUSH1 0x09
000029ae: DUP3
000029af: ADD
000029b0: PUSH1 0x0d
000029b2: SWAP1
000029b3: SLOAD
000029b4: SWAP1
000029b5: PUSH2 0x0100
000029b8: EXP
000029b9: SWAP1
000029ba: DIV
000029bb: PUSH1 0xff
000029bd: AND
000029be: ISZERO
000029bf: ISZERO
000029c0: ISZERO
000029c1: ISZERO
000029c2: DUP2
000029c3: MSTORE
000029c4: PUSH1 0x20
000029c6: ADD
000029c7: PUSH1 0x0a
000029c9: DUP3
000029ca: ADD
000029cb: SLOAD
000029cc: DUP2
000029cd: MSTORE
000029ce: PUSH1 0x20
000029d0: ADD
000029d1: PUSH1 0x0b
000029d3: DUP3
000029d4: ADD
000029d5: SLOAD
000029d6: DUP2
000029d7: MSTORE
000029d8: POP
000029d9: POP
000029da: SWAP1
000029db: POP
000029dc: PUSH1 0x00
000029de: DUP1
000029df: PUSH2 0x29ec
000029e2: DUP4
000029e3: PUSH2 0x0100
000029e6: ADD
000029e7: MLOAD
000029e8: PUSH2 0x3e42
000029eb: JUMP
000029ec: JUMPDEST
000029ed: SWAP3
000029ee: POP
000029ef: SWAP3
000029f0: POP
000029f1: POP
000029f2: PUSH1 0x00
000029f4: PUSH2 0x2a10
000029f7: DUP9
000029f8: PUSH1 0x00
000029fa: DUP2
000029fb: MLOAD
000029fc: DUP2
000029fd: LT
000029fe: PUSH2 0x2a03
00002a01: JUMPI
00002a02: INVALID
00002a03: JUMPDEST
00002a04: PUSH1 0x20
00002a06: MUL
00002a07: PUSH1 0x20
00002a09: ADD
00002a0a: ADD
00002a0b: MLOAD
00002a0c: PUSH2 0x3e42
00002a0f: JUMP
00002a10: JUMPDEST
00002a11: POP
00002a12: POP
00002a13: SWAP1
00002a14: POP
00002a15: PUSH1 0x00
00002a17: PUSH1 0x02
00002a19: PUSH1 0x00
00002a1b: DUP12
00002a1c: DUP2
00002a1d: MSTORE
00002a1e: PUSH1 0x20
00002a20: ADD
00002a21: SWAP1
00002a22: DUP2
00002a23: MSTORE
00002a24: PUSH1 0x20
00002a26: ADD
00002a27: PUSH1 0x00
00002a29: KECCAK256
00002a2a: PUSH1 0x09
00002a2c: ADD
00002a2d: PUSH1 0x0c
00002a2f: SWAP1
00002a30: SLOAD
00002a31: SWAP1
00002a32: PUSH2 0x0100
00002a35: EXP
00002a36: SWAP1
00002a37: DIV
00002a38: PUSH1 0xff
00002a3a: AND
00002a3b: SWAP1
00002a3c: POP
00002a3d: PUSH1 0x00
00002a3f: JUMPDEST
00002a40: DUP10
00002a41: MLOAD
00002a42: DUP2
00002a43: LT
00002a44: ISZERO
00002a45: PUSH2 0x2d13
00002a48: JUMPI
00002a49: PUSH1 0x00
00002a4b: DUP1
00002a4c: PUSH1 0x00
00002a4e: PUSH2 0x2a69
00002a51: DUP14
00002a52: DUP6
00002a53: DUP2
00002a54: MLOAD
00002a55: DUP2
00002a56: LT
00002a57: PUSH2 0x2a5c
00002a5a: JUMPI
00002a5b: INVALID
00002a5c: JUMPDEST
00002a5d: PUSH1 0x20
00002a5f: MUL
00002a60: PUSH1 0x20
00002a62: ADD
00002a63: ADD
00002a64: MLOAD
00002a65: PUSH2 0x3e42
00002a68: JUMP
00002a69: JUMPDEST
00002a6a: SWAP3
00002a6b: POP
00002a6c: SWAP3
00002a6d: POP
00002a6e: SWAP3
00002a6f: POP
00002a70: DUP6
00002a71: PUSH8 0xffffffffffffffff
00002a7a: AND
00002a7b: DUP4
00002a7c: PUSH8 0xffffffffffffffff
00002a85: AND
00002a86: EQ
00002a87: PUSH2 0x2adb
00002a8a: JUMPI
00002a8b: PUSH1 0x40
00002a8d: MLOAD
00002a8e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002aaf: DUP2
00002ab0: MSTORE
00002ab1: PUSH1 0x04
00002ab3: ADD
00002ab4: DUP1
00002ab5: DUP1
00002ab6: PUSH1 0x20
00002ab8: ADD
00002ab9: DUP3
00002aba: DUP2
00002abb: SUB
00002abc: DUP3
00002abd: MSTORE
00002abe: PUSH1 0x23
00002ac0: DUP2
00002ac1: MSTORE
00002ac2: PUSH1 0x20
00002ac4: ADD
00002ac5: DUP1
00002ac6: PUSH2 0x5a23
00002ac9: PUSH1 0x23
00002acb: SWAP2
00002acc: CODECOPY
00002acd: PUSH1 0x40
00002acf: ADD
00002ad0: SWAP2
00002ad1: POP
00002ad2: POP
00002ad3: PUSH1 0x40
00002ad5: MLOAD
00002ad6: DUP1
00002ad7: SWAP2
00002ad8: SUB
00002ad9: SWAP1
00002ada: REVERT
00002adb: JUMPDEST
00002adc: DUP5
00002add: ISZERO
00002ade: PUSH2 0x2b09
00002ae1: JUMPI
00002ae2: PUSH2 0x2b02
00002ae5: DUP2
00002ae6: PUSH12 0xffffffffffffffffffffffff
00002af3: AND
00002af4: DUP13
00002af5: PUSH2 0x363c
00002af8: SWAP1
00002af9: SWAP2
00002afa: SWAP1
00002afb: PUSH4 0xffffffff
00002b00: AND
00002b01: JUMP
00002b02: JUMPDEST
00002b03: SWAP11
00002b04: POP
00002b05: PUSH2 0x2c9c
00002b08: JUMP
00002b09: JUMPDEST
00002b0a: DUP9
00002b0b: PUSH2 0x0100
00002b0e: ADD
00002b0f: MLOAD
00002b10: DUP14
00002b11: DUP6
00002b12: DUP2
00002b13: MLOAD
00002b14: DUP2
00002b15: LT
00002b16: PUSH2 0x2b1b
00002b19: JUMPI
00002b1a: INVALID
00002b1b: JUMPDEST
00002b1c: PUSH1 0x20
00002b1e: MUL
00002b1f: PUSH1 0x20
00002b21: ADD
00002b22: ADD
00002b23: MLOAD
00002b24: EQ
00002b25: ISZERO
00002b26: PUSH2 0x2bde
00002b29: JUMPI
00002b2a: PUSH2 0x2b8f
00002b2d: PUSH2 0x2b80
00002b30: DUP9
00002b31: PUSH12 0xffffffffffffffffffffffff
00002b3e: AND
00002b3f: PUSH2 0x2b72
00002b42: DUP12
00002b43: PUSH12 0xffffffffffffffffffffffff
00002b50: AND
00002b51: DUP14
00002b52: PUSH2 0x0120
00002b55: ADD
00002b56: MLOAD
00002b57: PUSH12 0xffffffffffffffffffffffff
00002b64: AND
00002b65: PUSH2 0x36c4
00002b68: SWAP1
00002b69: SWAP2
00002b6a: SWAP1
00002b6b: PUSH4 0xffffffff
00002b70: AND
00002b71: JUMP
00002b72: JUMPDEST
00002b73: PUSH2 0x374a
00002b76: SWAP1
00002b77: SWAP2
00002b78: SWAP1
00002b79: PUSH4 0xffffffff
00002b7e: AND
00002b7f: JUMP
00002b80: JUMPDEST
00002b81: DUP14
00002b82: PUSH2 0x363c
00002b85: SWAP1
00002b86: SWAP2
00002b87: SWAP1
00002b88: PUSH4 0xffffffff
00002b8d: AND
00002b8e: JUMP
00002b8f: JUMPDEST
00002b90: SWAP12
00002b91: POP
00002b92: PUSH2 0x2bd7
00002b95: PUSH2 0x2bc8
00002b98: DUP11
00002b99: PUSH2 0x0120
00002b9c: ADD
00002b9d: MLOAD
00002b9e: PUSH12 0xffffffffffffffffffffffff
00002bab: AND
00002bac: DUP4
00002bad: PUSH12 0xffffffffffffffffffffffff
00002bba: AND
00002bbb: PUSH2 0x391b
00002bbe: SWAP1
00002bbf: SWAP2
00002bc0: SWAP1
00002bc1: PUSH4 0xffffffff
00002bc6: AND
00002bc7: JUMP
00002bc8: JUMPDEST
00002bc9: DUP13
00002bca: PUSH2 0x363c
00002bcd: SWAP1
00002bce: SWAP2
00002bcf: SWAP1
00002bd0: PUSH4 0xffffffff
00002bd5: AND
00002bd6: JUMP
00002bd7: JUMPDEST
00002bd8: SWAP11
00002bd9: POP
00002bda: PUSH2 0x2c9b
00002bdd: JUMP
00002bde: JUMPDEST
00002bdf: PUSH2 0x2c09
00002be2: DUP10
00002be3: PUSH2 0x0100
00002be6: ADD
00002be7: MLOAD
00002be8: DUP15
00002be9: DUP7
00002bea: DUP2
00002beb: MLOAD
00002bec: DUP2
00002bed: LT
00002bee: PUSH2 0x2bf3
00002bf1: JUMPI
00002bf2: INVALID
00002bf3: JUMPDEST
00002bf4: PUSH1 0x20
00002bf6: MUL
00002bf7: PUSH1 0x20
00002bf9: ADD
00002bfa: ADD
00002bfb: MLOAD
00002bfc: PUSH2 0x4248
00002bff: SWAP1
00002c00: SWAP2
00002c01: SWAP1
00002c02: PUSH4 0xffffffff
00002c07: AND
00002c08: JUMP
00002c09: JUMPDEST
00002c0a: ISZERO
00002c0b: PUSH2 0x2c76
00002c0e: JUMPI
00002c0f: PUSH2 0x2c6f
00002c12: PUSH2 0x2c60
00002c15: DUP9
00002c16: PUSH12 0xffffffffffffffffffffffff
00002c23: AND
00002c24: PUSH2 0x2c52
00002c27: DUP12
00002c28: PUSH12 0xffffffffffffffffffffffff
00002c35: AND
00002c36: DUP6
00002c37: PUSH12 0xffffffffffffffffffffffff
00002c44: AND
00002c45: PUSH2 0x36c4
00002c48: SWAP1
00002c49: SWAP2
00002c4a: SWAP1
00002c4b: PUSH4 0xffffffff
00002c50: AND
00002c51: JUMP
00002c52: JUMPDEST
00002c53: PUSH2 0x374a
00002c56: SWAP1
00002c57: SWAP2
00002c58: SWAP1
00002c59: PUSH4 0xffffffff
00002c5e: AND
00002c5f: JUMP
00002c60: JUMPDEST
00002c61: DUP14
00002c62: PUSH2 0x363c
00002c65: SWAP1
00002c66: SWAP2
00002c67: SWAP1
00002c68: PUSH4 0xffffffff
00002c6d: AND
00002c6e: JUMP
00002c6f: JUMPDEST
00002c70: SWAP12
00002c71: POP
00002c72: PUSH2 0x2c9a
00002c75: JUMP
00002c76: JUMPDEST
00002c77: PUSH2 0x2c97
00002c7a: DUP2
00002c7b: PUSH12 0xffffffffffffffffffffffff
00002c88: AND
00002c89: DUP13
00002c8a: PUSH2 0x363c
00002c8d: SWAP1
00002c8e: SWAP2
00002c8f: SWAP1
00002c90: PUSH4 0xffffffff
00002c95: AND
00002c96: JUMP
00002c97: JUMPDEST
00002c98: SWAP11
00002c99: POP
00002c9a: JUMPDEST
00002c9b: JUMPDEST
00002c9c: JUMPDEST
00002c9d: DUP6
00002c9e: PUSH8 0xffffffffffffffff
00002ca7: AND
00002ca8: DUP15
00002ca9: PUSH32 0x3f2c83616e48a2f8b3c9cc26499e2e5c61643714dac49027d82cf6732f96a91a
00002cca: DUP5
00002ccb: DUP5
00002ccc: PUSH1 0x40
00002cce: MLOAD
00002ccf: DUP1
00002cd0: DUP4
00002cd1: PUSH12 0xffffffffffffffffffffffff
00002cde: AND
00002cdf: DUP2
00002ce0: MSTORE
00002ce1: PUSH1 0x20
00002ce3: ADD
00002ce4: DUP3
00002ce5: PUSH12 0xffffffffffffffffffffffff
00002cf2: AND
00002cf3: DUP2
00002cf4: MSTORE
00002cf5: PUSH1 0x20
00002cf7: ADD
00002cf8: SWAP3
00002cf9: POP
00002cfa: POP
00002cfb: POP
00002cfc: PUSH1 0x40
00002cfe: MLOAD
00002cff: DUP1
00002d00: SWAP2
00002d01: SUB
00002d02: SWAP1
00002d03: LOG3
00002d04: POP
00002d05: POP
00002d06: POP
00002d07: DUP1
00002d08: DUP1
00002d09: PUSH1 0x01
00002d0b: ADD
00002d0c: SWAP2
00002d0d: POP
00002d0e: POP
00002d0f: PUSH2 0x2a3f
00002d12: JUMP
00002d13: JUMPDEST
00002d14: POP
00002d15: PUSH2 0x2d20
00002d18: DUP11
00002d19: DUP10
00002d1a: DUP10
00002d1b: DUP6
00002d1c: PUSH2 0x4466
00002d1f: JUMP
00002d20: JUMPDEST
00002d21: POP
00002d22: POP
00002d23: POP
00002d24: POP
00002d25: POP
00002d26: POP
00002d27: SWAP3
00002d28: POP
00002d29: SWAP3
00002d2a: SWAP1
00002d2b: POP
00002d2c: JUMP
00002d2d: JUMPDEST
00002d2e: DUP2
00002d2f: PUSH1 0x02
00002d31: PUSH1 0x00
00002d33: DUP3
00002d34: DUP2
00002d35: MSTORE
00002d36: PUSH1 0x20
00002d38: ADD
00002d39: SWAP1
00002d3a: DUP2
00002d3b: MSTORE
00002d3c: PUSH1 0x20
00002d3e: ADD
00002d3f: PUSH1 0x00
00002d41: KECCAK256
00002d42: PUSH1 0x02
00002d44: ADD
00002d45: SLOAD
00002d46: TIMESTAMP
00002d47: LT
00002d48: PUSH2 0x2d9c
00002d4b: JUMPI
00002d4c: PUSH1 0x40
00002d4e: MLOAD
00002d4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002d70: DUP2
00002d71: MSTORE
00002d72: PUSH1 0x04
00002d74: ADD
00002d75: DUP1
00002d76: DUP1
00002d77: PUSH1 0x20
00002d79: ADD
00002d7a: DUP3
00002d7b: DUP2
00002d7c: SUB
00002d7d: DUP3
00002d7e: MSTORE
00002d7f: PUSH1 0x32
00002d81: DUP2
00002d82: MSTORE
00002d83: PUSH1 0x20
00002d85: ADD
00002d86: DUP1
00002d87: PUSH2 0x5863
00002d8a: PUSH1 0x32
00002d8c: SWAP2
00002d8d: CODECOPY
00002d8e: PUSH1 0x40
00002d90: ADD
00002d91: SWAP2
00002d92: POP
00002d93: POP
00002d94: PUSH1 0x40
00002d96: MLOAD
00002d97: DUP1
00002d98: SWAP2
00002d99: SUB
00002d9a: SWAP1
00002d9b: REVERT
00002d9c: JUMPDEST
00002d9d: PUSH1 0x00
00002d9f: PUSH2 0x2da7
00002da2: CALLER
00002da3: PUSH2 0x1978
00002da6: JUMP
00002da7: JUMPDEST
00002da8: SWAP1
00002da9: POP
00002daa: PUSH1 0x00
00002dac: DUP1
00002dad: JUMPDEST
00002dae: DUP5
00002daf: MLOAD
00002db0: DUP2
00002db1: LT
00002db2: ISZERO
00002db3: PUSH2 0x2f27
00002db6: JUMPI
00002db7: PUSH1 0x00
00002db9: PUSH2 0x2df0
00002dbc: DUP7
00002dbd: DUP4
00002dbe: DUP2
00002dbf: MLOAD
00002dc0: DUP2
00002dc1: LT
00002dc2: PUSH2 0x2dc7
00002dc5: JUMPI
00002dc6: INVALID
00002dc7: JUMPDEST
00002dc8: PUSH1 0x20
00002dca: MUL
00002dcb: PUSH1 0x20
00002dcd: ADD
00002dce: ADD
00002dcf: MLOAD
00002dd0: PUSH1 0x01
00002dd2: PUSH1 0x00
00002dd4: DUP11
00002dd5: DUP2
00002dd6: MSTORE
00002dd7: PUSH1 0x20
00002dd9: ADD
00002dda: SWAP1
00002ddb: DUP2
00002ddc: MSTORE
00002ddd: PUSH1 0x20
00002ddf: ADD
00002de0: PUSH1 0x00
00002de2: KECCAK256
00002de3: PUSH2 0x455b
00002de6: SWAP1
00002de7: SWAP2
00002de8: SWAP1
00002de9: PUSH4 0xffffffff
00002dee: AND
00002def: JUMP
00002df0: JUMPDEST
00002df1: SWAP1
00002df2: POP
00002df3: DUP1
00002df4: ISZERO
00002df5: PUSH2 0x2f19
00002df8: JUMPI
00002df9: PUSH1 0x00
00002dfb: DUP1
00002dfc: PUSH1 0x00
00002dfe: PUSH2 0x2e19
00002e01: DUP10
00002e02: DUP7
00002e03: DUP2
00002e04: MLOAD
00002e05: DUP2
00002e06: LT
00002e07: PUSH2 0x2e0c
00002e0a: JUMPI
00002e0b: INVALID
00002e0c: JUMPDEST
00002e0d: PUSH1 0x20
00002e0f: MUL
00002e10: PUSH1 0x20
00002e12: ADD
00002e13: ADD
00002e14: MLOAD
00002e15: PUSH2 0x3e42
00002e18: JUMP
00002e19: JUMPDEST
00002e1a: SWAP3
00002e1b: POP
00002e1c: SWAP3
00002e1d: POP
00002e1e: SWAP3
00002e1f: POP
00002e20: DUP7
00002e21: PUSH8 0xffffffffffffffff
00002e2a: AND
00002e2b: DUP4
00002e2c: PUSH8 0xffffffffffffffff
00002e35: AND
00002e36: EQ
00002e37: PUSH2 0x2e8b
00002e3a: JUMPI
00002e3b: PUSH1 0x40
00002e3d: MLOAD
00002e3e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002e5f: DUP2
00002e60: MSTORE
00002e61: PUSH1 0x04
00002e63: ADD
00002e64: DUP1
00002e65: DUP1
00002e66: PUSH1 0x20
00002e68: ADD
00002e69: DUP3
00002e6a: DUP2
00002e6b: SUB
00002e6c: DUP3
00002e6d: MSTORE
00002e6e: PUSH1 0x23
00002e70: DUP2
00002e71: MSTORE
00002e72: PUSH1 0x20
00002e74: ADD
00002e75: DUP1
00002e76: PUSH2 0x57f7
00002e79: PUSH1 0x23
00002e7b: SWAP2
00002e7c: CODECOPY
00002e7d: PUSH1 0x40
00002e7f: ADD
00002e80: SWAP2
00002e81: POP
00002e82: POP
00002e83: PUSH1 0x40
00002e85: MLOAD
00002e86: DUP1
00002e87: SWAP2
00002e88: SUB
00002e89: SWAP1
00002e8a: REVERT
00002e8b: JUMPDEST
00002e8c: PUSH2 0x2eac
00002e8f: DUP2
00002e90: PUSH12 0xffffffffffffffffffffffff
00002e9d: AND
00002e9e: DUP8
00002e9f: PUSH2 0x363c
00002ea2: SWAP1
00002ea3: SWAP2
00002ea4: SWAP1
00002ea5: PUSH4 0xffffffff
00002eaa: AND
00002eab: JUMP
00002eac: JUMPDEST
00002ead: SWAP6
00002eae: POP
00002eaf: DUP7
00002eb0: PUSH8 0xffffffffffffffff
00002eb9: AND
00002eba: DUP11
00002ebb: PUSH32 0x7edae327fe79804b2f38bd490d874a0d188d3ae8911b303205abe47400086ac4
00002edc: DUP5
00002edd: DUP5
00002ede: PUSH1 0x40
00002ee0: MLOAD
00002ee1: DUP1
00002ee2: DUP4
00002ee3: PUSH12 0xffffffffffffffffffffffff
00002ef0: AND
00002ef1: DUP2
00002ef2: MSTORE
00002ef3: PUSH1 0x20
00002ef5: ADD
00002ef6: DUP3
00002ef7: PUSH12 0xffffffffffffffffffffffff
00002f04: AND
00002f05: DUP2
00002f06: MSTORE
00002f07: PUSH1 0x20
00002f09: ADD
00002f0a: SWAP3
00002f0b: POP
00002f0c: POP
00002f0d: POP
00002f0e: PUSH1 0x40
00002f10: MLOAD
00002f11: DUP1
00002f12: SWAP2
00002f13: SUB
00002f14: SWAP1
00002f15: LOG3
00002f16: POP
00002f17: POP
00002f18: POP
00002f19: JUMPDEST
00002f1a: POP
00002f1b: DUP1
00002f1c: DUP1
00002f1d: PUSH1 0x01
00002f1f: ADD
00002f20: SWAP2
00002f21: POP
00002f22: POP
00002f23: PUSH2 0x2dad
00002f26: JUMP
00002f27: JUMPDEST
00002f28: POP
00002f29: PUSH2 0x2f89
00002f2c: CALLER
00002f2d: DUP3
00002f2e: PUSH1 0x02
00002f30: PUSH1 0x00
00002f32: DUP10
00002f33: DUP2
00002f34: MSTORE
00002f35: PUSH1 0x20
00002f37: ADD
00002f38: SWAP1
00002f39: DUP2
00002f3a: MSTORE
00002f3b: PUSH1 0x20
00002f3d: ADD
00002f3e: PUSH1 0x00
00002f40: KECCAK256
00002f41: PUSH1 0x01
00002f43: ADD
00002f44: PUSH1 0x00
00002f46: SWAP1
00002f47: SLOAD
00002f48: SWAP1
00002f49: PUSH2 0x0100
00002f4c: EXP
00002f4d: SWAP1
00002f4e: DIV
00002f4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f64: AND
00002f65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f7a: AND
00002f7b: PUSH2 0x4606
00002f7e: SWAP1
00002f7f: SWAP3
00002f80: SWAP2
00002f81: SWAP1
00002f82: PUSH4 0xffffffff
00002f87: AND
00002f88: JUMP
00002f89: JUMPDEST
00002f8a: POP
00002f8b: POP
00002f8c: POP
00002f8d: POP
00002f8e: POP
00002f8f: JUMP
00002f90: JUMPDEST
00002f91: PUSH1 0x00
00002f93: DUP1
00002f94: PUSH1 0x00
00002f96: SWAP1
00002f97: SLOAD
00002f98: SWAP1
00002f99: PUSH2 0x0100
00002f9c: EXP
00002f9d: SWAP1
00002f9e: DIV
00002f9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fb4: AND
00002fb5: SWAP1
00002fb6: POP
00002fb7: SWAP1
00002fb8: JUMP
00002fb9: JUMPDEST
00002fba: DUP6
00002fbb: PUSH1 0x00
00002fbd: PUSH1 0x02
00002fbf: PUSH1 0x00
00002fc1: DUP4
00002fc2: DUP2
00002fc3: MSTORE
00002fc4: PUSH1 0x20
00002fc6: ADD
00002fc7: SWAP1
00002fc8: DUP2
00002fc9: MSTORE
00002fca: PUSH1 0x20
00002fcc: ADD
00002fcd: PUSH1 0x00
00002fcf: KECCAK256
00002fd0: PUSH1 0x03
00002fd2: ADD
00002fd3: SLOAD
00002fd4: SWAP1
00002fd5: POP
00002fd6: PUSH1 0x00
00002fd8: DUP2
00002fd9: EQ
00002fda: ISZERO
00002fdb: DUP1
00002fdc: ISZERO
00002fdd: PUSH2 0x2fe6
00002fe0: JUMPI
00002fe1: POP
00002fe2: DUP1
00002fe3: TIMESTAMP
00002fe4: LT
00002fe5: ISZERO
00002fe6: JUMPDEST
00002fe7: DUP1
00002fe8: ISZERO
00002fe9: PUSH2 0x300a
00002fec: JUMPI
00002fed: POP
00002fee: PUSH1 0x00
00002ff0: DUP1
00002ff1: SHL
00002ff2: PUSH1 0x02
00002ff4: PUSH1 0x00
00002ff6: DUP5
00002ff7: DUP2
00002ff8: MSTORE
00002ff9: PUSH1 0x20
00002ffb: ADD
00002ffc: SWAP1
00002ffd: DUP2
00002ffe: MSTORE
00002fff: PUSH1 0x20
00003001: ADD
00003002: PUSH1 0x00
00003004: KECCAK256
00003005: PUSH1 0x08
00003007: ADD
00003008: SLOAD
00003009: EQ
0000300a: JUMPDEST
0000300b: PUSH2 0x305f
0000300e: JUMPI
0000300f: PUSH1 0x40
00003011: MLOAD
00003012: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003033: DUP2
00003034: MSTORE
00003035: PUSH1 0x04
00003037: ADD
00003038: DUP1
00003039: DUP1
0000303a: PUSH1 0x20
0000303c: ADD
0000303d: DUP3
0000303e: DUP2
0000303f: SUB
00003040: DUP3
00003041: MSTORE
00003042: PUSH1 0x28
00003044: DUP2
00003045: MSTORE
00003046: PUSH1 0x20
00003048: ADD
00003049: DUP1
0000304a: PUSH2 0x5a46
0000304d: PUSH1 0x28
0000304f: SWAP2
00003050: CODECOPY
00003051: PUSH1 0x40
00003053: ADD
00003054: SWAP2
00003055: POP
00003056: POP
00003057: PUSH1 0x40
00003059: MLOAD
0000305a: DUP1
0000305b: SWAP2
0000305c: SUB
0000305d: SWAP1
0000305e: REVERT
0000305f: JUMPDEST
00003060: POP
00003061: PUSH1 0x02
00003063: PUSH1 0x00
00003065: DUP9
00003066: DUP2
00003067: MSTORE
00003068: PUSH1 0x20
0000306a: ADD
0000306b: SWAP1
0000306c: DUP2
0000306d: MSTORE
0000306e: PUSH1 0x20
00003070: ADD
00003071: PUSH1 0x00
00003073: KECCAK256
00003074: PUSH1 0x09
00003076: ADD
00003077: PUSH1 0x0d
00003079: SWAP1
0000307a: SLOAD
0000307b: SWAP1
0000307c: PUSH2 0x0100
0000307f: EXP
00003080: SWAP1
00003081: DIV
00003082: PUSH1 0xff
00003084: AND
00003085: PUSH2 0x30d9
00003088: JUMPI
00003089: PUSH1 0x40
0000308b: MLOAD
0000308c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000030ad: DUP2
000030ae: MSTORE
000030af: PUSH1 0x04
000030b1: ADD
000030b2: DUP1
000030b3: DUP1
000030b4: PUSH1 0x20
000030b6: ADD
000030b7: DUP3
000030b8: DUP2
000030b9: SUB
000030ba: DUP3
000030bb: MSTORE
000030bc: PUSH1 0x28
000030be: DUP2
000030bf: MSTORE
000030c0: PUSH1 0x20
000030c2: ADD
000030c3: DUP1
000030c4: PUSH2 0x579e
000030c7: PUSH1 0x28
000030c9: SWAP2
000030ca: CODECOPY
000030cb: PUSH1 0x40
000030cd: ADD
000030ce: SWAP2
000030cf: POP
000030d0: POP
000030d1: PUSH1 0x40
000030d3: MLOAD
000030d4: DUP1
000030d5: SWAP2
000030d6: SUB
000030d7: SWAP1
000030d8: REVERT
000030d9: JUMPDEST
000030da: PUSH1 0x01
000030dc: DUP7
000030dd: MLOAD
000030de: EQ
000030df: DUP1
000030e0: ISZERO
000030e1: PUSH2 0x30eb
000030e4: JUMPI
000030e5: POP
000030e6: PUSH1 0x01
000030e8: DUP6
000030e9: MLOAD
000030ea: EQ
000030eb: JUMPDEST
000030ec: PUSH2 0x3140
000030ef: JUMPI
000030f0: PUSH1 0x40
000030f2: MLOAD
000030f3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003114: DUP2
00003115: MSTORE
00003116: PUSH1 0x04
00003118: ADD
00003119: DUP1
0000311a: DUP1
0000311b: PUSH1 0x20
0000311d: ADD
0000311e: DUP3
0000311f: DUP2
00003120: SUB
00003121: DUP3
00003122: MSTORE
00003123: PUSH1 0x27
00003125: DUP2
00003126: MSTORE
00003127: PUSH1 0x20
00003129: ADD
0000312a: DUP1
0000312b: PUSH2 0x5955
0000312e: PUSH1 0x27
00003130: SWAP2
00003131: CODECOPY
00003132: PUSH1 0x40
00003134: ADD
00003135: SWAP2
00003136: POP
00003137: POP
00003138: PUSH1 0x40
0000313a: MLOAD
0000313b: DUP1
0000313c: SWAP2
0000313d: SUB
0000313e: SWAP1
0000313f: REVERT
00003140: JUMPDEST
00003141: PUSH1 0x00
00003143: PUSH2 0x314b
00003146: CALLER
00003147: PUSH2 0x1978
0000314a: JUMP
0000314b: JUMPDEST
0000314c: SWAP1
0000314d: POP
0000314e: PUSH2 0x31a8
00003151: PUSH2 0x3183
00003154: DUP3
00003155: DUP10
00003156: PUSH1 0x00
00003158: DUP2
00003159: MLOAD
0000315a: DUP2
0000315b: LT
0000315c: PUSH2 0x3161
0000315f: JUMPI
00003160: INVALID
00003161: JUMPDEST
00003162: PUSH1 0x20
00003164: MUL
00003165: PUSH1 0x20
00003167: ADD
00003168: ADD
00003169: MLOAD
0000316a: DUP10
0000316b: PUSH1 0x00
0000316d: DUP2
0000316e: MLOAD
0000316f: DUP2
00003170: LT
00003171: PUSH2 0x3176
00003174: JUMPI
00003175: INVALID
00003176: JUMPDEST
00003177: PUSH1 0x20
00003179: MUL
0000317a: PUSH1 0x20
0000317c: ADD
0000317d: ADD
0000317e: MLOAD
0000317f: PUSH2 0x38da
00003182: JUMP
00003183: JUMPDEST
00003184: PUSH1 0x02
00003186: PUSH1 0x00
00003188: DUP12
00003189: DUP2
0000318a: MSTORE
0000318b: PUSH1 0x20
0000318d: ADD
0000318e: SWAP1
0000318f: DUP2
00003190: MSTORE
00003191: PUSH1 0x20
00003193: ADD
00003194: PUSH1 0x00
00003196: KECCAK256
00003197: PUSH1 0x07
00003199: ADD
0000319a: SLOAD
0000319b: PUSH2 0x4248
0000319e: SWAP1
0000319f: SWAP2
000031a0: SWAP1
000031a1: PUSH4 0xffffffff
000031a6: AND
000031a7: JUMP
000031a8: JUMPDEST
000031a9: PUSH2 0x31fd
000031ac: JUMPI
000031ad: PUSH1 0x40
000031af: MLOAD
000031b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000031d1: DUP2
000031d2: MSTORE
000031d3: PUSH1 0x04
000031d5: ADD
000031d6: DUP1
000031d7: DUP1
000031d8: PUSH1 0x20
000031da: ADD
000031db: DUP3
000031dc: DUP2
000031dd: SUB
000031de: DUP3
000031df: MSTORE
000031e0: PUSH1 0x31
000031e2: DUP2
000031e3: MSTORE
000031e4: PUSH1 0x20
000031e6: ADD
000031e7: DUP1
000031e8: PUSH2 0x57c6
000031eb: PUSH1 0x31
000031ed: SWAP2
000031ee: CODECOPY
000031ef: PUSH1 0x40
000031f1: ADD
000031f2: SWAP2
000031f3: POP
000031f4: POP
000031f5: PUSH1 0x40
000031f7: MLOAD
000031f8: DUP1
000031f9: SWAP2
000031fa: SUB
000031fb: SWAP1
000031fc: REVERT
000031fd: JUMPDEST
000031fe: PUSH2 0x320c
00003201: DUP9
00003202: DUP9
00003203: DUP9
00003204: DUP9
00003205: DUP9
00003206: DUP9
00003207: CALLER
00003208: PUSH2 0x46a8
0000320b: JUMP
0000320c: JUMPDEST
0000320d: POP
0000320e: PUSH2 0x3216
00003211: DUP9
00003212: PUSH2 0x1a0d
00003215: JUMP
00003216: JUMPDEST
00003217: POP
00003218: POP
00003219: POP
0000321a: POP
0000321b: POP
0000321c: POP
0000321d: POP
0000321e: POP
0000321f: POP
00003220: JUMP
00003221: JUMPDEST
00003222: PUSH1 0x08
00003224: SLOAD
00003225: DUP2
00003226: JUMP
00003227: JUMPDEST
00003228: PUSH1 0x00
0000322a: DUP7
0000322b: PUSH1 0x02
0000322d: PUSH1 0x00
0000322f: DUP3
00003230: DUP2
00003231: MSTORE
00003232: PUSH1 0x20
00003234: ADD
00003235: SWAP1
00003236: DUP2
00003237: MSTORE
00003238: PUSH1 0x20
0000323a: ADD
0000323b: PUSH1 0x00
0000323d: KECCAK256
0000323e: PUSH1 0x03
00003240: ADD
00003241: SLOAD
00003242: TIMESTAMP
00003243: LT
00003244: PUSH2 0x3298
00003247: JUMPI
00003248: PUSH1 0x40
0000324a: MLOAD
0000324b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000326c: DUP2
0000326d: MSTORE
0000326e: PUSH1 0x04
00003270: ADD
00003271: DUP1
00003272: DUP1
00003273: PUSH1 0x20
00003275: ADD
00003276: DUP3
00003277: DUP2
00003278: SUB
00003279: DUP3
0000327a: MSTORE
0000327b: PUSH1 0x22
0000327d: DUP2
0000327e: MSTORE
0000327f: PUSH1 0x20
00003281: ADD
00003282: DUP1
00003283: PUSH2 0x5b17
00003286: PUSH1 0x22
00003288: SWAP2
00003289: CODECOPY
0000328a: PUSH1 0x40
0000328c: ADD
0000328d: SWAP2
0000328e: POP
0000328f: POP
00003290: PUSH1 0x40
00003292: MLOAD
00003293: DUP1
00003294: SWAP2
00003295: SUB
00003296: SWAP1
00003297: REVERT
00003298: JUMPDEST
00003299: PUSH2 0x32a7
0000329c: DUP9
0000329d: DUP9
0000329e: DUP9
0000329f: DUP9
000032a0: DUP9
000032a1: DUP9
000032a2: CALLER
000032a3: PUSH2 0x46a8
000032a6: JUMP
000032a7: JUMPDEST
000032a8: SWAP2
000032a9: POP
000032aa: POP
000032ab: SWAP7
000032ac: SWAP6
000032ad: POP
000032ae: POP
000032af: POP
000032b0: POP
000032b1: POP
000032b2: POP
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH2 0x03e8
000032b8: DUP2
000032b9: JUMP
000032ba: JUMPDEST
000032bb: PUSH1 0x03
000032bd: PUSH1 0x20
000032bf: MSTORE
000032c0: DUP1
000032c1: PUSH1 0x00
000032c3: MSTORE
000032c4: PUSH1 0x40
000032c6: PUSH1 0x00
000032c8: KECCAK256
000032c9: PUSH1 0x00
000032cb: SWAP2
000032cc: POP
000032cd: SLOAD
000032ce: SWAP1
000032cf: PUSH2 0x0100
000032d2: EXP
000032d3: SWAP1
000032d4: DIV
000032d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032ea: AND
000032eb: DUP2
000032ec: JUMP
000032ed: JUMPDEST
000032ee: PUSH1 0x09
000032f0: SLOAD
000032f1: DUP2
000032f2: JUMP
000032f3: JUMPDEST
000032f4: PUSH1 0x00
000032f6: DUP8
000032f7: PUSH1 0x02
000032f9: PUSH1 0x00
000032fb: DUP3
000032fc: DUP2
000032fd: MSTORE
000032fe: PUSH1 0x20
00003300: ADD
00003301: SWAP1
00003302: DUP2
00003303: MSTORE
00003304: PUSH1 0x20
00003306: ADD
00003307: PUSH1 0x00
00003309: KECCAK256
0000330a: PUSH1 0x03
0000330c: ADD
0000330d: SLOAD
0000330e: TIMESTAMP
0000330f: LT
00003310: PUSH2 0x3364
00003313: JUMPI
00003314: PUSH1 0x40
00003316: MLOAD
00003317: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003338: DUP2
00003339: MSTORE
0000333a: PUSH1 0x04
0000333c: ADD
0000333d: DUP1
0000333e: DUP1
0000333f: PUSH1 0x20
00003341: ADD
00003342: DUP3
00003343: DUP2
00003344: SUB
00003345: DUP3
00003346: MSTORE
00003347: PUSH1 0x22
00003349: DUP2
0000334a: MSTORE
0000334b: PUSH1 0x20
0000334d: ADD
0000334e: DUP1
0000334f: PUSH2 0x5b17
00003352: PUSH1 0x22
00003354: SWAP2
00003355: CODECOPY
00003356: PUSH1 0x40
00003358: ADD
00003359: SWAP2
0000335a: POP
0000335b: POP
0000335c: PUSH1 0x40
0000335e: MLOAD
0000335f: DUP1
00003360: SWAP2
00003361: SUB
00003362: SWAP1
00003363: REVERT
00003364: JUMPDEST
00003365: PUSH2 0x3373
00003368: DUP10
00003369: DUP10
0000336a: DUP10
0000336b: DUP10
0000336c: DUP10
0000336d: DUP10
0000336e: DUP10
0000336f: PUSH2 0x46a8
00003372: JUMP
00003373: JUMPDEST
00003374: SWAP2
00003375: POP
00003376: POP
00003377: SWAP8
00003378: SWAP7
00003379: POP
0000337a: POP
0000337b: POP
0000337c: POP
0000337d: POP
0000337e: POP
0000337f: POP
00003380: JUMP
00003381: JUMPDEST
00003382: PUSH2 0x3389
00003385: PUSH2 0x41c7
00003388: JUMP
00003389: JUMPDEST
0000338a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000339f: AND
000033a0: PUSH1 0x00
000033a2: DUP1
000033a3: SLOAD
000033a4: SWAP1
000033a5: PUSH2 0x0100
000033a8: EXP
000033a9: SWAP1
000033aa: DIV
000033ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c0: AND
000033c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033d6: AND
000033d7: EQ
000033d8: PUSH2 0x3449
000033db: JUMPI
000033dc: PUSH1 0x40
000033de: MLOAD
000033df: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003400: DUP2
00003401: MSTORE
00003402: PUSH1 0x04
00003404: ADD
00003405: DUP1
00003406: DUP1
00003407: PUSH1 0x20
00003409: ADD
0000340a: DUP3
0000340b: DUP2
0000340c: SUB
0000340d: DUP3
0000340e: MSTORE
0000340f: PUSH1 0x20
00003411: DUP2
00003412: MSTORE
00003413: PUSH1 0x20
00003415: ADD
00003416: DUP1
00003417: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00003438: DUP2
00003439: MSTORE
0000343a: POP
0000343b: PUSH1 0x20
0000343d: ADD
0000343e: SWAP2
0000343f: POP
00003440: POP
00003441: PUSH1 0x40
00003443: MLOAD
00003444: DUP1
00003445: SWAP2
00003446: SUB
00003447: SWAP1
00003448: REVERT
00003449: JUMPDEST
0000344a: PUSH1 0x00
0000344c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003461: AND
00003462: DUP2
00003463: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003478: AND
00003479: EQ
0000347a: ISZERO
0000347b: PUSH2 0x34cf
0000347e: JUMPI
0000347f: PUSH1 0x40
00003481: MLOAD
00003482: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000034a3: DUP2
000034a4: MSTORE
000034a5: PUSH1 0x04
000034a7: ADD
000034a8: DUP1
000034a9: DUP1
000034aa: PUSH1 0x20
000034ac: ADD
000034ad: DUP3
000034ae: DUP2
000034af: SUB
000034b0: DUP3
000034b1: MSTORE
000034b2: PUSH1 0x26
000034b4: DUP2
000034b5: MSTORE
000034b6: PUSH1 0x20
000034b8: ADD
000034b9: DUP1
000034ba: PUSH2 0x581a
000034bd: PUSH1 0x26
000034bf: SWAP2
000034c0: CODECOPY
000034c1: PUSH1 0x40
000034c3: ADD
000034c4: SWAP2
000034c5: POP
000034c6: POP
000034c7: PUSH1 0x40
000034c9: MLOAD
000034ca: DUP1
000034cb: SWAP2
000034cc: SUB
000034cd: SWAP1
000034ce: REVERT
000034cf: JUMPDEST
000034d0: DUP1
000034d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034e6: AND
000034e7: PUSH1 0x00
000034e9: DUP1
000034ea: SLOAD
000034eb: SWAP1
000034ec: PUSH2 0x0100
000034ef: EXP
000034f0: SWAP1
000034f1: DIV
000034f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003507: AND
00003508: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000351d: AND
0000351e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000353f: PUSH1 0x40
00003541: MLOAD
00003542: PUSH1 0x40
00003544: MLOAD
00003545: DUP1
00003546: SWAP2
00003547: SUB
00003548: SWAP1
00003549: LOG3
0000354a: DUP1
0000354b: PUSH1 0x00
0000354d: DUP1
0000354e: PUSH2 0x0100
00003551: EXP
00003552: DUP2
00003553: SLOAD
00003554: DUP2
00003555: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000356a: MUL
0000356b: NOT
0000356c: AND
0000356d: SWAP1
0000356e: DUP4
0000356f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003584: AND
00003585: MUL
00003586: OR
00003587: SWAP1
00003588: SSTORE
00003589: POP
0000358a: POP
0000358b: JUMP
0000358c: JUMPDEST
0000358d: PUSH1 0x04
0000358f: PUSH1 0x20
00003591: MSTORE
00003592: DUP1
00003593: PUSH1 0x00
00003595: MSTORE
00003596: PUSH1 0x40
00003598: PUSH1 0x00
0000359a: KECCAK256
0000359b: PUSH1 0x00
0000359d: SWAP2
0000359e: POP
0000359f: SWAP1
000035a0: POP
000035a1: DUP1
000035a2: SLOAD
000035a3: PUSH1 0x01
000035a5: DUP2
000035a6: PUSH1 0x01
000035a8: AND
000035a9: ISZERO
000035aa: PUSH2 0x0100
000035ad: MUL
000035ae: SUB
000035af: AND
000035b0: PUSH1 0x02
000035b2: SWAP1
000035b3: DIV
000035b4: DUP1
000035b5: PUSH1 0x1f
000035b7: ADD
000035b8: PUSH1 0x20
000035ba: DUP1
000035bb: SWAP2
000035bc: DIV
000035bd: MUL
000035be: PUSH1 0x20
000035c0: ADD
000035c1: PUSH1 0x40
000035c3: MLOAD
000035c4: SWAP1
000035c5: DUP2
000035c6: ADD
000035c7: PUSH1 0x40
000035c9: MSTORE
000035ca: DUP1
000035cb: SWAP3
000035cc: SWAP2
000035cd: SWAP1
000035ce: DUP2
000035cf: DUP2
000035d0: MSTORE
000035d1: PUSH1 0x20
000035d3: ADD
000035d4: DUP3
000035d5: DUP1
000035d6: SLOAD
000035d7: PUSH1 0x01
000035d9: DUP2
000035da: PUSH1 0x01
000035dc: AND
000035dd: ISZERO
000035de: PUSH2 0x0100
000035e1: MUL
000035e2: SUB
000035e3: AND
000035e4: PUSH1 0x02
000035e6: SWAP1
000035e7: DIV
000035e8: DUP1
000035e9: ISZERO
000035ea: PUSH2 0x3634
000035ed: JUMPI
000035ee: DUP1
000035ef: PUSH1 0x1f
000035f1: LT
000035f2: PUSH2 0x3609
000035f5: JUMPI
000035f6: PUSH2 0x0100
000035f9: DUP1
000035fa: DUP4
000035fb: SLOAD
000035fc: DIV
000035fd: MUL
000035fe: DUP4
000035ff: MSTORE
00003600: SWAP2
00003601: PUSH1 0x20
00003603: ADD
00003604: SWAP2
00003605: PUSH2 0x3634
00003608: JUMP
00003609: JUMPDEST
0000360a: DUP3
0000360b: ADD
0000360c: SWAP2
0000360d: SWAP1
0000360e: PUSH1 0x00
00003610: MSTORE
00003611: PUSH1 0x20
00003613: PUSH1 0x00
00003615: KECCAK256
00003616: SWAP1
00003617: JUMPDEST
00003618: DUP2
00003619: SLOAD
0000361a: DUP2
0000361b: MSTORE
0000361c: SWAP1
0000361d: PUSH1 0x01
0000361f: ADD
00003620: SWAP1
00003621: PUSH1 0x20
00003623: ADD
00003624: DUP1
00003625: DUP4
00003626: GT
00003627: PUSH2 0x3617
0000362a: JUMPI
0000362b: DUP3
0000362c: SWAP1
0000362d: SUB
0000362e: PUSH1 0x1f
00003630: AND
00003631: DUP3
00003632: ADD
00003633: SWAP2
00003634: JUMPDEST
00003635: POP
00003636: POP
00003637: POP
00003638: POP
00003639: POP
0000363a: DUP2
0000363b: JUMP
0000363c: JUMPDEST
0000363d: PUSH1 0x00
0000363f: DUP1
00003640: DUP3
00003641: DUP5
00003642: ADD
00003643: SWAP1
00003644: POP
00003645: DUP4
00003646: DUP2
00003647: LT
00003648: ISZERO
00003649: PUSH2 0x36ba
0000364c: JUMPI
0000364d: PUSH1 0x40
0000364f: MLOAD
00003650: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003671: DUP2
00003672: MSTORE
00003673: PUSH1 0x04
00003675: ADD
00003676: DUP1
00003677: DUP1
00003678: PUSH1 0x20
0000367a: ADD
0000367b: DUP3
0000367c: DUP2
0000367d: SUB
0000367e: DUP3
0000367f: MSTORE
00003680: PUSH1 0x1b
00003682: DUP2
00003683: MSTORE
00003684: PUSH1 0x20
00003686: ADD
00003687: DUP1
00003688: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
000036a9: DUP2
000036aa: MSTORE
000036ab: POP
000036ac: PUSH1 0x20
000036ae: ADD
000036af: SWAP2
000036b0: POP
000036b1: POP
000036b2: PUSH1 0x40
000036b4: MLOAD
000036b5: DUP1
000036b6: SWAP2
000036b7: SUB
000036b8: SWAP1
000036b9: REVERT
000036ba: JUMPDEST
000036bb: DUP1
000036bc: SWAP2
000036bd: POP
000036be: POP
000036bf: SWAP3
000036c0: SWAP2
000036c1: POP
000036c2: POP
000036c3: JUMP
000036c4: JUMPDEST
000036c5: PUSH1 0x00
000036c7: DUP1
000036c8: DUP4
000036c9: EQ
000036ca: ISZERO
000036cb: PUSH2 0x36d7
000036ce: JUMPI
000036cf: PUSH1 0x00
000036d1: SWAP1
000036d2: POP
000036d3: PUSH2 0x3744
000036d6: JUMP
000036d7: JUMPDEST
000036d8: PUSH1 0x00
000036da: DUP3
000036db: DUP5
000036dc: MUL
000036dd: SWAP1
000036de: POP
000036df: DUP3
000036e0: DUP5
000036e1: DUP3
000036e2: DUP2
000036e3: PUSH2 0x36e8
000036e6: JUMPI
000036e7: INVALID
000036e8: JUMPDEST
000036e9: DIV
000036ea: EQ
000036eb: PUSH2 0x373f
000036ee: JUMPI
000036ef: PUSH1 0x40
000036f1: MLOAD
000036f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003713: DUP2
00003714: MSTORE
00003715: PUSH1 0x04
00003717: ADD
00003718: DUP1
00003719: DUP1
0000371a: PUSH1 0x20
0000371c: ADD
0000371d: DUP3
0000371e: DUP2
0000371f: SUB
00003720: DUP3
00003721: MSTORE
00003722: PUSH1 0x21
00003724: DUP2
00003725: MSTORE
00003726: PUSH1 0x20
00003728: ADD
00003729: DUP1
0000372a: PUSH2 0x59dc
0000372d: PUSH1 0x21
0000372f: SWAP2
00003730: CODECOPY
00003731: PUSH1 0x40
00003733: ADD
00003734: SWAP2
00003735: POP
00003736: POP
00003737: PUSH1 0x40
00003739: MLOAD
0000373a: DUP1
0000373b: SWAP2
0000373c: SUB
0000373d: SWAP1
0000373e: REVERT
0000373f: JUMPDEST
00003740: DUP1
00003741: SWAP2
00003742: POP
00003743: POP
00003744: JUMPDEST
00003745: SWAP3
00003746: SWAP2
00003747: POP
00003748: POP
00003749: JUMP
0000374a: JUMPDEST
0000374b: PUSH1 0x00
0000374d: PUSH2 0x378c
00003750: DUP4
00003751: DUP4
00003752: PUSH1 0x40
00003754: MLOAD
00003755: DUP1
00003756: PUSH1 0x40
00003758: ADD
00003759: PUSH1 0x40
0000375b: MSTORE
0000375c: DUP1
0000375d: PUSH1 0x1a
0000375f: DUP2
00003760: MSTORE
00003761: PUSH1 0x20
00003763: ADD
00003764: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
00003785: DUP2
00003786: MSTORE
00003787: POP
00003788: PUSH2 0x4cc0
0000378b: JUMP
0000378c: JUMPDEST
0000378d: SWAP1
0000378e: POP
0000378f: SWAP3
00003790: SWAP2
00003791: POP
00003792: POP
00003793: JUMP
00003794: JUMPDEST
00003795: PUSH2 0x384f
00003798: DUP5
00003799: PUSH4 0x23b872dd
0000379e: PUSH1 0xe0
000037a0: SHL
000037a1: DUP6
000037a2: DUP6
000037a3: DUP6
000037a4: PUSH1 0x40
000037a6: MLOAD
000037a7: PUSH1 0x24
000037a9: ADD
000037aa: DUP1
000037ab: DUP5
000037ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037c1: AND
000037c2: DUP2
000037c3: MSTORE
000037c4: PUSH1 0x20
000037c6: ADD
000037c7: DUP4
000037c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037dd: AND
000037de: DUP2
000037df: MSTORE
000037e0: PUSH1 0x20
000037e2: ADD
000037e3: DUP3
000037e4: DUP2
000037e5: MSTORE
000037e6: PUSH1 0x20
000037e8: ADD
000037e9: SWAP4
000037ea: POP
000037eb: POP
000037ec: POP
000037ed: POP
000037ee: PUSH1 0x40
000037f0: MLOAD
000037f1: PUSH1 0x20
000037f3: DUP2
000037f4: DUP4
000037f5: SUB
000037f6: SUB
000037f7: DUP2
000037f8: MSTORE
000037f9: SWAP1
000037fa: PUSH1 0x40
000037fc: MSTORE
000037fd: SWAP1
000037fe: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000381b: NOT
0000381c: AND
0000381d: PUSH1 0x20
0000381f: DUP3
00003820: ADD
00003821: DUP1
00003822: MLOAD
00003823: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003840: DUP4
00003841: DUP2
00003842: DUP4
00003843: AND
00003844: OR
00003845: DUP4
00003846: MSTORE
00003847: POP
00003848: POP
00003849: POP
0000384a: POP
0000384b: PUSH2 0x4d86
0000384e: JUMP
0000384f: JUMPDEST
00003850: POP
00003851: POP
00003852: POP
00003853: POP
00003854: JUMP
00003855: JUMPDEST
00003856: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
00003877: PUSH1 0x00
00003879: SHL
0000387a: DUP2
0000387b: PUSH1 0x00
0000387d: ADD
0000387e: PUSH1 0x00
00003880: PUSH1 0x01
00003882: PUSH1 0x00
00003884: SHL
00003885: DUP2
00003886: MSTORE
00003887: PUSH1 0x20
00003889: ADD
0000388a: SWAP1
0000388b: DUP2
0000388c: MSTORE
0000388d: PUSH1 0x20
0000388f: ADD
00003890: PUSH1 0x00
00003892: KECCAK256
00003893: DUP2
00003894: SWAP1
00003895: SSTORE
00003896: POP
00003897: PUSH1 0x01
00003899: PUSH1 0x00
0000389b: SHL
0000389c: DUP2
0000389d: PUSH1 0x01
0000389f: ADD
000038a0: PUSH1 0x00
000038a2: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
000038c3: PUSH1 0x00
000038c5: SHL
000038c6: DUP2
000038c7: MSTORE
000038c8: PUSH1 0x20
000038ca: ADD
000038cb: SWAP1
000038cc: DUP2
000038cd: MSTORE
000038ce: PUSH1 0x20
000038d0: ADD
000038d1: PUSH1 0x00
000038d3: KECCAK256
000038d4: DUP2
000038d5: SWAP1
000038d6: SSTORE
000038d7: POP
000038d8: POP
000038d9: JUMP
000038da: JUMPDEST
000038db: PUSH1 0x00
000038dd: DUP2
000038de: PUSH12 0xffffffffffffffffffffffff
000038eb: AND
000038ec: PUSH1 0x60
000038ee: DUP5
000038ef: PUSH12 0xffffffffffffffffffffffff
000038fc: AND
000038fd: SWAP1
000038fe: SHL
000038ff: PUSH1 0xc0
00003901: DUP7
00003902: PUSH8 0xffffffffffffffff
0000390b: AND
0000390c: SWAP1
0000390d: SHL
0000390e: ADD
0000390f: ADD
00003910: PUSH1 0x00
00003912: SHL
00003913: SWAP1
00003914: POP
00003915: SWAP4
00003916: SWAP3
00003917: POP
00003918: POP
00003919: POP
0000391a: JUMP
0000391b: JUMPDEST
0000391c: PUSH1 0x00
0000391e: PUSH2 0x395d
00003921: DUP4
00003922: DUP4
00003923: PUSH1 0x40
00003925: MLOAD
00003926: DUP1
00003927: PUSH1 0x40
00003929: ADD
0000392a: PUSH1 0x40
0000392c: MSTORE
0000392d: DUP1
0000392e: PUSH1 0x1e
00003930: DUP2
00003931: MSTORE
00003932: PUSH1 0x20
00003934: ADD
00003935: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00003956: DUP2
00003957: MSTORE
00003958: POP
00003959: PUSH2 0x4e75
0000395c: JUMP
0000395d: JUMPDEST
0000395e: SWAP1
0000395f: POP
00003960: SWAP3
00003961: SWAP2
00003962: POP
00003963: POP
00003964: JUMP
00003965: JUMPDEST
00003966: PUSH1 0x00
00003968: PUSH9 0x010000000000000000
00003972: DUP3
00003973: LT
00003974: PUSH2 0x39c8
00003977: JUMPI
00003978: PUSH1 0x40
0000397a: MLOAD
0000397b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000399c: DUP2
0000399d: MSTORE
0000399e: PUSH1 0x04
000039a0: ADD
000039a1: DUP1
000039a2: DUP1
000039a3: PUSH1 0x20
000039a5: ADD
000039a6: DUP3
000039a7: DUP2
000039a8: SUB
000039a9: DUP3
000039aa: MSTORE
000039ab: PUSH1 0x26
000039ad: DUP2
000039ae: MSTORE
000039af: PUSH1 0x20
000039b1: ADD
000039b2: DUP1
000039b3: PUSH2 0x59fd
000039b6: PUSH1 0x26
000039b8: SWAP2
000039b9: CODECOPY
000039ba: PUSH1 0x40
000039bc: ADD
000039bd: SWAP2
000039be: POP
000039bf: POP
000039c0: PUSH1 0x40
000039c2: MLOAD
000039c3: DUP1
000039c4: SWAP2
000039c5: SUB
000039c6: SWAP1
000039c7: REVERT
000039c8: JUMPDEST
000039c9: DUP2
000039ca: SWAP1
000039cb: POP
000039cc: SWAP2
000039cd: SWAP1
000039ce: POP
000039cf: JUMP
000039d0: JUMPDEST
000039d1: PUSH1 0x00
000039d3: DUP1
000039d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000039e9: AND
000039ea: DUP3
000039eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a00: AND
00003a01: EQ
00003a02: ISZERO
00003a03: PUSH2 0x3a74
00003a06: JUMPI
00003a07: PUSH1 0x40
00003a09: MLOAD
00003a0a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003a2b: DUP2
00003a2c: MSTORE
00003a2d: PUSH1 0x04
00003a2f: ADD
00003a30: DUP1
00003a31: DUP1
00003a32: PUSH1 0x20
00003a34: ADD
00003a35: DUP3
00003a36: DUP2
00003a37: SUB
00003a38: DUP3
00003a39: MSTORE
00003a3a: PUSH1 0x1a
00003a3c: DUP2
00003a3d: MSTORE
00003a3e: PUSH1 0x20
00003a40: ADD
00003a41: DUP1
00003a42: PUSH32 0x43616e6e6f7420696e73657274207a65726f2061646472657373000000000000
00003a63: DUP2
00003a64: MSTORE
00003a65: POP
00003a66: PUSH1 0x20
00003a68: ADD
00003a69: SWAP2
00003a6a: POP
00003a6b: POP
00003a6c: PUSH1 0x40
00003a6e: MLOAD
00003a6f: DUP1
00003a70: SWAP2
00003a71: SUB
00003a72: SWAP1
00003a73: REVERT
00003a74: JUMPDEST
00003a75: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003a96: PUSH8 0xffffffffffffffff
00003a9f: AND
00003aa0: DUP4
00003aa1: PUSH8 0xffffffffffffffff
00003aaa: AND
00003aab: EQ
00003aac: ISZERO
00003aad: PUSH2 0x3b1e
00003ab0: JUMPI
00003ab1: PUSH1 0x40
00003ab3: MLOAD
00003ab4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003ad5: DUP2
00003ad6: MSTORE
00003ad7: PUSH1 0x04
00003ad9: ADD
00003ada: DUP1
00003adb: DUP1
00003adc: PUSH1 0x20
00003ade: ADD
00003adf: DUP3
00003ae0: DUP2
00003ae1: SUB
00003ae2: DUP3
00003ae3: MSTORE
00003ae4: PUSH1 0x18
00003ae6: DUP2
00003ae7: MSTORE
00003ae8: PUSH1 0x20
00003aea: ADD
00003aeb: DUP1
00003aec: PUSH32 0x43616e6e6f7420696e73657274206d61782075696e7436340000000000000000
00003b0d: DUP2
00003b0e: MSTORE
00003b0f: POP
00003b10: PUSH1 0x20
00003b12: ADD
00003b13: SWAP2
00003b14: POP
00003b15: POP
00003b16: PUSH1 0x40
00003b18: MLOAD
00003b19: DUP1
00003b1a: SWAP2
00003b1b: SUB
00003b1c: SWAP1
00003b1d: REVERT
00003b1e: JUMPDEST
00003b1f: PUSH1 0x00
00003b21: DUP5
00003b22: PUSH1 0x01
00003b24: ADD
00003b25: PUSH1 0x00
00003b27: DUP5
00003b28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b3d: AND
00003b3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b53: AND
00003b54: DUP2
00003b55: MSTORE
00003b56: PUSH1 0x20
00003b58: ADD
00003b59: SWAP1
00003b5a: DUP2
00003b5b: MSTORE
00003b5c: PUSH1 0x20
00003b5e: ADD
00003b5f: PUSH1 0x00
00003b61: KECCAK256
00003b62: PUSH1 0x00
00003b64: SWAP1
00003b65: SLOAD
00003b66: SWAP1
00003b67: PUSH2 0x0100
00003b6a: EXP
00003b6b: SWAP1
00003b6c: DIV
00003b6d: PUSH8 0xffffffffffffffff
00003b76: AND
00003b77: PUSH8 0xffffffffffffffff
00003b80: AND
00003b81: EQ
00003b82: ISZERO
00003b83: DUP1
00003b84: PUSH2 0x3c06
00003b87: JUMPI
00003b88: POP
00003b89: PUSH1 0x00
00003b8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ba0: AND
00003ba1: DUP5
00003ba2: PUSH1 0x00
00003ba4: ADD
00003ba5: PUSH1 0x00
00003ba7: PUSH1 0x01
00003ba9: DUP7
00003baa: ADD
00003bab: PUSH8 0xffffffffffffffff
00003bb4: AND
00003bb5: PUSH8 0xffffffffffffffff
00003bbe: AND
00003bbf: DUP2
00003bc0: MSTORE
00003bc1: PUSH1 0x20
00003bc3: ADD
00003bc4: SWAP1
00003bc5: DUP2
00003bc6: MSTORE
00003bc7: PUSH1 0x20
00003bc9: ADD
00003bca: PUSH1 0x00
00003bcc: KECCAK256
00003bcd: PUSH1 0x00
00003bcf: SWAP1
00003bd0: SLOAD
00003bd1: SWAP1
00003bd2: PUSH2 0x0100
00003bd5: EXP
00003bd6: SWAP1
00003bd7: DIV
00003bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bed: AND
00003bee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c03: AND
00003c04: EQ
00003c05: ISZERO
00003c06: JUMPDEST
00003c07: ISZERO
00003c08: PUSH2 0x3c14
00003c0b: JUMPI
00003c0c: PUSH1 0x00
00003c0e: SWAP1
00003c0f: POP
00003c10: PUSH2 0x3cef
00003c13: JUMP
00003c14: JUMPDEST
00003c15: DUP2
00003c16: DUP5
00003c17: PUSH1 0x00
00003c19: ADD
00003c1a: PUSH1 0x00
00003c1c: PUSH1 0x01
00003c1e: DUP7
00003c1f: ADD
00003c20: PUSH8 0xffffffffffffffff
00003c29: AND
00003c2a: PUSH8 0xffffffffffffffff
00003c33: AND
00003c34: DUP2
00003c35: MSTORE
00003c36: PUSH1 0x20
00003c38: ADD
00003c39: SWAP1
00003c3a: DUP2
00003c3b: MSTORE
00003c3c: PUSH1 0x20
00003c3e: ADD
00003c3f: PUSH1 0x00
00003c41: KECCAK256
00003c42: PUSH1 0x00
00003c44: PUSH2 0x0100
00003c47: EXP
00003c48: DUP2
00003c49: SLOAD
00003c4a: DUP2
00003c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c60: MUL
00003c61: NOT
00003c62: AND
00003c63: SWAP1
00003c64: DUP4
00003c65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c7a: AND
00003c7b: MUL
00003c7c: OR
00003c7d: SWAP1
00003c7e: SSTORE
00003c7f: POP
00003c80: PUSH1 0x01
00003c82: DUP4
00003c83: ADD
00003c84: DUP5
00003c85: PUSH1 0x01
00003c87: ADD
00003c88: PUSH1 0x00
00003c8a: DUP5
00003c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ca0: AND
00003ca1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003cb6: AND
00003cb7: DUP2
00003cb8: MSTORE
00003cb9: PUSH1 0x20
00003cbb: ADD
00003cbc: SWAP1
00003cbd: DUP2
00003cbe: MSTORE
00003cbf: PUSH1 0x20
00003cc1: ADD
00003cc2: PUSH1 0x00
00003cc4: KECCAK256
00003cc5: PUSH1 0x00
00003cc7: PUSH2 0x0100
00003cca: EXP
00003ccb: DUP2
00003ccc: SLOAD
00003ccd: DUP2
00003cce: PUSH8 0xffffffffffffffff
00003cd7: MUL
00003cd8: NOT
00003cd9: AND
00003cda: SWAP1
00003cdb: DUP4
00003cdc: PUSH8 0xffffffffffffffff
00003ce5: AND
00003ce6: MUL
00003ce7: OR
00003ce8: SWAP1
00003ce9: SSTORE
00003cea: POP
00003ceb: PUSH1 0x01
00003ced: SWAP1
00003cee: POP
00003cef: JUMPDEST
00003cf0: SWAP4
00003cf1: SWAP3
00003cf2: POP
00003cf3: POP
00003cf4: POP
00003cf5: JUMP
00003cf6: JUMPDEST
00003cf7: PUSH1 0x00
00003cf9: DUP1
00003cfa: DUP4
00003cfb: PUSH1 0x01
00003cfd: ADD
00003cfe: PUSH1 0x00
00003d00: DUP5
00003d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d16: AND
00003d17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d2c: AND
00003d2d: DUP2
00003d2e: MSTORE
00003d2f: PUSH1 0x20
00003d31: ADD
00003d32: SWAP1
00003d33: DUP2
00003d34: MSTORE
00003d35: PUSH1 0x20
00003d37: ADD
00003d38: PUSH1 0x00
00003d3a: KECCAK256
00003d3b: PUSH1 0x00
00003d3d: SWAP1
00003d3e: SLOAD
00003d3f: SWAP1
00003d40: PUSH2 0x0100
00003d43: EXP
00003d44: SWAP1
00003d45: DIV
00003d46: PUSH8 0xffffffffffffffff
00003d4f: AND
00003d50: PUSH8 0xffffffffffffffff
00003d59: AND
00003d5a: EQ
00003d5b: ISZERO
00003d5c: SWAP1
00003d5d: POP
00003d5e: SWAP3
00003d5f: SWAP2
00003d60: POP
00003d61: POP
00003d62: JUMP
00003d63: JUMPDEST
00003d64: PUSH1 0x00
00003d66: PUSH2 0x3d6f
00003d69: DUP4
00003d6a: DUP4
00003d6b: PUSH2 0x3cf6
00003d6e: JUMP
00003d6f: JUMPDEST
00003d70: PUSH2 0x3de1
00003d73: JUMPI
00003d74: PUSH1 0x40
00003d76: MLOAD
00003d77: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003d98: DUP2
00003d99: MSTORE
00003d9a: PUSH1 0x04
00003d9c: ADD
00003d9d: DUP1
00003d9e: DUP1
00003d9f: PUSH1 0x20
00003da1: ADD
00003da2: DUP3
00003da3: DUP2
00003da4: SUB
00003da5: DUP3
00003da6: MSTORE
00003da7: PUSH1 0x1b
00003da9: DUP2
00003daa: MSTORE
00003dab: PUSH1 0x20
00003dad: ADD
00003dae: DUP1
00003daf: PUSH32 0x4d7573742068617665204164647265737320746f206765742049440000000000
00003dd0: DUP2
00003dd1: MSTORE
00003dd2: POP
00003dd3: PUSH1 0x20
00003dd5: ADD
00003dd6: SWAP2
00003dd7: POP
00003dd8: POP
00003dd9: PUSH1 0x40
00003ddb: MLOAD
00003ddc: DUP1
00003ddd: SWAP2
00003dde: SUB
00003ddf: SWAP1
00003de0: REVERT
00003de1: JUMPDEST
00003de2: PUSH1 0x01
00003de4: DUP4
00003de5: PUSH1 0x01
00003de7: ADD
00003de8: PUSH1 0x00
00003dea: DUP5
00003deb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e00: AND
00003e01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e16: AND
00003e17: DUP2
00003e18: MSTORE
00003e19: PUSH1 0x20
00003e1b: ADD
00003e1c: SWAP1
00003e1d: DUP2
00003e1e: MSTORE
00003e1f: PUSH1 0x20
00003e21: ADD
00003e22: PUSH1 0x00
00003e24: KECCAK256
00003e25: PUSH1 0x00
00003e27: SWAP1
00003e28: SLOAD
00003e29: SWAP1
00003e2a: PUSH2 0x0100
00003e2d: EXP
00003e2e: SWAP1
00003e2f: DIV
00003e30: PUSH8 0xffffffffffffffff
00003e39: AND
00003e3a: SUB
00003e3b: SWAP1
00003e3c: POP
00003e3d: SWAP3
00003e3e: SWAP2
00003e3f: POP
00003e40: POP
00003e41: JUMP
00003e42: JUMPDEST
00003e43: PUSH1 0x00
00003e45: DUP1
00003e46: PUSH1 0x00
00003e48: PUSH1 0xc0
00003e4a: DUP5
00003e4b: PUSH1 0x00
00003e4d: SHR
00003e4e: SWAP1
00003e4f: SHR
00003e50: SWAP3
00003e51: POP
00003e52: PUSH1 0x60
00003e54: DUP5
00003e55: PUSH1 0x00
00003e57: SHR
00003e58: SWAP1
00003e59: SHR
00003e5a: SWAP2
00003e5b: POP
00003e5c: DUP4
00003e5d: PUSH1 0x00
00003e5f: SHR
00003e60: SWAP1
00003e61: POP
00003e62: SWAP2
00003e63: SWAP4
00003e64: SWAP1
00003e65: SWAP3
00003e66: POP
00003e67: JUMP
00003e68: JUMPDEST
00003e69: PUSH1 0x00
00003e6b: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
00003e8c: PUSH1 0x00
00003e8e: SHL
00003e8f: DUP3
00003e90: EQ
00003e91: ISZERO
00003e92: PUSH2 0x3ee6
00003e95: JUMPI
00003e96: PUSH1 0x40
00003e98: MLOAD
00003e99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003eba: DUP2
00003ebb: MSTORE
00003ebc: PUSH1 0x04
00003ebe: ADD
00003ebf: DUP1
00003ec0: DUP1
00003ec1: PUSH1 0x20
00003ec3: ADD
00003ec4: DUP3
00003ec5: DUP2
00003ec6: SUB
00003ec7: DUP3
00003ec8: MSTORE
00003ec9: PUSH1 0x22
00003ecb: DUP2
00003ecc: MSTORE
00003ecd: PUSH1 0x20
00003ecf: ADD
00003ed0: DUP1
00003ed1: PUSH2 0x58ba
00003ed4: PUSH1 0x22
00003ed6: SWAP2
00003ed7: CODECOPY
00003ed8: PUSH1 0x40
00003eda: ADD
00003edb: SWAP2
00003edc: POP
00003edd: POP
00003ede: PUSH1 0x40
00003ee0: MLOAD
00003ee1: DUP1
00003ee2: SWAP2
00003ee3: SUB
00003ee4: SWAP1
00003ee5: REVERT
00003ee6: JUMPDEST
00003ee7: PUSH1 0x00
00003ee9: DUP4
00003eea: PUSH1 0x00
00003eec: ADD
00003eed: PUSH1 0x00
00003eef: DUP5
00003ef0: DUP2
00003ef1: MSTORE
00003ef2: PUSH1 0x20
00003ef4: ADD
00003ef5: SWAP1
00003ef6: DUP2
00003ef7: MSTORE
00003ef8: PUSH1 0x20
00003efa: ADD
00003efb: PUSH1 0x00
00003efd: KECCAK256
00003efe: SLOAD
00003eff: SWAP1
00003f00: POP
00003f01: PUSH1 0x00
00003f03: DUP1
00003f04: SHL
00003f05: DUP2
00003f06: EQ
00003f07: ISZERO
00003f08: PUSH2 0x3f5c
00003f0b: JUMPI
00003f0c: PUSH1 0x40
00003f0e: MLOAD
00003f0f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003f30: DUP2
00003f31: MSTORE
00003f32: PUSH1 0x04
00003f34: ADD
00003f35: DUP1
00003f36: DUP1
00003f37: PUSH1 0x20
00003f39: ADD
00003f3a: DUP3
00003f3b: DUP2
00003f3c: SUB
00003f3d: DUP3
00003f3e: MSTORE
00003f3f: PUSH1 0x2a
00003f41: DUP2
00003f42: MSTORE
00003f43: PUSH1 0x20
00003f45: ADD
00003f46: DUP1
00003f47: PUSH2 0x597c
00003f4a: PUSH1 0x2a
00003f4c: SWAP2
00003f4d: CODECOPY
00003f4e: PUSH1 0x40
00003f50: ADD
00003f51: SWAP2
00003f52: POP
00003f53: POP
00003f54: PUSH1 0x40
00003f56: MLOAD
00003f57: DUP1
00003f58: SWAP2
00003f59: SUB
00003f5a: SWAP1
00003f5b: REVERT
00003f5c: JUMPDEST
00003f5d: DUP1
00003f5e: SWAP2
00003f5f: POP
00003f60: POP
00003f61: SWAP3
00003f62: SWAP2
00003f63: POP
00003f64: POP
00003f65: JUMP
00003f66: JUMPDEST
00003f67: PUSH1 0x00
00003f69: PUSH13 0x01000000000000000000000000
00003f77: DUP3
00003f78: LT
00003f79: PUSH2 0x3fcd
00003f7c: JUMPI
00003f7d: PUSH1 0x40
00003f7f: MLOAD
00003f80: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003fa1: DUP2
00003fa2: MSTORE
00003fa3: PUSH1 0x04
00003fa5: ADD
00003fa6: DUP1
00003fa7: DUP1
00003fa8: PUSH1 0x20
00003faa: ADD
00003fab: DUP3
00003fac: DUP2
00003fad: SUB
00003fae: DUP3
00003faf: MSTORE
00003fb0: PUSH1 0x26
00003fb2: DUP2
00003fb3: MSTORE
00003fb4: PUSH1 0x20
00003fb6: ADD
00003fb7: DUP1
00003fb8: PUSH2 0x5778
00003fbb: PUSH1 0x26
00003fbd: SWAP2
00003fbe: CODECOPY
00003fbf: PUSH1 0x40
00003fc1: ADD
00003fc2: SWAP2
00003fc3: POP
00003fc4: POP
00003fc5: PUSH1 0x40
00003fc7: MLOAD
00003fc8: DUP1
00003fc9: SWAP2
00003fca: SUB
00003fcb: SWAP1
00003fcc: REVERT
00003fcd: JUMPDEST
00003fce: DUP2
00003fcf: SWAP1
00003fd0: POP
00003fd1: SWAP2
00003fd2: SWAP1
00003fd3: POP
00003fd4: JUMP
00003fd5: JUMPDEST
00003fd6: PUSH1 0x00
00003fd8: PUSH2 0x4022
00003fdb: PUSH2 0x03e8
00003fde: PUSH2 0x4014
00003fe1: PUSH1 0x02
00003fe3: PUSH1 0x00
00003fe5: DUP10
00003fe6: DUP2
00003fe7: MSTORE
00003fe8: PUSH1 0x20
00003fea: ADD
00003feb: SWAP1
00003fec: DUP2
00003fed: MSTORE
00003fee: PUSH1 0x20
00003ff0: ADD
00003ff1: PUSH1 0x00
00003ff3: KECCAK256
00003ff4: PUSH1 0x0a
00003ff6: ADD
00003ff7: SLOAD
00003ff8: DUP6
00003ff9: PUSH12 0xffffffffffffffffffffffff
00004006: AND
00004007: PUSH2 0x36c4
0000400a: SWAP1
0000400b: SWAP2
0000400c: SWAP1
0000400d: PUSH4 0xffffffff
00004012: AND
00004013: JUMP
00004014: JUMPDEST
00004015: PUSH2 0x374a
00004018: SWAP1
00004019: SWAP2
0000401a: SWAP1
0000401b: PUSH4 0xffffffff
00004020: AND
00004021: JUMP
00004022: JUMPDEST
00004023: SWAP1
00004024: POP
00004025: PUSH1 0x02
00004027: PUSH1 0x00
00004029: DUP7
0000402a: DUP2
0000402b: MSTORE
0000402c: PUSH1 0x20
0000402e: ADD
0000402f: SWAP1
00004030: DUP2
00004031: MSTORE
00004032: PUSH1 0x20
00004034: ADD
00004035: PUSH1 0x00
00004037: KECCAK256
00004038: PUSH1 0x09
0000403a: ADD
0000403b: PUSH1 0x0c
0000403d: SWAP1
0000403e: SLOAD
0000403f: SWAP1
00004040: PUSH2 0x0100
00004043: EXP
00004044: SWAP1
00004045: DIV
00004046: PUSH1 0xff
00004048: AND
00004049: ISZERO
0000404a: PUSH2 0x407f
0000404d: JUMPI
0000404e: PUSH2 0x407a
00004051: DUP6
00004052: PUSH2 0x4072
00004055: DUP4
00004056: DUP6
00004057: PUSH12 0xffffffffffffffffffffffff
00004064: AND
00004065: PUSH2 0x363c
00004068: SWAP1
00004069: SWAP2
0000406a: SWAP1
0000406b: PUSH4 0xffffffff
00004070: AND
00004071: JUMP
00004072: JUMPDEST
00004073: PUSH1 0x00
00004075: DUP7
00004076: PUSH2 0x4466
00004079: JUMP
0000407a: JUMPDEST
0000407b: PUSH2 0x41c0
0000407e: JUMP
0000407f: JUMPDEST
00004080: PUSH1 0x00
00004082: DUP1
00004083: PUSH2 0x40a1
00004086: PUSH1 0x02
00004088: PUSH1 0x00
0000408a: DUP10
0000408b: DUP2
0000408c: MSTORE
0000408d: PUSH1 0x20
0000408f: ADD
00004090: SWAP1
00004091: DUP2
00004092: MSTORE
00004093: PUSH1 0x20
00004095: ADD
00004096: PUSH1 0x00
00004098: KECCAK256
00004099: PUSH1 0x08
0000409b: ADD
0000409c: SLOAD
0000409d: PUSH2 0x3e42
000040a0: JUMP
000040a1: JUMPDEST
000040a2: SWAP3
000040a3: POP
000040a4: SWAP3
000040a5: POP
000040a6: POP
000040a7: PUSH1 0x00
000040a9: PUSH2 0x40c9
000040ac: DUP8
000040ad: DUP7
000040ae: PUSH12 0xffffffffffffffffffffffff
000040bb: AND
000040bc: PUSH2 0x391b
000040bf: SWAP1
000040c0: SWAP2
000040c1: SWAP1
000040c2: PUSH4 0xffffffff
000040c7: AND
000040c8: JUMP
000040c9: JUMPDEST
000040ca: SWAP1
000040cb: POP
000040cc: PUSH1 0x00
000040ce: PUSH2 0x4112
000040d1: PUSH2 0x4103
000040d4: DUP8
000040d5: PUSH12 0xffffffffffffffffffffffff
000040e2: AND
000040e3: PUSH2 0x40f5
000040e6: DUP6
000040e7: DUP10
000040e8: PUSH2 0x36c4
000040eb: SWAP1
000040ec: SWAP2
000040ed: SWAP1
000040ee: PUSH4 0xffffffff
000040f3: AND
000040f4: JUMP
000040f5: JUMPDEST
000040f6: PUSH2 0x374a
000040f9: SWAP1
000040fa: SWAP2
000040fb: SWAP1
000040fc: PUSH4 0xffffffff
00004101: AND
00004102: JUMP
00004103: JUMPDEST
00004104: DUP4
00004105: PUSH2 0x363c
00004108: SWAP1
00004109: SWAP2
0000410a: SWAP1
0000410b: PUSH4 0xffffffff
00004110: AND
00004111: JUMP
00004112: JUMPDEST
00004113: SWAP1
00004114: POP
00004115: PUSH1 0x00
00004117: PUSH2 0x4157
0000411a: DUP6
0000411b: PUSH12 0xffffffffffffffffffffffff
00004128: AND
00004129: PUSH2 0x4149
0000412c: DUP7
0000412d: PUSH12 0xffffffffffffffffffffffff
0000413a: AND
0000413b: DUP13
0000413c: PUSH2 0x36c4
0000413f: SWAP1
00004140: SWAP2
00004141: SWAP1
00004142: PUSH4 0xffffffff
00004147: AND
00004148: JUMP
00004149: JUMPDEST
0000414a: PUSH2 0x374a
0000414d: SWAP1
0000414e: SWAP2
0000414f: SWAP1
00004150: PUSH4 0xffffffff
00004155: AND
00004156: JUMP
00004157: JUMPDEST
00004158: SWAP1
00004159: POP
0000415a: PUSH2 0x4165
0000415d: DUP11
0000415e: DUP4
0000415f: DUP4
00004160: DUP12
00004161: PUSH2 0x4466
00004164: JUMP
00004165: JUMPDEST
00004166: PUSH2 0x41ba
00004169: DUP11
0000416a: PUSH2 0x419c
0000416d: DUP10
0000416e: PUSH12 0xffffffffffffffffffffffff
0000417b: AND
0000417c: PUSH2 0x418e
0000417f: DUP14
00004180: DUP12
00004181: PUSH2 0x36c4
00004184: SWAP1
00004185: SWAP2
00004186: SWAP1
00004187: PUSH4 0xffffffff
0000418c: AND
0000418d: JUMP
0000418e: JUMPDEST
0000418f: PUSH2 0x374a
00004192: SWAP1
00004193: SWAP2
00004194: SWAP1
00004195: PUSH4 0xffffffff
0000419a: AND
0000419b: JUMP
0000419c: JUMPDEST
0000419d: PUSH1 0x00
0000419f: PUSH1 0x0a
000041a1: PUSH1 0x00
000041a3: SWAP1
000041a4: SLOAD
000041a5: SWAP1
000041a6: PUSH2 0x0100
000041a9: EXP
000041aa: SWAP1
000041ab: DIV
000041ac: PUSH8 0xffffffffffffffff
000041b5: AND
000041b6: PUSH2 0x4466
000041b9: JUMP
000041ba: JUMPDEST
000041bb: POP
000041bc: POP
000041bd: POP
000041be: POP
000041bf: POP
000041c0: JUMPDEST
000041c1: POP
000041c2: POP
000041c3: POP
000041c4: POP
000041c5: POP
000041c6: JUMP
000041c7: JUMPDEST
000041c8: PUSH1 0x00
000041ca: CALLER
000041cb: SWAP1
000041cc: POP
000041cd: SWAP1
000041ce: JUMP
000041cf: JUMPDEST
000041d0: PUSH1 0x00
000041d2: PUSH1 0x01
000041d4: PUSH1 0x00
000041d6: SHL
000041d7: DUP3
000041d8: EQ
000041d9: ISZERO
000041da: PUSH2 0x41e6
000041dd: JUMPI
000041de: PUSH1 0x00
000041e0: SWAP1
000041e1: POP
000041e2: PUSH2 0x4205
000041e5: JUMP
000041e6: JUMPDEST
000041e7: PUSH1 0x00
000041e9: DUP1
000041ea: SHL
000041eb: DUP4
000041ec: PUSH1 0x00
000041ee: ADD
000041ef: PUSH1 0x00
000041f1: DUP5
000041f2: DUP2
000041f3: MSTORE
000041f4: PUSH1 0x20
000041f6: ADD
000041f7: SWAP1
000041f8: DUP2
000041f9: MSTORE
000041fa: PUSH1 0x20
000041fc: ADD
000041fd: PUSH1 0x00
000041ff: KECCAK256
00004200: SLOAD
00004201: EQ
00004202: ISZERO
00004203: SWAP1
00004204: POP
00004205: JUMPDEST
00004206: SWAP3
00004207: SWAP2
00004208: POP
00004209: POP
0000420a: JUMP
0000420b: JUMPDEST
0000420c: PUSH1 0x00
0000420e: DUP1
0000420f: PUSH2 0x4218
00004212: DUP5
00004213: DUP5
00004214: PUSH2 0x455b
00004217: JUMP
00004218: JUMPDEST
00004219: SWAP1
0000421a: POP
0000421b: DUP1
0000421c: ISZERO
0000421d: PUSH2 0x423e
00004220: JUMPI
00004221: PUSH1 0x00
00004223: DUP1
00004224: SHL
00004225: DUP5
00004226: PUSH1 0x01
00004228: ADD
00004229: PUSH1 0x00
0000422b: DUP6
0000422c: DUP2
0000422d: MSTORE
0000422e: PUSH1 0x20
00004230: ADD
00004231: SWAP1
00004232: DUP2
00004233: MSTORE
00004234: PUSH1 0x20
00004236: ADD
00004237: PUSH1 0x00
00004239: KECCAK256
0000423a: DUP2
0000423b: SWAP1
0000423c: SSTORE
0000423d: POP
0000423e: JUMPDEST
0000423f: DUP1
00004240: SWAP2
00004241: POP
00004242: POP
00004243: SWAP3
00004244: SWAP2
00004245: POP
00004246: POP
00004247: JUMP
00004248: JUMPDEST
00004249: PUSH1 0x00
0000424b: DUP1
0000424c: PUSH1 0x00
0000424e: DUP1
0000424f: PUSH2 0x4257
00004252: DUP7
00004253: PUSH2 0x3e42
00004256: JUMP
00004257: JUMPDEST
00004258: SWAP3
00004259: POP
0000425a: SWAP3
0000425b: POP
0000425c: SWAP3
0000425d: POP
0000425e: PUSH1 0x00
00004260: DUP1
00004261: PUSH1 0x00
00004263: PUSH2 0x426b
00004266: DUP9
00004267: PUSH2 0x3e42
0000426a: JUMP
0000426b: JUMPDEST
0000426c: SWAP3
0000426d: POP
0000426e: SWAP3
0000426f: POP
00004270: SWAP3
00004271: POP
00004272: PUSH2 0x42a0
00004275: DUP5
00004276: PUSH12 0xffffffffffffffffffffffff
00004283: AND
00004284: DUP4
00004285: PUSH12 0xffffffffffffffffffffffff
00004292: AND
00004293: PUSH2 0x36c4
00004296: SWAP1
00004297: SWAP2
00004298: SWAP1
00004299: PUSH4 0xffffffff
0000429e: AND
0000429f: JUMP
000042a0: JUMPDEST
000042a1: PUSH2 0x42cf
000042a4: DUP3
000042a5: PUSH12 0xffffffffffffffffffffffff
000042b2: AND
000042b3: DUP8
000042b4: PUSH12 0xffffffffffffffffffffffff
000042c1: AND
000042c2: PUSH2 0x36c4
000042c5: SWAP1
000042c6: SWAP2
000042c7: SWAP1
000042c8: PUSH4 0xffffffff
000042cd: AND
000042ce: JUMP
000042cf: JUMPDEST
000042d0: LT
000042d1: ISZERO
000042d2: PUSH2 0x42e4
000042d5: JUMPI
000042d6: PUSH1 0x01
000042d8: SWAP7
000042d9: POP
000042da: POP
000042db: POP
000042dc: POP
000042dd: POP
000042de: POP
000042df: POP
000042e0: PUSH2 0x4460
000042e3: JUMP
000042e4: JUMPDEST
000042e5: PUSH2 0x4313
000042e8: DUP5
000042e9: PUSH12 0xffffffffffffffffffffffff
000042f6: AND
000042f7: DUP4
000042f8: PUSH12 0xffffffffffffffffffffffff
00004305: AND
00004306: PUSH2 0x36c4
00004309: SWAP1
0000430a: SWAP2
0000430b: SWAP1
0000430c: PUSH4 0xffffffff
00004311: AND
00004312: JUMP
00004313: JUMPDEST
00004314: PUSH2 0x4342
00004317: DUP3
00004318: PUSH12 0xffffffffffffffffffffffff
00004325: AND
00004326: DUP8
00004327: PUSH12 0xffffffffffffffffffffffff
00004334: AND
00004335: PUSH2 0x36c4
00004338: SWAP1
00004339: SWAP2
0000433a: SWAP1
0000433b: PUSH4 0xffffffff
00004340: AND
00004341: JUMP
00004342: JUMPDEST
00004343: GT
00004344: ISZERO
00004345: PUSH2 0x4357
00004348: JUMPI
00004349: PUSH1 0x00
0000434b: SWAP7
0000434c: POP
0000434d: POP
0000434e: POP
0000434f: POP
00004350: POP
00004351: POP
00004352: POP
00004353: PUSH2 0x4460
00004356: JUMP
00004357: JUMPDEST
00004358: DUP2
00004359: PUSH12 0xffffffffffffffffffffffff
00004366: AND
00004367: DUP6
00004368: PUSH12 0xffffffffffffffffffffffff
00004375: AND
00004376: LT
00004377: ISZERO
00004378: PUSH2 0x438a
0000437b: JUMPI
0000437c: PUSH1 0x01
0000437e: SWAP7
0000437f: POP
00004380: POP
00004381: POP
00004382: POP
00004383: POP
00004384: POP
00004385: POP
00004386: PUSH2 0x4460
00004389: JUMP
0000438a: JUMPDEST
0000438b: DUP2
0000438c: PUSH12 0xffffffffffffffffffffffff
00004399: AND
0000439a: DUP6
0000439b: PUSH12 0xffffffffffffffffffffffff
000043a8: AND
000043a9: GT
000043aa: ISZERO
000043ab: PUSH2 0x43bd
000043ae: JUMPI
000043af: PUSH1 0x00
000043b1: SWAP7
000043b2: POP
000043b3: POP
000043b4: POP
000043b5: POP
000043b6: POP
000043b7: POP
000043b8: POP
000043b9: PUSH2 0x4460
000043bc: JUMP
000043bd: JUMPDEST
000043be: DUP3
000043bf: PUSH8 0xffffffffffffffff
000043c8: AND
000043c9: DUP7
000043ca: PUSH8 0xffffffffffffffff
000043d3: AND
000043d4: EQ
000043d5: ISZERO
000043d6: PUSH2 0x442a
000043d9: JUMPI
000043da: PUSH1 0x40
000043dc: MLOAD
000043dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000043fe: DUP2
000043ff: MSTORE
00004400: PUSH1 0x04
00004402: ADD
00004403: DUP1
00004404: DUP1
00004405: PUSH1 0x20
00004407: ADD
00004408: DUP3
00004409: DUP2
0000440a: SUB
0000440b: DUP3
0000440c: MSTORE
0000440d: PUSH1 0x2d
0000440f: DUP2
00004410: MSTORE
00004411: PUSH1 0x20
00004413: ADD
00004414: DUP1
00004415: PUSH2 0x5a6e
00004418: PUSH1 0x2d
0000441a: SWAP2
0000441b: CODECOPY
0000441c: PUSH1 0x40
0000441e: ADD
0000441f: SWAP2
00004420: POP
00004421: POP
00004422: PUSH1 0x40
00004424: MLOAD
00004425: DUP1
00004426: SWAP2
00004427: SUB
00004428: SWAP1
00004429: REVERT
0000442a: JUMPDEST
0000442b: DUP3
0000442c: PUSH8 0xffffffffffffffff
00004435: AND
00004436: DUP7
00004437: PUSH8 0xffffffffffffffff
00004440: AND
00004441: LT
00004442: ISZERO
00004443: PUSH2 0x4455
00004446: JUMPI
00004447: PUSH1 0x01
00004449: SWAP7
0000444a: POP
0000444b: POP
0000444c: POP
0000444d: POP
0000444e: POP
0000444f: POP
00004450: POP
00004451: PUSH2 0x4460
00004454: JUMP
00004455: JUMPDEST
00004456: PUSH1 0x00
00004458: SWAP7
00004459: POP
0000445a: POP
0000445b: POP
0000445c: POP
0000445d: POP
0000445e: POP
0000445f: POP
00004460: JUMPDEST
00004461: SWAP3
00004462: SWAP2
00004463: POP
00004464: POP
00004465: JUMP
00004466: JUMPDEST
00004467: PUSH1 0x00
00004469: PUSH2 0x447c
0000446c: DUP3
0000446d: PUSH1 0x05
0000446f: PUSH2 0x4f35
00004472: SWAP1
00004473: SWAP2
00004474: SWAP1
00004475: PUSH4 0xffffffff
0000447a: AND
0000447b: JUMP
0000447c: JUMPDEST
0000447d: SWAP1
0000447e: POP
0000447f: PUSH1 0x00
00004481: DUP5
00004482: GT
00004483: ISZERO
00004484: PUSH2 0x44e9
00004487: JUMPI
00004488: PUSH2 0x44e8
0000448b: DUP2
0000448c: DUP6
0000448d: PUSH1 0x02
0000448f: PUSH1 0x00
00004491: DUP10
00004492: DUP2
00004493: MSTORE
00004494: PUSH1 0x20
00004496: ADD
00004497: SWAP1
00004498: DUP2
00004499: MSTORE
0000449a: PUSH1 0x20
0000449c: ADD
0000449d: PUSH1 0x00
0000449f: KECCAK256
000044a0: PUSH1 0x00
000044a2: ADD
000044a3: PUSH1 0x00
000044a5: SWAP1
000044a6: SLOAD
000044a7: SWAP1
000044a8: PUSH2 0x0100
000044ab: EXP
000044ac: SWAP1
000044ad: DIV
000044ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044c3: AND
000044c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044d9: AND
000044da: PUSH2 0x4606
000044dd: SWAP1
000044de: SWAP3
000044df: SWAP2
000044e0: SWAP1
000044e1: PUSH4 0xffffffff
000044e6: AND
000044e7: JUMP
000044e8: JUMPDEST
000044e9: JUMPDEST
000044ea: PUSH1 0x00
000044ec: DUP4
000044ed: GT
000044ee: ISZERO
000044ef: PUSH2 0x4554
000044f2: JUMPI
000044f3: PUSH2 0x4553
000044f6: DUP2
000044f7: DUP5
000044f8: PUSH1 0x02
000044fa: PUSH1 0x00
000044fc: DUP10
000044fd: DUP2
000044fe: MSTORE
000044ff: PUSH1 0x20
00004501: ADD
00004502: SWAP1
00004503: DUP2
00004504: MSTORE
00004505: PUSH1 0x20
00004507: ADD
00004508: PUSH1 0x00
0000450a: KECCAK256
0000450b: PUSH1 0x01
0000450d: ADD
0000450e: PUSH1 0x00
00004510: SWAP1
00004511: SLOAD
00004512: SWAP1
00004513: PUSH2 0x0100
00004516: EXP
00004517: SWAP1
00004518: DIV
00004519: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000452e: AND
0000452f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004544: AND
00004545: PUSH2 0x4606
00004548: SWAP1
00004549: SWAP3
0000454a: SWAP2
0000454b: SWAP1
0000454c: PUSH4 0xffffffff
00004551: AND
00004552: JUMP
00004553: JUMPDEST
00004554: JUMPDEST
00004555: POP
00004556: POP
00004557: POP
00004558: POP
00004559: POP
0000455a: JUMP
0000455b: JUMPDEST
0000455c: PUSH1 0x00
0000455e: PUSH2 0x4567
00004561: DUP4
00004562: DUP4
00004563: PUSH2 0x41cf
00004566: JUMP
00004567: JUMPDEST
00004568: PUSH2 0x4574
0000456b: JUMPI
0000456c: PUSH1 0x00
0000456e: SWAP1
0000456f: POP
00004570: PUSH2 0x4600
00004573: JUMP
00004574: JUMPDEST
00004575: PUSH1 0x00
00004577: DUP4
00004578: PUSH1 0x01
0000457a: ADD
0000457b: PUSH1 0x00
0000457d: DUP5
0000457e: DUP2
0000457f: MSTORE
00004580: PUSH1 0x20
00004582: ADD
00004583: SWAP1
00004584: DUP2
00004585: MSTORE
00004586: PUSH1 0x20
00004588: ADD
00004589: PUSH1 0x00
0000458b: KECCAK256
0000458c: SLOAD
0000458d: SWAP1
0000458e: POP
0000458f: PUSH1 0x00
00004591: DUP5
00004592: PUSH1 0x00
00004594: ADD
00004595: PUSH1 0x00
00004597: DUP6
00004598: DUP2
00004599: MSTORE
0000459a: PUSH1 0x20
0000459c: ADD
0000459d: SWAP1
0000459e: DUP2
0000459f: MSTORE
000045a0: PUSH1 0x20
000045a2: ADD
000045a3: PUSH1 0x00
000045a5: KECCAK256
000045a6: SLOAD
000045a7: SWAP1
000045a8: POP
000045a9: DUP1
000045aa: DUP6
000045ab: PUSH1 0x00
000045ad: ADD
000045ae: PUSH1 0x00
000045b0: DUP5
000045b1: DUP2
000045b2: MSTORE
000045b3: PUSH1 0x20
000045b5: ADD
000045b6: SWAP1
000045b7: DUP2
000045b8: MSTORE
000045b9: PUSH1 0x20
000045bb: ADD
000045bc: PUSH1 0x00
000045be: KECCAK256
000045bf: DUP2
000045c0: SWAP1
000045c1: SSTORE
000045c2: POP
000045c3: DUP2
000045c4: DUP6
000045c5: PUSH1 0x01
000045c7: ADD
000045c8: PUSH1 0x00
000045ca: DUP4
000045cb: DUP2
000045cc: MSTORE
000045cd: PUSH1 0x20
000045cf: ADD
000045d0: SWAP1
000045d1: DUP2
000045d2: MSTORE
000045d3: PUSH1 0x20
000045d5: ADD
000045d6: PUSH1 0x00
000045d8: KECCAK256
000045d9: DUP2
000045da: SWAP1
000045db: SSTORE
000045dc: POP
000045dd: PUSH1 0x00
000045df: DUP1
000045e0: SHL
000045e1: DUP6
000045e2: PUSH1 0x00
000045e4: ADD
000045e5: PUSH1 0x00
000045e7: DUP7
000045e8: DUP2
000045e9: MSTORE
000045ea: PUSH1 0x20
000045ec: ADD
000045ed: SWAP1
000045ee: DUP2
000045ef: MSTORE
000045f0: PUSH1 0x20
000045f2: ADD
000045f3: PUSH1 0x00
000045f5: KECCAK256
000045f6: DUP2
000045f7: SWAP1
000045f8: SSTORE
000045f9: POP
000045fa: PUSH1 0x01
000045fc: SWAP3
000045fd: POP
000045fe: POP
000045ff: POP
00004600: JUMPDEST
00004601: SWAP3
00004602: SWAP2
00004603: POP
00004604: POP
00004605: JUMP
00004606: JUMPDEST
00004607: PUSH2 0x46a3
0000460a: DUP4
0000460b: PUSH4 0xa9059cbb
00004610: PUSH1 0xe0
00004612: SHL
00004613: DUP5
00004614: DUP5
00004615: PUSH1 0x40
00004617: MLOAD
00004618: PUSH1 0x24
0000461a: ADD
0000461b: DUP1
0000461c: DUP4
0000461d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004632: AND
00004633: DUP2
00004634: MSTORE
00004635: PUSH1 0x20
00004637: ADD
00004638: DUP3
00004639: DUP2
0000463a: MSTORE
0000463b: PUSH1 0x20
0000463d: ADD
0000463e: SWAP3
0000463f: POP
00004640: POP
00004641: POP
00004642: PUSH1 0x40
00004644: MLOAD
00004645: PUSH1 0x20
00004647: DUP2
00004648: DUP4
00004649: SUB
0000464a: SUB
0000464b: DUP2
0000464c: MSTORE
0000464d: SWAP1
0000464e: PUSH1 0x40
00004650: MSTORE
00004651: SWAP1
00004652: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000466f: NOT
00004670: AND
00004671: PUSH1 0x20
00004673: DUP3
00004674: ADD
00004675: DUP1
00004676: MLOAD
00004677: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004694: DUP4
00004695: DUP2
00004696: DUP4
00004697: AND
00004698: OR
00004699: DUP4
0000469a: MSTORE
0000469b: POP
0000469c: POP
0000469d: POP
0000469e: POP
0000469f: PUSH2 0x4d86
000046a2: JUMP
000046a3: JUMPDEST
000046a4: POP
000046a5: POP
000046a6: POP
000046a7: JUMP
000046a8: JUMPDEST
000046a9: PUSH1 0x00
000046ab: DUP1
000046ac: PUSH1 0x03
000046ae: PUSH1 0x00
000046b0: DUP11
000046b1: DUP2
000046b2: MSTORE
000046b3: PUSH1 0x20
000046b5: ADD
000046b6: SWAP1
000046b7: DUP2
000046b8: MSTORE
000046b9: PUSH1 0x20
000046bb: ADD
000046bc: PUSH1 0x00
000046be: KECCAK256
000046bf: PUSH1 0x00
000046c1: SWAP1
000046c2: SLOAD
000046c3: SWAP1
000046c4: PUSH2 0x0100
000046c7: EXP
000046c8: SWAP1
000046c9: DIV
000046ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000046df: AND
000046e0: SWAP1
000046e1: POP
000046e2: PUSH1 0x00
000046e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000046f9: AND
000046fa: DUP2
000046fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004710: AND
00004711: EQ
00004712: PUSH2 0x48ad
00004715: JUMPI
00004716: PUSH4 0x19a05a7e
0000471b: PUSH1 0xe0
0000471d: SHL
0000471e: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000473b: NOT
0000473c: AND
0000473d: DUP2
0000473e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004753: AND
00004754: PUSH4 0x19a05a7e
00004759: DUP6
0000475a: DUP13
0000475b: DUP10
0000475c: DUP10
0000475d: PUSH1 0x40
0000475f: MLOAD
00004760: DUP6
00004761: PUSH4 0xffffffff
00004766: AND
00004767: PUSH1 0xe0
00004769: SHL
0000476a: DUP2
0000476b: MSTORE
0000476c: PUSH1 0x04
0000476e: ADD
0000476f: DUP1
00004770: DUP6
00004771: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004786: AND
00004787: DUP2
00004788: MSTORE
00004789: PUSH1 0x20
0000478b: ADD
0000478c: DUP5
0000478d: DUP2
0000478e: MSTORE
0000478f: PUSH1 0x20
00004791: ADD
00004792: DUP1
00004793: PUSH1 0x20
00004795: ADD
00004796: DUP3
00004797: DUP2
00004798: SUB
00004799: DUP3
0000479a: MSTORE
0000479b: DUP5
0000479c: DUP5
0000479d: DUP3
0000479e: DUP2
0000479f: DUP2
000047a0: MSTORE
000047a1: PUSH1 0x20
000047a3: ADD
000047a4: SWAP3
000047a5: POP
000047a6: DUP1
000047a7: DUP3
000047a8: DUP5
000047a9: CALLDATACOPY
000047aa: PUSH1 0x00
000047ac: DUP2
000047ad: DUP5
000047ae: ADD
000047af: MSTORE
000047b0: PUSH1 0x1f
000047b2: NOT
000047b3: PUSH1 0x1f
000047b5: DUP3
000047b6: ADD
000047b7: AND
000047b8: SWAP1
000047b9: POP
000047ba: DUP1
000047bb: DUP4
000047bc: ADD
000047bd: SWAP3
000047be: POP
000047bf: POP
000047c0: POP
000047c1: SWAP6
000047c2: POP
000047c3: POP
000047c4: POP
000047c5: POP
000047c6: POP
000047c7: POP
000047c8: PUSH1 0x20
000047ca: PUSH1 0x40
000047cc: MLOAD
000047cd: DUP1
000047ce: DUP4
000047cf: SUB
000047d0: DUP2
000047d1: DUP7
000047d2: DUP1
000047d3: EXTCODESIZE
000047d4: ISZERO
000047d5: DUP1
000047d6: ISZERO
000047d7: PUSH2 0x47df
000047da: JUMPI
000047db: PUSH1 0x00
000047dd: DUP1
000047de: REVERT
000047df: JUMPDEST
000047e0: POP
000047e1: GAS
000047e2: STATICCALL
000047e3: ISZERO
000047e4: DUP1
000047e5: ISZERO
000047e6: PUSH2 0x47f3
000047e9: JUMPI
000047ea: RETURNDATASIZE
000047eb: PUSH1 0x00
000047ed: DUP1
000047ee: RETURNDATACOPY
000047ef: RETURNDATASIZE
000047f0: PUSH1 0x00
000047f2: REVERT
000047f3: JUMPDEST
000047f4: POP
000047f5: POP
000047f6: POP
000047f7: POP
000047f8: PUSH1 0x40
000047fa: MLOAD
000047fb: RETURNDATASIZE
000047fc: PUSH1 0x20
000047fe: DUP2
000047ff: LT
00004800: ISZERO
00004801: PUSH2 0x4809
00004804: JUMPI
00004805: PUSH1 0x00
00004807: DUP1
00004808: REVERT
00004809: JUMPDEST
0000480a: DUP2
0000480b: ADD
0000480c: SWAP1
0000480d: DUP1
0000480e: DUP1
0000480f: MLOAD
00004810: SWAP1
00004811: PUSH1 0x20
00004813: ADD
00004814: SWAP1
00004815: SWAP3
00004816: SWAP2
00004817: SWAP1
00004818: POP
00004819: POP
0000481a: POP
0000481b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004838: NOT
00004839: AND
0000483a: EQ
0000483b: PUSH2 0x48ac
0000483e: JUMPI
0000483f: PUSH1 0x40
00004841: MLOAD
00004842: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004863: DUP2
00004864: MSTORE
00004865: PUSH1 0x04
00004867: ADD
00004868: DUP1
00004869: DUP1
0000486a: PUSH1 0x20
0000486c: ADD
0000486d: DUP3
0000486e: DUP2
0000486f: SUB
00004870: DUP3
00004871: MSTORE
00004872: PUSH1 0x1f
00004874: DUP2
00004875: MSTORE
00004876: PUSH1 0x20
00004878: ADD
00004879: DUP1
0000487a: PUSH32 0x75736572206e6f7420616c6c6f77656420746f20706c616365206f7264657200
0000489b: DUP2
0000489c: MSTORE
0000489d: POP
0000489e: PUSH1 0x20
000048a0: ADD
000048a1: SWAP2
000048a2: POP
000048a3: POP
000048a4: PUSH1 0x40
000048a6: MLOAD
000048a7: DUP1
000048a8: SWAP2
000048a9: SUB
000048aa: SWAP1
000048ab: REVERT
000048ac: JUMPDEST
000048ad: JUMPDEST
000048ae: POP
000048af: PUSH1 0x00
000048b1: DUP1
000048b2: PUSH2 0x48d0
000048b5: PUSH1 0x02
000048b7: PUSH1 0x00
000048b9: DUP13
000048ba: DUP2
000048bb: MSTORE
000048bc: PUSH1 0x20
000048be: ADD
000048bf: SWAP1
000048c0: DUP2
000048c1: MSTORE
000048c2: PUSH1 0x20
000048c4: ADD
000048c5: PUSH1 0x00
000048c7: KECCAK256
000048c8: PUSH1 0x04
000048ca: ADD
000048cb: SLOAD
000048cc: PUSH2 0x3e42
000048cf: JUMP
000048d0: JUMPDEST
000048d1: SWAP3
000048d2: POP
000048d3: SWAP3
000048d4: POP
000048d5: POP
000048d6: PUSH1 0x00
000048d8: JUMPDEST
000048d9: DUP10
000048da: MLOAD
000048db: DUP2
000048dc: LT
000048dd: ISZERO
000048de: PUSH2 0x49c8
000048e1: JUMPI
000048e2: PUSH2 0x4923
000048e5: DUP10
000048e6: DUP3
000048e7: DUP2
000048e8: MLOAD
000048e9: DUP2
000048ea: LT
000048eb: PUSH2 0x48f0
000048ee: JUMPI
000048ef: INVALID
000048f0: JUMPDEST
000048f1: PUSH1 0x20
000048f3: MUL
000048f4: PUSH1 0x20
000048f6: ADD
000048f7: ADD
000048f8: MLOAD
000048f9: PUSH12 0xffffffffffffffffffffffff
00004906: AND
00004907: DUP4
00004908: PUSH12 0xffffffffffffffffffffffff
00004915: AND
00004916: PUSH2 0x36c4
00004919: SWAP1
0000491a: SWAP2
0000491b: SWAP1
0000491c: PUSH4 0xffffffff
00004921: AND
00004922: JUMP
00004923: JUMPDEST
00004924: PUSH2 0x4965
00004927: DUP5
00004928: PUSH12 0xffffffffffffffffffffffff
00004935: AND
00004936: DUP13
00004937: DUP5
00004938: DUP2
00004939: MLOAD
0000493a: DUP2
0000493b: LT
0000493c: PUSH2 0x4941
0000493f: JUMPI
00004940: INVALID
00004941: JUMPDEST
00004942: PUSH1 0x20
00004944: MUL
00004945: PUSH1 0x20
00004947: ADD
00004948: ADD
00004949: MLOAD
0000494a: PUSH12 0xffffffffffffffffffffffff
00004957: AND
00004958: PUSH2 0x36c4
0000495b: SWAP1
0000495c: SWAP2
0000495d: SWAP1
0000495e: PUSH4 0xffffffff
00004963: AND
00004964: JUMP
00004965: JUMPDEST
00004966: LT
00004967: PUSH2 0x49bb
0000496a: JUMPI
0000496b: PUSH1 0x40
0000496d: MLOAD
0000496e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000498f: DUP2
00004990: MSTORE
00004991: PUSH1 0x04
00004993: ADD
00004994: DUP1
00004995: DUP1
00004996: PUSH1 0x20
00004998: ADD
00004999: DUP3
0000499a: DUP2
0000499b: SUB
0000499c: DUP3
0000499d: MSTORE
0000499e: PUSH1 0x29
000049a0: DUP2
000049a1: MSTORE
000049a2: PUSH1 0x20
000049a4: ADD
000049a5: DUP1
000049a6: PUSH2 0x5a9b
000049a9: PUSH1 0x29
000049ab: SWAP2
000049ac: CODECOPY
000049ad: PUSH1 0x40
000049af: ADD
000049b0: SWAP2
000049b1: POP
000049b2: POP
000049b3: PUSH1 0x40
000049b5: MLOAD
000049b6: DUP1
000049b7: SWAP2
000049b8: SUB
000049b9: SWAP1
000049ba: REVERT
000049bb: JUMPDEST
000049bc: DUP1
000049bd: DUP1
000049be: PUSH1 0x01
000049c0: ADD
000049c1: SWAP2
000049c2: POP
000049c3: POP
000049c4: PUSH2 0x48d8
000049c7: JUMP
000049c8: JUMPDEST
000049c9: POP
000049ca: POP
000049cb: POP
000049cc: PUSH1 0x00
000049ce: PUSH2 0x49d6
000049d1: DUP4
000049d2: PUSH2 0x1978
000049d5: JUMP
000049d6: JUMPDEST
000049d7: SWAP2
000049d8: POP
000049d9: PUSH1 0x00
000049db: PUSH1 0x02
000049dd: PUSH1 0x00
000049df: DUP12
000049e0: DUP2
000049e1: MSTORE
000049e2: PUSH1 0x20
000049e4: ADD
000049e5: SWAP1
000049e6: DUP2
000049e7: MSTORE
000049e8: PUSH1 0x20
000049ea: ADD
000049eb: PUSH1 0x00
000049ed: KECCAK256
000049ee: PUSH1 0x05
000049f0: ADD
000049f1: SLOAD
000049f2: SWAP1
000049f3: POP
000049f4: PUSH1 0x00
000049f6: JUMPDEST
000049f7: DUP10
000049f8: MLOAD
000049f9: DUP2
000049fa: LT
000049fb: ISZERO
000049fc: PUSH2 0x4c4f
000049ff: JUMPI
00004a00: PUSH1 0x00
00004a02: DUP11
00004a03: DUP3
00004a04: DUP2
00004a05: MLOAD
00004a06: DUP2
00004a07: LT
00004a08: PUSH2 0x4a0d
00004a0b: JUMPI
00004a0c: INVALID
00004a0d: JUMPDEST
00004a0e: PUSH1 0x20
00004a10: MUL
00004a11: PUSH1 0x20
00004a13: ADD
00004a14: ADD
00004a15: MLOAD
00004a16: PUSH12 0xffffffffffffffffffffffff
00004a23: AND
00004a24: GT
00004a25: PUSH2 0x4a79
00004a28: JUMPI
00004a29: PUSH1 0x40
00004a2b: MLOAD
00004a2c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004a4d: DUP2
00004a4e: MSTORE
00004a4f: PUSH1 0x04
00004a51: ADD
00004a52: DUP1
00004a53: DUP1
00004a54: PUSH1 0x20
00004a56: ADD
00004a57: DUP3
00004a58: DUP2
00004a59: SUB
00004a5a: DUP3
00004a5b: MSTORE
00004a5c: PUSH1 0x25
00004a5e: DUP2
00004a5f: MSTORE
00004a60: PUSH1 0x20
00004a62: ADD
00004a63: DUP1
00004a64: PUSH2 0x5895
00004a67: PUSH1 0x25
00004a69: SWAP2
00004a6a: CODECOPY
00004a6b: PUSH1 0x40
00004a6d: ADD
00004a6e: SWAP2
00004a6f: POP
00004a70: POP
00004a71: PUSH1 0x40
00004a73: MLOAD
00004a74: DUP1
00004a75: SWAP2
00004a76: SUB
00004a77: SWAP1
00004a78: REVERT
00004a79: JUMPDEST
00004a7a: DUP2
00004a7b: DUP10
00004a7c: DUP3
00004a7d: DUP2
00004a7e: MLOAD
00004a7f: DUP2
00004a80: LT
00004a81: PUSH2 0x4a86
00004a84: JUMPI
00004a85: INVALID
00004a86: JUMPDEST
00004a87: PUSH1 0x20
00004a89: MUL
00004a8a: PUSH1 0x20
00004a8c: ADD
00004a8d: ADD
00004a8e: MLOAD
00004a8f: PUSH12 0xffffffffffffffffffffffff
00004a9c: AND
00004a9d: GT
00004a9e: PUSH2 0x4b0f
00004aa1: JUMPI
00004aa2: PUSH1 0x40
00004aa4: MLOAD
00004aa5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004ac6: DUP2
00004ac7: MSTORE
00004ac8: PUSH1 0x04
00004aca: ADD
00004acb: DUP1
00004acc: DUP1
00004acd: PUSH1 0x20
00004acf: ADD
00004ad0: DUP3
00004ad1: DUP2
00004ad2: SUB
00004ad3: DUP3
00004ad4: MSTORE
00004ad5: PUSH1 0x0f
00004ad7: DUP2
00004ad8: MSTORE
00004ad9: PUSH1 0x20
00004adb: ADD
00004adc: DUP1
00004add: PUSH32 0x6f7264657220746f6f20736d616c6c0000000000000000000000000000000000
00004afe: DUP2
00004aff: MSTORE
00004b00: POP
00004b01: PUSH1 0x20
00004b03: ADD
00004b04: SWAP2
00004b05: POP
00004b06: POP
00004b07: PUSH1 0x40
00004b09: MLOAD
00004b0a: DUP1
00004b0b: SWAP2
00004b0c: SUB
00004b0d: SWAP1
00004b0e: REVERT
00004b0f: JUMPDEST
00004b10: PUSH2 0x4b79
00004b13: PUSH2 0x4b43
00004b16: DUP6
00004b17: DUP13
00004b18: DUP5
00004b19: DUP2
00004b1a: MLOAD
00004b1b: DUP2
00004b1c: LT
00004b1d: PUSH2 0x4b22
00004b20: JUMPI
00004b21: INVALID
00004b22: JUMPDEST
00004b23: PUSH1 0x20
00004b25: MUL
00004b26: PUSH1 0x20
00004b28: ADD
00004b29: ADD
00004b2a: MLOAD
00004b2b: DUP13
00004b2c: DUP6
00004b2d: DUP2
00004b2e: MLOAD
00004b2f: DUP2
00004b30: LT
00004b31: PUSH2 0x4b36
00004b34: JUMPI
00004b35: INVALID
00004b36: JUMPDEST
00004b37: PUSH1 0x20
00004b39: MUL
00004b3a: PUSH1 0x20
00004b3c: ADD
00004b3d: ADD
00004b3e: MLOAD
00004b3f: PUSH2 0x38da
00004b42: JUMP
00004b43: JUMPDEST
00004b44: DUP10
00004b45: DUP4
00004b46: DUP2
00004b47: MLOAD
00004b48: DUP2
00004b49: LT
00004b4a: PUSH2 0x4b4f
00004b4d: JUMPI
00004b4e: INVALID
00004b4f: JUMPDEST
00004b50: PUSH1 0x20
00004b52: MUL
00004b53: PUSH1 0x20
00004b55: ADD
00004b56: ADD
00004b57: MLOAD
00004b58: PUSH1 0x01
00004b5a: PUSH1 0x00
00004b5c: DUP16
00004b5d: DUP2
00004b5e: MSTORE
00004b5f: PUSH1 0x20
00004b61: ADD
00004b62: SWAP1
00004b63: DUP2
00004b64: MSTORE
00004b65: PUSH1 0x20
00004b67: ADD
00004b68: PUSH1 0x00
00004b6a: KECCAK256
00004b6b: PUSH2 0x5008
00004b6e: SWAP1
00004b6f: SWAP3
00004b70: SWAP2
00004b71: SWAP1
00004b72: PUSH4 0xffffffff
00004b77: AND
00004b78: JUMP
00004b79: JUMPDEST
00004b7a: ISZERO
00004b7b: PUSH2 0x4c42
00004b7e: JUMPI
00004b7f: PUSH2 0x4bb2
00004b82: DUP10
00004b83: DUP3
00004b84: DUP2
00004b85: MLOAD
00004b86: DUP2
00004b87: LT
00004b88: PUSH2 0x4b8d
00004b8b: JUMPI
00004b8c: INVALID
00004b8d: JUMPDEST
00004b8e: PUSH1 0x20
00004b90: MUL
00004b91: PUSH1 0x20
00004b93: ADD
00004b94: ADD
00004b95: MLOAD
00004b96: PUSH12 0xffffffffffffffffffffffff
00004ba3: AND
00004ba4: DUP5
00004ba5: PUSH2 0x363c
00004ba8: SWAP1
00004ba9: SWAP2
00004baa: SWAP1
00004bab: PUSH4 0xffffffff
00004bb0: AND
00004bb1: JUMP
00004bb2: JUMPDEST
00004bb3: SWAP3
00004bb4: POP
00004bb5: DUP4
00004bb6: PUSH8 0xffffffffffffffff
00004bbf: AND
00004bc0: DUP12
00004bc1: PUSH32 0x9304f2fc7ed6d42c0400e678dbc7283e1e9054889c3afea5f965adff66ef9eac
00004be2: DUP13
00004be3: DUP5
00004be4: DUP2
00004be5: MLOAD
00004be6: DUP2
00004be7: LT
00004be8: PUSH2 0x4bed
00004beb: JUMPI
00004bec: INVALID
00004bed: JUMPDEST
00004bee: PUSH1 0x20
00004bf0: MUL
00004bf1: PUSH1 0x20
00004bf3: ADD
00004bf4: ADD
00004bf5: MLOAD
00004bf6: DUP13
00004bf7: DUP6
00004bf8: DUP2
00004bf9: MLOAD
00004bfa: DUP2
00004bfb: LT
00004bfc: PUSH2 0x4c01
00004bff: JUMPI
00004c00: INVALID
00004c01: JUMPDEST
00004c02: PUSH1 0x20
00004c04: MUL
00004c05: PUSH1 0x20
00004c07: ADD
00004c08: ADD
00004c09: MLOAD
00004c0a: PUSH1 0x40
00004c0c: MLOAD
00004c0d: DUP1
00004c0e: DUP4
00004c0f: PUSH12 0xffffffffffffffffffffffff
00004c1c: AND
00004c1d: DUP2
00004c1e: MSTORE
00004c1f: PUSH1 0x20
00004c21: ADD
00004c22: DUP3
00004c23: PUSH12 0xffffffffffffffffffffffff
00004c30: AND
00004c31: DUP2
00004c32: MSTORE
00004c33: PUSH1 0x20
00004c35: ADD
00004c36: SWAP3
00004c37: POP
00004c38: POP
00004c39: POP
00004c3a: PUSH1 0x40
00004c3c: MLOAD
00004c3d: DUP1
00004c3e: SWAP2
00004c3f: SUB
00004c40: SWAP1
00004c41: LOG3
00004c42: JUMPDEST
00004c43: DUP1
00004c44: DUP1
00004c45: PUSH1 0x01
00004c47: ADD
00004c48: SWAP2
00004c49: POP
00004c4a: POP
00004c4b: PUSH2 0x49f6
00004c4e: JUMP
00004c4f: JUMPDEST
00004c50: POP
00004c51: PUSH2 0x4cb3
00004c54: CALLER
00004c55: ADDRESS
00004c56: DUP5
00004c57: PUSH1 0x02
00004c59: PUSH1 0x00
00004c5b: DUP16
00004c5c: DUP2
00004c5d: MSTORE
00004c5e: PUSH1 0x20
00004c60: ADD
00004c61: SWAP1
00004c62: DUP2
00004c63: MSTORE
00004c64: PUSH1 0x20
00004c66: ADD
00004c67: PUSH1 0x00
00004c69: KECCAK256
00004c6a: PUSH1 0x01
00004c6c: ADD
00004c6d: PUSH1 0x00
00004c6f: SWAP1
00004c70: SLOAD
00004c71: SWAP1
00004c72: PUSH2 0x0100
00004c75: EXP
00004c76: SWAP1
00004c77: DIV
00004c78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c8d: AND
00004c8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004ca3: AND
00004ca4: PUSH2 0x3794
00004ca7: SWAP1
00004ca8: SWAP4
00004ca9: SWAP3
00004caa: SWAP2
00004cab: SWAP1
00004cac: PUSH4 0xffffffff
00004cb1: AND
00004cb2: JUMP
00004cb3: JUMPDEST
00004cb4: POP
00004cb5: POP
00004cb6: SWAP8
00004cb7: SWAP7
00004cb8: POP
00004cb9: POP
00004cba: POP
00004cbb: POP
00004cbc: POP
00004cbd: POP
00004cbe: POP
00004cbf: JUMP
00004cc0: JUMPDEST
00004cc1: PUSH1 0x00
00004cc3: DUP1
00004cc4: DUP4
00004cc5: GT
00004cc6: DUP3
00004cc7: SWAP1
00004cc8: PUSH2 0x4d6c
00004ccb: JUMPI
00004ccc: PUSH1 0x40
00004cce: MLOAD
00004ccf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004cf0: DUP2
00004cf1: MSTORE
00004cf2: PUSH1 0x04
00004cf4: ADD
00004cf5: DUP1
00004cf6: DUP1
00004cf7: PUSH1 0x20
00004cf9: ADD
00004cfa: DUP3
00004cfb: DUP2
00004cfc: SUB
00004cfd: DUP3
00004cfe: MSTORE
00004cff: DUP4
00004d00: DUP2
00004d01: DUP2
00004d02: MLOAD
00004d03: DUP2
00004d04: MSTORE
00004d05: PUSH1 0x20
00004d07: ADD
00004d08: SWAP2
00004d09: POP
00004d0a: DUP1
00004d0b: MLOAD
00004d0c: SWAP1
00004d0d: PUSH1 0x20
00004d0f: ADD
00004d10: SWAP1
00004d11: DUP1
00004d12: DUP4
00004d13: DUP4
00004d14: PUSH1 0x00
00004d16: JUMPDEST
00004d17: DUP4
00004d18: DUP2
00004d19: LT
00004d1a: ISZERO
00004d1b: PUSH2 0x4d31
00004d1e: JUMPI
00004d1f: DUP1
00004d20: DUP3
00004d21: ADD
00004d22: MLOAD
00004d23: DUP2
00004d24: DUP5
00004d25: ADD
00004d26: MSTORE
00004d27: PUSH1 0x20
00004d29: DUP2
00004d2a: ADD
00004d2b: SWAP1
00004d2c: POP
00004d2d: PUSH2 0x4d16
00004d30: JUMP
00004d31: JUMPDEST
00004d32: POP
00004d33: POP
00004d34: POP
00004d35: POP
00004d36: SWAP1
00004d37: POP
00004d38: SWAP1
00004d39: DUP2
00004d3a: ADD
00004d3b: SWAP1
00004d3c: PUSH1 0x1f
00004d3e: AND
00004d3f: DUP1
00004d40: ISZERO
00004d41: PUSH2 0x4d5e
00004d44: JUMPI
00004d45: DUP1
00004d46: DUP3
00004d47: SUB
00004d48: DUP1
00004d49: MLOAD
00004d4a: PUSH1 0x01
00004d4c: DUP4
00004d4d: PUSH1 0x20
00004d4f: SUB
00004d50: PUSH2 0x0100
00004d53: EXP
00004d54: SUB
00004d55: NOT
00004d56: AND
00004d57: DUP2
00004d58: MSTORE
00004d59: PUSH1 0x20
00004d5b: ADD
00004d5c: SWAP2
00004d5d: POP
00004d5e: JUMPDEST
00004d5f: POP
00004d60: SWAP3
00004d61: POP
00004d62: POP
00004d63: POP
00004d64: PUSH1 0x40
00004d66: MLOAD
00004d67: DUP1
00004d68: SWAP2
00004d69: SUB
00004d6a: SWAP1
00004d6b: REVERT
00004d6c: JUMPDEST
00004d6d: POP
00004d6e: PUSH1 0x00
00004d70: DUP4
00004d71: DUP6
00004d72: DUP2
00004d73: PUSH2 0x4d78
00004d76: JUMPI
00004d77: INVALID
00004d78: JUMPDEST
00004d79: DIV
00004d7a: SWAP1
00004d7b: POP
00004d7c: DUP1
00004d7d: SWAP2
00004d7e: POP
00004d7f: POP
00004d80: SWAP4
00004d81: SWAP3
00004d82: POP
00004d83: POP
00004d84: POP
00004d85: JUMP
00004d86: JUMPDEST
00004d87: PUSH1 0x60
00004d89: PUSH2 0x4de8
00004d8c: DUP3
00004d8d: PUSH1 0x40
00004d8f: MLOAD
00004d90: DUP1
00004d91: PUSH1 0x40
00004d93: ADD
00004d94: PUSH1 0x40
00004d96: MSTORE
00004d97: DUP1
00004d98: PUSH1 0x20
00004d9a: DUP2
00004d9b: MSTORE
00004d9c: PUSH1 0x20
00004d9e: ADD
00004d9f: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00004dc0: DUP2
00004dc1: MSTORE
00004dc2: POP
00004dc3: DUP6
00004dc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004dd9: AND
00004dda: PUSH2 0x52b6
00004ddd: SWAP1
00004dde: SWAP3
00004ddf: SWAP2
00004de0: SWAP1
00004de1: PUSH4 0xffffffff
00004de6: AND
00004de7: JUMP
00004de8: JUMPDEST
00004de9: SWAP1
00004dea: POP
00004deb: PUSH1 0x00
00004ded: DUP2
00004dee: MLOAD
00004def: GT
00004df0: ISZERO
00004df1: PUSH2 0x4e70
00004df4: JUMPI
00004df5: DUP1
00004df6: DUP1
00004df7: PUSH1 0x20
00004df9: ADD
00004dfa: SWAP1
00004dfb: MLOAD
00004dfc: PUSH1 0x20
00004dfe: DUP2
00004dff: LT
00004e00: ISZERO
00004e01: PUSH2 0x4e09
00004e04: JUMPI
00004e05: PUSH1 0x00
00004e07: DUP1
00004e08: REVERT
00004e09: JUMPDEST
00004e0a: DUP2
00004e0b: ADD
00004e0c: SWAP1
00004e0d: DUP1
00004e0e: DUP1
00004e0f: MLOAD
00004e10: SWAP1
00004e11: PUSH1 0x20
00004e13: ADD
00004e14: SWAP1
00004e15: SWAP3
00004e16: SWAP2
00004e17: SWAP1
00004e18: POP
00004e19: POP
00004e1a: POP
00004e1b: PUSH2 0x4e6f
00004e1e: JUMPI
00004e1f: PUSH1 0x40
00004e21: MLOAD
00004e22: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004e43: DUP2
00004e44: MSTORE
00004e45: PUSH1 0x04
00004e47: ADD
00004e48: DUP1
00004e49: DUP1
00004e4a: PUSH1 0x20
00004e4c: ADD
00004e4d: DUP3
00004e4e: DUP2
00004e4f: SUB
00004e50: DUP3
00004e51: MSTORE
00004e52: PUSH1 0x2a
00004e54: DUP2
00004e55: MSTORE
00004e56: PUSH1 0x20
00004e58: ADD
00004e59: DUP1
00004e5a: PUSH2 0x5aed
00004e5d: PUSH1 0x2a
00004e5f: SWAP2
00004e60: CODECOPY
00004e61: PUSH1 0x40
00004e63: ADD
00004e64: SWAP2
00004e65: POP
00004e66: POP
00004e67: PUSH1 0x40
00004e69: MLOAD
00004e6a: DUP1
00004e6b: SWAP2
00004e6c: SUB
00004e6d: SWAP1
00004e6e: REVERT
00004e6f: JUMPDEST
00004e70: JUMPDEST
00004e71: POP
00004e72: POP
00004e73: POP
00004e74: JUMP
00004e75: JUMPDEST
00004e76: PUSH1 0x00
00004e78: DUP4
00004e79: DUP4
00004e7a: GT
00004e7b: ISZERO
00004e7c: DUP3
00004e7d: SWAP1
00004e7e: PUSH2 0x4f22
00004e81: JUMPI
00004e82: PUSH1 0x40
00004e84: MLOAD
00004e85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004ea6: DUP2
00004ea7: MSTORE
00004ea8: PUSH1 0x04
00004eaa: ADD
00004eab: DUP1
00004eac: DUP1
00004ead: PUSH1 0x20
00004eaf: ADD
00004eb0: DUP3
00004eb1: DUP2
00004eb2: SUB
00004eb3: DUP3
00004eb4: MSTORE
00004eb5: DUP4
00004eb6: DUP2
00004eb7: DUP2
00004eb8: MLOAD
00004eb9: DUP2
00004eba: MSTORE
00004ebb: PUSH1 0x20
00004ebd: ADD
00004ebe: SWAP2
00004ebf: POP
00004ec0: DUP1
00004ec1: MLOAD
00004ec2: SWAP1
00004ec3: PUSH1 0x20
00004ec5: ADD
00004ec6: SWAP1
00004ec7: DUP1
00004ec8: DUP4
00004ec9: DUP4
00004eca: PUSH1 0x00
00004ecc: JUMPDEST
00004ecd: DUP4
00004ece: DUP2
00004ecf: LT
00004ed0: ISZERO
00004ed1: PUSH2 0x4ee7
00004ed4: JUMPI
00004ed5: DUP1
00004ed6: DUP3
00004ed7: ADD
00004ed8: MLOAD
00004ed9: DUP2
00004eda: DUP5
00004edb: ADD
00004edc: MSTORE
00004edd: PUSH1 0x20
00004edf: DUP2
00004ee0: ADD
00004ee1: SWAP1
00004ee2: POP
00004ee3: PUSH2 0x4ecc
00004ee6: JUMP
00004ee7: JUMPDEST
00004ee8: POP
00004ee9: POP
00004eea: POP
00004eeb: POP
00004eec: SWAP1
00004eed: POP
00004eee: SWAP1
00004eef: DUP2
00004ef0: ADD
00004ef1: SWAP1
00004ef2: PUSH1 0x1f
00004ef4: AND
00004ef5: DUP1
00004ef6: ISZERO
00004ef7: PUSH2 0x4f14
00004efa: JUMPI
00004efb: DUP1
00004efc: DUP3
00004efd: SUB
00004efe: DUP1
00004eff: MLOAD
00004f00: PUSH1 0x01
00004f02: DUP4
00004f03: PUSH1 0x20
00004f05: SUB
00004f06: PUSH2 0x0100
00004f09: EXP
00004f0a: SUB
00004f0b: NOT
00004f0c: AND
00004f0d: DUP2
00004f0e: MSTORE
00004f0f: PUSH1 0x20
00004f11: ADD
00004f12: SWAP2
00004f13: POP
00004f14: JUMPDEST
00004f15: POP
00004f16: SWAP3
00004f17: POP
00004f18: POP
00004f19: POP
00004f1a: PUSH1 0x40
00004f1c: MLOAD
00004f1d: DUP1
00004f1e: SWAP2
00004f1f: SUB
00004f20: SWAP1
00004f21: REVERT
00004f22: JUMPDEST
00004f23: POP
00004f24: PUSH1 0x00
00004f26: DUP4
00004f27: DUP6
00004f28: SUB
00004f29: SWAP1
00004f2a: POP
00004f2b: DUP1
00004f2c: SWAP2
00004f2d: POP
00004f2e: POP
00004f2f: SWAP4
00004f30: SWAP3
00004f31: POP
00004f32: POP
00004f33: POP
00004f34: JUMP
00004f35: JUMPDEST
00004f36: PUSH1 0x00
00004f38: PUSH2 0x4f41
00004f3b: DUP4
00004f3c: DUP4
00004f3d: PUSH2 0x52ce
00004f40: JUMP
00004f41: JUMPDEST
00004f42: PUSH2 0x4fb3
00004f45: JUMPI
00004f46: PUSH1 0x40
00004f48: MLOAD
00004f49: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004f6a: DUP2
00004f6b: MSTORE
00004f6c: PUSH1 0x04
00004f6e: ADD
00004f6f: DUP1
00004f70: DUP1
00004f71: PUSH1 0x20
00004f73: ADD
00004f74: DUP3
00004f75: DUP2
00004f76: SUB
00004f77: DUP3
00004f78: MSTORE
00004f79: PUSH1 0x1b
00004f7b: DUP2
00004f7c: MSTORE
00004f7d: PUSH1 0x20
00004f7f: ADD
00004f80: DUP1
00004f81: PUSH32 0x4d757374206861766520494420746f2067657420416464726573730000000000
00004fa2: DUP2
00004fa3: MSTORE
00004fa4: POP
00004fa5: PUSH1 0x20
00004fa7: ADD
00004fa8: SWAP2
00004fa9: POP
00004faa: POP
00004fab: PUSH1 0x40
00004fad: MLOAD
00004fae: DUP1
00004faf: SWAP2
00004fb0: SUB
00004fb1: SWAP1
00004fb2: REVERT
00004fb3: JUMPDEST
00004fb4: DUP3
00004fb5: PUSH1 0x00
00004fb7: ADD
00004fb8: PUSH1 0x00
00004fba: PUSH1 0x01
00004fbc: DUP5
00004fbd: ADD
00004fbe: PUSH8 0xffffffffffffffff
00004fc7: AND
00004fc8: PUSH8 0xffffffffffffffff
00004fd1: AND
00004fd2: DUP2
00004fd3: MSTORE
00004fd4: PUSH1 0x20
00004fd6: ADD
00004fd7: SWAP1
00004fd8: DUP2
00004fd9: MSTORE
00004fda: PUSH1 0x20
00004fdc: ADD
00004fdd: PUSH1 0x00
00004fdf: KECCAK256
00004fe0: PUSH1 0x00
00004fe2: SWAP1
00004fe3: SLOAD
00004fe4: SWAP1
00004fe5: PUSH2 0x0100
00004fe8: EXP
00004fe9: SWAP1
00004fea: DIV
00004feb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005000: AND
00005001: SWAP1
00005002: POP
00005003: SWAP3
00005004: SWAP2
00005005: POP
00005006: POP
00005007: JUMP
00005008: JUMPDEST
00005009: PUSH1 0x00
0000500b: DUP1
0000500c: PUSH2 0x5014
0000500f: DUP5
00005010: PUSH2 0x3e42
00005013: JUMP
00005014: JUMPDEST
00005015: SWAP3
00005016: POP
00005017: POP
00005018: POP
00005019: PUSH1 0x00
0000501b: PUSH12 0xffffffffffffffffffffffff
00005028: AND
00005029: DUP2
0000502a: PUSH12 0xffffffffffffffffffffffff
00005037: AND
00005038: EQ
00005039: ISZERO
0000503a: PUSH2 0x50ab
0000503d: JUMPI
0000503e: PUSH1 0x40
00005040: MLOAD
00005041: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005062: DUP2
00005063: MSTORE
00005064: PUSH1 0x04
00005066: ADD
00005067: DUP1
00005068: DUP1
00005069: PUSH1 0x20
0000506b: ADD
0000506c: DUP3
0000506d: DUP2
0000506e: SUB
0000506f: DUP3
00005070: MSTORE
00005071: PUSH1 0x1f
00005073: DUP2
00005074: MSTORE
00005075: PUSH1 0x20
00005077: ADD
00005078: DUP1
00005079: PUSH32 0x496e73657274696e67207a65726f206973206e6f7420737570706f7274656400
0000509a: DUP2
0000509b: MSTORE
0000509c: POP
0000509d: PUSH1 0x20
0000509f: ADD
000050a0: SWAP2
000050a1: POP
000050a2: POP
000050a3: PUSH1 0x40
000050a5: MLOAD
000050a6: DUP1
000050a7: SWAP2
000050a8: SUB
000050a9: SWAP1
000050aa: REVERT
000050ab: JUMPDEST
000050ac: PUSH1 0x01
000050ae: PUSH1 0x00
000050b0: SHL
000050b1: DUP5
000050b2: EQ
000050b3: ISZERO
000050b4: DUP1
000050b5: ISZERO
000050b6: PUSH2 0x50e2
000050b9: JUMPI
000050ba: POP
000050bb: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001
000050dc: PUSH1 0x00
000050de: SHL
000050df: DUP5
000050e0: EQ
000050e1: ISZERO
000050e2: JUMPDEST
000050e3: PUSH2 0x5154
000050e6: JUMPI
000050e7: PUSH1 0x40
000050e9: MLOAD
000050ea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000510b: DUP2
0000510c: MSTORE
0000510d: PUSH1 0x04
0000510f: ADD
00005110: DUP1
00005111: DUP1
00005112: PUSH1 0x20
00005114: ADD
00005115: DUP3
00005116: DUP2
00005117: SUB
00005118: DUP3
00005119: MSTORE
0000511a: PUSH1 0x1e
0000511c: DUP2
0000511d: MSTORE
0000511e: PUSH1 0x20
00005120: ADD
00005121: DUP1
00005122: PUSH32 0x496e73657274696e6720656c656d656e74206973206e6f742076616c69640000
00005143: DUP2
00005144: MSTORE
00005145: POP
00005146: PUSH1 0x20
00005148: ADD
00005149: SWAP2
0000514a: POP
0000514b: POP
0000514c: PUSH1 0x40
0000514e: MLOAD
0000514f: DUP1
00005150: SWAP2
00005151: SUB
00005152: SWAP1
00005153: REVERT
00005154: JUMPDEST
00005155: PUSH2 0x515e
00005158: DUP6
00005159: DUP6
0000515a: PUSH2 0x41cf
0000515d: JUMP
0000515e: JUMPDEST
0000515f: ISZERO
00005160: PUSH2 0x516d
00005163: JUMPI
00005164: PUSH1 0x00
00005166: SWAP2
00005167: POP
00005168: POP
00005169: PUSH2 0x52af
0000516c: JUMP
0000516d: JUMPDEST
0000516e: PUSH1 0x01
00005170: PUSH1 0x00
00005172: SHL
00005173: DUP4
00005174: EQ
00005175: ISZERO
00005176: DUP1
00005177: ISZERO
00005178: PUSH2 0x5198
0000517b: JUMPI
0000517c: POP
0000517d: PUSH1 0x00
0000517f: DUP1
00005180: SHL
00005181: DUP6
00005182: PUSH1 0x01
00005184: ADD
00005185: PUSH1 0x00
00005187: DUP6
00005188: DUP2
00005189: MSTORE
0000518a: PUSH1 0x20
0000518c: ADD
0000518d: SWAP1
0000518e: DUP2
0000518f: MSTORE
00005190: PUSH1 0x20
00005192: ADD
00005193: PUSH1 0x00
00005195: KECCAK256
00005196: SLOAD
00005197: EQ
00005198: JUMPDEST
00005199: ISZERO
0000519a: PUSH2 0x51a7
0000519d: JUMPI
0000519e: PUSH1 0x00
000051a0: SWAP2
000051a1: POP
000051a2: POP
000051a3: PUSH2 0x52af
000051a6: JUMP
000051a7: JUMPDEST
000051a8: PUSH2 0x51ba
000051ab: DUP5
000051ac: DUP5
000051ad: PUSH2 0x4248
000051b0: SWAP1
000051b1: SWAP2
000051b2: SWAP1
000051b3: PUSH4 0xffffffff
000051b8: AND
000051b9: JUMP
000051ba: JUMPDEST
000051bb: PUSH2 0x51c8
000051be: JUMPI
000051bf: PUSH1 0x00
000051c1: SWAP2
000051c2: POP
000051c3: POP
000051c4: PUSH2 0x52af
000051c7: JUMP
000051c8: JUMPDEST
000051c9: JUMPDEST
000051ca: PUSH1 0x00
000051cc: DUP1
000051cd: SHL
000051ce: DUP6
000051cf: PUSH1 0x00
000051d1: ADD
000051d2: PUSH1 0x00
000051d4: DUP6
000051d5: DUP2
000051d6: MSTORE
000051d7: PUSH1 0x20
000051d9: ADD
000051da: SWAP1
000051db: DUP2
000051dc: MSTORE
000051dd: PUSH1 0x20
000051df: ADD
000051e0: PUSH1 0x00
000051e2: KECCAK256
000051e3: SLOAD
000051e4: EQ
000051e5: ISZERO
000051e6: PUSH2 0x5206
000051e9: JUMPI
000051ea: DUP5
000051eb: PUSH1 0x01
000051ed: ADD
000051ee: PUSH1 0x00
000051f0: DUP5
000051f1: DUP2
000051f2: MSTORE
000051f3: PUSH1 0x20
000051f5: ADD
000051f6: SWAP1
000051f7: DUP2
000051f8: MSTORE
000051f9: PUSH1 0x20
000051fb: ADD
000051fc: PUSH1 0x00
000051fe: KECCAK256
000051ff: SLOAD
00005200: SWAP3
00005201: POP
00005202: PUSH2 0x51c9
00005205: JUMP
00005206: JUMPDEST
00005207: PUSH1 0x00
00005209: DUP1
0000520a: DUP5
0000520b: SWAP1
0000520c: POP
0000520d: JUMPDEST
0000520e: DUP1
0000520f: SWAP2
00005210: POP
00005211: DUP7
00005212: PUSH1 0x00
00005214: ADD
00005215: PUSH1 0x00
00005217: DUP3
00005218: DUP2
00005219: MSTORE
0000521a: PUSH1 0x20
0000521c: ADD
0000521d: SWAP1
0000521e: DUP2
0000521f: MSTORE
00005220: PUSH1 0x20
00005222: ADD
00005223: PUSH1 0x00
00005225: KECCAK256
00005226: SLOAD
00005227: SWAP1
00005228: POP
00005229: PUSH2 0x523b
0000522c: DUP7
0000522d: DUP3
0000522e: PUSH2 0x4248
00005231: SWAP1
00005232: SWAP2
00005233: SWAP1
00005234: PUSH4 0xffffffff
00005239: AND
0000523a: JUMP
0000523b: JUMPDEST
0000523c: PUSH2 0x520d
0000523f: JUMPI
00005240: DUP6
00005241: DUP8
00005242: PUSH1 0x00
00005244: ADD
00005245: PUSH1 0x00
00005247: DUP5
00005248: DUP2
00005249: MSTORE
0000524a: PUSH1 0x20
0000524c: ADD
0000524d: SWAP1
0000524e: DUP2
0000524f: MSTORE
00005250: PUSH1 0x20
00005252: ADD
00005253: PUSH1 0x00
00005255: KECCAK256
00005256: DUP2
00005257: SWAP1
00005258: SSTORE
00005259: POP
0000525a: DUP6
0000525b: DUP8
0000525c: PUSH1 0x01
0000525e: ADD
0000525f: PUSH1 0x00
00005261: DUP4
00005262: DUP2
00005263: MSTORE
00005264: PUSH1 0x20
00005266: ADD
00005267: SWAP1
00005268: DUP2
00005269: MSTORE
0000526a: PUSH1 0x20
0000526c: ADD
0000526d: PUSH1 0x00
0000526f: KECCAK256
00005270: DUP2
00005271: SWAP1
00005272: SSTORE
00005273: POP
00005274: DUP2
00005275: DUP8
00005276: PUSH1 0x01
00005278: ADD
00005279: PUSH1 0x00
0000527b: DUP9
0000527c: DUP2
0000527d: MSTORE
0000527e: PUSH1 0x20
00005280: ADD
00005281: SWAP1
00005282: DUP2
00005283: MSTORE
00005284: PUSH1 0x20
00005286: ADD
00005287: PUSH1 0x00
00005289: KECCAK256
0000528a: DUP2
0000528b: SWAP1
0000528c: SSTORE
0000528d: POP
0000528e: DUP1
0000528f: DUP8
00005290: PUSH1 0x00
00005292: ADD
00005293: PUSH1 0x00
00005295: DUP9
00005296: DUP2
00005297: MSTORE
00005298: PUSH1 0x20
0000529a: ADD
0000529b: SWAP1
0000529c: DUP2
0000529d: MSTORE
0000529e: PUSH1 0x20
000052a0: ADD
000052a1: PUSH1 0x00
000052a3: KECCAK256
000052a4: DUP2
000052a5: SWAP1
000052a6: SSTORE
000052a7: POP
000052a8: PUSH1 0x01
000052aa: SWAP4
000052ab: POP
000052ac: POP
000052ad: POP
000052ae: POP
000052af: JUMPDEST
000052b0: SWAP4
000052b1: SWAP3
000052b2: POP
000052b3: POP
000052b4: POP
000052b5: JUMP
000052b6: JUMPDEST
000052b7: PUSH1 0x60
000052b9: PUSH2 0x52c5
000052bc: DUP5
000052bd: DUP5
000052be: PUSH1 0x00
000052c0: DUP6
000052c1: PUSH2 0x5354
000052c4: JUMP
000052c5: JUMPDEST
000052c6: SWAP1
000052c7: POP
000052c8: SWAP4
000052c9: SWAP3
000052ca: POP
000052cb: POP
000052cc: POP
000052cd: JUMP
000052ce: JUMPDEST
000052cf: PUSH1 0x00
000052d1: DUP1
000052d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000052e7: AND
000052e8: DUP4
000052e9: PUSH1 0x00
000052eb: ADD
000052ec: PUSH1 0x00
000052ee: PUSH1 0x01
000052f0: DUP6
000052f1: ADD
000052f2: PUSH8 0xffffffffffffffff
000052fb: AND
000052fc: PUSH8 0xffffffffffffffff
00005305: AND
00005306: DUP2
00005307: MSTORE
00005308: PUSH1 0x20
0000530a: ADD
0000530b: SWAP1
0000530c: DUP2
0000530d: MSTORE
0000530e: PUSH1 0x20
00005310: ADD
00005311: PUSH1 0x00
00005313: KECCAK256
00005314: PUSH1 0x00
00005316: SWAP1
00005317: SLOAD
00005318: SWAP1
00005319: PUSH2 0x0100
0000531c: EXP
0000531d: SWAP1
0000531e: DIV
0000531f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005334: AND
00005335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000534a: AND
0000534b: EQ
0000534c: ISZERO
0000534d: SWAP1
0000534e: POP
0000534f: SWAP3
00005350: SWAP2
00005351: POP
00005352: POP
00005353: JUMP
00005354: JUMPDEST
00005355: PUSH1 0x60
00005357: DUP3
00005358: SELFBALANCE
00005359: LT
0000535a: ISZERO
0000535b: PUSH2 0x53af
0000535e: JUMPI
0000535f: PUSH1 0x40
00005361: MLOAD
00005362: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005383: DUP2
00005384: MSTORE
00005385: PUSH1 0x04
00005387: ADD
00005388: DUP1
00005389: DUP1
0000538a: PUSH1 0x20
0000538c: ADD
0000538d: DUP3
0000538e: DUP2
0000538f: SUB
00005390: DUP3
00005391: MSTORE
00005392: PUSH1 0x26
00005394: DUP2
00005395: MSTORE
00005396: PUSH1 0x20
00005398: ADD
00005399: DUP1
0000539a: PUSH2 0x58dc
0000539d: PUSH1 0x26
0000539f: SWAP2
000053a0: CODECOPY
000053a1: PUSH1 0x40
000053a3: ADD
000053a4: SWAP2
000053a5: POP
000053a6: POP
000053a7: PUSH1 0x40
000053a9: MLOAD
000053aa: DUP1
000053ab: SWAP2
000053ac: SUB
000053ad: SWAP1
000053ae: REVERT
000053af: JUMPDEST
000053b0: PUSH2 0x53b8
000053b3: DUP6
000053b4: PUSH2 0x54fd
000053b7: JUMP
000053b8: JUMPDEST
000053b9: PUSH2 0x542a
000053bc: JUMPI
000053bd: PUSH1 0x40
000053bf: MLOAD
000053c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000053e1: DUP2
000053e2: MSTORE
000053e3: PUSH1 0x04
000053e5: ADD
000053e6: DUP1
000053e7: DUP1
000053e8: PUSH1 0x20
000053ea: ADD
000053eb: DUP3
000053ec: DUP2
000053ed: SUB
000053ee: DUP3
000053ef: MSTORE
000053f0: PUSH1 0x1d
000053f2: DUP2
000053f3: MSTORE
000053f4: PUSH1 0x20
000053f6: ADD
000053f7: DUP1
000053f8: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00005419: DUP2
0000541a: MSTORE
0000541b: POP
0000541c: PUSH1 0x20
0000541e: ADD
0000541f: SWAP2
00005420: POP
00005421: POP
00005422: PUSH1 0x40
00005424: MLOAD
00005425: DUP1
00005426: SWAP2
00005427: SUB
00005428: SWAP1
00005429: REVERT
0000542a: JUMPDEST
0000542b: PUSH1 0x00
0000542d: PUSH1 0x60
0000542f: DUP7
00005430: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005445: AND
00005446: DUP6
00005447: DUP8
00005448: PUSH1 0x40
0000544a: MLOAD
0000544b: DUP1
0000544c: DUP3
0000544d: DUP1
0000544e: MLOAD
0000544f: SWAP1
00005450: PUSH1 0x20
00005452: ADD
00005453: SWAP1
00005454: DUP1
00005455: DUP4
00005456: DUP4
00005457: JUMPDEST
00005458: PUSH1 0x20
0000545a: DUP4
0000545b: LT
0000545c: PUSH2 0x547a
0000545f: JUMPI
00005460: DUP1
00005461: MLOAD
00005462: DUP3
00005463: MSTORE
00005464: PUSH1 0x20
00005466: DUP3
00005467: ADD
00005468: SWAP2
00005469: POP
0000546a: PUSH1 0x20
0000546c: DUP2
0000546d: ADD
0000546e: SWAP1
0000546f: POP
00005470: PUSH1 0x20
00005472: DUP4
00005473: SUB
00005474: SWAP3
00005475: POP
00005476: PUSH2 0x5457
00005479: JUMP
0000547a: JUMPDEST
0000547b: PUSH1 0x01
0000547d: DUP4
0000547e: PUSH1 0x20
00005480: SUB
00005481: PUSH2 0x0100
00005484: EXP
00005485: SUB
00005486: DUP1
00005487: NOT
00005488: DUP3
00005489: MLOAD
0000548a: AND
0000548b: DUP2
0000548c: DUP5
0000548d: MLOAD
0000548e: AND
0000548f: DUP1
00005490: DUP3
00005491: OR
00005492: DUP6
00005493: MSTORE
00005494: POP
00005495: POP
00005496: POP
00005497: POP
00005498: POP
00005499: POP
0000549a: SWAP1
0000549b: POP
0000549c: ADD
0000549d: SWAP2
0000549e: POP
0000549f: POP
000054a0: PUSH1 0x00
000054a2: PUSH1 0x40
000054a4: MLOAD
000054a5: DUP1
000054a6: DUP4
000054a7: SUB
000054a8: DUP2
000054a9: DUP6
000054aa: DUP8
000054ab: GAS
000054ac: CALL
000054ad: SWAP3
000054ae: POP
000054af: POP
000054b0: POP
000054b1: RETURNDATASIZE
000054b2: DUP1
000054b3: PUSH1 0x00
000054b5: DUP2
000054b6: EQ
000054b7: PUSH2 0x54dc
000054ba: JUMPI
000054bb: PUSH1 0x40
000054bd: MLOAD
000054be: SWAP2
000054bf: POP
000054c0: PUSH1 0x1f
000054c2: NOT
000054c3: PUSH1 0x3f
000054c5: RETURNDATASIZE
000054c6: ADD
000054c7: AND
000054c8: DUP3
000054c9: ADD
000054ca: PUSH1 0x40
000054cc: MSTORE
000054cd: RETURNDATASIZE
000054ce: DUP3
000054cf: MSTORE
000054d0: RETURNDATASIZE
000054d1: PUSH1 0x00
000054d3: PUSH1 0x20
000054d5: DUP5
000054d6: ADD
000054d7: RETURNDATACOPY
000054d8: PUSH2 0x54e1
000054db: JUMP
000054dc: JUMPDEST
000054dd: PUSH1 0x60
000054df: SWAP2
000054e0: POP
000054e1: JUMPDEST
000054e2: POP
000054e3: SWAP2
000054e4: POP
000054e5: SWAP2
000054e6: POP
000054e7: PUSH2 0x54f1
000054ea: DUP3
000054eb: DUP3
000054ec: DUP7
000054ed: PUSH2 0x5510
000054f0: JUMP
000054f1: JUMPDEST
000054f2: SWAP3
000054f3: POP
000054f4: POP
000054f5: POP
000054f6: SWAP5
000054f7: SWAP4
000054f8: POP
000054f9: POP
000054fa: POP
000054fb: POP
000054fc: JUMP
000054fd: JUMPDEST
000054fe: PUSH1 0x00
00005500: DUP1
00005501: DUP3
00005502: EXTCODESIZE
00005503: SWAP1
00005504: POP
00005505: PUSH1 0x00
00005507: DUP2
00005508: GT
00005509: SWAP2
0000550a: POP
0000550b: POP
0000550c: SWAP2
0000550d: SWAP1
0000550e: POP
0000550f: JUMP
00005510: JUMPDEST
00005511: PUSH1 0x60
00005513: DUP4
00005514: ISZERO
00005515: PUSH2 0x5520
00005518: JUMPI
00005519: DUP3
0000551a: SWAP1
0000551b: POP
0000551c: PUSH2 0x55d5
0000551f: JUMP
00005520: JUMPDEST
00005521: PUSH1 0x00
00005523: DUP4
00005524: MLOAD
00005525: GT
00005526: ISZERO
00005527: PUSH2 0x5533
0000552a: JUMPI
0000552b: DUP3
0000552c: MLOAD
0000552d: DUP1
0000552e: DUP5
0000552f: PUSH1 0x20
00005531: ADD
00005532: REVERT
00005533: JUMPDEST
00005534: DUP2
00005535: PUSH1 0x40
00005537: MLOAD
00005538: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005559: DUP2
0000555a: MSTORE
0000555b: PUSH1 0x04
0000555d: ADD
0000555e: DUP1
0000555f: DUP1
00005560: PUSH1 0x20
00005562: ADD
00005563: DUP3
00005564: DUP2
00005565: SUB
00005566: DUP3
00005567: MSTORE
00005568: DUP4
00005569: DUP2
0000556a: DUP2
0000556b: MLOAD
0000556c: DUP2
0000556d: MSTORE
0000556e: PUSH1 0x20
00005570: ADD
00005571: SWAP2
00005572: POP
00005573: DUP1
00005574: MLOAD
00005575: SWAP1
00005576: PUSH1 0x20
00005578: ADD
00005579: SWAP1
0000557a: DUP1
0000557b: DUP4
0000557c: DUP4
0000557d: PUSH1 0x00
0000557f: JUMPDEST
00005580: DUP4
00005581: DUP2
00005582: LT
00005583: ISZERO
00005584: PUSH2 0x559a
00005587: JUMPI
00005588: DUP1
00005589: DUP3
0000558a: ADD
0000558b: MLOAD
0000558c: DUP2
0000558d: DUP5
0000558e: ADD
0000558f: MSTORE
00005590: PUSH1 0x20
00005592: DUP2
00005593: ADD
00005594: SWAP1
00005595: POP
00005596: PUSH2 0x557f
00005599: JUMP
0000559a: JUMPDEST
0000559b: POP
0000559c: POP
0000559d: POP
0000559e: POP
0000559f: SWAP1
000055a0: POP
000055a1: SWAP1
000055a2: DUP2
000055a3: ADD
000055a4: SWAP1
000055a5: PUSH1 0x1f
000055a7: AND
000055a8: DUP1
000055a9: ISZERO
000055aa: PUSH2 0x55c7
000055ad: JUMPI
000055ae: DUP1
000055af: DUP3
000055b0: SUB
000055b1: DUP1
000055b2: MLOAD
000055b3: PUSH1 0x01
000055b5: DUP4
000055b6: PUSH1 0x20
000055b8: SUB
000055b9: PUSH2 0x0100
000055bc: EXP
000055bd: SUB
000055be: NOT
000055bf: AND
000055c0: DUP2
000055c1: MSTORE
000055c2: PUSH1 0x20
000055c4: ADD
000055c5: SWAP2
000055c6: POP
000055c7: JUMPDEST
000055c8: POP
000055c9: SWAP3
000055ca: POP
000055cb: POP
000055cc: POP
000055cd: PUSH1 0x40
000055cf: MLOAD
000055d0: DUP1
000055d1: SWAP2
000055d2: SUB
000055d3: SWAP1
000055d4: REVERT
000055d5: JUMPDEST
000055d6: SWAP4
000055d7: SWAP3
000055d8: POP
000055d9: POP
000055da: POP
000055db: JUMP
000055dc: JUMPDEST
000055dd: DUP3
000055de: DUP1
000055df: SLOAD
000055e0: PUSH1 0x01
000055e2: DUP2
000055e3: PUSH1 0x01
000055e5: AND
000055e6: ISZERO
000055e7: PUSH2 0x0100
000055ea: MUL
000055eb: SUB
000055ec: AND
000055ed: PUSH1 0x02
000055ef: SWAP1
000055f0: DIV
000055f1: SWAP1
000055f2: PUSH1 0x00
000055f4: MSTORE
000055f5: PUSH1 0x20
000055f7: PUSH1 0x00
000055f9: KECCAK256
000055fa: SWAP1
000055fb: PUSH1 0x1f
000055fd: ADD
000055fe: PUSH1 0x20
00005600: SWAP1
00005601: DIV
00005602: DUP2
00005603: ADD
00005604: SWAP3
00005605: DUP3
00005606: PUSH1 0x1f
00005608: LT
00005609: PUSH2 0x561d
0000560c: JUMPI
0000560d: DUP1
0000560e: MLOAD
0000560f: PUSH1 0xff
00005611: NOT
00005612: AND
00005613: DUP4
00005614: DUP1
00005615: ADD
00005616: OR
00005617: DUP6
00005618: SSTORE
00005619: PUSH2 0x564b
0000561c: JUMP
0000561d: JUMPDEST
0000561e: DUP3
0000561f: DUP1
00005620: ADD
00005621: PUSH1 0x01
00005623: ADD
00005624: DUP6
00005625: SSTORE
00005626: DUP3
00005627: ISZERO
00005628: PUSH2 0x564b
0000562b: JUMPI
0000562c: SWAP2
0000562d: DUP3
0000562e: ADD
0000562f: JUMPDEST
00005630: DUP3
00005631: DUP2
00005632: GT
00005633: ISZERO
00005634: PUSH2 0x564a
00005637: JUMPI
00005638: DUP3
00005639: MLOAD
0000563a: DUP3
0000563b: SSTORE
0000563c: SWAP2
0000563d: PUSH1 0x20
0000563f: ADD
00005640: SWAP2
00005641: SWAP1
00005642: PUSH1 0x01
00005644: ADD
00005645: SWAP1
00005646: PUSH2 0x562f
00005649: JUMP
0000564a: JUMPDEST
0000564b: JUMPDEST
0000564c: POP
0000564d: SWAP1
0000564e: POP
0000564f: PUSH2 0x5658
00005652: SWAP2
00005653: SWAP1
00005654: PUSH2 0x575a
00005657: JUMP
00005658: JUMPDEST
00005659: POP
0000565a: SWAP1
0000565b: JUMP
0000565c: JUMPDEST
0000565d: POP
0000565e: DUP1
0000565f: SLOAD
00005660: PUSH1 0x01
00005662: DUP2
00005663: PUSH1 0x01
00005665: AND
00005666: ISZERO
00005667: PUSH2 0x0100
0000566a: MUL
0000566b: SUB
0000566c: AND
0000566d: PUSH1 0x02
0000566f: SWAP1
00005670: DIV
00005671: PUSH1 0x00
00005673: DUP3
00005674: SSTORE
00005675: DUP1
00005676: PUSH1 0x1f
00005678: LT
00005679: PUSH2 0x5682
0000567c: JUMPI
0000567d: POP
0000567e: PUSH2 0x56a1
00005681: JUMP
00005682: JUMPDEST
00005683: PUSH1 0x1f
00005685: ADD
00005686: PUSH1 0x20
00005688: SWAP1
00005689: DIV
0000568a: SWAP1
0000568b: PUSH1 0x00
0000568d: MSTORE
0000568e: PUSH1 0x20
00005690: PUSH1 0x00
00005692: KECCAK256
00005693: SWAP1
00005694: DUP2
00005695: ADD
00005696: SWAP1
00005697: PUSH2 0x56a0
0000569a: SWAP2
0000569b: SWAP1
0000569c: PUSH2 0x575a
0000569f: JUMP
000056a0: JUMPDEST
000056a1: JUMPDEST
000056a2: POP
000056a3: JUMP
000056a4: JUMPDEST
000056a5: PUSH1 0x40
000056a7: MLOAD
000056a8: DUP1
000056a9: PUSH2 0x01c0
000056ac: ADD
000056ad: PUSH1 0x40
000056af: MSTORE
000056b0: DUP1
000056b1: PUSH1 0x00
000056b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000056c8: AND
000056c9: DUP2
000056ca: MSTORE
000056cb: PUSH1 0x20
000056cd: ADD
000056ce: PUSH1 0x00
000056d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000056e5: AND
000056e6: DUP2
000056e7: MSTORE
000056e8: PUSH1 0x20
000056ea: ADD
000056eb: PUSH1 0x00
000056ed: DUP2
000056ee: MSTORE
000056ef: PUSH1 0x20
000056f1: ADD
000056f2: PUSH1 0x00
000056f4: DUP2
000056f5: MSTORE
000056f6: PUSH1 0x20
000056f8: ADD
000056f9: PUSH1 0x00
000056fb: DUP1
000056fc: NOT
000056fd: AND
000056fe: DUP2
000056ff: MSTORE
00005700: PUSH1 0x20
00005702: ADD
00005703: PUSH1 0x00
00005705: DUP2
00005706: MSTORE
00005707: PUSH1 0x20
00005709: ADD
0000570a: PUSH1 0x00
0000570c: DUP2
0000570d: MSTORE
0000570e: PUSH1 0x20
00005710: ADD
00005711: PUSH1 0x00
00005713: DUP1
00005714: NOT
00005715: AND
00005716: DUP2
00005717: MSTORE
00005718: PUSH1 0x20
0000571a: ADD
0000571b: PUSH1 0x00
0000571d: DUP1
0000571e: NOT
0000571f: AND
00005720: DUP2
00005721: MSTORE
00005722: PUSH1 0x20
00005724: ADD
00005725: PUSH1 0x00
00005727: PUSH12 0xffffffffffffffffffffffff
00005734: AND
00005735: DUP2
00005736: MSTORE
00005737: PUSH1 0x20
00005739: ADD
0000573a: PUSH1 0x00
0000573c: ISZERO
0000573d: ISZERO
0000573e: DUP2
0000573f: MSTORE
00005740: PUSH1 0x20
00005742: ADD
00005743: PUSH1 0x00
00005745: ISZERO
00005746: ISZERO
00005747: DUP2
00005748: MSTORE
00005749: PUSH1 0x20
0000574b: ADD
0000574c: PUSH1 0x00
0000574e: DUP2
0000574f: MSTORE
00005750: PUSH1 0x20
00005752: ADD
00005753: PUSH1 0x00
00005755: DUP2
00005756: MSTORE
00005757: POP
00005758: SWAP1
00005759: JUMP
0000575a: JUMPDEST
0000575b: JUMPDEST
0000575c: DUP1
0000575d: DUP3
0000575e: GT
0000575f: ISZERO
00005760: PUSH2 0x5773
00005763: JUMPI
00005764: PUSH1 0x00
00005766: DUP2
00005767: PUSH1 0x00
00005769: SWAP1
0000576a: SSTORE
0000576b: POP
0000576c: PUSH1 0x01
0000576e: ADD
0000576f: PUSH2 0x575b
00005772: JUMP
00005773: JUMPDEST
00005774: POP
00005775: SWAP1
00005776: JUMP
00005777: INVALID
00005778: MSTORE8
00005779: PUSH2 0x6665
0000577c: NUMBER
0000577d: PUSH2 0x7374
00005780: GASPRICE
00005781: KECCAK256
00005782: PUSH23 0x616c756520646f65736e27742066697420696e20393620
0000579a: PUSH3 0x697473
0000579e: PUSH15 0x6f7420616c6c6f77656420746f2073
000057ae: PUSH6 0x74746c652061
000057b5: PUSH22 0x6374696f6e2061746f6d6963616c6c7970726563616c
000057cc: PUSH4 0x756c6174
000057d1: PUSH6 0x53656c6c416d
000057d8: PUSH16 0x756e7453756d20697320616c72656164
000057e9: PUSH26 0x20746f6f20616476616e6365644f6e6c79207468652075736572
00005804: KECCAK256
00005805: PUSH4 0x616e2063
0000580a: PUSH2 0x6e63
0000580d: PUSH6 0x6c2068697320
00005814: PUSH16 0x72646572734f776e61626c653a206e65
00005825: PUSH24 0x206f776e657220697320746865207a65726f206164647265
0000583e: PUSH20 0x73746f6b656e732063616e6e6f74206265206175
00005853: PUSH4 0x74696f6e
00005858: PUSH6 0x6420666f7220
0000585f: PUSH7 0x7265656e6f206c
00005867: PUSH16 0x6e67657220696e206f7264657220706c
00005878: PUSH2 0x6365
0000587b: PUSH14 0x656e7420616e642063616e63656c
0000588a: PUSH2 0x7469
0000588d: PUSH16 0x6e2070686173655f6d696e427579416d
0000589e: PUSH16 0x756e7473206d75737420626520677265
000058af: PUSH2 0x7465
000058b2: PUSH19 0x207468616e2030547279696e6720746f206765
000058c6: PUSH21 0x206e657874206f66206c61737420656c656d656e74
000058dc: COINBASE
000058dd: PUSH5 0x6472657373
000058e3: GASPRICE
000058e4: KECCAK256
000058e5: PUSH10 0x6e73756666696369656e
000058f0: PUSH21 0x2062616c616e636520666f722063616c6c46656520
00005906: PUSH10 0x73206e6f7420616c6c6f
00005911: PUSH24 0x656420746f2062652073657420686967686572207468616e
0000592a: KECCAK256
0000592b: BALANCE
0000592c: UNKNOWN(0x2E)
0000592d: CALLDATALOAD
0000592e: UNKNOWN(0x25)
0000592f: PUSH2 0x7563
00005932: PUSH21 0x696f6e20656e642064617465206d75737420626520
00005948: PUSH10 0x6e207468652066757475
00005953: PUSH19 0x654f6e6c79206f6e65206f726465722063616e
00005967: KECCAK256
00005968: PUSH3 0x652070
0000596c: PUSH13 0x616365642061746f6d6963616c
0000597a: PUSH13 0x79547279696e6720746f206765
00005988: PUSH21 0x206e657874206f66206e6f6e2d6578697374656e74
0000599e: KECCAK256
0000599f: PUSH6 0x6c656d656e74
000059a6: PUSH14 0x696e696d756d42696464696e6741
000059b5: PUSH14 0x6f756e745065724f726465722069
000059c4: PUSH20 0x206e6f7420616c6c6f77656420746f206265207a
000059d9: PUSH6 0x726f53616665
000059e0: UNKNOWN(0x4D)
000059e1: PUSH2 0x7468
000059e4: GASPRICE
000059e5: KECCAK256
000059e6: PUSH14 0x756c7469706c69636174696f6e20
000059f5: PUSH16 0x766572666c6f7753616665436173743a
00005a06: KECCAK256
00005a07: PUSH23 0x616c756520646f65736e27742066697420696e20363420
00005a1f: PUSH3 0x697473
00005a23: PUSH16 0x6e6c7920616c6c6f77656420746f2063
00005a34: PUSH13 0x61696d20666f722073616d6520
00005a42: PUSH22 0x73657241756374696f6e206e6f7420696e20736f6c75
00005a59: PUSH21 0x696f6e207375626d697373696f6e20706861736575
00005a6f: PUSH20 0x6572206973206e6f7420616c6c6f77656420746f
00005a84: KECCAK256
00005a85: PUSH17 0x6c6163652073616d65206f726465722074
00005a97: PUSH24 0x6963656c696d6974207072696365206e6f74206265747465
00005ab0: PUSH19 0x207468616e206d696d696d616c206f66666572
00005ac4: PUSH21 0x696d6520706572696f647320617265206e6f742063
00005ada: PUSH16 0x6e6669677572656420636f7272656374
00005aeb: PUSH13 0x795361666545524332303a2045
00005af9: MSTORE
00005afa: NUMBER
00005afb: ORIGIN
00005afc: ADDRESS
00005afd: KECCAK256
00005afe: PUSH16 0x7065726174696f6e20646964206e6f74
00005b0f: KECCAK256
00005b10: PUSH20 0x7563636565646e6f206c6f6e67657220696e206f
00005b25: PUSH19 0x64657220706c6163656d656e74207068617365
00005b39: LOG2
00005b3a: PUSH5 0x6970667358
00005b40: UNKNOWN(0x22)
00005b41: SLT
00005b42: KECCAK256
00005b43: SWAP14
00005b44: EXTCODEHASH
00005b45: CALLDATALOAD
00005b46: DUP6
00005b47: UNKNOWN(0xDA)
00005b48: UNKNOWN(0x1F)
00005b49: INVALID
00005b4a: SWAP8
00005b4b: JUMP
00005b4c: UNKNOWN(0xC8)
00005b4d: LOG2
00005b4e: UNKNOWN(0xE5)
00005b4f: CALLCODE
00005b50: DUP10
00005b51: SWAP2
00005b52: PUSH7 0x2e7f098068faf7
00005b5a: UNKNOWN(0x2D)
00005b5b: UNKNOWN(0xD2)
00005b5c: UNKNOWN(0xEC)
00005b5d: ADD
00005b5e: UNKNOWN(0x4B)
00005b5f: PUSH12 0xd536c964736f6c634300060c
00005b6c: STOP
00005b6d: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xd73792a9",
            "selector": "0xd73792a9",
            "calldata_variants": [
                "0xd73792a9",
                "0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe4a59ef4",
            "selector": "0xe4a59ef4",
            "calldata_variants": [
                "0xe4a59ef4",
                "0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe86dea4a",
            "selector": "0xe86dea4a",
            "calldata_variants": [
                "0xe86dea4a",
                "0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec20d0bb",
            "selector": "0xec20d0bb",
            "calldata_variants": [
                "0xec20d0bb",
                "0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf59c2f06",
            "selector": "0xf59c2f06",
            "calldata_variants": [
                "0xf59c2f06",
                "0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7882deaf",
            "selector": "0x7882deaf",
            "calldata_variants": [
                "0x7882deaf",
                "0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7ed18b70",
            "selector": "0x7ed18b70",
            "calldata_variants": [
                "0x7ed18b70",
                "0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 23291,
            "type": "tx_origin_used"
        }
    ]
}
medium math codex Settlement can be blocked if total bids exceed uint96 limit 75 no
view
evidence_json
{
    "evidence": "The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.",
    "locations": [
        "contracts/contracts/EasyAuction.sol:144",
        "contracts/contracts/EasyAuction.sol:510",
        "contracts/contracts/EasyAuction.sol:523",
        "contracts/contracts/EasyAuction.sol:536"
    ],
    "recommendation": "Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.",
    "exploit_scenario": "A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367
call_targets: 0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101"
    ],
    "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": "0xd73792a9",
            "selector": "0xd73792a9",
            "calldata_variants": [
                "0xd73792a9",
                "0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe4a59ef4",
            "selector": "0xe4a59ef4",
            "calldata_variants": [
                "0xe4a59ef4",
                "0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe86dea4a",
            "selector": "0xe86dea4a",
            "calldata_variants": [
                "0xe86dea4a",
                "0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec20d0bb",
            "selector": "0xec20d0bb",
            "calldata_variants": [
                "0xec20d0bb",
                "0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf59c2f06",
            "selector": "0xf59c2f06",
            "calldata_variants": [
                "0xf59c2f06",
                "0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7882deaf",
            "selector": "0x7882deaf",
            "calldata_variants": [
                "0x7882deaf",
                "0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7ed18b70",
            "selector": "0x7ed18b70",
            "calldata_variants": [
                "0x7ed18b70",
                "0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 21676,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 23375,
            "opcode": "CALLCODE",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 23291,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367
call_targets: 0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101"
    ],
    "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": "0xd73792a9",
            "selector": "0xd73792a9",
            "calldata_variants": [
                "0xd73792a9",
                "0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe4a59ef4",
            "selector": "0xe4a59ef4",
            "calldata_variants": [
                "0xe4a59ef4",
                "0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe86dea4a",
            "selector": "0xe86dea4a",
            "calldata_variants": [
                "0xe86dea4a",
                "0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec20d0bb",
            "selector": "0xec20d0bb",
            "calldata_variants": [
                "0xec20d0bb",
                "0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf59c2f06",
            "selector": "0xf59c2f06",
            "calldata_variants": [
                "0xf59c2f06",
                "0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7882deaf",
            "selector": "0x7882deaf",
            "calldata_variants": [
                "0x7882deaf",
                "0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7ed18b70",
            "selector": "0x7ed18b70",
            "calldata_variants": [
                "0x7ed18b70",
                "0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 21676,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 23375,
            "opcode": "CALLCODE",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 23291,
            "type": "tx_origin_used"
        }
    ]
}
low auth codex Allowlist signatures can be replayed across EasyAuction instances 65 no
view
evidence_json
{
    "evidence": "The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.",
    "locations": [
        "contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67",
        "contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"
    ],
    "recommendation": "Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.",
    "exploit_scenario": "If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation."
}
low other codex Unchecked ERC20 approve return value in wrapper constructor 65 no
view
evidence_json
{
    "evidence": "The constructor calls `approve` directly without checking the return value.",
    "locations": [
        "contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"
    ],
    "recommendation": "Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.",
    "exploit_scenario": "If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token."
}