ETH Price: $3,418.43 (+0.40%)
Gas: 7 Gwei

Token

Mastermind (MASTERMIND)
 

Overview

Max Total Supply

1,000,000,000 MASTERMIND

Holders

405

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
84,278.631130619438792453 MASTERMIND

Value
$0.00
0x7b67615a9cc83c8291ff4c0aa7dc8f761710d771
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:
Mastermind

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-24
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.0;

/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * ERC20 standard interface.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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


contract Mastermind is IERC20, Auth {
    using SafeMath for uint256;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;


    string private constant  _name = "Mastermind";
    string private constant _symbol = "MASTERMIND";
    uint8 public constant _decimals = 18;

    uint256 private _totalSupply = 1000000000 * (10 ** _decimals); 

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private cooldown;
    mapping (address => int) public tickets;

    mapping (address => bool) private isFeeExempt;
    mapping (address => bool) private isBot;
            
    uint256 public buyFee = 7;
    uint256 public sellFee = 25;
    uint256 private feeDenominator = 100;

    address payable public teamWallet = payable(0xa61596355D989815c71F366A4bb6A2803bb62066);
    address payable public prizeWallet = payable(0x27B0E428911bBbC3C3f58c166F1ea91aAcAF1B27); 

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 10000001 * (10 ** _decimals);
    uint256 public swapThresholdAmount = 4500000 * (10**_decimals);
    
    uint256 public ticketPrice;
    bool public isSaleOpen;
    int public gameID;

    bool public blacklistEnabled = false;
    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _owner
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);        
        WETH = router.WETH();        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        approve(address(router), type(uint).max);
        IERC20(pair).approve(address(router), type(uint).max);  
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[_owner] = true;
        isFeeExempt[teamWallet] = true; 
        isFeeExempt[address(this)] = true;            
                    

        _balances[_owner] = _totalSupply;
    
        emit Transfer(address(0), _owner, _totalSupply);
    }


    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (!tradingOpen) {
            require (sender == owner ||  sender == address (this));
            return _basicTransfer(sender, recipient, amount);
        }
        
        if (blacklistEnabled) {
            require (!isBot[sender] && !isBot[recipient], "Bot!");
        }
        if (buyLimit) { 
            require (amount<=maxBuy, "Too much sir");        
        }

        if (sender == pair && recipient != address(router) && !isFeeExempt[recipient]) {
            require (cooldown[recipient] < block.timestamp);
            cooldown[recipient] = block.timestamp + 60 seconds;
            if (block.number <= (launchedAt + 1)) { 
                isBot[recipient] = true;
            }
        }
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }      

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= swapThresholdAmount;
    
        bool shouldSwapBack = (overMinTokenBalance && recipient==pair && balanceOf(address(this)) > 0);
        if(shouldSwapBack){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
        
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

 
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) &&  (sender == pair || recipient == pair) );
   }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount;
        if(sender != pair) {
            feeAmount = amount.mul(sellFee).div(feeDenominator);
        }
        else {
            feeAmount = amount.mul(buyFee).div(feeDenominator);
        }
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);   

        return amount.sub(feeAmount);
    }

   
    function swapBack() internal swapping {

        uint256 amountToSwap = balanceOf(address(this));        

        swapTokensForEth(amountToSwap);

        uint256 contractETHBalance = address(this).balance;
             
        payable(teamWallet).transfer(contractETHBalance.div(2));
        payable(prizeWallet).transfer(contractETHBalance.div(2));             
    }

    

    function swapTokensForEth(uint256 tokenAmount) private {

        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    
    function haveFun() external onlyOwner {
      
        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp
        );       

        launchedAt = block.number;
        tradingOpen = true;
    }    

    function removeBuyLimit() external onlyOwner {
        buyLimit = false;
    }

    function setBuyFee (uint256 _fee) external onlyOwner {
        buyFee = _fee;
    }

     function setSellFee (uint256 _fee) external onlyOwner {
        sellFee = _fee;
    }  

    function setSwapThresholdAmount (uint256 amount) external onlyOwner {
        swapThresholdAmount = _totalSupply.mul(amount).div(1000);
    } 

    function setTeamWallet(address _teamWallet) external onlyOwner {
        teamWallet = payable(_teamWallet);
    } 

    function setPrizeWallet(address _prizeWallet) external onlyOwner {
        prizeWallet = payable(_prizeWallet);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setBlacklistEnabled() external onlyOwner {
        require (blacklistEnabled == false, "can only be called once");
        blacklistEnabled = true;
    }
    
    function setBot(address _address, bool toggle) public onlyOwner {
        isBot[_address] = toggle;
    }

    function checkBot(address account) public view returns (bool) {
        return isBot[account];
    }

    function blacklistArray (address[] calldata bots) external onlyOwner {
        require (bots.length > 0);
        uint i =0;
        while (i < bots.length) {
            setBot(bots[i],  true);
            i++;
        }
    }
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(teamWallet).transfer(contractETHBalance);
    }

    function setTicketPrice(uint256 price) external onlyOwner {
        ticketPrice = price * (10 ** _decimals);
    }

    function setSaleOpen(bool status, int id) external onlyOwner {
        if (status) {
            gameID = id;
        }
        isSaleOpen = status;
    }

    function burn() external {
        require (isSaleOpen, "Purchasing tickets is not allowed at this time");
        require (tickets[msg.sender] != gameID, "Ticket for this game has already been purchased");
        require (balanceOf(msg.sender) >= ticketPrice);
        _basicTransfer(msg.sender, DEAD, ticketPrice);
        tickets[msg.sender] = gameID;
    }    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"address","name":"owner","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":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"blacklistArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"gameID","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"haveFun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSaleOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prizeWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_prizeWallet","type":"address"}],"name":"setPrizeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"int256","name":"id","type":"int256"}],"name":"setSaleOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_teamWallet","type":"address"}],"name":"setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setTicketPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticketPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tickets","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000057919062000b25565b633b9aca0062000068919062000b76565b6003556007600a556019600b556064600c5573a61596355d989815c71f366a4bb6a2803bb62066600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507327b0e428911bbbc3c3f58c166f1ea91aacaf1b27600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601260016101000a81548160ff0219169083151502179055506012600a6200014f919062000b25565b629896816200015f919062000b76565b6013556012600a62000172919062000b25565b6244aa2062000182919062000b76565b6014556000601860006101000a81548160ff021916908315150217905550348015620001ad57600080fd5b50604051620048b3380380620048b38339818101604052810190620001d3919062000c2b565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fe919062000c2b565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d2919062000c2b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200043092919062000c6e565b6020604051808303816000875af115801562000450573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000476919062000c2b565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200050a600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200089760201b60201c565b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620005ac92919062000cac565b6020604051808303816000875af1158015620005cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005f2919062000d16565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000888919062000d48565b60405180910390a35062000d65565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000979919062000d48565b60405180910390a36001905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a1957808604811115620009f157620009f06200098b565b5b600185161562000a015780820291505b808102905062000a1185620009ba565b9450620009d1565b94509492505050565b60008262000a34576001905062000b07565b8162000a44576000905062000b07565b816001811462000a5d576002811462000a685762000a9e565b600191505062000b07565b60ff84111562000a7d5762000a7c6200098b565b5b8360020a91508482111562000a975762000a966200098b565b5b5062000b07565b5060208310610133831016604e8410600b841016171562000ad85782820a90508381111562000ad25762000ad16200098b565b5b62000b07565b62000ae78484846001620009c7565b9250905081840481111562000b015762000b006200098b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b328262000b0e565b915062000b3f8362000b18565b925062000b6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a22565b905092915050565b600062000b838262000b0e565b915062000b908362000b0e565b925082820262000ba08162000b0e565b9150828204841483151762000bba5762000bb96200098b565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bf38262000bc6565b9050919050565b62000c058162000be6565b811462000c1157600080fd5b50565b60008151905062000c258162000bfa565b92915050565b60006020828403121562000c445762000c4362000bc1565b5b600062000c548482850162000c14565b91505092915050565b62000c688162000be6565b82525050565b600060408201905062000c85600083018562000c5d565b62000c94602083018462000c5d565b9392505050565b62000ca68162000b0e565b82525050565b600060408201905062000cc3600083018562000c5d565b62000cd2602083018462000c9b565b9392505050565b60008115159050919050565b62000cf08162000cd9565b811462000cfc57600080fd5b50565b60008151905062000d108162000ce5565b92915050565b60006020828403121562000d2f5762000d2e62000bc1565b5b600062000d3f8482850162000cff565b91505092915050565b600060208201905062000d5f600083018462000c9b565b92915050565b613b3e8062000d756000396000f3fe6080604052600436106102605760003560e01c80635992704411610144578063a9059cbb116100b6578063d0aa7abe1161007a578063d0aa7abe146108d1578063d3ee6738146108fc578063dd62ed3e14610925578063f2fde38b14610962578063f42938901461098b578063f887ea40146109a257610267565b8063a9059cbb146107d6578063b1a4e0dc14610813578063bf56b37114610850578063bffb691d1461087b578063c7dd4b4f146108a657610267565b8063864f087511610108578063864f0875146106ec578063893d20e8146107035780638b4cee081461072e57806391c04f981461075757806395d89b4114610780578063a8aa1b31146107ab57610267565b80635992704414610607578063658d4b7f146106325780636dcbf2a31461065b57806370a0823114610698578063764ca512146106d557610267565b806329e04b4a116101dd578063342aa8b5116101a1578063342aa8b51461051d5780633e07ce5b1461054657806344df8e701461055d57806347062402146105745780634fe926181461059f578063571ac8b0146105ca57610267565b806329e04b4a146104365780632b14ca561461045f5780632f54bf6e1461048a578063313ce567146104c757806332424aa3146104f257610267565b80631598165011610224578063159816501461035157806318160ddd1461037a5780631a081330146103a557806323b872dd146103d057806327bd217a1461040d57610267565b806306fdde031461026c578063095ea7b3146102975780630cc835a3146102d45780631209b1f6146102fd5780631525ff7d1461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109cd565b60405161028e9190612c06565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612cc6565b610a0a565b6040516102cb9190612d21565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190612d3c565b610afc565b005b34801561030957600080fd5b50610312610b4e565b60405161031f9190612d78565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a9190612d93565b610b54565b005b34801561035d57600080fd5b5061037860048036038101906103739190612d3c565b610be0565b005b34801561038657600080fd5b5061038f610c4a565b60405161039c9190612d78565b60405180910390f35b3480156103b157600080fd5b506103ba610c54565b6040516103c79190612d21565b60405180910390f35b3480156103dc57600080fd5b506103f760048036038101906103f29190612dc0565b610c67565b6040516104049190612d21565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190612e75565b610e67565b005b34801561044257600080fd5b5061045d60048036038101906104589190612d3c565b610edb565b005b34801561046b57600080fd5b50610474610f55565b6040516104819190612d78565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612d93565b610f5b565b6040516104be9190612d21565b60405180910390f35b3480156104d357600080fd5b506104dc610fb4565b6040516104e99190612ed1565b60405180910390f35b3480156104fe57600080fd5b50610507610fbd565b6040516105149190612ed1565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f9190612eec565b610fc2565b005b34801561055257600080fd5b5061055b611065565b005b34801561056957600080fd5b506105726110ca565b005b34801561058057600080fd5b5061058961122b565b6040516105969190612d78565b60405180910390f35b3480156105ab57600080fd5b506105b4611231565b6040516105c19190612f4d565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec9190612d93565b611257565b6040516105fe9190612d21565b60405180910390f35b34801561061357600080fd5b5061061c61128a565b6040516106299190612f4d565b60405180910390f35b34801561063e57600080fd5b5061065960048036038101906106549190612eec565b6112b0565b005b34801561066757600080fd5b50610682600480360381019061067d9190612d93565b611353565b60405161068f9190612f77565b60405180910390f35b3480156106a457600080fd5b506106bf60048036038101906106ba9190612d93565b61136b565b6040516106cc9190612d78565b60405180910390f35b3480156106e157600080fd5b506106ea6113b4565b005b3480156106f857600080fd5b5061070161146f565b005b34801561070f57600080fd5b506107186115b0565b6040516107259190612fa1565b60405180910390f35b34801561073a57600080fd5b5061075560048036038101906107509190612d3c565b6115d9565b005b34801561076357600080fd5b5061077e60048036038101906107799190612d93565b61162b565b005b34801561078c57600080fd5b506107956116b7565b6040516107a29190612c06565b60405180910390f35b3480156107b757600080fd5b506107c06116f4565b6040516107cd9190612fa1565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190612cc6565b61171a565b60405161080a9190612d21565b60405180910390f35b34801561081f57600080fd5b5061083a60048036038101906108359190612d93565b61172f565b6040516108479190612d21565b60405180910390f35b34801561085c57600080fd5b50610865611785565b6040516108729190612d78565b60405180910390f35b34801561088757600080fd5b5061089061178b565b60405161089d9190612d21565b60405180910390f35b3480156108b257600080fd5b506108bb61179e565b6040516108c89190612f77565b60405180910390f35b3480156108dd57600080fd5b506108e66117a4565b6040516108f39190612d78565b60405180910390f35b34801561090857600080fd5b50610923600480360381019061091e9190613021565b6117aa565b005b34801561093157600080fd5b5061094c6004803603810190610947919061306e565b61185a565b6040516109599190612d78565b60405180910390f35b34801561096e57600080fd5b50610989600480360381019061098491906130da565b6118e1565b005b34801561099757600080fd5b506109a06119a3565b005b3480156109ae57600080fd5b506109b7611a5c565b6040516109c49190613166565b60405180910390f35b60606040518060400160405280600a81526020017f4d61737465726d696e6400000000000000000000000000000000000000000000815250905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610aea9190612d78565b60405180910390a36001905092915050565b610b0533610f5b565b610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b906131cd565b60405180910390fd5b80600a8190555050565b60155481565b610b5d33610f5b565b610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906131cd565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610be933610f5b565b610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f906131cd565b60405180910390fd5b6012600a610c36919061334f565b81610c41919061339a565b60158190555050565b6000600354905090565b601660009054906101000a900460ff1681565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e5357610dd2826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e5e848484611ae6565b90509392505050565b610e7033610f5b565b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea6906131cd565b60405180910390fd5b8115610ebd57806017819055505b81601660006101000a81548160ff0219169083151502179055505050565b610ee433610f5b565b610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a906131cd565b60405180910390fd5b610f4c6103e8610f3e836003546121b890919063ffffffff16565b61223290919063ffffffff16565b60148190555050565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610fcb33610f5b565b61100a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611001906131cd565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61106e33610f5b565b6110ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906131cd565b60405180910390fd5b6000601260016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff16611119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111109061344e565b60405180910390fd5b601754600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361119c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611193906134e0565b60405180910390fd5b6015546111a83361136b565b10156111b357600080fd5b6111e233600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660155461227c565b50601754600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611283827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a0a565b9050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112b933610f5b565b6112f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ef906131cd565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60076020528060005260406000206000915090505481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113bd33610f5b565b6113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f3906131cd565b60405180910390fd5b60001515601860009054906101000a900460ff16151514611452576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114499061354c565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b61147833610f5b565b6114b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ae906131cd565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115003061136b565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611546969594939291906135a7565b60606040518083038185885af1158015611564573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611589919061361d565b505050436011819055506001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115e233610f5b565b611621576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611618906131cd565b60405180910390fd5b80600b8190555050565b61163433610f5b565b611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a906131cd565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600a81526020017f4d41535445524d494e4400000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611727338484611ae6565b905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60115481565b601860009054906101000a900460ff1681565b60175481565b60145481565b6117b333610f5b565b6117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e9906131cd565b60405180910390fd5b6000828290501161180257600080fd5b60005b828290508110156118555761184283838381811061182657611825613670565b5b905060200201602081019061183b9190612d93565b6001610fc2565b808061184d9061369f565b915050611805565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6118ea33610f5b565b611929576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611920906131cd565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516119989190613708565b60405180910390a150565b6119ac33610f5b565b6119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906131cd565b60405180910390fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a58573d6000803e3d6000fd5b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac19190612c06565b60405180910390fd5b5060008385611ad99190613723565b9050809150509392505050565b6000601260009054906101000a900460ff16611b9c5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b8157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b611b8a57600080fd5b611b9584848461227c565b90506121b1565b601860009054906101000a900460ff1615611c9557600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c555750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8b906137a3565b60405180910390fd5b5b601260019054906101000a900460ff1615611cf057601354821115611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce69061380f565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d9b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611df15750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f005742600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e4157600080fd5b603c42611e4e919061382f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601154611ea0919061382f565b4311611eff576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601860019054906101000a900460ff1615611f2757611f2084848461227c565b90506121b1565b6000611f323061136b565b9050600060145482101590506000818015611f9a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611fae57506000611fac3061136b565b115b90508015611fbf57611fbe61244f565b5b612048856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612097888861259c565b6120a157856120ac565b6120ab88876126f9565b5b905061210081600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121a09190612d78565b60405180910390a360019450505050505b9392505050565b60008083036121ca576000905061222c565b600082846121d8919061339a565b90508284826121e79190613892565b14612227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221e90613935565b60405180910390fd5b809150505b92915050565b600061227483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612921565b905092915050565b6000612307826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061239c82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161243c9190612d78565b60405180910390a3600190509392505050565b6001601860016101000a81548160ff02191690831515021790555060006124753061136b565b905061248081612984565b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124d560028461223290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612500573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61255160028461223290919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561257c573d6000803e3d6000fd5b5050506000601860016101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061263f5750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156126f15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806126f05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146127815761277a600c5461276c600b54866121b890919063ffffffff16565b61223290919063ffffffff16565b90506127ad565b6127aa600c5461279c600a54866121b890919063ffffffff16565b61223290919063ffffffff16565b90505b6127ff81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161289f9190612d78565b60405180910390a36128ba8184612b2c90919063ffffffff16565b91505092915050565b60008082846128d2919061382f565b905083811015612917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290e906139a1565b60405180910390fd5b8091505092915050565b60008083118290612968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295f9190612c06565b60405180910390fd5b50600083856129779190613892565b9050809150509392505050565b6000600267ffffffffffffffff8111156129a1576129a06139c1565b5b6040519080825280602002602001820160405280156129cf5781602001602082028036833780820191505090505b50905030816000815181106129e7576129e6613670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a5857612a57613670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612af6959493929190613aae565b600060405180830381600087803b158015612b1057600080fd5b505af1158015612b24573d6000803e3d6000fd5b505050505050565b6000612b6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a82565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bb0578082015181840152602081019050612b95565b60008484015250505050565b6000601f19601f8301169050919050565b6000612bd882612b76565b612be28185612b81565b9350612bf2818560208601612b92565b612bfb81612bbc565b840191505092915050565b60006020820190508181036000830152612c208184612bcd565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5d82612c32565b9050919050565b612c6d81612c52565b8114612c7857600080fd5b50565b600081359050612c8a81612c64565b92915050565b6000819050919050565b612ca381612c90565b8114612cae57600080fd5b50565b600081359050612cc081612c9a565b92915050565b60008060408385031215612cdd57612cdc612c28565b5b6000612ceb85828601612c7b565b9250506020612cfc85828601612cb1565b9150509250929050565b60008115159050919050565b612d1b81612d06565b82525050565b6000602082019050612d366000830184612d12565b92915050565b600060208284031215612d5257612d51612c28565b5b6000612d6084828501612cb1565b91505092915050565b612d7281612c90565b82525050565b6000602082019050612d8d6000830184612d69565b92915050565b600060208284031215612da957612da8612c28565b5b6000612db784828501612c7b565b91505092915050565b600080600060608486031215612dd957612dd8612c28565b5b6000612de786828701612c7b565b9350506020612df886828701612c7b565b9250506040612e0986828701612cb1565b9150509250925092565b612e1c81612d06565b8114612e2757600080fd5b50565b600081359050612e3981612e13565b92915050565b6000819050919050565b612e5281612e3f565b8114612e5d57600080fd5b50565b600081359050612e6f81612e49565b92915050565b60008060408385031215612e8c57612e8b612c28565b5b6000612e9a85828601612e2a565b9250506020612eab85828601612e60565b9150509250929050565b600060ff82169050919050565b612ecb81612eb5565b82525050565b6000602082019050612ee66000830184612ec2565b92915050565b60008060408385031215612f0357612f02612c28565b5b6000612f1185828601612c7b565b9250506020612f2285828601612e2a565b9150509250929050565b6000612f3782612c32565b9050919050565b612f4781612f2c565b82525050565b6000602082019050612f626000830184612f3e565b92915050565b612f7181612e3f565b82525050565b6000602082019050612f8c6000830184612f68565b92915050565b612f9b81612c52565b82525050565b6000602082019050612fb66000830184612f92565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612fe157612fe0612fbc565b5b8235905067ffffffffffffffff811115612ffe57612ffd612fc1565b5b60208301915083602082028301111561301a57613019612fc6565b5b9250929050565b6000806020838503121561303857613037612c28565b5b600083013567ffffffffffffffff81111561305657613055612c2d565b5b61306285828601612fcb565b92509250509250929050565b6000806040838503121561308557613084612c28565b5b600061309385828601612c7b565b92505060206130a485828601612c7b565b9150509250929050565b6130b781612f2c565b81146130c257600080fd5b50565b6000813590506130d4816130ae565b92915050565b6000602082840312156130f0576130ef612c28565b5b60006130fe848285016130c5565b91505092915050565b6000819050919050565b600061312c61312761312284612c32565b613107565b612c32565b9050919050565b600061313e82613111565b9050919050565b600061315082613133565b9050919050565b61316081613145565b82525050565b600060208201905061317b6000830184613157565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b60006131b7600683612b81565b91506131c282613181565b602082019050919050565b600060208201905081810360008301526131e6816131aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156132735780860481111561324f5761324e6131ed565b5b600185161561325e5780820291505b808102905061326c8561321c565b9450613233565b94509492505050565b60008261328c5760019050613348565b8161329a5760009050613348565b81600181146132b057600281146132ba576132e9565b6001915050613348565b60ff8411156132cc576132cb6131ed565b5b8360020a9150848211156132e3576132e26131ed565b5b50613348565b5060208310610133831016604e8410600b841016171561331e5782820a905083811115613319576133186131ed565b5b613348565b61332b8484846001613229565b92509050818404811115613342576133416131ed565b5b81810290505b9392505050565b600061335a82612c90565b915061336583612eb5565b92506133927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461327c565b905092915050565b60006133a582612c90565b91506133b083612c90565b92508282026133be81612c90565b915082820484148315176133d5576133d46131ed565b5b5092915050565b7f50757263686173696e67207469636b657473206973206e6f7420616c6c6f776560008201527f6420617420746869732074696d65000000000000000000000000000000000000602082015250565b6000613438602e83612b81565b9150613443826133dc565b604082019050919050565b600060208201905081810360008301526134678161342b565b9050919050565b7f5469636b657420666f7220746869732067616d652068617320616c726561647960008201527f206265656e207075726368617365640000000000000000000000000000000000602082015250565b60006134ca602f83612b81565b91506134d58261346e565b604082019050919050565b600060208201905081810360008301526134f9816134bd565b9050919050565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000613536601783612b81565b915061354182613500565b602082019050919050565b6000602082019050818103600083015261356581613529565b9050919050565b6000819050919050565b600061359161358c6135878461356c565b613107565b612c90565b9050919050565b6135a181613576565b82525050565b600060c0820190506135bc6000830189612f92565b6135c96020830188612d69565b6135d66040830187613598565b6135e36060830186613598565b6135f06080830185612f92565b6135fd60a0830184612d69565b979650505050505050565b60008151905061361781612c9a565b92915050565b60008060006060848603121561363657613635612c28565b5b600061364486828701613608565b935050602061365586828701613608565b925050604061366686828701613608565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006136aa82612c90565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136dc576136db6131ed565b5b600182019050919050565b60006136f282613133565b9050919050565b613702816136e7565b82525050565b600060208201905061371d60008301846136f9565b92915050565b600061372e82612c90565b915061373983612c90565b9250828203905081811115613751576137506131ed565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b600061378d600483612b81565b915061379882613757565b602082019050919050565b600060208201905081810360008301526137bc81613780565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b60006137f9600c83612b81565b9150613804826137c3565b602082019050919050565b60006020820190508181036000830152613828816137ec565b9050919050565b600061383a82612c90565b915061384583612c90565b925082820190508082111561385d5761385c6131ed565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061389d82612c90565b91506138a883612c90565b9250826138b8576138b7613863565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061391f602183612b81565b915061392a826138c3565b604082019050919050565b6000602082019050818103600083015261394e81613912565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061398b601b83612b81565b915061399682613955565b602082019050919050565b600060208201905081810360008301526139ba8161397e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a2581612c52565b82525050565b6000613a378383613a1c565b60208301905092915050565b6000602082019050919050565b6000613a5b826139f0565b613a6581856139fb565b9350613a7083613a0c565b8060005b83811015613aa1578151613a888882613a2b565b9750613a9383613a43565b925050600181019050613a74565b5085935050505092915050565b600060a082019050613ac36000830188612d69565b613ad06020830187613598565b8181036040830152613ae28186613a50565b9050613af16060830185612f92565b613afe6080830184612d69565b969550505050505056fea2646970667358221220197cf549bc73d375fe70baf1152daf8cece6214a5e85fd3140cf5d4e515c68cf64736f6c63430008110033000000000000000000000000dac57a95712fd9ae06a277533f5076c5f9257db4

