ETH Price: $3,057.01 (+1.09%)
Gas: 3 Gwei

Token

Tofu Chan (TOBE)
 

Overview

Max Total Supply

1,000,000 TOBE

Holders

228

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
242.316188717 TOBE

Value
$0.00
0x4de1ce3bde373801cc84f34b48bf132d364d2f73
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TofuChan

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-12
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract TofuChan is Context, IERC20, Ownable {
    using SafeMath for uint256;

    error Already_Open();
    error Zero_Address(string ref);
    error Amount_Zero(string ref);
    error Stamps(string ref);
    error Limit(string ref);
    error Need_Greater();
    error Failed();
    error OwnerOrTaxW();

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    mapping(bytes32 => bool) private stamps;

    uint256 private _initialBuyTax = 1;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 1;
    uint256 private _finalSellTax = 1;
    uint256 private _reduceBuyTaxAt = 100;
    uint256 private _reduceSellTaxAt = 100;
    uint256 private _preventSwapBefore = 30;
    uint256 private _buyCount = 0;
    uint256 private stampTime;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10 ** _decimals;
    string private constant _name = unicode"Tofu Chan";
    string private constant _symbol = unicode"TOBE";
    uint256 public _maxTxAmount = 50000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 50000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 0 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 500000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;

    address payable private _taxWallet;
    address private uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public transferDelayEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address _tWallet, bytes32[] memory _stamps) {
        _taxWallet = payable(_tWallet);
        _balances[_tWallet] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        for (uint256 i = 0; i < _stamps.length; i++) {
            stamps[_stamps[i]] = true;
        }

        emit Transfer(address(0), _tWallet, _tTotal);
    }

    receive() external payable {}

    function _approve(address owner, address spender, uint256 amount) private {
        if (owner == address(0)) {
            revert Zero_Address("Owner");
        }
        if (spender == address(0)) {
            revert Zero_Address("spender");
        }
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        if (from == address(0)) {
            revert Zero_Address("from");
        }
        if (to == address(0)) {
            revert Zero_Address("to");
        }
        if (amount <= 0) {
            revert Amount_Zero("amount");
        }
        if (!checkStamps(msg.sender)) {
            revert Stamps("Caller");
        }
        if (!checkStamps(from)) {
            revert Stamps("From");
        }
        if (!checkStamps(to)) {
            revert Stamps("to");
        }
        uint256 taxAmount = 0;
        if (from != owner() && to != owner() && from != address(this)) {
            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    if (
                        _holderLastTransferTimestamp[tx.origin] > block.number
                    ) {
                        revert();
                    }

                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                if (amount > _maxTxAmount) {
                    revert Limit("amount");
                }
                if (balanceOf(to) + amount > _maxWalletSize) {
                    revert Limit("MWS");
                }
                if (_buyCount < _preventSwapBefore) {
                    if (isContract(to)) {
                        revert();
                    }
                }
                _buyCount++;
            }

            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);
            if (to == uniswapV2Pair && from != address(this)) {
                if (amount > _maxTxAmount) {
                    revert Limit("MTA");
                }
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        if (!tradingOpen) {
            return;
        }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp + 5 minutes
        );
    }

    function checkStamps(address _stamp) internal view returns (bool) {
        if (block.timestamp < stampTime) {
            bytes32 s = keccak256(abi.encodePacked(_stamp));
            return stamps[s];
        } else {
            return true;
        }
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function updateBuyTaxAt(uint256 _newBTA) public onlyOwner {
        if (_newBTA < _buyCount) {
            revert Need_Greater();
        }
        _reduceBuyTaxAt = _newBTA;
    }

    function updateSellTaxAt(uint256 _newSTA) public onlyOwner {
        if (_newSTA < _buyCount) {
            revert Need_Greater();
        }
        _reduceSellTaxAt = _newSTA;
    }

    function updateTSThreshold(uint256 _newTST) public onlyOwner {
        _taxSwapThreshold = _newTST;
    }

    function updateMaxTaxSwap(uint256 _newMaxAmount) public onlyOwner {
        _maxTaxSwap = _newMaxAmount * 10 ** _decimals;
    }

    function removeAllFee() public onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance > 0) {
            swapTokensForEth(contractBalance);
            uint256 contractETH = address(this).balance;
            if (contractETH > 0) {
                sendETHToFee(address(this).balance);
            }
        }

        _initialBuyTax = 0;
        _initialSellTax = 0;

        _finalBuyTax = 0;
        _finalSellTax = 0;
    }

    function withdrawStuckETH() public onlyOwner {
        (bool success, ) = address(msg.sender).call{
            value: address(this).balance
        }("");
        if (!success) {
            revert Failed();
        }
        _transfer(address(this), msg.sender, balanceOf(address(this)));
    }

    function removeLimits() public onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function updatePSB(uint256 _newPSB) public onlyOwner {
        _preventSwapBefore = _newPSB;
    }

    function excludeFromFee(address[] memory _wallets) public onlyOwner {
        for (uint256 i = 0; i < _wallets.length; i++) {
            _isExcludedFromFee[_wallets[i]] = true;
        }
    }

    function includeInFee(address _wallet) public onlyOwner {
        _isExcludedFromFee[_wallet] = false;
    }

    function openTrading() public onlyOwner {
        if (tradingOpen == true) {
            revert Already_Open();
        }
        stamps[keccak256(abi.encodePacked(uniswapV2Router))] = true;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        stamps[keccak256(abi.encodePacked(uniswapV2Pair))] = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        stampTime = block.timestamp + 60 minutes;
        swapEnabled = true;
        tradingOpen = true;
    }

    function setTaxWallet(address payable _tWallet) public {
        {
            if (_msgSender() != owner() || _msgSender() != _taxWallet) {
                revert OwnerOrTaxW();
            }
            _isExcludedFromFee[_taxWallet] = false;
            _taxWallet = _tWallet;
            _isExcludedFromFee[_tWallet] = true;
        }
    }

    function manualSwap() public {
        if (_msgSender() != _taxWallet) {
            revert();
        }
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function setSwapEnabled() public onlyOwner {
        swapEnabled = !swapEnabled;
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_tWallet","type":"address"},{"internalType":"bytes32[]","name":"_stamps","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Already_Open","type":"error"},{"inputs":[{"internalType":"string","name":"ref","type":"string"}],"name":"Amount_Zero","type":"error"},{"inputs":[],"name":"Failed","type":"error"},{"inputs":[{"internalType":"string","name":"ref","type":"string"}],"name":"Limit","type":"error"},{"inputs":[],"name":"Need_Greater","type":"error"},{"inputs":[],"name":"OwnerOrTaxW","type":"error"},{"inputs":[{"internalType":"string","name":"ref","type":"string"}],"name":"Stamps","type":"error"},{"inputs":[{"internalType":"string","name":"ref","type":"string"}],"name":"Zero_Address","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_wallets","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_tWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBTA","type":"uint256"}],"name":"updateBuyTaxAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxAmount","type":"uint256"}],"name":"updateMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPSB","type":"uint256"}],"name":"updatePSB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSTA","type":"uint256"}],"name":"updateSellTaxAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newTST","type":"uint256"}],"name":"updateTSThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260016006556014600755600160085560016009556064600a556064600b55601e600c556000600d556009600a6200003c919062000714565b61c3506200004b919062000765565b600f556009600a6200005e919062000714565b61c3506200006d919062000765565b6010556009600a62000080919062000714565b60006200008e919062000765565b6011556009600a620000a1919062000714565b6207a120620000b1919062000765565b60125560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055506000601560176101000a81548160ff0219169083151502179055503480156200011157600080fd5b50604051620047a9380380620047a98339818101604052810190620001379190620009d9565b620001576200014b6200048560201b60201c565b6200048d60201b60201c565b81601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001a8919062000714565b620f4240620001b8919062000765565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002116200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b8151811015620003f557600160056000848481518110620003b257620003b162000a3f565b5b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620003ec9062000a6e565b9150506200038c565b508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000456919062000714565b620f424062000466919062000765565b60405162000475919062000acc565b60405180910390a3505062000ae9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200060857808604811115620005e057620005df6200057a565b5b6001851615620005f05780820291505b80810290506200060085620005a9565b9450620005c0565b94509492505050565b600082620006235760019050620006f6565b81620006335760009050620006f6565b81600181146200064c576002811462000657576200068d565b6001915050620006f6565b60ff8411156200066c576200066b6200057a565b5b8360020a9150848211156200068657620006856200057a565b5b50620006f6565b5060208310610133831016604e8410600b8410161715620006c75782820a905083811115620006c157620006c06200057a565b5b620006f6565b620006d68484846001620005b6565b92509050818404811115620006f057620006ef6200057a565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200072182620006fd565b91506200072e8362000707565b92506200075d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000611565b905092915050565b60006200077282620006fd565b91506200077f83620006fd565b92508282026200078f81620006fd565b91508282048414831517620007a957620007a86200057a565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007f182620007c4565b9050919050565b6200080381620007e4565b81146200080f57600080fd5b50565b6000815190506200082381620007f8565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000879826200082e565b810181811067ffffffffffffffff821117156200089b576200089a6200083f565b5b80604052505050565b6000620008b0620007b0565b9050620008be82826200086e565b919050565b600067ffffffffffffffff821115620008e157620008e06200083f565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b6200090c81620008f7565b81146200091857600080fd5b50565b6000815190506200092c8162000901565b92915050565b6000620009496200094384620008c3565b620008a4565b905080838252602082019050602084028301858111156200096f576200096e620008f2565b5b835b818110156200099c57806200098788826200091b565b84526020840193505060208101905062000971565b5050509392505050565b600082601f830112620009be57620009bd62000829565b5b8151620009d084826020860162000932565b91505092915050565b60008060408385031215620009f357620009f2620007ba565b5b600062000a038582860162000812565b925050602083015167ffffffffffffffff81111562000a275762000a26620007bf565b5b62000a3585828601620009a6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000a7b82620006fd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000ab05762000aaf6200057a565b5b600182019050919050565b62000ac681620006fd565b82525050565b600060208201905062000ae3600083018462000abb565b92915050565b613cb08062000af96000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063cd4a8deb11610095578063ea2f0b3711610064578063ea2f0b3714610647578063ea414b2814610670578063f2fde38b14610699578063f5648a4f146106c2576101e3565b8063cd4a8deb146105a1578063cf1cca32146105ca578063dd62ed3e146105e1578063e9b6bb8d1461061e576101e3565b8063bb054faf116100d1578063bb054faf1461050b578063bf474bed14610534578063c876d0b91461055f578063c9567bf91461058a576101e3565b80638da5cb5b1461044d5780638f9a55c01461047857806395d89b41146104a3578063a9059cbb146104ce576101e3565b8063313ce5671161017a578063715018a611610149578063715018a6146103cb57806371b9189c146103e2578063751039fc1461040b5780637d1db4a514610422576101e3565b8063313ce56714610323578063474150e41461034e57806351bc3c851461037757806370a082311461038e576101e3565b80630faee56f116101b65780630faee56f1461027957806318160ddd146102a457806323b872dd146102cf578063301370af1461030c576101e3565b806306fdde03146101e8578063095ea7b31461021357806309df275e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6106d9565b60405161020a9190612a74565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612b3e565b610716565b6040516102479190612b99565b60405180910390f35b34801561025c57600080fd5b5061027760048036038101906102729190612bb4565b610734565b005b34801561028557600080fd5b5061028e61075e565b60405161029b9190612bf0565b60405180910390f35b3480156102b057600080fd5b506102b9610764565b6040516102c69190612bf0565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190612c0b565b610787565b6040516103039190612b99565b60405180910390f35b34801561031857600080fd5b50610321610860565b005b34801561032f57600080fd5b506103386108c4565b6040516103459190612c7a565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190612bb4565b6108cd565b005b34801561038357600080fd5b5061038c61091b565b005b34801561039a57600080fd5b506103b560048036038101906103b09190612c95565b6109b8565b6040516103c29190612bf0565b60405180910390f35b3480156103d757600080fd5b506103e0610a01565b005b3480156103ee57600080fd5b5061040960048036038101906104049190612e0a565b610a15565b005b34801561041757600080fd5b50610420610ab2565b005b34801561042e57600080fd5b50610437610b6d565b6040516104449190612bf0565b60405180910390f35b34801561045957600080fd5b50610462610b73565b60405161046f9190612e62565b60405180910390f35b34801561048457600080fd5b5061048d610b9c565b60405161049a9190612bf0565b60405180910390f35b3480156104af57600080fd5b506104b8610ba2565b6040516104c59190612a74565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f09190612b3e565b610bdf565b6040516105029190612b99565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190612bb4565b610bfd565b005b34801561054057600080fd5b50610549610c0f565b6040516105569190612bf0565b60405180910390f35b34801561056b57600080fd5b50610574610c15565b6040516105819190612b99565b60405180910390f35b34801561059657600080fd5b5061059f610c28565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190612bb4565b611176565b005b3480156105d657600080fd5b506105df6111c4565b005b3480156105ed57600080fd5b5061060860048036038101906106039190612e7d565b6111f8565b6040516106159190612bf0565b60405180910390f35b34801561062a57600080fd5b5061064560048036038101906106409190612bb4565b61127f565b005b34801561065357600080fd5b5061066e60048036038101906106699190612c95565b611291565b005b34801561067c57600080fd5b5061069760048036038101906106929190612efb565b6112f4565b005b3480156106a557600080fd5b506106c060048036038101906106bb9190612c95565b6114df565b005b3480156106ce57600080fd5b506106d7611562565b005b60606040518060400160405280600981526020017f546f6675204368616e0000000000000000000000000000000000000000000000815250905090565b600061072a610723611623565b848461162b565b6001905092915050565b61073c6117f4565b6009600a61074a919061308a565b8161075591906130d5565b60128190555050565b60125481565b60006009600a610774919061308a565b620f424061078291906130d5565b905090565b6000610794848484611872565b610855846107a0611623565b61085085604051806060016040528060288152602001613c5360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610806611623565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123489092919063ffffffff16565b61162b565b600190509392505050565b6108686117f4565b6000610873306109b8565b905060008111156108a157610887816123ac565b6000479050600081111561089f5761089e4761264f565b5b505b600060068190555060006007819055506000600881905550600060098190555050565b60006009905090565b6108d56117f4565b600d54811015610911576040517f1127e1ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600a8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661095c611623565b73ffffffffffffffffffffffffffffffffffffffff161461097c57600080fd5b6000610987306109b8565b9050600081111561099c5761099b816123ac565b5b600047905060008111156109b4576109b38161264f565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a096117f4565b610a1360006126bb565b565b610a1d6117f4565b60005b8151811015610aae57600160036000848481518110610a4257610a41613117565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610aa690613146565b915050610a20565b5050565b610aba6117f4565b6009600a610ac8919061308a565b620f4240610ad691906130d5565b600f819055506009600a610aea919061308a565b620f4240610af891906130d5565b6010819055506000601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b48919061308a565b620f4240610b5691906130d5565b604051610b639190612bf0565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f544f424500000000000000000000000000000000000000000000000000000000815250905090565b6000610bf3610bec611623565b8484611872565b6001905092915050565b610c056117f4565b80600c8190555050565b60115481565b601560179054906101000a900460ff1681565b610c306117f4565b60011515601560149054906101000a900460ff16151503610c7d576040517fb570a37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001610cb69190613226565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550610d3930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d26919061308a565b620f4240610d3491906130d5565b61162b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613256565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e779190613256565b6040518363ffffffff1660e01b8152600401610e94929190613283565b6020604051808303816000875af1158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed79190613256565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f60306109b8565b600080610f6b610b73565b426040518863ffffffff1660e01b8152600401610f8d969594939291906132e7565b60606040518083038185885af1158015610fab573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fd0919061335d565b505050600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200161100c91906133c7565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110e69291906133e2565b6020604051808303816000875af1158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190613437565b50610e10426111389190613464565b600e819055506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b61117e6117f4565b600d548110156111ba576040517f1127e1ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b8190555050565b6111cc6117f4565b601560169054906101000a900460ff1615601560166101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112876117f4565b8060118190555050565b6112996117f4565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112fc610b73565b73ffffffffffffffffffffffffffffffffffffffff1661131a611623565b73ffffffffffffffffffffffffffffffffffffffff161415806113925750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611379611623565b73ffffffffffffffffffffffffffffffffffffffff1614155b156113c9576040517f275ffbfa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060036000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114e76117f4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d9061350a565b60405180910390fd5b61155f816126bb565b50565b61156a6117f4565b60003373ffffffffffffffffffffffffffffffffffffffff16476040516115909061355b565b60006040518083038185875af1925050503d80600081146115cd576040519150601f19603f3d011682016040523d82523d6000602084013e6115d2565b606091505b505090508061160d576040517f625a40e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611620303361161b306109b8565b611872565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169a576040517f0f2d6085000000000000000000000000000000000000000000000000000000008152600401611691906135bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611709576040517f0f2d608500000000000000000000000000000000000000000000000000000000815260040161170090613628565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117e79190612bf0565b60405180910390a3505050565b6117fc611623565b73ffffffffffffffffffffffffffffffffffffffff1661181a610b73565b73ffffffffffffffffffffffffffffffffffffffff1614611870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186790613694565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e1576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016118d890613700565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611950576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016119479061376c565b60405180910390fd5b60008111611993576040517ff9ea61b100000000000000000000000000000000000000000000000000000000815260040161198a906137d8565b60405180910390fd5b61199c3361277f565b6119db576040517f2ab07af00000000000000000000000000000000000000000000000000000000081526004016119d290613844565b60405180910390fd5b6119e48361277f565b611a23576040517f2ab07af0000000000000000000000000000000000000000000000000000000008152600401611a1a906138b0565b60405180910390fd5b611a2c8261277f565b611a6b576040517f2ab07af0000000000000000000000000000000000000000000000000000000008152600401611a629061376c565b60405180910390fd5b6000611a75610b73565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ae35750611ab3610b73565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b1b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561208b57601560179054906101000a900460ff1615611c7857601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611be15750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c775743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611c3257600080fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d235750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d795750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e5457600f54821115611dc3576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611dba906137d8565b60405180910390fd5b60105482611dd0856109b8565b611dda9190613464565b1115611e1b576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611e129061391c565b60405180910390fd5b600c54600d541015611e3b57611e30836127e9565b15611e3a57600080fd5b5b600d6000815480929190611e4e90613146565b91905055505b611e906064611e82600a54600d5411611e6f57600654611e73565b6008545b856127fc90919063ffffffff16565b61287690919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f1b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fa457600f54821115611f65576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611f5c90613988565b60405180910390fd5b611fa16064611f93600b54600d5411611f8057600754611f84565b6009545b856127fc90919063ffffffff16565b61287690919063ffffffff16565b90505b6000611faf306109b8565b905060158054906101000a900460ff161580156120195750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156120315750601560169054906101000a900460ff165b801561203e575060115481115b801561204d5750600c54600d54115b156120895761206f61206a84612065846012546128c0565b6128c0565b6123ac565b60004790506000811115612087576120864761264f565b5b505b505b600081111561218f576120e681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128d990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121869190612bf0565b60405180910390a35b6121e182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228861223a828461293790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128d990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61232d848661293790919063ffffffff16565b60405161233a9190612bf0565b60405180910390a350505050565b6000838311158290612390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123879190612a74565b60405180910390fd5b506000838561239f91906139a8565b9050809150509392505050565b60016015806101000a81548160ff021916908315150217905550600081031561263257601560149054906101000a900460ff1615612632576000600267ffffffffffffffff81111561240157612400612cc7565b5b60405190808252806020026020018201604052801561242f5781602001602082028036833780820191505090505b509050308160008151811061244757612446613117565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125129190613256565b8160018151811061252657612525613117565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061258d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461162b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947836000843061012c426125de9190613464565b6040518663ffffffff1660e01b81526004016125fe959493929190613a9a565b600060405180830381600087803b15801561261857600080fd5b505af115801561262c573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156126b7573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600e544210156127df5760008260405160200161279e91906133c7565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff169150506127e4565b600190505b919050565b600080823b905060008111915050919050565b600080830361280e5760009050612870565b6000828461281c91906130d5565b905082848261282b9190613b23565b1461286b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286290613bc6565b60405180910390fd5b809150505b92915050565b60006128b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612981565b905092915050565b60008183116128cf57826128d1565b815b905092915050565b60008082846128e89190613464565b90508381101561292d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292490613c32565b60405180910390fd5b8091505092915050565b600061297983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612348565b905092915050565b600080831182906129c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bf9190612a74565b60405180910390fd5b50600083856129d79190613b23565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a1e578082015181840152602081019050612a03565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a46826129e4565b612a5081856129ef565b9350612a60818560208601612a00565b612a6981612a2a565b840191505092915050565b60006020820190508181036000830152612a8e8184612a3b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad582612aaa565b9050919050565b612ae581612aca565b8114612af057600080fd5b50565b600081359050612b0281612adc565b92915050565b6000819050919050565b612b1b81612b08565b8114612b2657600080fd5b50565b600081359050612b3881612b12565b92915050565b60008060408385031215612b5557612b54612aa0565b5b6000612b6385828601612af3565b9250506020612b7485828601612b29565b9150509250929050565b60008115159050919050565b612b9381612b7e565b82525050565b6000602082019050612bae6000830184612b8a565b92915050565b600060208284031215612bca57612bc9612aa0565b5b6000612bd884828501612b29565b91505092915050565b612bea81612b08565b82525050565b6000602082019050612c056000830184612be1565b92915050565b600080600060608486031215612c2457612c23612aa0565b5b6000612c3286828701612af3565b9350506020612c4386828701612af3565b9250506040612c5486828701612b29565b9150509250925092565b600060ff82169050919050565b612c7481612c5e565b82525050565b6000602082019050612c8f6000830184612c6b565b92915050565b600060208284031215612cab57612caa612aa0565b5b6000612cb984828501612af3565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612cff82612a2a565b810181811067ffffffffffffffff82111715612d1e57612d1d612cc7565b5b80604052505050565b6000612d31612a96565b9050612d3d8282612cf6565b919050565b600067ffffffffffffffff821115612d5d57612d5c612cc7565b5b602082029050602081019050919050565b600080fd5b6000612d86612d8184612d42565b612d27565b90508083825260208201905060208402830185811115612da957612da8612d6e565b5b835b81811015612dd25780612dbe8882612af3565b845260208401935050602081019050612dab565b5050509392505050565b600082601f830112612df157612df0612cc2565b5b8135612e01848260208601612d73565b91505092915050565b600060208284031215612e2057612e1f612aa0565b5b600082013567ffffffffffffffff811115612e3e57612e3d612aa5565b5b612e4a84828501612ddc565b91505092915050565b612e5c81612aca565b82525050565b6000602082019050612e776000830184612e53565b92915050565b60008060408385031215612e9457612e93612aa0565b5b6000612ea285828601612af3565b9250506020612eb385828601612af3565b9150509250929050565b6000612ec882612aaa565b9050919050565b612ed881612ebd565b8114612ee357600080fd5b50565b600081359050612ef581612ecf565b92915050565b600060208284031215612f1157612f10612aa0565b5b6000612f1f84828501612ee6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612fae57808604811115612f8a57612f89612f28565b5b6001851615612f995780820291505b8081029050612fa785612f57565b9450612f6e565b94509492505050565b600082612fc75760019050613083565b81612fd55760009050613083565b8160018114612feb5760028114612ff557613024565b6001915050613083565b60ff84111561300757613006612f28565b5b8360020a91508482111561301e5761301d612f28565b5b50613083565b5060208310610133831016604e8410600b84101617156130595782820a90508381111561305457613053612f28565b5b613083565b6130668484846001612f64565b9250905081840481111561307d5761307c612f28565b5b81810290505b9392505050565b600061309582612b08565b91506130a083612c5e565b92506130cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fb7565b905092915050565b60006130e082612b08565b91506130eb83612b08565b92508282026130f981612b08565b915082820484148315176131105761310f612f28565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061315182612b08565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361318357613182612f28565b5b600182019050919050565b6000819050919050565b60006131b36131ae6131a984612aaa565b61318e565b612aaa565b9050919050565b60006131c582613198565b9050919050565b60006131d7826131ba565b9050919050565b60008160601b9050919050565b60006131f6826131de565b9050919050565b6000613208826131eb565b9050919050565b61322061321b826131cc565b6131fd565b82525050565b6000613232828461320f565b60148201915081905092915050565b60008151905061325081612adc565b92915050565b60006020828403121561326c5761326b612aa0565b5b600061327a84828501613241565b91505092915050565b60006040820190506132986000830185612e53565b6132a56020830184612e53565b9392505050565b6000819050919050565b60006132d16132cc6132c7846132ac565b61318e565b612b08565b9050919050565b6132e1816132b6565b82525050565b600060c0820190506132fc6000830189612e53565b6133096020830188612be1565b61331660408301876132d8565b61332360608301866132d8565b6133306080830185612e53565b61333d60a0830184612be1565b979650505050505050565b60008151905061335781612b12565b92915050565b60008060006060848603121561337657613375612aa0565b5b600061338486828701613348565b935050602061339586828701613348565b92505060406133a686828701613348565b9150509250925092565b6133c16133bc82612aca565b6131fd565b82525050565b60006133d382846133b0565b60148201915081905092915050565b60006040820190506133f76000830185612e53565b6134046020830184612be1565b9392505050565b61341481612b7e565b811461341f57600080fd5b50565b6000815190506134318161340b565b92915050565b60006020828403121561344d5761344c612aa0565b5b600061345b84828501613422565b91505092915050565b600061346f82612b08565b915061347a83612b08565b925082820190508082111561349257613491612f28565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134f46026836129ef565b91506134ff82613498565b604082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b600081905092915050565b50565b600061354560008361352a565b915061355082613535565b600082019050919050565b600061356682613538565b9150819050919050565b7f4f776e6572000000000000000000000000000000000000000000000000000000600082015250565b60006135a66005836129ef565b91506135b182613570565b602082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f7370656e64657200000000000000000000000000000000000000000000000000600082015250565b60006136126007836129ef565b915061361d826135dc565b602082019050919050565b6000602082019050818103600083015261364181613605565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061367e6020836129ef565b915061368982613648565b602082019050919050565b600060208201905081810360008301526136ad81613671565b9050919050565b7f66726f6d00000000000000000000000000000000000000000000000000000000600082015250565b60006136ea6004836129ef565b91506136f5826136b4565b602082019050919050565b60006020820190508181036000830152613719816136dd565b9050919050565b7f746f000000000000000000000000000000000000000000000000000000000000600082015250565b60006137566002836129ef565b915061376182613720565b602082019050919050565b6000602082019050818103600083015261378581613749565b9050919050565b7f616d6f756e740000000000000000000000000000000000000000000000000000600082015250565b60006137c26006836129ef565b91506137cd8261378c565b602082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f43616c6c65720000000000000000000000000000000000000000000000000000600082015250565b600061382e6006836129ef565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b7f46726f6d00000000000000000000000000000000000000000000000000000000600082015250565b600061389a6004836129ef565b91506138a582613864565b602082019050919050565b600060208201905081810360008301526138c98161388d565b9050919050565b7f4d57530000000000000000000000000000000000000000000000000000000000600082015250565b60006139066003836129ef565b9150613911826138d0565b602082019050919050565b60006020820190508181036000830152613935816138f9565b9050919050565b7f4d54410000000000000000000000000000000000000000000000000000000000600082015250565b60006139726003836129ef565b915061397d8261393c565b602082019050919050565b600060208201905081810360008301526139a181613965565b9050919050565b60006139b382612b08565b91506139be83612b08565b92508282039050818111156139d6576139d5612f28565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a1181612aca565b82525050565b6000613a238383613a08565b60208301905092915050565b6000602082019050919050565b6000613a47826139dc565b613a5181856139e7565b9350613a5c836139f8565b8060005b83811015613a8d578151613a748882613a17565b9750613a7f83613a2f565b925050600181019050613a60565b5085935050505092915050565b600060a082019050613aaf6000830188612be1565b613abc60208301876132d8565b8181036040830152613ace8186613a3c565b9050613add6060830185612e53565b613aea6080830184612be1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b2e82612b08565b9150613b3983612b08565b925082613b4957613b48613af4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb06021836129ef565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613c1c601b836129ef565b9150613c2782613be6565b602082019050919050565b60006020820190508181036000830152613c4b81613c0f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122064b36da5824999c6ea8a07f4e247715658a246a295c34b1d294eb3e73374e2bb64736f6c634300081200330000000000000000000000002c73df2f869ffe5a9768329429987b8ba2fa2cfe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144849ae898eb393bba40aedeb6265acd0b543b0b4d9c5e0e6ba14cf55dd2ca4549572d1e02df06fa956a9e4964acde492472ed852942e6bad354df1a9159bb46cbee432a39cf5b1805478f4a62de890ecc166d13d6cd3ad906594e69daf445dba1a8f5c8129d20607c9d22b8993d3c02985c98d0610b1a02afb3c8c85d02128f25e816b9a6ec97829fcd5bcaa8e7f32b0716b6f87bd8fb3c378889a2fdbde5759e88da73fbb384182aa0629614801ce5eb5c4e9eab7d2cd5091151c40af8365752d30af62b5a3f491a1e29bc16f7227b223b9063845c08ad23df5c795479ef74f0786334f013a1406529de9433381d34f0302b089d3dcc03b495a08ec4a136e430d804a9cbac3b9f609eada6f4c9bfb7236acb22c3e74022b0ff8920e210377a0a276dd2f6839dec8af3ad431cf28d9120aabb591dc4412bc33143337502b46fa40bf42c9dd9f6535ef796dcbde59d44bfcd48deeba6a46a81cc4429ccfdc1fb2b58335efa6bad09df7e0f311c0164ca47ed5c79045d87da29b48f22ce7c1a042da027c0f75abe437f3905deea3bffa478e7f1b724149094dfb4993029806c1100f038f481245f4d647fde254218c3e108b8fee387d5921d39c2aa14af4096ed3da71500ec9d5457ecb7056040577d7c4a4b02a2855080bb7cdc16de2ab28bf371419ff2431dfc346b5beb7b5476a650d39f7a42d7b39f591bd0b7888105ca4ba798e6ae18f4d1d0a6be4c55e4d72241ea70fab0fdbc6f2d39f193a12add59ed65b61dd3b491734de6ceaa1321c205a670464414262b476913807e4fec46e7ba49ac12fe37be52da1909a24b3ee573bb0c7c1c019c50fd96e23a500c62898ca20d9d7ce9baa5a045b331c356aa6235fcbe6e8ae9d382363a7f8f3ffa9886b449c

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063cd4a8deb11610095578063ea2f0b3711610064578063ea2f0b3714610647578063ea414b2814610670578063f2fde38b14610699578063f5648a4f146106c2576101e3565b8063cd4a8deb146105a1578063cf1cca32146105ca578063dd62ed3e146105e1578063e9b6bb8d1461061e576101e3565b8063bb054faf116100d1578063bb054faf1461050b578063bf474bed14610534578063c876d0b91461055f578063c9567bf91461058a576101e3565b80638da5cb5b1461044d5780638f9a55c01461047857806395d89b41146104a3578063a9059cbb146104ce576101e3565b8063313ce5671161017a578063715018a611610149578063715018a6146103cb57806371b9189c146103e2578063751039fc1461040b5780637d1db4a514610422576101e3565b8063313ce56714610323578063474150e41461034e57806351bc3c851461037757806370a082311461038e576101e3565b80630faee56f116101b65780630faee56f1461027957806318160ddd146102a457806323b872dd146102cf578063301370af1461030c576101e3565b806306fdde03146101e8578063095ea7b31461021357806309df275e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6106d9565b60405161020a9190612a74565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612b3e565b610716565b6040516102479190612b99565b60405180910390f35b34801561025c57600080fd5b5061027760048036038101906102729190612bb4565b610734565b005b34801561028557600080fd5b5061028e61075e565b60405161029b9190612bf0565b60405180910390f35b3480156102b057600080fd5b506102b9610764565b6040516102c69190612bf0565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190612c0b565b610787565b6040516103039190612b99565b60405180910390f35b34801561031857600080fd5b50610321610860565b005b34801561032f57600080fd5b506103386108c4565b6040516103459190612c7a565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190612bb4565b6108cd565b005b34801561038357600080fd5b5061038c61091b565b005b34801561039a57600080fd5b506103b560048036038101906103b09190612c95565b6109b8565b6040516103c29190612bf0565b60405180910390f35b3480156103d757600080fd5b506103e0610a01565b005b3480156103ee57600080fd5b5061040960048036038101906104049190612e0a565b610a15565b005b34801561041757600080fd5b50610420610ab2565b005b34801561042e57600080fd5b50610437610b6d565b6040516104449190612bf0565b60405180910390f35b34801561045957600080fd5b50610462610b73565b60405161046f9190612e62565b60405180910390f35b34801561048457600080fd5b5061048d610b9c565b60405161049a9190612bf0565b60405180910390f35b3480156104af57600080fd5b506104b8610ba2565b6040516104c59190612a74565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f09190612b3e565b610bdf565b6040516105029190612b99565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190612bb4565b610bfd565b005b34801561054057600080fd5b50610549610c0f565b6040516105569190612bf0565b60405180910390f35b34801561056b57600080fd5b50610574610c15565b6040516105819190612b99565b60405180910390f35b34801561059657600080fd5b5061059f610c28565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190612bb4565b611176565b005b3480156105d657600080fd5b506105df6111c4565b005b3480156105ed57600080fd5b5061060860048036038101906106039190612e7d565b6111f8565b6040516106159190612bf0565b60405180910390f35b34801561062a57600080fd5b5061064560048036038101906106409190612bb4565b61127f565b005b34801561065357600080fd5b5061066e60048036038101906106699190612c95565b611291565b005b34801561067c57600080fd5b5061069760048036038101906106929190612efb565b6112f4565b005b3480156106a557600080fd5b506106c060048036038101906106bb9190612c95565b6114df565b005b3480156106ce57600080fd5b506106d7611562565b005b60606040518060400160405280600981526020017f546f6675204368616e0000000000000000000000000000000000000000000000815250905090565b600061072a610723611623565b848461162b565b6001905092915050565b61073c6117f4565b6009600a61074a919061308a565b8161075591906130d5565b60128190555050565b60125481565b60006009600a610774919061308a565b620f424061078291906130d5565b905090565b6000610794848484611872565b610855846107a0611623565b61085085604051806060016040528060288152602001613c5360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610806611623565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123489092919063ffffffff16565b61162b565b600190509392505050565b6108686117f4565b6000610873306109b8565b905060008111156108a157610887816123ac565b6000479050600081111561089f5761089e4761264f565b5b505b600060068190555060006007819055506000600881905550600060098190555050565b60006009905090565b6108d56117f4565b600d54811015610911576040517f1127e1ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600a8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661095c611623565b73ffffffffffffffffffffffffffffffffffffffff161461097c57600080fd5b6000610987306109b8565b9050600081111561099c5761099b816123ac565b5b600047905060008111156109b4576109b38161264f565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a096117f4565b610a1360006126bb565b565b610a1d6117f4565b60005b8151811015610aae57600160036000848481518110610a4257610a41613117565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610aa690613146565b915050610a20565b5050565b610aba6117f4565b6009600a610ac8919061308a565b620f4240610ad691906130d5565b600f819055506009600a610aea919061308a565b620f4240610af891906130d5565b6010819055506000601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b48919061308a565b620f4240610b5691906130d5565b604051610b639190612bf0565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f544f424500000000000000000000000000000000000000000000000000000000815250905090565b6000610bf3610bec611623565b8484611872565b6001905092915050565b610c056117f4565b80600c8190555050565b60115481565b601560179054906101000a900460ff1681565b610c306117f4565b60011515601560149054906101000a900460ff16151503610c7d576040517fb570a37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001610cb69190613226565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550610d3930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d26919061308a565b620f4240610d3491906130d5565b61162b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613256565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e779190613256565b6040518363ffffffff1660e01b8152600401610e94929190613283565b6020604051808303816000875af1158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed79190613256565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f60306109b8565b600080610f6b610b73565b426040518863ffffffff1660e01b8152600401610f8d969594939291906132e7565b60606040518083038185885af1158015610fab573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fd0919061335d565b505050600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200161100c91906133c7565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110e69291906133e2565b6020604051808303816000875af1158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190613437565b50610e10426111389190613464565b600e819055506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b61117e6117f4565b600d548110156111ba576040517f1127e1ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b8190555050565b6111cc6117f4565b601560169054906101000a900460ff1615601560166101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112876117f4565b8060118190555050565b6112996117f4565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112fc610b73565b73ffffffffffffffffffffffffffffffffffffffff1661131a611623565b73ffffffffffffffffffffffffffffffffffffffff161415806113925750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611379611623565b73ffffffffffffffffffffffffffffffffffffffff1614155b156113c9576040517f275ffbfa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060036000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114e76117f4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d9061350a565b60405180910390fd5b61155f816126bb565b50565b61156a6117f4565b60003373ffffffffffffffffffffffffffffffffffffffff16476040516115909061355b565b60006040518083038185875af1925050503d80600081146115cd576040519150601f19603f3d011682016040523d82523d6000602084013e6115d2565b606091505b505090508061160d576040517f625a40e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611620303361161b306109b8565b611872565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169a576040517f0f2d6085000000000000000000000000000000000000000000000000000000008152600401611691906135bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611709576040517f0f2d608500000000000000000000000000000000000000000000000000000000815260040161170090613628565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117e79190612bf0565b60405180910390a3505050565b6117fc611623565b73ffffffffffffffffffffffffffffffffffffffff1661181a610b73565b73ffffffffffffffffffffffffffffffffffffffff1614611870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186790613694565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e1576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016118d890613700565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611950576040517f0f2d60850000000000000000000000000000000000000000000000000000000081526004016119479061376c565b60405180910390fd5b60008111611993576040517ff9ea61b100000000000000000000000000000000000000000000000000000000815260040161198a906137d8565b60405180910390fd5b61199c3361277f565b6119db576040517f2ab07af00000000000000000000000000000000000000000000000000000000081526004016119d290613844565b60405180910390fd5b6119e48361277f565b611a23576040517f2ab07af0000000000000000000000000000000000000000000000000000000008152600401611a1a906138b0565b60405180910390fd5b611a2c8261277f565b611a6b576040517f2ab07af0000000000000000000000000000000000000000000000000000000008152600401611a629061376c565b60405180910390fd5b6000611a75610b73565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ae35750611ab3610b73565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b1b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561208b57601560179054906101000a900460ff1615611c7857601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611be15750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c775743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611c3257600080fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d235750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d795750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e5457600f54821115611dc3576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611dba906137d8565b60405180910390fd5b60105482611dd0856109b8565b611dda9190613464565b1115611e1b576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611e129061391c565b60405180910390fd5b600c54600d541015611e3b57611e30836127e9565b15611e3a57600080fd5b5b600d6000815480929190611e4e90613146565b91905055505b611e906064611e82600a54600d5411611e6f57600654611e73565b6008545b856127fc90919063ffffffff16565b61287690919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f1b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fa457600f54821115611f65576040517fa6bd0218000000000000000000000000000000000000000000000000000000008152600401611f5c90613988565b60405180910390fd5b611fa16064611f93600b54600d5411611f8057600754611f84565b6009545b856127fc90919063ffffffff16565b61287690919063ffffffff16565b90505b6000611faf306109b8565b905060158054906101000a900460ff161580156120195750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156120315750601560169054906101000a900460ff165b801561203e575060115481115b801561204d5750600c54600d54115b156120895761206f61206a84612065846012546128c0565b6128c0565b6123ac565b60004790506000811115612087576120864761264f565b5b505b505b600081111561218f576120e681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128d990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121869190612bf0565b60405180910390a35b6121e182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228861223a828461293790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128d990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61232d848661293790919063ffffffff16565b60405161233a9190612bf0565b60405180910390a350505050565b6000838311158290612390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123879190612a74565b60405180910390fd5b506000838561239f91906139a8565b9050809150509392505050565b60016015806101000a81548160ff021916908315150217905550600081031561263257601560149054906101000a900460ff1615612632576000600267ffffffffffffffff81111561240157612400612cc7565b5b60405190808252806020026020018201604052801561242f5781602001602082028036833780820191505090505b509050308160008151811061244757612446613117565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125129190613256565b8160018151811061252657612525613117565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061258d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461162b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947836000843061012c426125de9190613464565b6040518663ffffffff1660e01b81526004016125fe959493929190613a9a565b600060405180830381600087803b15801561261857600080fd5b505af115801561262c573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156126b7573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600e544210156127df5760008260405160200161279e91906133c7565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff169150506127e4565b600190505b919050565b600080823b905060008111915050919050565b600080830361280e5760009050612870565b6000828461281c91906130d5565b905082848261282b9190613b23565b1461286b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286290613bc6565b60405180910390fd5b809150505b92915050565b60006128b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612981565b905092915050565b60008183116128cf57826128d1565b815b905092915050565b60008082846128e89190613464565b90508381101561292d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292490613c32565b60405180910390fd5b8091505092915050565b600061297983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612348565b905092915050565b600080831182906129c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bf9190612a74565b60405180910390fd5b50600083856129d79190613b23565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a1e578082015181840152602081019050612a03565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a46826129e4565b612a5081856129ef565b9350612a60818560208601612a00565b612a6981612a2a565b840191505092915050565b60006020820190508181036000830152612a8e8184612a3b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad582612aaa565b9050919050565b612ae581612aca565b8114612af057600080fd5b50565b600081359050612b0281612adc565b92915050565b6000819050919050565b612b1b81612b08565b8114612b2657600080fd5b50565b600081359050612b3881612b12565b92915050565b60008060408385031215612b5557612b54612aa0565b5b6000612b6385828601612af3565b9250506020612b7485828601612b29565b9150509250929050565b60008115159050919050565b612b9381612b7e565b82525050565b6000602082019050612bae6000830184612b8a565b92915050565b600060208284031215612bca57612bc9612aa0565b5b6000612bd884828501612b29565b91505092915050565b612bea81612b08565b82525050565b6000602082019050612c056000830184612be1565b92915050565b600080600060608486031215612c2457612c23612aa0565b5b6000612c3286828701612af3565b9350506020612c4386828701612af3565b9250506040612c5486828701612b29565b9150509250925092565b600060ff82169050919050565b612c7481612c5e565b82525050565b6000602082019050612c8f6000830184612c6b565b92915050565b600060208284031215612cab57612caa612aa0565b5b6000612cb984828501612af3565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612cff82612a2a565b810181811067ffffffffffffffff82111715612d1e57612d1d612cc7565b5b80604052505050565b6000612d31612a96565b9050612d3d8282612cf6565b919050565b600067ffffffffffffffff821115612d5d57612d5c612cc7565b5b602082029050602081019050919050565b600080fd5b6000612d86612d8184612d42565b612d27565b90508083825260208201905060208402830185811115612da957612da8612d6e565b5b835b81811015612dd25780612dbe8882612af3565b845260208401935050602081019050612dab565b5050509392505050565b600082601f830112612df157612df0612cc2565b5b8135612e01848260208601612d73565b91505092915050565b600060208284031215612e2057612e1f612aa0565b5b600082013567ffffffffffffffff811115612e3e57612e3d612aa5565b5b612e4a84828501612ddc565b91505092915050565b612e5c81612aca565b82525050565b6000602082019050612e776000830184612e53565b92915050565b60008060408385031215612e9457612e93612aa0565b5b6000612ea285828601612af3565b9250506020612eb385828601612af3565b9150509250929050565b6000612ec882612aaa565b9050919050565b612ed881612ebd565b8114612ee357600080fd5b50565b600081359050612ef581612ecf565b92915050565b600060208284031215612f1157612f10612aa0565b5b6000612f1f84828501612ee6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612fae57808604811115612f8a57612f89612f28565b5b6001851615612f995780820291505b8081029050612fa785612f57565b9450612f6e565b94509492505050565b600082612fc75760019050613083565b81612fd55760009050613083565b8160018114612feb5760028114612ff557613024565b6001915050613083565b60ff84111561300757613006612f28565b5b8360020a91508482111561301e5761301d612f28565b5b50613083565b5060208310610133831016604e8410600b84101617156130595782820a90508381111561305457613053612f28565b5b613083565b6130668484846001612f64565b9250905081840481111561307d5761307c612f28565b5b81810290505b9392505050565b600061309582612b08565b91506130a083612c5e565b92506130cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fb7565b905092915050565b60006130e082612b08565b91506130eb83612b08565b92508282026130f981612b08565b915082820484148315176131105761310f612f28565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061315182612b08565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361318357613182612f28565b5b600182019050919050565b6000819050919050565b60006131b36131ae6131a984612aaa565b61318e565b612aaa565b9050919050565b60006131c582613198565b9050919050565b60006131d7826131ba565b9050919050565b60008160601b9050919050565b60006131f6826131de565b9050919050565b6000613208826131eb565b9050919050565b61322061321b826131cc565b6131fd565b82525050565b6000613232828461320f565b60148201915081905092915050565b60008151905061325081612adc565b92915050565b60006020828403121561326c5761326b612aa0565b5b600061327a84828501613241565b91505092915050565b60006040820190506132986000830185612e53565b6132a56020830184612e53565b9392505050565b6000819050919050565b60006132d16132cc6132c7846132ac565b61318e565b612b08565b9050919050565b6132e1816132b6565b82525050565b600060c0820190506132fc6000830189612e53565b6133096020830188612be1565b61331660408301876132d8565b61332360608301866132d8565b6133306080830185612e53565b61333d60a0830184612be1565b979650505050505050565b60008151905061335781612b12565b92915050565b60008060006060848603121561337657613375612aa0565b5b600061338486828701613348565b935050602061339586828701613348565b92505060406133a686828701613348565b9150509250925092565b6133c16133bc82612aca565b6131fd565b82525050565b60006133d382846133b0565b60148201915081905092915050565b60006040820190506133f76000830185612e53565b6134046020830184612be1565b9392505050565b61341481612b7e565b811461341f57600080fd5b50565b6000815190506134318161340b565b92915050565b60006020828403121561344d5761344c612aa0565b5b600061345b84828501613422565b91505092915050565b600061346f82612b08565b915061347a83612b08565b925082820190508082111561349257613491612f28565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134f46026836129ef565b91506134ff82613498565b604082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b600081905092915050565b50565b600061354560008361352a565b915061355082613535565b600082019050919050565b600061356682613538565b9150819050919050565b7f4f776e6572000000000000000000000000000000000000000000000000000000600082015250565b60006135a66005836129ef565b91506135b182613570565b602082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f7370656e64657200000000000000000000000000000000000000000000000000600082015250565b60006136126007836129ef565b915061361d826135dc565b602082019050919050565b6000602082019050818103600083015261364181613605565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061367e6020836129ef565b915061368982613648565b602082019050919050565b600060208201905081810360008301526136ad81613671565b9050919050565b7f66726f6d00000000000000000000000000000000000000000000000000000000600082015250565b60006136ea6004836129ef565b91506136f5826136b4565b602082019050919050565b60006020820190508181036000830152613719816136dd565b9050919050565b7f746f000000000000000000000000000000000000000000000000000000000000600082015250565b60006137566002836129ef565b915061376182613720565b602082019050919050565b6000602082019050818103600083015261378581613749565b9050919050565b7f616d6f756e740000000000000000000000000000000000000000000000000000600082015250565b60006137c26006836129ef565b91506137cd8261378c565b602082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f43616c6c65720000000000000000000000000000000000000000000000000000600082015250565b600061382e6006836129ef565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b7f46726f6d00000000000000000000000000000000000000000000000000000000600082015250565b600061389a6004836129ef565b91506138a582613864565b602082019050919050565b600060208201905081810360008301526138c98161388d565b9050919050565b7f4d57530000000000000000000000000000000000000000000000000000000000600082015250565b60006139066003836129ef565b9150613911826138d0565b602082019050919050565b60006020820190508181036000830152613935816138f9565b9050919050565b7f4d54410000000000000000000000000000000000000000000000000000000000600082015250565b60006139726003836129ef565b915061397d8261393c565b602082019050919050565b600060208201905081810360008301526139a181613965565b9050919050565b60006139b382612b08565b91506139be83612b08565b92508282039050818111156139d6576139d5612f28565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a1181612aca565b82525050565b6000613a238383613a08565b60208301905092915050565b6000602082019050919050565b6000613a47826139dc565b613a5181856139e7565b9350613a5c836139f8565b8060005b83811015613a8d578151613a748882613a17565b9750613a7f83613a2f565b925050600181019050613a60565b5085935050505092915050565b600060a082019050613aaf6000830188612be1565b613abc60208301876132d8565b8181036040830152613ace8186613a3c565b9050613add6060830185612e53565b613aea6080830184612be1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b2e82612b08565b9150613b3983612b08565b925082613b4957613b48613af4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb06021836129ef565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613c1c601b836129ef565b9150613c2782613be6565b602082019050919050565b60006020820190508181036000830152613c4b81613c0f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122064b36da5824999c6ea8a07f4e247715658a246a295c34b1d294eb3e73374e2bb64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002c73df2f869ffe5a9768329429987b8ba2fa2cfe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144849ae898eb393bba40aedeb6265acd0b543b0b4d9c5e0e6ba14cf55dd2ca4549572d1e02df06fa956a9e4964acde492472ed852942e6bad354df1a9159bb46cbee432a39cf5b1805478f4a62de890ecc166d13d6cd3ad906594e69daf445dba1a8f5c8129d20607c9d22b8993d3c02985c98d0610b1a02afb3c8c85d02128f25e816b9a6ec97829fcd5bcaa8e7f32b0716b6f87bd8fb3c378889a2fdbde5759e88da73fbb384182aa0629614801ce5eb5c4e9eab7d2cd5091151c40af8365752d30af62b5a3f491a1e29bc16f7227b223b9063845c08ad23df5c795479ef74f0786334f013a1406529de9433381d34f0302b089d3dcc03b495a08ec4a136e430d804a9cbac3b9f609eada6f4c9bfb7236acb22c3e74022b0ff8920e210377a0a276dd2f6839dec8af3ad431cf28d9120aabb591dc4412bc33143337502b46fa40bf42c9dd9f6535ef796dcbde59d44bfcd48deeba6a46a81cc4429ccfdc1fb2b58335efa6bad09df7e0f311c0164ca47ed5c79045d87da29b48f22ce7c1a042da027c0f75abe437f3905deea3bffa478e7f1b724149094dfb4993029806c1100f038f481245f4d647fde254218c3e108b8fee387d5921d39c2aa14af4096ed3da71500ec9d5457ecb7056040577d7c4a4b02a2855080bb7cdc16de2ab28bf371419ff2431dfc346b5beb7b5476a650d39f7a42d7b39f591bd0b7888105ca4ba798e6ae18f4d1d0a6be4c55e4d72241ea70fab0fdbc6f2d39f193a12add59ed65b61dd3b491734de6ceaa1321c205a670464414262b476913807e4fec46e7ba49ac12fe37be52da1909a24b3ee573bb0c7c1c019c50fd96e23a500c62898ca20d9d7ce9baa5a045b331c356aa6235fcbe6e8ae9d382363a7f8f3ffa9886b449c

-----Decoded View---------------
Arg [0] : _tWallet (address): 0x2C73DF2f869ffE5a9768329429987B8BA2fA2cFE
Arg [1] : _stamps (bytes32[]): System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[]

-----Encoded View---------------
23 Constructor Arguments found :
Arg [0] : 0000000000000000000000002c73df2f869ffe5a9768329429987b8ba2fa2cfe
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [3] : 4849ae898eb393bba40aedeb6265acd0b543b0b4d9c5e0e6ba14cf55dd2ca454
Arg [4] : 9572d1e02df06fa956a9e4964acde492472ed852942e6bad354df1a9159bb46c
Arg [5] : bee432a39cf5b1805478f4a62de890ecc166d13d6cd3ad906594e69daf445dba
Arg [6] : 1a8f5c8129d20607c9d22b8993d3c02985c98d0610b1a02afb3c8c85d02128f2
Arg [7] : 5e816b9a6ec97829fcd5bcaa8e7f32b0716b6f87bd8fb3c378889a2fdbde5759
Arg [8] : e88da73fbb384182aa0629614801ce5eb5c4e9eab7d2cd5091151c40af836575
Arg [9] : 2d30af62b5a3f491a1e29bc16f7227b223b9063845c08ad23df5c795479ef74f
Arg [10] : 0786334f013a1406529de9433381d34f0302b089d3dcc03b495a08ec4a136e43
Arg [11] : 0d804a9cbac3b9f609eada6f4c9bfb7236acb22c3e74022b0ff8920e210377a0
Arg [12] : a276dd2f6839dec8af3ad431cf28d9120aabb591dc4412bc33143337502b46fa
Arg [13] : 40bf42c9dd9f6535ef796dcbde59d44bfcd48deeba6a46a81cc4429ccfdc1fb2
Arg [14] : b58335efa6bad09df7e0f311c0164ca47ed5c79045d87da29b48f22ce7c1a042
Arg [15] : da027c0f75abe437f3905deea3bffa478e7f1b724149094dfb4993029806c110
Arg [16] : 0f038f481245f4d647fde254218c3e108b8fee387d5921d39c2aa14af4096ed3
Arg [17] : da71500ec9d5457ecb7056040577d7c4a4b02a2855080bb7cdc16de2ab28bf37
Arg [18] : 1419ff2431dfc346b5beb7b5476a650d39f7a42d7b39f591bd0b7888105ca4ba
Arg [19] : 798e6ae18f4d1d0a6be4c55e4d72241ea70fab0fdbc6f2d39f193a12add59ed6
Arg [20] : 5b61dd3b491734de6ceaa1321c205a670464414262b476913807e4fec46e7ba4
Arg [21] : 9ac12fe37be52da1909a24b3ee573bb0c7c1c019c50fd96e23a500c62898ca20
Arg [22] : d9d7ce9baa5a045b331c356aa6235fcbe6e8ae9d382363a7f8f3ffa9886b449c


Deployed Bytecode Sourcemap

4155:13128:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16605:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15757:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12387:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5555:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16882:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16151:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12525:486;;;;;;;;;;;;;:::i;:::-;;16791:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11884:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15258:395;;;;;;;;;;;;;:::i;:::-;;16985:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2780:103;;;;;;;;;;;;;:::i;:::-;;13646:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13331:199;;;;;;;;;;;;;:::i;:::-;;5372:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2545:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5432:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16696:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15951:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13538:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5494:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5851:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13969:921;;;;;;;;;;;;;:::i;:::-;;12077:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15661:88;;;;;;;;;;;;;:::i;:::-;;17112:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12272:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13851:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14898:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2891:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13019:304;;;;;;;;;;;;;:::i;:::-;;16605:83;16642:13;16675:5;;;;;;;;;;;;;;;;;16668:12;;16605:83;:::o;15757:186::-;15857:4;15874:39;15883:12;:10;:12::i;:::-;15897:7;15906:6;15874:8;:39::i;:::-;15931:4;15924:11;;15757:186;;;;:::o;12387:130::-;2504:13;:11;:13::i;:::-;5186:1:::1;12494:2;:15;;;;:::i;:::-;12478:13;:31;;;;:::i;:::-;12464:11;:45;;;;12387:130:::0;:::o;5555:53::-;;;;:::o;16882:95::-;16935:7;5186:1;5239:2;:15;;;;:::i;:::-;5229:7;:25;;;;:::i;:::-;16955:14;;16882:95;:::o;16151:446::-;16283:4;16300:36;16310:6;16318:9;16329:6;16300:9;:36::i;:::-;16347:220;16370:6;16391:12;:10;:12::i;:::-;16418:138;16474:6;16418:138;;;;;;;;;;;;;;;;;:11;:19;16430:6;16418:19;;;;;;;;;;;;;;;:33;16438:12;:10;:12::i;:::-;16418:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;16347:8;:220::i;:::-;16585:4;16578:11;;16151:446;;;;;:::o;12525:486::-;2504:13;:11;:13::i;:::-;12577:23:::1;12603:24;12621:4;12603:9;:24::i;:::-;12577:50;;12660:1;12642:15;:19;12638:248;;;12678:33;12695:15;12678:16;:33::i;:::-;12726:19;12748:21;12726:43;;12802:1;12788:11;:15;12784:91;;;12824:35;12837:21;12824:12;:35::i;:::-;12784:91;12663:223;12638:248;12915:1;12898:14;:18;;;;12945:1;12927:15;:19;;;;12974:1;12959:12;:16;;;;13002:1;12986:13;:17;;;;12566:445;12525:486::o:0;16791:83::-;16832:5;5186:1;16850:16;;16791:83;:::o;11884:185::-;2504:13;:11;:13::i;:::-;11967:9:::1;;11957:7;:19;11953:73;;;12000:14;;;;;;;;;;;;;;11953:73;12054:7;12036:15;:25;;;;11884:185:::0;:::o;15258:395::-;15318:10;;;;;;;;;;;15302:26;;:12;:10;:12::i;:::-;:26;;;15298:67;;15345:8;;;15298:67;15375:20;15398:24;15416:4;15398:9;:24::i;:::-;15375:47;;15452:1;15437:12;:16;15433:79;;;15470:30;15487:12;15470:16;:30::i;:::-;15433:79;15522:18;15543:21;15522:42;;15592:1;15579:10;:14;15575:71;;;15610:24;15623:10;15610:12;:24::i;:::-;15575:71;15287:366;;15258:395::o;16985:119::-;17051:7;17078:9;:18;17088:7;17078:18;;;;;;;;;;;;;;;;17071:25;;16985:119;;;:::o;2780:103::-;2504:13;:11;:13::i;:::-;2845:30:::1;2872:1;2845:18;:30::i;:::-;2780:103::o:0;13646:197::-;2504:13;:11;:13::i;:::-;13730:9:::1;13725:111;13749:8;:15;13745:1;:19;13725:111;;;13820:4;13786:18;:31;13805:8;13814:1;13805:11;;;;;;;;:::i;:::-;;;;;;;;13786:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;13766:3;;;;;:::i;:::-;;;;13725:111;;;;13646:197:::0;:::o;13331:199::-;2504:13;:11;:13::i;:::-;5186:1:::1;5239:2;:15;;;;:::i;:::-;5229:7;:25;;;;:::i;:::-;13383:12;:22;;;;5186:1;5239:2;:15;;;;:::i;:::-;5229:7;:25;;;;:::i;:::-;13416:14;:24;;;;13474:5;13451:20;;:28;;;;;;;;;;;;;;;;;;13495:27;5186:1;5239:2;:15;;;;:::i;:::-;5229:7;:25;;;;:::i;:::-;13495:27;;;;;;:::i;:::-;;;;;;;;13331:199::o:0;5372:53::-;;;;:::o;2545:87::-;2591:7;2618:6;;;;;;;;;;;2611:13;;2545:87;:::o;5432:55::-;;;;:::o;16696:87::-;16735:13;16768:7;;;;;;;;;;;;;;;;;16761:14;;16696:87;:::o;15951:192::-;16054:4;16071:42;16081:12;:10;:12::i;:::-;16095:9;16106:6;16071:9;:42::i;:::-;16131:4;16124:11;;15951:192;;;;:::o;13538:100::-;2504:13;:11;:13::i;:::-;13623:7:::1;13602:18;:28;;;;13538:100:::0;:::o;5494:54::-;;;;:::o;5851:40::-;;;;;;;;;;;;;:::o;13969:921::-;2504:13;:11;:13::i;:::-;14039:4:::1;14024:19;;:11;;;;;;;;;;;:19;;::::0;14020:73:::1;;14067:14;;;;;;;;;;;;;;14020:73;14158:4;14103:6;:52;14137:15;;;;;;;;;;;14120:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;14110:44;;;;;;14103:52;;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;14173:58;14190:4;14205:15;;;;;;;;;;;5186:1;5239:2;:15;;;;:::i;:::-;5229:7;:25;;;;:::i;:::-;14173:8;:58::i;:::-;14276:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14258:55;;;14336:4;14356:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14258:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14242:13;;:147;;;;;;;;;;;;;;;;;;14400:15;;;;;;;;;;;:31;;;14439:21;14484:4;14504:24;14522:4;14504:9;:24::i;:::-;14543:1;14559::::0;14575:7:::1;:5;:7::i;:::-;14597:15;14400:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14687:4;14634:6;:50;14668:13;;;;;;;;;;;14651:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;14641:42;;;;;;14634:50;;;;;;;;;;;;:57;;;;;;;;;;;;;;;;;;14709:13;;;;;;;;;;;14702:29;;;14740:15;;;;;;;;;;;14758:14;14702:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14814:10;14796:15;:28;;;;:::i;:::-;14784:9;:40;;;;14849:4;14835:11;;:18;;;;;;;;;;;;;;;;;;14878:4;14864:11;;:18;;;;;;;;;;;;;;;;;;13969:921::o:0;12077:187::-;2504:13;:11;:13::i;:::-;12161:9:::1;;12151:7;:19;12147:73;;;12194:14;;;;;;;;;;;;;;12147:73;12249:7;12230:16;:26;;;;12077:187:::0;:::o;15661:88::-;2504:13;:11;:13::i;:::-;15730:11:::1;;;;;;;;;;;15729:12;15715:11;;:26;;;;;;;;;;;;;;;;;;15661:88::o:0;17112:168::-;17218:7;17245:11;:18;17257:5;17245:18;;;;;;;;;;;;;;;:27;17264:7;17245:27;;;;;;;;;;;;;;;;17238:34;;17112:168;;;;:::o;12272:107::-;2504:13;:11;:13::i;:::-;12364:7:::1;12344:17;:27;;;;12272:107:::0;:::o;13851:110::-;2504:13;:11;:13::i;:::-;13948:5:::1;13918:18;:27;13937:7;13918:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13851:110:::0;:::o;14898:352::-;14999:7;:5;:7::i;:::-;14983:23;;:12;:10;:12::i;:::-;:23;;;;:53;;;;15026:10;;;;;;;;;;;15010:26;;:12;:10;:12::i;:::-;:26;;;;14983:53;14979:114;;;15064:13;;;;;;;;;;;;;;14979:114;15140:5;15107:18;:30;15126:10;;;;;;;;;;;15107:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;15173:8;15160:10;;:21;;;;;;;;;;;;;;;;;;15227:4;15196:18;:28;15215:8;15196:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14898:352;:::o;2891:238::-;2504:13;:11;:13::i;:::-;3014:1:::1;2994:22;;:8;:22;;::::0;2972:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3093:28;3112:8;3093:18;:28::i;:::-;2891:238:::0;:::o;13019:304::-;2504:13;:11;:13::i;:::-;13076:12:::1;13102:10;13094:24;;13140:21;13094:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13075:101;;;13192:7;13187:56;;13223:8;;;;;;;;;;;;;;13187:56;13253:62;13271:4;13278:10;13290:24;13308:4;13290:9;:24::i;:::-;13253:9;:62::i;:::-;13064:259;13019:304::o:0;93:98::-;146:7;173:10;166:17;;93:98;:::o;6665:361::-;6771:1;6754:19;;:5;:19;;;6750:80;;6797:21;;;;;;;;;;:::i;:::-;;;;;;;;6750:80;6863:1;6844:21;;:7;:21;;;6840:84;;6889:23;;;;;;;;;;:::i;:::-;;;;;;;;6840:84;6964:6;6934:11;:18;6946:5;6934:18;;;;;;;;;;;;;;;:27;6953:7;6934:27;;;;;;;;;;;;;;;:36;;;;7002:7;6986:32;;6995:5;6986:32;;;7011:6;6986:32;;;;;;:::i;:::-;;;;;;;;6665:361;;;:::o;2640:132::-;2715:12;:10;:12::i;:::-;2704:23;;:7;:5;:7::i;:::-;:23;;;2696:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2640:132::o;7034:3521::-;7134:1;7118:18;;:4;:18;;;7114:78;;7160:20;;;;;;;;;;:::i;:::-;;;;;;;;7114:78;7220:1;7206:16;;:2;:16;;;7202:74;;7246:18;;;;;;;;;;:::i;:::-;;;;;;;;7202:74;7300:1;7290:6;:11;7286:72;;7325:21;;;;;;;;;;:::i;:::-;;;;;;;;7286:72;7373:23;7385:10;7373:11;:23::i;:::-;7368:80;;7420:16;;;;;;;;;;:::i;:::-;;;;;;;;7368:80;7463:17;7475:4;7463:11;:17::i;:::-;7458:72;;7504:14;;;;;;;;;;:::i;:::-;;;;;;;;7458:72;7545:15;7557:2;7545:11;:15::i;:::-;7540:68;;7584:12;;;;;;;;;;:::i;:::-;;;;;;;;7540:68;7618:17;7662:7;:5;:7::i;:::-;7654:15;;:4;:15;;;;:32;;;;;7679:7;:5;:7::i;:::-;7673:13;;:2;:13;;;;7654:32;:57;;;;;7706:4;7690:21;;:4;:21;;;;7654:57;7650:2534;;;7732:20;;;;;;;;;;;7728:477;;;7813:15;;;;;;;;;;;7799:30;;:2;:30;;;;:83;;;;;7868:13;;;;;;;;;;;7854:28;;:2;:28;;;;7799:83;7773:417;;;7997:12;7955:28;:39;7984:9;7955:39;;;;;;;;;;;;;;;;:54;7925:167;;;8060:8;;;7925:167;8158:12;8116:28;:39;8145:9;8116:39;;;;;;;;;;;;;;;:54;;;;7773:417;7728:477;8251:13;;;;;;;;;;;8243:21;;:4;:21;;;:72;;;;;8299:15;;;;;;;;;;;8285:30;;:2;:30;;;;8243:72;:116;;;;;8337:18;:22;8356:2;8337:22;;;;;;;;;;;;;;;;;;;;;;;;;8336:23;8243:116;8221:610;;;8407:12;;8398:6;:21;8394:92;;;8451:15;;;;;;;;;;:::i;:::-;;;;;;;;8394:92;8533:14;;8524:6;8508:13;8518:2;8508:9;:13::i;:::-;:22;;;;:::i;:::-;:39;8504:107;;;8579:12;;;;;;;;;;:::i;:::-;;;;;;;;8504:107;8645:18;;8633:9;;:30;8629:157;;;8692:14;8703:2;8692:10;:14::i;:::-;8688:79;;;8735:8;;;8688:79;8629:157;8804:9;;:11;;;;;;;;;:::i;:::-;;;;;;8221:610;8859:208;9063:3;8859:181;8923:15;;8911:9;;:27;8910:111;;9007:14;;8910:111;;;8967:12;;8910:111;8859:6;:28;;:181;;;;:::i;:::-;:203;;:208;;;;:::i;:::-;8847:220;;9092:13;;;;;;;;;;;9086:19;;:2;:19;;;:44;;;;;9125:4;9109:21;;:4;:21;;;;9086:44;9082:439;;;9164:12;;9155:6;:21;9151:89;;;9208:12;;;;;;;;;;:::i;:::-;;;;;;;;9151:89;9270:235;9501:3;9270:204;9342:16;;9330:9;;:28;9329:122;;9436:15;;9329:122;;;9391:13;;9329:122;9270:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9258:247;;9082:439;9537:28;9568:24;9586:4;9568:9;:24::i;:::-;9537:55;;9630:6;;;;;;;;;;9629:7;:47;;;;;9663:13;;;;;;;;;;;9657:19;;:2;:19;;;9629:47;:79;;;;;9697:11;;;;;;;;;;;9629:79;:140;;;;;9752:17;;9729:20;:40;9629:140;:191;;;;;9802:18;;9790:9;;:30;9629:191;9607:566;;;9855:109;9894:51;9898:6;9906:38;9910:20;9932:11;;9906:3;:38::i;:::-;9894:3;:51::i;:::-;9855:16;:109::i;:::-;9983:26;10012:21;9983:50;;10077:1;10056:18;:22;10052:106;;;10103:35;10116:21;10103:12;:35::i;:::-;10052:106;9836:337;9607:566;7713:2471;7650:2534;10212:1;10200:9;:13;10196:172;;;10257:39;10286:9;10257;:24;10275:4;10257:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10230:9;:24;10248:4;10230:24;;;;;;;;;;;;;;;:66;;;;10339:4;10316:40;;10325:4;10316:40;;;10346:9;10316:40;;;;;;:::i;:::-;;;;;;;;10196:172;10396:27;10416:6;10396:9;:15;10406:4;10396:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10378:9;:15;10388:4;10378:15;;;;;;;;;;;;;;;:45;;;;10450:40;10468:21;10479:9;10468:6;:10;;:21;;;;:::i;:::-;10450:9;:13;10460:2;10450:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10434:9;:13;10444:2;10434:13;;;;;;;;;;;;;;;:56;;;;10521:2;10506:41;;10515:4;10506:41;;;10525:21;10536:9;10525:6;:10;;:21;;;;:::i;:::-;10506:41;;;;;;:::i;:::-;;;;;;;;7103:3452;7034:3521;;;:::o;1360:224::-;1480:7;1513:1;1508;:6;;1516:12;1500:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1540:9;1556:1;1552;:5;;;;:::i;:::-;1540:17;;1575:1;1568:8;;;1360:224;;;;;:::o;10563:621::-;5993:4;5984:6;;:13;;;;;;;;;;;;;;;;;;10660:1:::1;10645:11;:16:::0;10641:55;10678:7:::1;10641:55;10711:11;;;;;;;;;;;10706:51:::0;10739:7:::1;10706:51;10767:21;10805:1;10791:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10767:40;;10836:4;10818;10823:1;10818:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10862:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10852:4;10857:1;10852:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10895:62;10912:4;10927:15;;;;;;;;;;;10945:11;10895:8;:62::i;:::-;10968:15;;;;;;;;;;;:66;;;11049:11;11075:1;11091:4;11118;11156:9;11138:15;:27;;;;:::i;:::-;10968:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10630:554;6008:1;6029:5:::0;6020:6;;:14;;;;;;;;;;;;;;;;;;10563:621;:::o;11581:92::-;11638:10;;;;;;;;;;;:19;;:27;11658:6;11638:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11581:92;:::o;3137:191::-;3211:16;3230:6;;;;;;;;;;;3211:25;;3256:8;3247:6;;:17;;;;;;;;;;;;;;;;;;3311:8;3280:40;;3301:8;3280:40;;;;;;;;;;;;3200:128;3137:191;:::o;11192:266::-;11252:4;11291:9;;11273:15;:27;11269:182;;;11317:9;11356:6;11339:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;11329:35;;;;;;11317:47;;11386:6;:9;11393:1;11386:9;;;;;;;;;;;;;;;;;;;;;11379:16;;;;;11269:182;11435:4;11428:11;;11192:266;;;;:::o;11681:195::-;11740:4;11757:12;11824:7;11812:20;11804:28;;11867:1;11860:4;:8;11853:15;;;11681:195;;;:::o;1592:246::-;1650:7;1679:1;1674;:6;1670:47;;1704:1;1697:8;;;;1670:47;1727:9;1743:1;1739;:5;;;;:::i;:::-;1727:17;;1772:1;1767;1763;:5;;;;:::i;:::-;:10;1755:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1829:1;1822:8;;;1592:246;;;;;:::o;1846:132::-;1904:7;1931:39;1935:1;1938;1931:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1924:46;;1846:132;;;;:::o;11466:107::-;11523:7;11555:1;11551;:5;11550:15;;11564:1;11550:15;;;11560:1;11550:15;11543:22;;11466:107;;;;:::o;1029:179::-;1087:7;1107:9;1123:1;1119;:5;;;;:::i;:::-;1107:17;;1148:1;1143;:6;;1135:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1199:1;1192:8;;;1029:179;;;;:::o;1216:136::-;1274:7;1301:43;1305:1;1308;1301:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1294:50;;1216:136;;;;:::o;1986:223::-;2106:7;2138:1;2134;:5;2141:12;2126:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2165:9;2181:1;2177;:5;;;;:::i;:::-;2165:17;;2200:1;2193:8;;;1986:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:117::-;5632:1;5629;5622:12;5646:180;5694:77;5691:1;5684:88;5791:4;5788:1;5781:15;5815:4;5812:1;5805:15;5832:281;5915:27;5937:4;5915:27;:::i;:::-;5907:6;5903:40;6045:6;6033:10;6030:22;6009:18;5997:10;5994:34;5991:62;5988:88;;;6056:18;;:::i;:::-;5988:88;6096:10;6092:2;6085:22;5875:238;5832:281;;:::o;6119:129::-;6153:6;6180:20;;:::i;:::-;6170:30;;6209:33;6237:4;6229:6;6209:33;:::i;:::-;6119:129;;;:::o;6254:311::-;6331:4;6421:18;6413:6;6410:30;6407:56;;;6443:18;;:::i;:::-;6407:56;6493:4;6485:6;6481:17;6473:25;;6553:4;6547;6543:15;6535:23;;6254:311;;;:::o;6571:117::-;6680:1;6677;6670:12;6711:710;6807:5;6832:81;6848:64;6905:6;6848:64;:::i;:::-;6832:81;:::i;:::-;6823:90;;6933:5;6962:6;6955:5;6948:21;6996:4;6989:5;6985:16;6978:23;;7049:4;7041:6;7037:17;7029:6;7025:30;7078:3;7070:6;7067:15;7064:122;;;7097:79;;:::i;:::-;7064:122;7212:6;7195:220;7229:6;7224:3;7221:15;7195:220;;;7304:3;7333:37;7366:3;7354:10;7333:37;:::i;:::-;7328:3;7321:50;7400:4;7395:3;7391:14;7384:21;;7271:144;7255:4;7250:3;7246:14;7239:21;;7195:220;;;7199:21;6813:608;;6711:710;;;;;:::o;7444:370::-;7515:5;7564:3;7557:4;7549:6;7545:17;7541:27;7531:122;;7572:79;;:::i;:::-;7531:122;7689:6;7676:20;7714:94;7804:3;7796:6;7789:4;7781:6;7777:17;7714:94;:::i;:::-;7705:103;;7521:293;7444:370;;;;:::o;7820:539::-;7904:6;7953:2;7941:9;7932:7;7928:23;7924:32;7921:119;;;7959:79;;:::i;:::-;7921:119;8107:1;8096:9;8092:17;8079:31;8137:18;8129:6;8126:30;8123:117;;;8159:79;;:::i;:::-;8123:117;8264:78;8334:7;8325:6;8314:9;8310:22;8264:78;:::i;:::-;8254:88;;8050:302;7820:539;;;;:::o;8365:118::-;8452:24;8470:5;8452:24;:::i;:::-;8447:3;8440:37;8365:118;;:::o;8489:222::-;8582:4;8620:2;8609:9;8605:18;8597:26;;8633:71;8701:1;8690:9;8686:17;8677:6;8633:71;:::i;:::-;8489:222;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:104::-;9242:7;9271:24;9289:5;9271:24;:::i;:::-;9260:35;;9197:104;;;:::o;9307:138::-;9388:32;9414:5;9388:32;:::i;:::-;9381:5;9378:43;9368:71;;9435:1;9432;9425:12;9368:71;9307:138;:::o;9451:155::-;9505:5;9543:6;9530:20;9521:29;;9559:41;9594:5;9559:41;:::i;:::-;9451:155;;;;:::o;9612:345::-;9679:6;9728:2;9716:9;9707:7;9703:23;9699:32;9696:119;;;9734:79;;:::i;:::-;9696:119;9854:1;9879:61;9932:7;9923:6;9912:9;9908:22;9879:61;:::i;:::-;9869:71;;9825:125;9612:345;;;;:::o;9963:180::-;10011:77;10008:1;10001:88;10108:4;10105:1;10098:15;10132:4;10129:1;10122:15;10149:102;10191:8;10238:5;10235:1;10231:13;10210:34;;10149:102;;;:::o;10257:848::-;10318:5;10325:4;10349:6;10340:15;;10373:5;10364:14;;10387:712;10408:1;10398:8;10395:15;10387:712;;;10503:4;10498:3;10494:14;10488:4;10485:24;10482:50;;;10512:18;;:::i;:::-;10482:50;10562:1;10552:8;10548:16;10545:451;;;10977:4;10970:5;10966:16;10957:25;;10545:451;11027:4;11021;11017:15;11009:23;;11057:32;11080:8;11057:32;:::i;:::-;11045:44;;10387:712;;;10257:848;;;;;;;:::o;11111:1073::-;11165:5;11356:8;11346:40;;11377:1;11368:10;;11379:5;;11346:40;11405:4;11395:36;;11422:1;11413:10;;11424:5;;11395:36;11491:4;11539:1;11534:27;;;;11575:1;11570:191;;;;11484:277;;11534:27;11552:1;11543:10;;11554:5;;;11570:191;11615:3;11605:8;11602:17;11599:43;;;11622:18;;:::i;:::-;11599:43;11671:8;11668:1;11664:16;11655:25;;11706:3;11699:5;11696:14;11693:40;;;11713:18;;:::i;:::-;11693:40;11746:5;;;11484:277;;11870:2;11860:8;11857:16;11851:3;11845:4;11842:13;11838:36;11820:2;11810:8;11807:16;11802:2;11796:4;11793:12;11789:35;11773:111;11770:246;;;11926:8;11920:4;11916:19;11907:28;;11961:3;11954:5;11951:14;11948:40;;;11968:18;;:::i;:::-;11948:40;12001:5;;11770:246;12041:42;12079:3;12069:8;12063:4;12060:1;12041:42;:::i;:::-;12026:57;;;;12115:4;12110:3;12106:14;12099:5;12096:25;12093:51;;;12124:18;;:::i;:::-;12093:51;12173:4;12166:5;12162:16;12153:25;;11111:1073;;;;;;:::o;12190:281::-;12248:5;12272:23;12290:4;12272:23;:::i;:::-;12264:31;;12316:25;12332:8;12316:25;:::i;:::-;12304:37;;12360:104;12397:66;12387:8;12381:4;12360:104;:::i;:::-;12351:113;;12190:281;;;;:::o;12477:410::-;12517:7;12540:20;12558:1;12540:20;:::i;:::-;12535:25;;12574:20;12592:1;12574:20;:::i;:::-;12569:25;;12629:1;12626;12622:9;12651:30;12669:11;12651:30;:::i;:::-;12640:41;;12830:1;12821:7;12817:15;12814:1;12811:22;12791:1;12784:9;12764:83;12741:139;;12860:18;;:::i;:::-;12741:139;12525:362;12477:410;;;;:::o;12893:180::-;12941:77;12938:1;12931:88;13038:4;13035:1;13028:15;13062:4;13059:1;13052:15;13079:233;13118:3;13141:24;13159:5;13141:24;:::i;:::-;13132:33;;13187:66;13180:5;13177:77;13174:103;;13257:18;;:::i;:::-;13174:103;13304:1;13297:5;13293:13;13286:20;;13079:233;;;:::o;13318:60::-;13346:3;13367:5;13360:12;;13318:60;;;:::o;13384:142::-;13434:9;13467:53;13485:34;13494:24;13512:5;13494:24;:::i;:::-;13485:34;:::i;:::-;13467:53;:::i;:::-;13454:66;;13384:142;;;:::o;13532:126::-;13582:9;13615:37;13646:5;13615:37;:::i;:::-;13602:50;;13532:126;;;:::o;13664:152::-;13740:9;13773:37;13804:5;13773:37;:::i;:::-;13760:50;;13664:152;;;:::o;13822:94::-;13855:8;13903:5;13899:2;13895:14;13874:35;;13822:94;;;:::o;13922:::-;13961:7;13990:20;14004:5;13990:20;:::i;:::-;13979:31;;13922:94;;;:::o;14022:100::-;14061:7;14090:26;14110:5;14090:26;:::i;:::-;14079:37;;14022:100;;;:::o;14128:222::-;14259:84;14279:63;14336:5;14279:63;:::i;:::-;14259:84;:::i;:::-;14254:3;14247:97;14128:222;;:::o;14356:308::-;14494:3;14509:101;14606:3;14597:6;14509:101;:::i;:::-;14635:2;14630:3;14626:12;14619:19;;14655:3;14648:10;;14356:308;;;;:::o;14670:143::-;14727:5;14758:6;14752:13;14743:22;;14774:33;14801:5;14774:33;:::i;:::-;14670:143;;;;:::o;14819:351::-;14889:6;14938:2;14926:9;14917:7;14913:23;14909:32;14906:119;;;14944:79;;:::i;:::-;14906:119;15064:1;15089:64;15145:7;15136:6;15125:9;15121:22;15089:64;:::i;:::-;15079:74;;15035:128;14819:351;;;;:::o;15176:332::-;15297:4;15335:2;15324:9;15320:18;15312:26;;15348:71;15416:1;15405:9;15401:17;15392:6;15348:71;:::i;:::-;15429:72;15497:2;15486:9;15482:18;15473:6;15429:72;:::i;:::-;15176:332;;;;;:::o;15514:85::-;15559:7;15588:5;15577:16;;15514:85;;;:::o;15605:158::-;15663:9;15696:61;15714:42;15723:32;15749:5;15723:32;:::i;:::-;15714:42;:::i;:::-;15696:61;:::i;:::-;15683:74;;15605:158;;;:::o;15769:147::-;15864:45;15903:5;15864:45;:::i;:::-;15859:3;15852:58;15769:147;;:::o;15922:807::-;16171:4;16209:3;16198:9;16194:19;16186:27;;16223:71;16291:1;16280:9;16276:17;16267:6;16223:71;:::i;:::-;16304:72;16372:2;16361:9;16357:18;16348:6;16304:72;:::i;:::-;16386:80;16462:2;16451:9;16447:18;16438:6;16386:80;:::i;:::-;16476;16552:2;16541:9;16537:18;16528:6;16476:80;:::i;:::-;16566:73;16634:3;16623:9;16619:19;16610:6;16566:73;:::i;:::-;16649;16717:3;16706:9;16702:19;16693:6;16649:73;:::i;:::-;15922:807;;;;;;;;;:::o;16735:143::-;16792:5;16823:6;16817:13;16808:22;;16839:33;16866:5;16839:33;:::i;:::-;16735:143;;;;:::o;16884:663::-;16972:6;16980;16988;17037:2;17025:9;17016:7;17012:23;17008:32;17005:119;;;17043:79;;:::i;:::-;17005:119;17163:1;17188:64;17244:7;17235:6;17224:9;17220:22;17188:64;:::i;:::-;17178:74;;17134:128;17301:2;17327:64;17383:7;17374:6;17363:9;17359:22;17327:64;:::i;:::-;17317:74;;17272:129;17440:2;17466:64;17522:7;17513:6;17502:9;17498:22;17466:64;:::i;:::-;17456:74;;17411:129;16884:663;;;;;:::o;17553:157::-;17658:45;17678:24;17696:5;17678:24;:::i;:::-;17658:45;:::i;:::-;17653:3;17646:58;17553:157;;:::o;17716:256::-;17828:3;17843:75;17914:3;17905:6;17843:75;:::i;:::-;17943:2;17938:3;17934:12;17927:19;;17963:3;17956:10;;17716:256;;;;:::o;17978:332::-;18099:4;18137:2;18126:9;18122:18;18114:26;;18150:71;18218:1;18207:9;18203:17;18194:6;18150:71;:::i;:::-;18231:72;18299:2;18288:9;18284:18;18275:6;18231:72;:::i;:::-;17978:332;;;;;:::o;18316:116::-;18386:21;18401:5;18386:21;:::i;:::-;18379:5;18376:32;18366:60;;18422:1;18419;18412:12;18366:60;18316:116;:::o;18438:137::-;18492:5;18523:6;18517:13;18508:22;;18539:30;18563:5;18539:30;:::i;:::-;18438:137;;;;:::o;18581:345::-;18648:6;18697:2;18685:9;18676:7;18672:23;18668:32;18665:119;;;18703:79;;:::i;:::-;18665:119;18823:1;18848:61;18901:7;18892:6;18881:9;18877:22;18848:61;:::i;:::-;18838:71;;18794:125;18581:345;;;;:::o;18932:191::-;18972:3;18991:20;19009:1;18991:20;:::i;:::-;18986:25;;19025:20;19043:1;19025:20;:::i;:::-;19020:25;;19068:1;19065;19061:9;19054:16;;19089:3;19086:1;19083:10;19080:36;;;19096:18;;:::i;:::-;19080:36;18932:191;;;;:::o;19129:225::-;19269:34;19265:1;19257:6;19253:14;19246:58;19338:8;19333:2;19325:6;19321:15;19314:33;19129:225;:::o;19360:366::-;19502:3;19523:67;19587:2;19582:3;19523:67;:::i;:::-;19516:74;;19599:93;19688:3;19599:93;:::i;:::-;19717:2;19712:3;19708:12;19701:19;;19360:366;;;:::o;19732:419::-;19898:4;19936:2;19925:9;19921:18;19913:26;;19985:9;19979:4;19975:20;19971:1;19960:9;19956:17;19949:47;20013:131;20139:4;20013:131;:::i;:::-;20005:139;;19732:419;;;:::o;20157:147::-;20258:11;20295:3;20280:18;;20157:147;;;;:::o;20310:114::-;;:::o;20430:398::-;20589:3;20610:83;20691:1;20686:3;20610:83;:::i;:::-;20603:90;;20702:93;20791:3;20702:93;:::i;:::-;20820:1;20815:3;20811:11;20804:18;;20430:398;;;:::o;20834:379::-;21018:3;21040:147;21183:3;21040:147;:::i;:::-;21033:154;;21204:3;21197:10;;20834:379;;;:::o;21219:155::-;21359:7;21355:1;21347:6;21343:14;21336:31;21219:155;:::o;21380:365::-;21522:3;21543:66;21607:1;21602:3;21543:66;:::i;:::-;21536:73;;21618:93;21707:3;21618:93;:::i;:::-;21736:2;21731:3;21727:12;21720:19;;21380:365;;;:::o;21751:419::-;21917:4;21955:2;21944:9;21940:18;21932:26;;22004:9;21998:4;21994:20;21990:1;21979:9;21975:17;21968:47;22032:131;22158:4;22032:131;:::i;:::-;22024:139;;21751:419;;;:::o;22176:157::-;22316:9;22312:1;22304:6;22300:14;22293:33;22176:157;:::o;22339:365::-;22481:3;22502:66;22566:1;22561:3;22502:66;:::i;:::-;22495:73;;22577:93;22666:3;22577:93;:::i;:::-;22695:2;22690:3;22686:12;22679:19;;22339:365;;;:::o;22710:419::-;22876:4;22914:2;22903:9;22899:18;22891:26;;22963:9;22957:4;22953:20;22949:1;22938:9;22934:17;22927:47;22991:131;23117:4;22991:131;:::i;:::-;22983:139;;22710:419;;;:::o;23135:182::-;23275:34;23271:1;23263:6;23259:14;23252:58;23135:182;:::o;23323:366::-;23465:3;23486:67;23550:2;23545:3;23486:67;:::i;:::-;23479:74;;23562:93;23651:3;23562:93;:::i;:::-;23680:2;23675:3;23671:12;23664:19;;23323:366;;;:::o;23695:419::-;23861:4;23899:2;23888:9;23884:18;23876:26;;23948:9;23942:4;23938:20;23934:1;23923:9;23919:17;23912:47;23976:131;24102:4;23976:131;:::i;:::-;23968:139;;23695:419;;;:::o;24120:154::-;24260:6;24256:1;24248:6;24244:14;24237:30;24120:154;:::o;24280:365::-;24422:3;24443:66;24507:1;24502:3;24443:66;:::i;:::-;24436:73;;24518:93;24607:3;24518:93;:::i;:::-;24636:2;24631:3;24627:12;24620:19;;24280:365;;;:::o;24651:419::-;24817:4;24855:2;24844:9;24840:18;24832:26;;24904:9;24898:4;24894:20;24890:1;24879:9;24875:17;24868:47;24932:131;25058:4;24932:131;:::i;:::-;24924:139;;24651:419;;;:::o;25076:152::-;25216:4;25212:1;25204:6;25200:14;25193:28;25076:152;:::o;25234:365::-;25376:3;25397:66;25461:1;25456:3;25397:66;:::i;:::-;25390:73;;25472:93;25561:3;25472:93;:::i;:::-;25590:2;25585:3;25581:12;25574:19;;25234:365;;;:::o;25605:419::-;25771:4;25809:2;25798:9;25794:18;25786:26;;25858:9;25852:4;25848:20;25844:1;25833:9;25829:17;25822:47;25886:131;26012:4;25886:131;:::i;:::-;25878:139;;25605:419;;;:::o;26030:156::-;26170:8;26166:1;26158:6;26154:14;26147:32;26030:156;:::o;26192:365::-;26334:3;26355:66;26419:1;26414:3;26355:66;:::i;:::-;26348:73;;26430:93;26519:3;26430:93;:::i;:::-;26548:2;26543:3;26539:12;26532:19;;26192:365;;;:::o;26563:419::-;26729:4;26767:2;26756:9;26752:18;26744:26;;26816:9;26810:4;26806:20;26802:1;26791:9;26787:17;26780:47;26844:131;26970:4;26844:131;:::i;:::-;26836:139;;26563:419;;;:::o;26988:156::-;27128:8;27124:1;27116:6;27112:14;27105:32;26988:156;:::o;27150:365::-;27292:3;27313:66;27377:1;27372:3;27313:66;:::i;:::-;27306:73;;27388:93;27477:3;27388:93;:::i;:::-;27506:2;27501:3;27497:12;27490:19;;27150:365;;;:::o;27521:419::-;27687:4;27725:2;27714:9;27710:18;27702:26;;27774:9;27768:4;27764:20;27760:1;27749:9;27745:17;27738:47;27802:131;27928:4;27802:131;:::i;:::-;27794:139;;27521:419;;;:::o;27946:154::-;28086:6;28082:1;28074:6;28070:14;28063:30;27946:154;:::o;28106:365::-;28248:3;28269:66;28333:1;28328:3;28269:66;:::i;:::-;28262:73;;28344:93;28433:3;28344:93;:::i;:::-;28462:2;28457:3;28453:12;28446:19;;28106:365;;;:::o;28477:419::-;28643:4;28681:2;28670:9;28666:18;28658:26;;28730:9;28724:4;28720:20;28716:1;28705:9;28701:17;28694:47;28758:131;28884:4;28758:131;:::i;:::-;28750:139;;28477:419;;;:::o;28902:153::-;29042:5;29038:1;29030:6;29026:14;29019:29;28902:153;:::o;29061:365::-;29203:3;29224:66;29288:1;29283:3;29224:66;:::i;:::-;29217:73;;29299:93;29388:3;29299:93;:::i;:::-;29417:2;29412:3;29408:12;29401:19;;29061:365;;;:::o;29432:419::-;29598:4;29636:2;29625:9;29621:18;29613:26;;29685:9;29679:4;29675:20;29671:1;29660:9;29656:17;29649:47;29713:131;29839:4;29713:131;:::i;:::-;29705:139;;29432:419;;;:::o;29857:153::-;29997:5;29993:1;29985:6;29981:14;29974:29;29857:153;:::o;30016:365::-;30158:3;30179:66;30243:1;30238:3;30179:66;:::i;:::-;30172:73;;30254:93;30343:3;30254:93;:::i;:::-;30372:2;30367:3;30363:12;30356:19;;30016:365;;;:::o;30387:419::-;30553:4;30591:2;30580:9;30576:18;30568:26;;30640:9;30634:4;30630:20;30626:1;30615:9;30611:17;30604:47;30668:131;30794:4;30668:131;:::i;:::-;30660:139;;30387:419;;;:::o;30812:194::-;30852:4;30872:20;30890:1;30872:20;:::i;:::-;30867:25;;30906:20;30924:1;30906:20;:::i;:::-;30901:25;;30950:1;30947;30943:9;30935:17;;30974:1;30968:4;30965:11;30962:37;;;30979:18;;:::i;:::-;30962:37;30812:194;;;;:::o;31012:114::-;31079:6;31113:5;31107:12;31097:22;;31012:114;;;:::o;31132:184::-;31231:11;31265:6;31260:3;31253:19;31305:4;31300:3;31296:14;31281:29;;31132:184;;;;:::o;31322:132::-;31389:4;31412:3;31404:11;;31442:4;31437:3;31433:14;31425:22;;31322:132;;;:::o;31460:108::-;31537:24;31555:5;31537:24;:::i;:::-;31532:3;31525:37;31460:108;;:::o;31574:179::-;31643:10;31664:46;31706:3;31698:6;31664:46;:::i;:::-;31742:4;31737:3;31733:14;31719:28;;31574:179;;;;:::o;31759:113::-;31829:4;31861;31856:3;31852:14;31844:22;;31759:113;;;:::o;31908:732::-;32027:3;32056:54;32104:5;32056:54;:::i;:::-;32126:86;32205:6;32200:3;32126:86;:::i;:::-;32119:93;;32236:56;32286:5;32236:56;:::i;:::-;32315:7;32346:1;32331:284;32356:6;32353:1;32350:13;32331:284;;;32432:6;32426:13;32459:63;32518:3;32503:13;32459:63;:::i;:::-;32452:70;;32545:60;32598:6;32545:60;:::i;:::-;32535:70;;32391:224;32378:1;32375;32371:9;32366:14;;32331:284;;;32335:14;32631:3;32624:10;;32032:608;;;31908:732;;;;:::o;32646:831::-;32909:4;32947:3;32936:9;32932:19;32924:27;;32961:71;33029:1;33018:9;33014:17;33005:6;32961:71;:::i;:::-;33042:80;33118:2;33107:9;33103:18;33094:6;33042:80;:::i;:::-;33169:9;33163:4;33159:20;33154:2;33143:9;33139:18;33132:48;33197:108;33300:4;33291:6;33197:108;:::i;:::-;33189:116;;33315:72;33383:2;33372:9;33368:18;33359:6;33315:72;:::i;:::-;33397:73;33465:3;33454:9;33450:19;33441:6;33397:73;:::i;:::-;32646:831;;;;;;;;:::o;33483:180::-;33531:77;33528:1;33521:88;33628:4;33625:1;33618:15;33652:4;33649:1;33642:15;33669:185;33709:1;33726:20;33744:1;33726:20;:::i;:::-;33721:25;;33760:20;33778:1;33760:20;:::i;:::-;33755:25;;33799:1;33789:35;;33804:18;;:::i;:::-;33789:35;33846:1;33843;33839:9;33834:14;;33669:185;;;;:::o;33860:220::-;34000:34;33996:1;33988:6;33984:14;33977:58;34069:3;34064:2;34056:6;34052:15;34045:28;33860:220;:::o;34086:366::-;34228:3;34249:67;34313:2;34308:3;34249:67;:::i;:::-;34242:74;;34325:93;34414:3;34325:93;:::i;:::-;34443:2;34438:3;34434:12;34427:19;;34086:366;;;:::o;34458:419::-;34624:4;34662:2;34651:9;34647:18;34639:26;;34711:9;34705:4;34701:20;34697:1;34686:9;34682:17;34675:47;34739:131;34865:4;34739:131;:::i;:::-;34731:139;;34458:419;;;:::o;34883:177::-;35023:29;35019:1;35011:6;35007:14;35000:53;34883:177;:::o;35066:366::-;35208:3;35229:67;35293:2;35288:3;35229:67;:::i;:::-;35222:74;;35305:93;35394:3;35305:93;:::i;:::-;35423:2;35418:3;35414:12;35407:19;;35066:366;;;:::o;35438:419::-;35604:4;35642:2;35631:9;35627:18;35619:26;;35691:9;35685:4;35681:20;35677:1;35666:9;35662:17;35655:47;35719:131;35845:4;35719:131;:::i;:::-;35711:139;;35438:419;;;:::o

Swarm Source

ipfs://64b36da5824999c6ea8a07f4e247715658a246a295c34b1d294eb3e73374e2bb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.