Deployed Bytecode

0x6080604052600436106102605760003560e01c80635992704411610144578063a9059cbb116100b6578063d0aa7abe1161007a578063d0aa7abe146108d1578063d3ee6738146108fc578063dd62ed3e14610925578063f2fde38b14610962578063f42938901461098b578063f887ea40146109a257610267565b8063a9059cbb146107d6578063b1a4e0dc14610813578063bf56b37114610850578063bffb691d1461087b578063c7dd4b4f146108a657610267565b8063864f087511610108578063864f0875146106ec578063893d20e8146107035780638b4cee081461072e57806391c04f981461075757806395d89b4114610780578063a8aa1b31146107ab57610267565b80635992704414610607578063658d4b7f146106325780636dcbf2a31461065b57806370a0823114610698578063764ca512146106d557610267565b806329e04b4a116101dd578063342aa8b5116101a1578063342aa8b51461051d5780633e07ce5b1461054657806344df8e701461055d57806347062402146105745780634fe926181461059f578063571ac8b0146105ca57610267565b806329e04b4a146104365780632b14ca561461045f5780632f54bf6e1461048a578063313ce567146104c757806332424aa3146104f257610267565b80631598165011610224578063159816501461035157806318160ddd1461037a5780631a081330146103a557806323b872dd146103d057806327bd217a1461040d57610267565b806306fdde031461026c578063095ea7b3146102975780630cc835a3146102d45780631209b1f6146102fd5780631525ff7d1461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109cd565b60405161028e9190612c06565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612cc6565b610a0a565b6040516102cb9190612d21565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190612d3c565b610afc565b005b34801561030957600080fd5b50610312610b4e565b60405161031f9190612d78565b60405180910390f35b34801561033457600080fd5b5061034f600480360381019061034a9190612d93565b610b54565b005b34801561035d57600080fd5b5061037860048036038101906103739190612d3c565b610be0565b005b34801561038657600080fd5b5061038f610c4a565b60405161039c9190612d78565b60405180910390f35b3480156103b157600080fd5b506103ba610c54565b6040516103c79190612d21565b60405180910390f35b3480156103dc57600080fd5b506103f760048036038101906103f29190612dc0565b610c67565b6040516104049190612d21565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190612e75565b610e67565b005b34801561044257600080fd5b5061045d60048036038101906104589190612d3c565b610edb565b005b34801561046b57600080fd5b50610474610f55565b6040516104819190612d78565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190612d93565b610f5b565b6040516104be9190612d21565b60405180910390f35b3480156104d357600080fd5b506104dc610fb4565b6040516104e99190612ed1565b60405180910390f35b3480156104fe57600080fd5b50610507610fbd565b6040516105149190612ed1565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f9190612eec565b610fc2565b005b34801561055257600080fd5b5061055b611065565b005b34801561056957600080fd5b506105726110ca565b005b34801561058057600080fd5b5061058961122b565b6040516105969190612d78565b60405180910390f35b3480156105ab57600080fd5b506105b4611231565b6040516105c19190612f4d565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec9190612d93565b611257565b6040516105fe9190612d21565b60405180910390f35b34801561061357600080fd5b5061061c61128a565b6040516106299190612f4d565b60405180910390f35b34801561063e57600080fd5b5061065960048036038101906106549190612eec565b6112b0565b005b34801561066757600080fd5b50610682600480360381019061067d9190612d93565b611353565b60405161068f9190612f77565b60405180910390f35b3480156106a457600080fd5b506106bf60048036038101906106ba9190612d93565b61136b565b6040516106cc9190612d78565b60405180910390f35b3480156106e157600080fd5b506106ea6113b4565b005b3480156106f857600080fd5b5061070161146f565b005b34801561070f57600080fd5b506107186115b0565b6040516107259190612fa1565b60405180910390f35b34801561073a57600080fd5b5061075560048036038101906107509190612d3c565b6115d9565b005b34801561076357600080fd5b5061077e60048036038101906107799190612d93565b61162b565b005b34801561078c57600080fd5b506107956116b7565b6040516107a29190612c06565b60405180910390f35b3480156107b757600080fd5b506107c06116f4565b6040516107cd9190612fa1565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190612cc6565b61171a565b60405161080a9190612d21565b60405180910390f35b34801561081f57600080fd5b5061083a60048036038101906108359190612d93565b61172f565b6040516108479190612d21565b60405180910390f35b34801561085c57600080fd5b50610865611785565b6040516108729190612d78565b60405180910390f35b34801561088757600080fd5b5061089061178b565b60405161089d9190612d21565b60405180910390f35b3480156108b257600080fd5b506108bb61179e565b6040516108c89190612f77565b60405180910390f35b3480156108dd57600080fd5b506108e66117a4565b6040516108f39190612d78565b60405180910390f35b34801561090857600080fd5b50610923600480360381019061091e9190613021565b6117aa565b005b34801561093157600080fd5b5061094c6004803603810190610947919061306e565b61185a565b6040516109599190612d78565b60405180910390f35b34801561096e57600080fd5b50610989600480360381019061098491906130da565b6118e1565b005b34801561099757600080fd5b506109a06119a3565b005b3480156109ae57600080fd5b506109b7611a5c565b6040516109c49190613166565b60405180910390f35b60606040518060400160405280600a81526020017f4d61737465726d696e6400000000000000000000000000000000000000000000815250905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610aea9190612d78565b60405180910390a36001905092915050565b610b0533610f5b565b610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b906131cd565b60405180910390fd5b80600a8190555050565b60155481565b610b5d33610f5b565b610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906131cd565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610be933610f5b565b610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f906131cd565b60405180910390fd5b6012600a610c36919061334f565b81610c41919061339a565b60158190555050565b6000600354905090565b601660009054906101000a900460ff1681565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e5357610dd2826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e5e848484611ae6565b90509392505050565b610e7033610f5b565b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea6906131cd565b60405180910390fd5b8115610ebd57806017819055505b81601660006101000a81548160ff0219169083151502179055505050565b610ee433610f5b565b610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a906131cd565b60405180910390fd5b610f4c6103e8610f3e836003546121b890919063ffffffff16565b61223290919063ffffffff16565b60148190555050565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610fcb33610f5b565b61100a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611001906131cd565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61106e33610f5b565b6110ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906131cd565b60405180910390fd5b6000601260016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff16611119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111109061344e565b60405180910390fd5b601754600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361119c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611193906134e0565b60405180910390fd5b6015546111a83361136b565b10156111b357600080fd5b6111e233600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660155461227c565b50601754600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611283827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a0a565b9050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112b933610f5b565b6112f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ef906131cd565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60076020528060005260406000206000915090505481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113bd33610f5b565b6113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f3906131cd565b60405180910390fd5b60001515601860009054906101000a900460ff16151514611452576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114499061354c565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b61147833610f5b565b6114b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ae906131cd565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115003061136b565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611546969594939291906135a7565b60606040518083038185885af1158015611564573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611589919061361d565b505050436011819055506001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115e233610f5b565b611621576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611618906131cd565b60405180910390fd5b80600b8190555050565b61163433610f5b565b611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a906131cd565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600a81526020017f4d41535445524d494e4400000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611727338484611ae6565b905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60115481565b601860009054906101000a900460ff1681565b60175481565b60145481565b6117b333610f5b565b6117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e9906131cd565b60405180910390fd5b6000828290501161180257600080fd5b60005b828290508110156118555761184283838381811061182657611825613670565b5b905060200201602081019061183b9190612d93565b6001610fc2565b808061184d9061369f565b915050611805565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6118ea33610f5b565b611929576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611920906131cd565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516119989190613708565b60405180910390a150565b6119ac33610f5b565b6119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906131cd565b60405180910390fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a58573d6000803e3d6000fd5b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac19190612c06565b60405180910390fd5b5060008385611ad99190613723565b9050809150509392505050565b6000601260009054906101000a900460ff16611b9c5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b8157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b611b8a57600080fd5b611b9584848461227c565b90506121b1565b601860009054906101000a900460ff1615611c9557600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c555750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8b906137a3565b60405180910390fd5b5b601260019054906101000a900460ff1615611cf057601354821115611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce69061380f565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d9b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611df15750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f005742600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e4157600080fd5b603c42611e4e919061382f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601154611ea0919061382f565b4311611eff576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601860019054906101000a900460ff1615611f2757611f2084848461227c565b90506121b1565b6000611f323061136b565b9050600060145482101590506000818015611f9a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611fae57506000611fac3061136b565b115b90508015611fbf57611fbe61244f565b5b612048856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612097888861259c565b6120a157856120ac565b6120ab88876126f9565b5b905061210081600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121a09190612d78565b60405180910390a360019450505050505b9392505050565b60008083036121ca576000905061222c565b600082846121d8919061339a565b90508284826121e79190613892565b14612227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221e90613935565b60405180910390fd5b809150505b92915050565b600061227483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612921565b905092915050565b6000612307826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a829092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061239c82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161243c9190612d78565b60405180910390a3600190509392505050565b6001601860016101000a81548160ff02191690831515021790555060006124753061136b565b905061248081612984565b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124d560028461223290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612500573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61255160028461223290919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561257c573d6000803e3d6000fd5b5050506000601860016101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061263f5750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156126f15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806126f05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146127815761277a600c5461276c600b54866121b890919063ffffffff16565b61223290919063ffffffff16565b90506127ad565b6127aa600c5461279c600a54866121b890919063ffffffff16565b61223290919063ffffffff16565b90505b6127ff81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c390919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161289f9190612d78565b60405180910390a36128ba8184612b2c90919063ffffffff16565b91505092915050565b60008082846128d2919061382f565b905083811015612917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290e906139a1565b60405180910390fd5b8091505092915050565b60008083118290612968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295f9190612c06565b60405180910390fd5b50600083856129779190613892565b9050809150509392505050565b6000600267ffffffffffffffff8111156129a1576129a06139c1565b5b6040519080825280602002602001820160405280156129cf5781602001602082028036833780820191505090505b50905030816000815181106129e7576129e6613670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a5857612a57613670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612af6959493929190613aae565b600060405180830381600087803b158015612b1057600080fd5b505af1158015612b24573d6000803e3d6000fd5b505050505050565b6000612b6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a82565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bb0578082015181840152602081019050612b95565b60008484015250505050565b6000601f19601f8301169050919050565b6000612bd882612b76565b612be28185612b81565b9350612bf2818560208601612b92565b612bfb81612bbc565b840191505092915050565b60006020820190508181036000830152612c208184612bcd565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5d82612c32565b9050919050565b612c6d81612c52565b8114612c7857600080fd5b50565b600081359050612c8a81612c64565b92915050565b6000819050919050565b612ca381612c90565b8114612cae57600080fd5b50565b600081359050612cc081612c9a565b92915050565b60008060408385031215612cdd57612cdc612c28565b5b6000612ceb85828601612c7b565b9250506020612cfc85828601612cb1565b9150509250929050565b60008115159050919050565b612d1b81612d06565b82525050565b6000602082019050612d366000830184612d12565b92915050565b600060208284031215612d5257612d51612c28565b5b6000612d6084828501612cb1565b91505092915050565b612d7281612c90565b82525050565b6000602082019050612d8d6000830184612d69565b92915050565b600060208284031215612da957612da8612c28565b5b6000612db784828501612c7b565b91505092915050565b600080600060608486031215612dd957612dd8612c28565b5b6000612de786828701612c7b565b9350506020612df886828701612c7b565b9250506040612e0986828701612cb1565b9150509250925092565b612e1c81612d06565b8114612e2757600080fd5b50565b600081359050612e3981612e13565b92915050565b6000819050919050565b612e5281612e3f565b8114612e5d57600080fd5b50565b600081359050612e6f81612e49565b92915050565b60008060408385031215612e8c57612e8b612c28565b5b6000612e9a85828601612e2a565b9250506020612eab85828601612e60565b9150509250929050565b600060ff82169050919050565b612ecb81612eb5565b82525050565b6000602082019050612ee66000830184612ec2565b92915050565b60008060408385031215612f0357612f02612c28565b5b6000612f1185828601612c7b565b9250506020612f2285828601612e2a565b9150509250929050565b6000612f3782612c32565b9050919050565b612f4781612f2c565b82525050565b6000602082019050612f626000830184612f3e565b92915050565b612f7181612e3f565b82525050565b6000602082019050612f8c6000830184612f68565b92915050565b612f9b81612c52565b82525050565b6000602082019050612fb66000830184612f92565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612fe157612fe0612fbc565b5b8235905067ffffffffffffffff811115612ffe57612ffd612fc1565b5b60208301915083602082028301111561301a57613019612fc6565b5b9250929050565b6000806020838503121561303857613037612c28565b5b600083013567ffffffffffffffff81111561305657613055612c2d565b5b61306285828601612fcb565b92509250509250929050565b6000806040838503121561308557613084612c28565b5b600061309385828601612c7b565b92505060206130a485828601612c7b565b9150509250929050565b6130b781612f2c565b81146130c257600080fd5b50565b6000813590506130d4816130ae565b92915050565b6000602082840312156130f0576130ef612c28565b5b60006130fe848285016130c5565b91505092915050565b6000819050919050565b600061312c61312761312284612c32565b613107565b612c32565b9050919050565b600061313e82613111565b9050919050565b600061315082613133565b9050919050565b61316081613145565b82525050565b600060208201905061317b6000830184613157565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b60006131b7600683612b81565b91506131c282613181565b602082019050919050565b600060208201905081810360008301526131e6816131aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156132735780860481111561324f5761324e6131ed565b5b600185161561325e5780820291505b808102905061326c8561321c565b9450613233565b94509492505050565b60008261328c5760019050613348565b8161329a5760009050613348565b81600181146132b057600281146132ba576132e9565b6001915050613348565b60ff8411156132cc576132cb6131ed565b5b8360020a9150848211156132e3576132e26131ed565b5b50613348565b5060208310610133831016604e8410600b841016171561331e5782820a905083811115613319576133186131ed565b5b613348565b61332b8484846001613229565b92509050818404811115613342576133416131ed565b5b81810290505b9392505050565b600061335a82612c90565b915061336583612eb5565b92506133927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461327c565b905092915050565b60006133a582612c90565b91506133b083612c90565b92508282026133be81612c90565b915082820484148315176133d5576133d46131ed565b5b5092915050565b7f50757263686173696e67207469636b657473206973206e6f7420616c6c6f776560008201527f6420617420746869732074696d65000000000000000000000000000000000000602082015250565b6000613438602e83612b81565b9150613443826133dc565b604082019050919050565b600060208201905081810360008301526134678161342b565b9050919050565b7f5469636b657420666f7220746869732067616d652068617320616c726561647960008201527f206265656e207075726368617365640000000000000000000000000000000000602082015250565b60006134ca602f83612b81565b91506134d58261346e565b604082019050919050565b600060208201905081810360008301526134f9816134bd565b9050919050565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000613536601783612b81565b915061354182613500565b602082019050919050565b6000602082019050818103600083015261356581613529565b9050919050565b6000819050919050565b600061359161358c6135878461356c565b613107565b612c90565b9050919050565b6135a181613576565b82525050565b600060c0820190506135bc6000830189612f92565b6135c96020830188612d69565b6135d66040830187613598565b6135e36060830186613598565b6135f06080830185612f92565b6135fd60a0830184612d69565b979650505050505050565b60008151905061361781612c9a565b92915050565b60008060006060848603121561363657613635612c28565b5b600061364486828701613608565b935050602061365586828701613608565b925050604061366686828701613608565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006136aa82612c90565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136dc576136db6131ed565b5b600182019050919050565b60006136f282613133565b9050919050565b613702816136e7565b82525050565b600060208201905061371d60008301846136f9565b92915050565b600061372e82612c90565b915061373983612c90565b9250828203905081811115613751576137506131ed565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b600061378d600483612b81565b915061379882613757565b602082019050919050565b600060208201905081810360008301526137bc81613780565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b60006137f9600c83612b81565b9150613804826137c3565b602082019050919050565b60006020820190508181036000830152613828816137ec565b9050919050565b600061383a82612c90565b915061384583612c90565b925082820190508082111561385d5761385c6131ed565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061389d82612c90565b91506138a883612c90565b9250826138b8576138b7613863565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061391f602183612b81565b915061392a826138c3565b604082019050919050565b6000602082019050818103600083015261394e81613912565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061398b601b83612b81565b915061399682613955565b602082019050919050565b600060208201905081810360008301526139ba8161397e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a2581612c52565b82525050565b6000613a378383613a1c565b60208301905092915050565b6000602082019050919050565b6000613a5b826139f0565b613a6581856139fb565b9350613a7083613a0c565b8060005b83811015613aa1578151613a888882613a2b565b9750613a9383613a43565b925050600181019050613a74565b5085935050505092915050565b600060a082019050613ac36000830188612d69565b613ad06020830187613598565b8181036040830152613ae28186613a50565b9050613af16060830185612f92565b613afe6080830184612d69565b969550505050505056fea2646970667358221220197cf549bc73d375fe70baf1152daf8cece6214a5e85fd3140cf5d4e515c68cf64736f6c63430008110033

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

000000000000000000000000dac57a95712fd9ae06a277533f5076c5f9257db4

-----Decoded View---------------
Arg [0] : _owner (address): 0xdAC57a95712Fd9Ae06a277533F5076c5f9257Db4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000dac57a95712fd9ae06a277533f5076c5f9257db4


Deployed Bytecode Sourcemap

4729:10207:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7342:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7764:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12727:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6067:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13070:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14271:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7072:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6100:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8282:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14395:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12918:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5504:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2831:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7166:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5015:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13625:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12639:80;;;;;;;;;;;;;:::i;:::-;;14562:367;;;;;;;;;;;;;:::i;:::-;;5472:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5677:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7988:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5583:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13321:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5312:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7512:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13448:165;;;;;;;;;;;;;:::i;:::-;;12222:405;;;;;;;;;;;;;:::i;:::-;;7428:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12821:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13194:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7252:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5806:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8118:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13740:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5834:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6155:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6129:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5992:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13850:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7623:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3059:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14094:169;;;;;;;;;;;;;:::i;:::-;;5775:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7342:80;7390:13;7414:5;;;;;;;;;;;;;;;;;7407:12;;7342:80;:::o;7764:216::-;7839:4;7891:6;7856:11;:23;7868:10;7856:23;;;;;;;;;;;;;;;:32;7880:7;7856:32;;;;;;;;;;;;;;;:41;;;;7934:7;7913:37;;7922:10;7913:37;;;7943:6;7913:37;;;;;;:::i;:::-;;;;;;;;7968:4;7961:11;;7764:216;;;;:::o;12727:85::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12800:4:::1;12791:6;:13;;;;12727:85:::0;:::o;6067:26::-;;;;:::o;13070:115::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13165:11:::1;13144:10;;:33;;;;;;;;;;;;;;;;;;13070:115:::0;:::o;14271:116::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;5049:2:::1;14363;:15;;;;:::i;:::-;14354:5;:25;;;;:::i;:::-;14340:11;:39;;;;14271:116:::0;:::o;7072:88::-;7127:7;7145:12;;7138:19;;7072:88;:::o;6100:22::-;;;;;;;;;;;;;:::o;8282:370::-;8382:4;8437:17;8402:11;:19;8414:6;8402:19;;;;;;;;;;;;;;;:31;8422:10;8402:31;;;;;;;;;;;;;;;;:52;8399:186;;8504:69;8540:6;8504:69;;;;;;;;;;;;;;;;;:11;:19;8516:6;8504:19;;;;;;;;;;;;;;;:31;8524:10;8504:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8470:11;:19;8482:6;8470:19;;;;;;;;;;;;;;;:31;8490:10;8470:31;;;;;;;;;;;;;;;:103;;;;8399:186;8604:40;8618:6;8626:9;8637:6;8604:13;:40::i;:::-;8597:47;;8282:370;;;;;:::o;14395:159::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14471:6:::1;14467:50;;;14503:2;14494:6;:11;;;;14467:50;14540:6;14527:10;;:19;;;;;;;;;;;;;;;;;;14395:159:::0;;:::o;12918:143::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13019:34:::1;13048:4;13019:24;13036:6;13019:12;;:16;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;12997:19;:56;;;;12918:143:::0;:::o;5504:27::-;;;;:::o;2831:103::-;2886:4;2921:5;;;;;;;;;;;2910:16;;:7;:16;;;2903:23;;2831:103;;;:::o;7166:80::-;7218:5;5049:2;7227:16;;7166:80;:::o;5015:36::-;5049:2;5015:36;:::o;13625:107::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13718:6:::1;13700:5;:15;13706:8;13700:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;13625:107:::0;;:::o;12639:80::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12706:5:::1;12695:8;;:16;;;;;;;;;;;;;;;;;;12639:80::o:0;14562:367::-;14607:10;;;;;;;;;;;14598:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14711:6;;14688:7;:19;14696:10;14688:19;;;;;;;;;;;;;;;;:29;14679:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;14814:11;;14789:21;14799:10;14789:9;:21::i;:::-;:36;;14780:46;;;;;;14837:45;14852:10;14864:4;;;;;;;;;;;14870:11;;14837:14;:45::i;:::-;;14915:6;;14893:7;:19;14901:10;14893:19;;;;;;;;;;;;;;;:28;;;;14562:367::o;5472:25::-;;;;:::o;5677:88::-;;;;;;;;;;;;;:::o;7988:122::-;8043:4;8067:35;8075:7;8084:17;8067:7;:35::i;:::-;8060:42;;7988:122;;;:::o;5583:87::-;;;;;;;;;;;;;:::o;13321:119::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13426:6:::1;13404:11;:19;13416:6;13404:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13321:119:::0;;:::o;5312:39::-;;;;;;;;;;;;;;;;;:::o;7512:105::-;7578:7;7596:9;:18;7606:7;7596:18;;;;;;;;;;;;;;;;7589:25;;7512:105;;;:::o;13448:165::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13538:5:::1;13518:25;;:16;;;;;;;;;;;:25;;;13509:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13601:4;13582:16;;:23;;;;;;;;;;;;;;;;;;13448:165::o:0;12222:405::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12279:6:::1;;;;;;;;;;;:22;;;12309:21;12354:4;12374:24;12392:4;12374:9;:24::i;:::-;12413:1;12456::::0;12499:5:::1;::::0;::::1;;;;;;;;12519:15;12279:266;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12578:12;12565:10;:25;;;;12615:4;12601:11;;:18;;;;;;;;;;;;;;;;;;12222:405::o:0;7428:78::-;7480:7;7498:5;;;;;;;;;;;7491:12;;7428:78;:::o;12821:87::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12896:4:::1;12886:7;:14;;;;12821:87:::0;:::o;13194:119::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13292:12:::1;13270:11;;:35;;;;;;;;;;;;;;;;;;13194:119:::0;:::o;7252:84::-;7302:13;7326:7;;;;;;;;;;;;;;;;;7319:14;;7252:84;:::o;5806:19::-;;;;;;;;;;;;;:::o;8118:156::-;8198:4;8222:44;8236:10;8248:9;8259:6;8222:13;:44::i;:::-;8215:51;;8118:156;;;;:::o;13740:102::-;13796:4;13820:5;:14;13826:7;13820:14;;;;;;;;;;;;;;;;;;;;;;;;;13813:21;;13740:102;;;:::o;5834:25::-;;;;:::o;6155:36::-;;;;;;;;;;;;;:::o;6129:17::-;;;;:::o;5992:62::-;;;;:::o;13850:234::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13953:1:::1;13939:4;;:11;;:15;13930:25;;;::::0;::::1;;13966:6;13986:91;13997:4;;:11;;13993:1;:15;13986:91;;;14025:22;14032:4;;14037:1;14032:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14042:4;14025:6;:22::i;:::-;14062:3;;;;;:::i;:::-;;;;13986:91;;;13919:165;13850:234:::0;;:::o;7623:133::-;7707:7;7725:11;:19;7737:6;7725:19;;;;;;;;;;;;;;;:28;7745:7;7725:28;;;;;;;;;;;;;;;;7718:35;;7623:133;;;;:::o;3059:136::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3143:3:::1;3135:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3162:25;3183:3;3162:25;;;;;;:::i;:::-;;;;;;;;3059:136:::0;:::o;14094:169::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14146:26:::1;14175:21;14146:50;;14215:10;;;;;;;;;;;14207:28;;:48;14236:18;14207:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14135:128;14094:169::o:0;5775:24::-;;;;;;;;;;;;;:::o;493:192::-;579:7;612:1;607;:6;;615:12;599:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;639:9;655:1;651;:5;;;;:::i;:::-;639:17;;676:1;669:8;;;493:192;;;;;:::o;8660:1592::-;8752:4;8774:11;;;;;;;;;;;8769:162;;8821:5;;;;;;;;;;8811:15;;:6;:15;;;:44;;;;8850:4;8831:24;;:6;:24;;;8811:44;8802:54;;;;;;8878:41;8893:6;8901:9;8912:6;8878:14;:41::i;:::-;8871:48;;;;8769:162;8955:16;;;;;;;;;;;8951:102;;;8998:5;:13;9004:6;8998:13;;;;;;;;;;;;;;;;;;;;;;;;;8997:14;:35;;;;;9016:5;:16;9022:9;9016:16;;;;;;;;;;;;;;;;;;;;;;;;;9015:17;8997:35;8988:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8951:102;9067:8;;;;;;;;;;;9063:90;;;9110:6;;9102;:14;;9093:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;9063:90;9179:4;;;;;;;;;;;9169:14;;:6;:14;;;:46;;;;;9208:6;;;;;;;;;;;9187:28;;:9;:28;;;;9169:46;:73;;;;;9220:11;:22;9232:9;9220:22;;;;;;;;;;;;;;;;;;;;;;;;;9219:23;9169:73;9165:329;;;9290:15;9268:8;:19;9277:9;9268:19;;;;;;;;;;;;;;;;:37;9259:47;;;;;;9361:10;9343:15;:28;;;;:::i;:::-;9321:8;:19;9330:9;9321:19;;;;;;;;;;;;;;;:50;;;;9420:1;9407:10;;:14;;;;:::i;:::-;9390:12;:32;9386:97;;9463:4;9444:5;:16;9450:9;9444:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9386:97;9165:329;9516:6;;;;;;;;;;;9513:63;;;9532:41;9547:6;9555:9;9566:6;9532:14;:41::i;:::-;9525:48;;;;9513:63;9594:28;9625:24;9643:4;9625:9;:24::i;:::-;9594:55;;9662:24;9713:19;;9689:20;:43;;9662:70;;9749:19;9772;:38;;;;;9806:4;;;;;;;;;;;9795:15;;:9;:15;;;9772:38;:70;;;;;9841:1;9814:24;9832:4;9814:9;:24::i;:::-;:28;9772:70;9749:94;;9857:14;9854:33;;;9874:10;:8;:10::i;:::-;9854:33;9919:53;9941:6;9919:53;;;;;;;;;;;;;;;;;:9;:17;9929:6;9919:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9899:9;:17;9909:6;9899:17;;;;;;;;;;;;;;;:73;;;;9985:22;10010:32;10024:6;10032:9;10010:13;:32::i;:::-;:67;;10071:6;10010:67;;;10045:23;10053:6;10061;10045:7;:23::i;:::-;10010:67;9985:92;;10121:40;10146:14;10121:9;:20;10131:9;10121:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;10098:9;:20;10108:9;10098:20;;;;;;;;;;;;;;;:63;;;;10196:9;10179:43;;10188:6;10179:43;;;10207:14;10179:43;;;;;;:::i;:::-;;;;;;;;10240:4;10233:11;;;;;;8660:1592;;;;;;:::o;691:250::-;749:7;778:1;773;:6;769:47;;803:1;796:8;;;;769:47;828:9;844:1;840;:5;;;;:::i;:::-;828:17;;873:1;868;864;:5;;;;:::i;:::-;:10;856:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;932:1;925:8;;;691:250;;;;;:::o;947:132::-;1005:7;1032:39;1036:1;1039;1032:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1025:46;;947:132;;;;:::o;10264:330::-;10357:4;10394:53;10416:6;10394:53;;;;;;;;;;;;;;;;;:9;:17;10404:6;10394:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10374:9;:17;10384:6;10374:17;;;;;;;;;;;;;;;:73;;;;10481:32;10506:6;10481:9;:20;10491:9;10481:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10458:9;:20;10468:9;10458:20;;;;;;;;;;;;;;;:55;;;;10546:9;10529:35;;10538:6;10529:35;;;10557:6;10529:35;;;;;;:::i;:::-;;;;;;;;10582:4;10575:11;;10264:330;;;;;:::o;11322:381::-;6255:4;6246:6;;:13;;;;;;;;;;;;;;;;;;11373:20:::1;11396:24;11414:4;11396:9;:24::i;:::-;11373:47;;11441:30;11458:12;11441:16;:30::i;:::-;11484:26;11513:21;11484:50;;11568:10;;;;;;;;;;;11560:28;;:55;11589:25;11612:1;11589:18;:22;;:25;;;;:::i;:::-;11560:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11634:11;;;;;;;;;;;11626:29;;:56;11656:25;11679:1;11656:18;:22;;:25;;;;:::i;:::-;11626:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11360:343;;6273:5:::0;6264:6;;:14;;;;;;;;;;;;;;;;;;11322:381::o;10605:206::-;10686:4;10714:11;:19;10726:6;10714:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;10737:11;:22;10749:9;10737:22;;;;;;;;;;;;;;;;;;;;;;;;;10714:45;10712:48;:90;;;;;10776:4;;;;;;;;;;;10766:14;;:6;:14;;;:35;;;;10797:4;;;;;;;;;;;10784:17;;:9;:17;;;10766:35;10712:90;10703:101;;10605:206;;;;:::o;10819:490::-;10886:7;10906:17;10947:4;;;;;;;;;;;10937:14;;:6;:14;;;10934:189;;10980:39;11004:14;;10980:19;10991:7;;10980:6;:10;;:19;;;;:::i;:::-;:23;;:39;;;;:::i;:::-;10968:51;;10934:189;;;11073:38;11096:14;;11073:18;11084:6;;11073;:10;;:18;;;;:::i;:::-;:22;;:38;;;;:::i;:::-;11061:50;;10934:189;11160:39;11189:9;11160;:24;11178:4;11160:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11133:9;:24;11151:4;11133:24;;;;;;;;;;;;;;;:66;;;;11240:4;11215:42;;11224:6;11215:42;;;11247:9;11215:42;;;;;;:::i;:::-;;;;;;;;11280:21;11291:9;11280:6;:10;;:21;;;;:::i;:::-;11273:28;;;10819:490;;;;:::o;164:181::-;222:7;242:9;258:1;254;:5;;;;:::i;:::-;242:17;;283:1;278;:6;;270:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;336:1;329:8;;;164:181;;;;:::o;1085:345::-;1171:7;1270:1;1266;:5;1273:12;1258:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1297:9;1313:1;1309;:5;;;;:::i;:::-;1297:17;;1421:1;1414:8;;;1085:345;;;;;:::o;11719:489::-;11847:21;11885:1;11871:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11847:40;;11916:4;11898;11903:1;11898:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11942:4;;;;;;;;;;;11932;11937:1;11932:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;11985:6;;;;;;;;;;;:57;;;12057:11;12083:1;12127:4;12154;12174:15;11985:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11774:434;11719:489;:::o;351:136::-;409:7;436:43;440:1;443;436:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;429:50;;351:136;;;;:::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;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:329::-;4192:6;4241:2;4229:9;4220:7;4216:23;4212:32;4209:119;;;4247:79;;:::i;:::-;4209:119;4367:1;4392:53;4437:7;4428:6;4417:9;4413:22;4392:53;:::i;:::-;4382:63;;4338:117;4133:329;;;;:::o;4468:619::-;4545:6;4553;4561;4610:2;4598:9;4589:7;4585:23;4581:32;4578:119;;;4616:79;;:::i;:::-;4578:119;4736:1;4761:53;4806:7;4797:6;4786:9;4782:22;4761:53;:::i;:::-;4751:63;;4707:117;4863:2;4889:53;4934:7;4925:6;4914:9;4910:22;4889:53;:::i;:::-;4879:63;;4834:118;4991:2;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4962:118;4468:619;;;;;:::o;5093:116::-;5163:21;5178:5;5163:21;:::i;:::-;5156:5;5153:32;5143:60;;5199:1;5196;5189:12;5143:60;5093:116;:::o;5215:133::-;5258:5;5296:6;5283:20;5274:29;;5312:30;5336:5;5312:30;:::i;:::-;5215:133;;;;:::o;5354:76::-;5390:7;5419:5;5408:16;;5354:76;;;:::o;5436:120::-;5508:23;5525:5;5508:23;:::i;:::-;5501:5;5498:34;5488:62;;5546:1;5543;5536:12;5488:62;5436:120;:::o;5562:137::-;5607:5;5645:6;5632:20;5623:29;;5661:32;5687:5;5661:32;:::i;:::-;5562:137;;;;:::o;5705:466::-;5769:6;5777;5826:2;5814:9;5805:7;5801:23;5797:32;5794:119;;;5832:79;;:::i;:::-;5794:119;5952:1;5977:50;6019:7;6010:6;5999:9;5995:22;5977:50;:::i;:::-;5967:60;;5923:114;6076:2;6102:52;6146:7;6137:6;6126:9;6122:22;6102:52;:::i;:::-;6092:62;;6047:117;5705:466;;;;;:::o;6177:86::-;6212:7;6252:4;6245:5;6241:16;6230:27;;6177:86;;;:::o;6269:112::-;6352:22;6368:5;6352:22;:::i;:::-;6347:3;6340:35;6269:112;;:::o;6387:214::-;6476:4;6514:2;6503:9;6499:18;6491:26;;6527:67;6591:1;6580:9;6576:17;6567:6;6527:67;:::i;:::-;6387:214;;;;:::o;6607:468::-;6672:6;6680;6729:2;6717:9;6708:7;6704:23;6700:32;6697:119;;;6735:79;;:::i;:::-;6697:119;6855:1;6880:53;6925:7;6916:6;6905:9;6901:22;6880:53;:::i;:::-;6870:63;;6826:117;6982:2;7008:50;7050:7;7041:6;7030:9;7026:22;7008:50;:::i;:::-;6998:60;;6953:115;6607:468;;;;;:::o;7081:104::-;7126:7;7155:24;7173:5;7155:24;:::i;:::-;7144:35;;7081:104;;;:::o;7191:142::-;7294:32;7320:5;7294:32;:::i;:::-;7289:3;7282:45;7191:142;;:::o;7339:254::-;7448:4;7486:2;7475:9;7471:18;7463:26;;7499:87;7583:1;7572:9;7568:17;7559:6;7499:87;:::i;:::-;7339:254;;;;:::o;7599:115::-;7684:23;7701:5;7684:23;:::i;:::-;7679:3;7672:36;7599:115;;:::o;7720:218::-;7811:4;7849:2;7838:9;7834:18;7826:26;;7862:69;7928:1;7917:9;7913:17;7904:6;7862:69;:::i;:::-;7720:218;;;;:::o;7944:118::-;8031:24;8049:5;8031:24;:::i;:::-;8026:3;8019:37;7944:118;;:::o;8068:222::-;8161:4;8199:2;8188:9;8184:18;8176:26;;8212:71;8280:1;8269:9;8265:17;8256:6;8212:71;:::i;:::-;8068:222;;;;:::o;8296:117::-;8405:1;8402;8395:12;8419:117;8528:1;8525;8518:12;8542:117;8651:1;8648;8641:12;8682:568;8755:8;8765:6;8815:3;8808:4;8800:6;8796:17;8792:27;8782:122;;8823:79;;:::i;:::-;8782:122;8936:6;8923:20;8913:30;;8966:18;8958:6;8955:30;8952:117;;;8988:79;;:::i;:::-;8952:117;9102:4;9094:6;9090:17;9078:29;;9156:3;9148:4;9140:6;9136:17;9126:8;9122:32;9119:41;9116:128;;;9163:79;;:::i;:::-;9116:128;8682:568;;;;;:::o;9256:559::-;9342:6;9350;9399:2;9387:9;9378:7;9374:23;9370:32;9367:119;;;9405:79;;:::i;:::-;9367:119;9553:1;9542:9;9538:17;9525:31;9583:18;9575:6;9572:30;9569:117;;;9605:79;;:::i;:::-;9569:117;9718:80;9790:7;9781:6;9770:9;9766:22;9718:80;:::i;:::-;9700:98;;;;9496:312;9256:559;;;;;:::o;9821:474::-;9889:6;9897;9946:2;9934:9;9925:7;9921:23;9917:32;9914:119;;;9952:79;;:::i;:::-;9914:119;10072:1;10097:53;10142:7;10133:6;10122:9;10118:22;10097:53;:::i;:::-;10087:63;;10043:117;10199:2;10225:53;10270:7;10261:6;10250:9;10246:22;10225:53;:::i;:::-;10215:63;;10170:118;9821:474;;;;;:::o;10301:138::-;10382:32;10408:5;10382:32;:::i;:::-;10375:5;10372:43;10362:71;;10429:1;10426;10419:12;10362:71;10301:138;:::o;10445:155::-;10499:5;10537:6;10524:20;10515:29;;10553:41;10588:5;10553:41;:::i;:::-;10445:155;;;;:::o;10606:345::-;10673:6;10722:2;10710:9;10701:7;10697:23;10693:32;10690:119;;;10728:79;;:::i;:::-;10690:119;10848:1;10873:61;10926:7;10917:6;10906:9;10902:22;10873:61;:::i;:::-;10863:71;;10819:125;10606:345;;;;:::o;10957:60::-;10985:3;11006:5;10999:12;;10957:60;;;:::o;11023:142::-;11073:9;11106:53;11124:34;11133:24;11151:5;11133:24;:::i;:::-;11124:34;:::i;:::-;11106:53;:::i;:::-;11093:66;;11023:142;;;:::o;11171:126::-;11221:9;11254:37;11285:5;11254:37;:::i;:::-;11241:50;;11171:126;;;:::o;11303:144::-;11371:9;11404:37;11435:5;11404:37;:::i;:::-;11391:50;;11303:144;;;:::o;11453:167::-;11558:55;11607:5;11558:55;:::i;:::-;11553:3;11546:68;11453:167;;:::o;11626:258::-;11737:4;11775:2;11764:9;11760:18;11752:26;;11788:89;11874:1;11863:9;11859:17;11850:6;11788:89;:::i;:::-;11626:258;;;;:::o;11890:156::-;12030:8;12026:1;12018:6;12014:14;12007:32;11890:156;:::o;12052:365::-;12194:3;12215:66;12279:1;12274:3;12215:66;:::i;:::-;12208:73;;12290:93;12379:3;12290:93;:::i;:::-;12408:2;12403:3;12399:12;12392:19;;12052:365;;;:::o;12423:419::-;12589:4;12627:2;12616:9;12612:18;12604:26;;12676:9;12670:4;12666:20;12662:1;12651:9;12647:17;12640:47;12704:131;12830:4;12704:131;:::i;:::-;12696:139;;12423:419;;;:::o;12848:180::-;12896:77;12893:1;12886:88;12993:4;12990:1;12983:15;13017:4;13014:1;13007:15;13034:102;13076:8;13123:5;13120:1;13116:13;13095:34;;13034:102;;;:::o;13142:848::-;13203:5;13210:4;13234:6;13225:15;;13258:5;13249:14;;13272:712;13293:1;13283:8;13280:15;13272:712;;;13388:4;13383:3;13379:14;13373:4;13370:24;13367:50;;;13397:18;;:::i;:::-;13367:50;13447:1;13437:8;13433:16;13430:451;;;13862:4;13855:5;13851:16;13842:25;;13430:451;13912:4;13906;13902:15;13894:23;;13942:32;13965:8;13942:32;:::i;:::-;13930:44;;13272:712;;;13142:848;;;;;;;:::o;13996:1073::-;14050:5;14241:8;14231:40;;14262:1;14253:10;;14264:5;;14231:40;14290:4;14280:36;;14307:1;14298:10;;14309:5;;14280:36;14376:4;14424:1;14419:27;;;;14460:1;14455:191;;;;14369:277;;14419:27;14437:1;14428:10;;14439:5;;;14455:191;14500:3;14490:8;14487:17;14484:43;;;14507:18;;:::i;:::-;14484:43;14556:8;14553:1;14549:16;14540:25;;14591:3;14584:5;14581:14;14578:40;;;14598:18;;:::i;:::-;14578:40;14631:5;;;14369:277;;14755:2;14745:8;14742:16;14736:3;14730:4;14727:13;14723:36;14705:2;14695:8;14692:16;14687:2;14681:4;14678:12;14674:35;14658:111;14655:246;;;14811:8;14805:4;14801:19;14792:28;;14846:3;14839:5;14836:14;14833:40;;;14853:18;;:::i;:::-;14833:40;14886:5;;14655:246;14926:42;14964:3;14954:8;14948:4;14945:1;14926:42;:::i;:::-;14911:57;;;;15000:4;14995:3;14991:14;14984:5;14981:25;14978:51;;;15009:18;;:::i;:::-;14978:51;15058:4;15051:5;15047:16;15038:25;;13996:1073;;;;;;:::o;15075:281::-;15133:5;15157:23;15175:4;15157:23;:::i;:::-;15149:31;;15201:25;15217:8;15201:25;:::i;:::-;15189:37;;15245:104;15282:66;15272:8;15266:4;15245:104;:::i;:::-;15236:113;;15075:281;;;;:::o;15362:410::-;15402:7;15425:20;15443:1;15425:20;:::i;:::-;15420:25;;15459:20;15477:1;15459:20;:::i;:::-;15454:25;;15514:1;15511;15507:9;15536:30;15554:11;15536:30;:::i;:::-;15525:41;;15715:1;15706:7;15702:15;15699:1;15696:22;15676:1;15669:9;15649:83;15626:139;;15745:18;;:::i;:::-;15626:139;15410:362;15362:410;;;;:::o;15778:233::-;15918:34;15914:1;15906:6;15902:14;15895:58;15987:16;15982:2;15974:6;15970:15;15963:41;15778:233;:::o;16017:366::-;16159:3;16180:67;16244:2;16239:3;16180:67;:::i;:::-;16173:74;;16256:93;16345:3;16256:93;:::i;:::-;16374:2;16369:3;16365:12;16358:19;;16017:366;;;:::o;16389:419::-;16555:4;16593:2;16582:9;16578:18;16570:26;;16642:9;16636:4;16632:20;16628:1;16617:9;16613:17;16606:47;16670:131;16796:4;16670:131;:::i;:::-;16662:139;;16389:419;;;:::o;16814:234::-;16954:34;16950:1;16942:6;16938:14;16931:58;17023:17;17018:2;17010:6;17006:15;16999:42;16814:234;:::o;17054:366::-;17196:3;17217:67;17281:2;17276:3;17217:67;:::i;:::-;17210:74;;17293:93;17382:3;17293:93;:::i;:::-;17411:2;17406:3;17402:12;17395:19;;17054:366;;;:::o;17426:419::-;17592:4;17630:2;17619:9;17615:18;17607:26;;17679:9;17673:4;17669:20;17665:1;17654:9;17650:17;17643:47;17707:131;17833:4;17707:131;:::i;:::-;17699:139;;17426:419;;;:::o;17851:173::-;17991:25;17987:1;17979:6;17975:14;17968:49;17851:173;:::o;18030:366::-;18172:3;18193:67;18257:2;18252:3;18193:67;:::i;:::-;18186:74;;18269:93;18358:3;18269:93;:::i;:::-;18387:2;18382:3;18378:12;18371:19;;18030:366;;;:::o;18402:419::-;18568:4;18606:2;18595:9;18591:18;18583:26;;18655:9;18649:4;18645:20;18641:1;18630:9;18626:17;18619:47;18683:131;18809:4;18683:131;:::i;:::-;18675:139;;18402:419;;;:::o;18827:85::-;18872:7;18901:5;18890:16;;18827:85;;;:::o;18918:158::-;18976:9;19009:61;19027:42;19036:32;19062:5;19036:32;:::i;:::-;19027:42;:::i;:::-;19009:61;:::i;:::-;18996:74;;18918:158;;;:::o;19082:147::-;19177:45;19216:5;19177:45;:::i;:::-;19172:3;19165:58;19082:147;;:::o;19235:807::-;19484:4;19522:3;19511:9;19507:19;19499:27;;19536:71;19604:1;19593:9;19589:17;19580:6;19536:71;:::i;:::-;19617:72;19685:2;19674:9;19670:18;19661:6;19617:72;:::i;:::-;19699:80;19775:2;19764:9;19760:18;19751:6;19699:80;:::i;:::-;19789;19865:2;19854:9;19850:18;19841:6;19789:80;:::i;:::-;19879:73;19947:3;19936:9;19932:19;19923:6;19879:73;:::i;:::-;19962;20030:3;20019:9;20015:19;20006:6;19962:73;:::i;:::-;19235:807;;;;;;;;;:::o;20048:143::-;20105:5;20136:6;20130:13;20121:22;;20152:33;20179:5;20152:33;:::i;:::-;20048:143;;;;:::o;20197:663::-;20285:6;20293;20301;20350:2;20338:9;20329:7;20325:23;20321:32;20318:119;;;20356:79;;:::i;:::-;20318:119;20476:1;20501:64;20557:7;20548:6;20537:9;20533:22;20501:64;:::i;:::-;20491:74;;20447:128;20614:2;20640:64;20696:7;20687:6;20676:9;20672:22;20640:64;:::i;:::-;20630:74;;20585:129;20753:2;20779:64;20835:7;20826:6;20815:9;20811:22;20779:64;:::i;:::-;20769:74;;20724:129;20197:663;;;;;:::o;20866:180::-;20914:77;20911:1;20904:88;21011:4;21008:1;21001:15;21035:4;21032:1;21025:15;21052:233;21091:3;21114:24;21132:5;21114:24;:::i;:::-;21105:33;;21160:66;21153:5;21150:77;21147:103;;21230:18;;:::i;:::-;21147:103;21277:1;21270:5;21266:13;21259:20;;21052:233;;;:::o;21291:134::-;21349:9;21382:37;21413:5;21382:37;:::i;:::-;21369:50;;21291:134;;;:::o;21431:147::-;21526:45;21565:5;21526:45;:::i;:::-;21521:3;21514:58;21431:147;;:::o;21584:238::-;21685:4;21723:2;21712:9;21708:18;21700:26;;21736:79;21812:1;21801:9;21797:17;21788:6;21736:79;:::i;:::-;21584:238;;;;:::o;21828:194::-;21868:4;21888:20;21906:1;21888:20;:::i;:::-;21883:25;;21922:20;21940:1;21922:20;:::i;:::-;21917:25;;21966:1;21963;21959:9;21951:17;;21990:1;21984:4;21981:11;21978:37;;;21995:18;;:::i;:::-;21978:37;21828:194;;;;:::o;22028:154::-;22168:6;22164:1;22156:6;22152:14;22145:30;22028:154;:::o;22188:365::-;22330:3;22351:66;22415:1;22410:3;22351:66;:::i;:::-;22344:73;;22426:93;22515:3;22426:93;:::i;:::-;22544:2;22539:3;22535:12;22528:19;;22188:365;;;:::o;22559:419::-;22725:4;22763:2;22752:9;22748:18;22740:26;;22812:9;22806:4;22802:20;22798:1;22787:9;22783:17;22776:47;22840:131;22966:4;22840:131;:::i;:::-;22832:139;;22559:419;;;:::o;22984:162::-;23124:14;23120:1;23112:6;23108:14;23101:38;22984:162;:::o;23152:366::-;23294:3;23315:67;23379:2;23374:3;23315:67;:::i;:::-;23308:74;;23391:93;23480:3;23391:93;:::i;:::-;23509:2;23504:3;23500:12;23493:19;;23152:366;;;:::o;23524:419::-;23690:4;23728:2;23717:9;23713:18;23705:26;;23777:9;23771:4;23767:20;23763:1;23752:9;23748:17;23741:47;23805:131;23931:4;23805:131;:::i;:::-;23797:139;;23524:419;;;:::o;23949:191::-;23989:3;24008:20;24026:1;24008:20;:::i;:::-;24003:25;;24042:20;24060:1;24042:20;:::i;:::-;24037:25;;24085:1;24082;24078:9;24071:16;;24106:3;24103:1;24100:10;24097:36;;;24113:18;;:::i;:::-;24097:36;23949:191;;;;:::o;24146:180::-;24194:77;24191:1;24184:88;24291:4;24288:1;24281:15;24315:4;24312:1;24305:15;24332:185;24372:1;24389:20;24407:1;24389:20;:::i;:::-;24384:25;;24423:20;24441:1;24423:20;:::i;:::-;24418:25;;24462:1;24452:35;;24467:18;;:::i;:::-;24452:35;24509:1;24506;24502:9;24497:14;;24332:185;;;;:::o;24523:220::-;24663:34;24659:1;24651:6;24647:14;24640:58;24732:3;24727:2;24719:6;24715:15;24708:28;24523:220;:::o;24749:366::-;24891:3;24912:67;24976:2;24971:3;24912:67;:::i;:::-;24905:74;;24988:93;25077:3;24988:93;:::i;:::-;25106:2;25101:3;25097:12;25090:19;;24749:366;;;:::o;25121:419::-;25287:4;25325:2;25314:9;25310:18;25302:26;;25374:9;25368:4;25364:20;25360:1;25349:9;25345:17;25338:47;25402:131;25528:4;25402:131;:::i;:::-;25394:139;;25121:419;;;:::o;25546:177::-;25686:29;25682:1;25674:6;25670:14;25663:53;25546:177;:::o;25729:366::-;25871:3;25892:67;25956:2;25951:3;25892:67;:::i;:::-;25885:74;;25968:93;26057:3;25968:93;:::i;:::-;26086:2;26081:3;26077:12;26070:19;;25729:366;;;:::o;26101:419::-;26267:4;26305:2;26294:9;26290:18;26282:26;;26354:9;26348:4;26344:20;26340:1;26329:9;26325:17;26318:47;26382:131;26508:4;26382:131;:::i;:::-;26374:139;;26101:419;;;:::o;26526:180::-;26574:77;26571:1;26564:88;26671:4;26668:1;26661:15;26695:4;26692:1;26685:15;26712:114;26779:6;26813:5;26807:12;26797:22;;26712:114;;;:::o;26832:184::-;26931:11;26965:6;26960:3;26953:19;27005:4;27000:3;26996:14;26981:29;;26832:184;;;;:::o;27022:132::-;27089:4;27112:3;27104:11;;27142:4;27137:3;27133:14;27125:22;;27022:132;;;:::o;27160:108::-;27237:24;27255:5;27237:24;:::i;:::-;27232:3;27225:37;27160:108;;:::o;27274:179::-;27343:10;27364:46;27406:3;27398:6;27364:46;:::i;:::-;27442:4;27437:3;27433:14;27419:28;;27274:179;;;;:::o;27459:113::-;27529:4;27561;27556:3;27552:14;27544:22;;27459:113;;;:::o;27608:732::-;27727:3;27756:54;27804:5;27756:54;:::i;:::-;27826:86;27905:6;27900:3;27826:86;:::i;:::-;27819:93;;27936:56;27986:5;27936:56;:::i;:::-;28015:7;28046:1;28031:284;28056:6;28053:1;28050:13;28031:284;;;28132:6;28126:13;28159:63;28218:3;28203:13;28159:63;:::i;:::-;28152:70;;28245:60;28298:6;28245:60;:::i;:::-;28235:70;;28091:224;28078:1;28075;28071:9;28066:14;;28031:284;;;28035:14;28331:3;28324:10;;27732:608;;;27608:732;;;;:::o;28346:831::-;28609:4;28647:3;28636:9;28632:19;28624:27;;28661:71;28729:1;28718:9;28714:17;28705:6;28661:71;:::i;:::-;28742:80;28818:2;28807:9;28803:18;28794:6;28742:80;:::i;:::-;28869:9;28863:4;28859:20;28854:2;28843:9;28839:18;28832:48;28897:108;29000:4;28991:6;28897:108;:::i;:::-;28889:116;;29015:72;29083:2;29072:9;29068:18;29059:6;29015:72;:::i;:::-;29097:73;29165:3;29154:9;29150:19;29141:6;29097:73;:::i;:::-;28346:831;;;;;;;;:::o

Swarm Source

ipfs://197cf549bc73d375fe70baf1152daf8cece6214a5e85fd3140cf5d4e515c68cf
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.