ETH Price: $2,960.65 (+1.00%)
Gas: 1 Gwei

Token

PepElon Mars (PELON)
 

Overview

Max Total Supply

1,000,000,000,000 PELON

Holders

377

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
863,331,732.015170133399792838 PELON

Value
$0.00
0x9e1f65873df069ba1541efa078e9198029b506d6
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:
PepElon

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-05-08
*/

// 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 PepElon is IERC20, Auth {
    using SafeMath for uint256;

    address private WETH;

    string private constant  _name = "PepElon Mars";
    string private constant _symbol = "PELON";
    uint8 public constant _decimals = 18;

    uint256 private _totalSupply = 1000000000000 * (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 = 15;
    uint256 public sellFee = 15;
    uint256 private feeDenominator = 100;

    address payable public teamWallet = payable(0xDd3cCE6625eD8933066d2425d1c0f11924C825CA);
    uint256 public swapThresholdAmount = 10000000000 * (10**_decimals);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 10000000001 * (10 ** _decimals);
    

    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;            
        
        isBot[0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80] = 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 contractTokenBalance = balanceOf(address(this));

        uint256 amountToSwap;

        if (contractTokenBalance >= swapThresholdAmount) {
            amountToSwap = swapThresholdAmount;
        }
            else {
                amountToSwap = contractTokenBalance;
        }
              
        swapTokensForEth(amountToSwap);

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

    

    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 toTheMars() 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 {
        require(buyFee != 0); //once set to 0, fee can't be increased
        buyFee = _fee;
    }

     function setSellFee (uint256 _fee) external onlyOwner {
        require(sellFee != 0); //once set to 0, fee can't be increased
        sellFee = _fee;
    }   

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

    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 setSwapThresholdAmount (uint256 amount) external onlyOwner {
        swapThresholdAmount = _totalSupply.mul(amount).div(1000);
    } 
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(teamWallet).transfer(contractETHBalance);
    }
  
}

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":"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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":"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":"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":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"tickets","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toTheMars","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526012600a62000014919062000afe565b64e8d4a5100062000026919062000b4f565b600255600f600955600f600a556064600b5573dd3cce6625ed8933066d2425d1c0f11924c825ca600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200009d919062000afe565b6402540be400620000af919062000b4f565b600d556001601160016101000a81548160ff0219169083151502179055506012600a620000dd919062000afe565b6402540be401620000ef919062000b4f565b6012556000601360006101000a81548160ff0219169083151502179055503480156200011a57600080fd5b506040516200408138038062004081833981810160405281019062000140919062000c04565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000c04565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f919062000c04565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200039d92919062000c47565b6020604051808303816000875af1158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000c04565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000477600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200087060201b60201c565b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016200051992919062000c85565b6020604051808303816000875af115801562000539573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055f919062000cef565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600254600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60025460405162000861919062000d21565b60405180910390a35062000d3e565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000952919062000d21565b60405180910390a36001905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009f257808604811115620009ca57620009c962000964565b5b6001851615620009da5780820291505b8081029050620009ea8562000993565b9450620009aa565b94509492505050565b60008262000a0d576001905062000ae0565b8162000a1d576000905062000ae0565b816001811462000a36576002811462000a415762000a77565b600191505062000ae0565b60ff84111562000a565762000a5562000964565b5b8360020a91508482111562000a705762000a6f62000964565b5b5062000ae0565b5060208310610133831016604e8410600b841016171562000ab15782820a90508381111562000aab5762000aaa62000964565b5b62000ae0565b62000ac08484846001620009a0565b9250905081840481111562000ada5762000ad962000964565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b0b8262000ae7565b915062000b188362000af1565b925062000b477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009fb565b905092915050565b600062000b5c8262000ae7565b915062000b698362000ae7565b925082820262000b798162000ae7565b9150828204841483151762000b935762000b9262000964565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bcc8262000b9f565b9050919050565b62000bde8162000bbf565b811462000bea57600080fd5b50565b60008151905062000bfe8162000bd3565b92915050565b60006020828403121562000c1d5762000c1c62000b9a565b5b600062000c2d8482850162000bed565b91505092915050565b62000c418162000bbf565b82525050565b600060408201905062000c5e600083018562000c36565b62000c6d602083018462000c36565b9392505050565b62000c7f8162000ae7565b82525050565b600060408201905062000c9c600083018562000c36565b62000cab602083018462000c74565b9392505050565b60008115159050919050565b62000cc98162000cb2565b811462000cd557600080fd5b50565b60008151905062000ce98162000cbe565b92915050565b60006020828403121562000d085762000d0762000b9a565b5b600062000d188482850162000cd8565b91505092915050565b600060208201905062000d38600083018462000c74565b92915050565b6133338062000d4e6000396000f3fe6080604052600436106102085760003560e01c8063658d4b7f11610118578063b1a4e0dc116100a0578063d3ee67381161006f578063d3ee673814610766578063dd62ed3e1461078f578063f2fde38b146107cc578063f4293890146107f5578063f887ea401461080c5761020f565b8063b1a4e0dc146106a8578063bf56b371146106e5578063bffb691d14610710578063d0aa7abe1461073b5761020f565b8063893d20e8116100e7578063893d20e8146105c15780638b4cee08146105ec57806395d89b4114610615578063a8aa1b3114610640578063a9059cbb1461066b5761020f565b8063658d4b7f146105075780636dcbf2a31461053057806370a082311461056d578063764ca512146105aa5761020f565b80632b14ca561161019b578063342aa8b51161016a578063342aa8b5146104345780633e07ce5b1461045d5780634706240214610474578063571ac8b01461049f57806359927044146104dc5761020f565b80632b14ca56146103765780632f54bf6e146103a1578063313ce567146103de57806332424aa3146104095761020f565b806318160ddd116101d757806318160ddd146102ce57806323b872dd146102f95780632650328d1461033657806329e04b4a1461034d5761020f565b806306fdde0314610214578063095ea7b31461023f5780630cc835a31461027c5780631525ff7d146102a55761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610837565b6040516102369190612709565b60405180910390f35b34801561024b57600080fd5b50610266600480360381019061026191906127c9565b610874565b6040516102739190612824565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e919061283f565b610966565b005b3480156102b157600080fd5b506102cc60048036038101906102c7919061286c565b6109c7565b005b3480156102da57600080fd5b506102e3610a53565b6040516102f091906128a8565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b91906128c3565b610a5d565b60405161032d9190612824565b60405180910390f35b34801561034257600080fd5b5061034b610c5d565b005b34801561035957600080fd5b50610374600480360381019061036f919061283f565b610d9e565b005b34801561038257600080fd5b5061038b610e18565b60405161039891906128a8565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c3919061286c565b610e1e565b6040516103d59190612824565b60405180910390f35b3480156103ea57600080fd5b506103f3610e77565b6040516104009190612932565b60405180910390f35b34801561041557600080fd5b5061041e610e80565b60405161042b9190612932565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612979565b610e85565b005b34801561046957600080fd5b50610472610f28565b005b34801561048057600080fd5b50610489610f8d565b60405161049691906128a8565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c1919061286c565b610f93565b6040516104d39190612824565b60405180910390f35b3480156104e857600080fd5b506104f1610fc6565b6040516104fe91906129da565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190612979565b610fec565b005b34801561053c57600080fd5b506105576004803603810190610552919061286c565b61108f565b6040516105649190612a0e565b60405180910390f35b34801561057957600080fd5b50610594600480360381019061058f919061286c565b6110a7565b6040516105a191906128a8565b60405180910390f35b3480156105b657600080fd5b506105bf6110f0565b005b3480156105cd57600080fd5b506105d66111ab565b6040516105e39190612a38565b60405180910390f35b3480156105f857600080fd5b50610613600480360381019061060e919061283f565b6111d4565b005b34801561062157600080fd5b5061062a611235565b6040516106379190612709565b60405180910390f35b34801561064c57600080fd5b50610655611272565b6040516106629190612a38565b60405180910390f35b34801561067757600080fd5b50610692600480360381019061068d91906127c9565b611298565b60405161069f9190612824565b60405180910390f35b3480156106b457600080fd5b506106cf60048036038101906106ca919061286c565b6112ad565b6040516106dc9190612824565b60405180910390f35b3480156106f157600080fd5b506106fa611303565b60405161070791906128a8565b60405180910390f35b34801561071c57600080fd5b50610725611309565b6040516107329190612824565b60405180910390f35b34801561074757600080fd5b5061075061131c565b60405161075d91906128a8565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190612ab8565b611322565b005b34801561079b57600080fd5b506107b660048036038101906107b19190612b05565b6113d2565b6040516107c391906128a8565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190612b71565b611459565b005b34801561080157600080fd5b5061080a61151b565b005b34801561081857600080fd5b506108216115d4565b60405161082e9190612bfd565b60405180910390f35b60606040518060400160405280600c81526020017f506570456c6f6e204d6172730000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161095491906128a8565b60405180910390a36001905092915050565b61096f33610e1e565b6109ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a590612c64565b60405180910390fd5b6000600954036109bd57600080fd5b8060098190555050565b6109d033610e1e565b610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612c64565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c4957610bc8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c5484848461165e565b90509392505050565b610c6633610e1e565b610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c90612c64565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cee306110a7565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401610d3496959493929190612cbf565b60606040518083038185885af1158015610d52573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d779190612d35565b505050436010819055506001601160006101000a81548160ff021916908315150217905550565b610da733610e1e565b610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90612c64565b60405180910390fd5b610e0f6103e8610e0183600254611d3090919063ffffffff16565b611daa90919063ffffffff16565b600d8190555050565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610e8e33610e1e565b610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec490612c64565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f3133610e1e565b610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790612c64565b60405180910390fd5b6000601160016101000a81548160ff021916908315150217905550565b60095481565b6000610fbf827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610874565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ff533610e1e565b611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90612c64565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60066020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f933610e1e565b611138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112f90612c64565b60405180910390fd5b60001515601360009054906101000a900460ff1615151461118e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118590612dd4565b60405180910390fd5b6001601360006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111dd33610e1e565b61121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390612c64565b60405180910390fd5b6000600a540361122b57600080fd5b80600a8190555050565b60606040518060400160405280600581526020017f50454c4f4e000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112a533848461165e565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60105481565b601360009054906101000a900460ff1681565b600d5481565b61132b33610e1e565b61136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612c64565b60405180910390fd5b6000828290501161137a57600080fd5b60005b828290508110156113cd576113ba83838381811061139e5761139d612df4565b5b90506020020160208101906113b3919061286c565b6001610e85565b80806113c590612e52565b91505061137d565b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61146233610e1e565b6114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612c64565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516115109190612ebb565b60405180910390a150565b61152433610e1e565b611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a90612c64565b60405180910390fd5b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115d0573d6000803e3d6000fd5b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116399190612709565b60405180910390fd5b50600083856116519190612ed6565b9050809150509392505050565b6000601160009054906101000a900460ff166117145760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116f957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b61170257600080fd5b61170d848484611df4565b9050611d29565b601360009054906101000a900460ff161561180d57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117cd5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390612f56565b60405180910390fd5b5b601160019054906101000a900460ff161561186857601254821115611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90612fc2565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119135750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119695750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a785742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119b957600080fd5b603c426119c69190612fe2565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601054611a189190612fe2565b4311611a77576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601360019054906101000a900460ff1615611a9f57611a98848484611df4565b9050611d29565b6000611aaa306110a7565b90506000600d5482101590506000818015611b125750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611b2657506000611b24306110a7565b115b90508015611b3757611b36611fc7565b5b611bc0856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c0f888861209f565b611c195785611c24565b611c2388876121fc565b5b9050611c7881600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1891906128a8565b60405180910390a360019450505050505b9392505050565b6000808303611d425760009050611da4565b60008284611d509190613016565b9050828482611d5f9190613087565b14611d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d969061312a565b60405180910390fd5b809150505b92915050565b6000611dec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612424565b905092915050565b6000611e7f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f1482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fb491906128a8565b60405180910390a3600190509392505050565b6001601360016101000a81548160ff0219169083151502179055506000611fed306110a7565b90506000600d54821061200457600d549050612008565b8190505b61201181612487565b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561207e573d6000803e3d6000fd5b505050506000601360016101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121425750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156121f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806121f35750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146122845761227d600b5461226f600a5486611d3090919063ffffffff16565b611daa90919063ffffffff16565b90506122b0565b6122ad600b5461229f60095486611d3090919063ffffffff16565b611daa90919063ffffffff16565b90505b61230281600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123a291906128a8565b60405180910390a36123bd818461262f90919063ffffffff16565b91505092915050565b60008082846123d59190612fe2565b90508381101561241a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241190613196565b60405180910390fd5b8091505092915050565b6000808311829061246b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124629190612709565b60405180910390fd5b506000838561247a9190613087565b9050809150509392505050565b6000600267ffffffffffffffff8111156124a4576124a36131b6565b5b6040519080825280602002602001820160405280156124d25781602001602082028036833780820191505090505b50905030816000815181106124ea576124e9612df4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061255b5761255a612df4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125f99594939291906132a3565b600060405180830381600087803b15801561261357600080fd5b505af1158015612627573d6000803e3d6000fd5b505050505050565b600061267183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115fa565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126b3578082015181840152602081019050612698565b60008484015250505050565b6000601f19601f8301169050919050565b60006126db82612679565b6126e58185612684565b93506126f5818560208601612695565b6126fe816126bf565b840191505092915050565b6000602082019050818103600083015261272381846126d0565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061276082612735565b9050919050565b61277081612755565b811461277b57600080fd5b50565b60008135905061278d81612767565b92915050565b6000819050919050565b6127a681612793565b81146127b157600080fd5b50565b6000813590506127c38161279d565b92915050565b600080604083850312156127e0576127df61272b565b5b60006127ee8582860161277e565b92505060206127ff858286016127b4565b9150509250929050565b60008115159050919050565b61281e81612809565b82525050565b60006020820190506128396000830184612815565b92915050565b6000602082840312156128555761285461272b565b5b6000612863848285016127b4565b91505092915050565b6000602082840312156128825761288161272b565b5b60006128908482850161277e565b91505092915050565b6128a281612793565b82525050565b60006020820190506128bd6000830184612899565b92915050565b6000806000606084860312156128dc576128db61272b565b5b60006128ea8682870161277e565b93505060206128fb8682870161277e565b925050604061290c868287016127b4565b9150509250925092565b600060ff82169050919050565b61292c81612916565b82525050565b60006020820190506129476000830184612923565b92915050565b61295681612809565b811461296157600080fd5b50565b6000813590506129738161294d565b92915050565b600080604083850312156129905761298f61272b565b5b600061299e8582860161277e565b92505060206129af85828601612964565b9150509250929050565b60006129c482612735565b9050919050565b6129d4816129b9565b82525050565b60006020820190506129ef60008301846129cb565b92915050565b6000819050919050565b612a08816129f5565b82525050565b6000602082019050612a2360008301846129ff565b92915050565b612a3281612755565b82525050565b6000602082019050612a4d6000830184612a29565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612a7857612a77612a53565b5b8235905067ffffffffffffffff811115612a9557612a94612a58565b5b602083019150836020820283011115612ab157612ab0612a5d565b5b9250929050565b60008060208385031215612acf57612ace61272b565b5b600083013567ffffffffffffffff811115612aed57612aec612730565b5b612af985828601612a62565b92509250509250929050565b60008060408385031215612b1c57612b1b61272b565b5b6000612b2a8582860161277e565b9250506020612b3b8582860161277e565b9150509250929050565b612b4e816129b9565b8114612b5957600080fd5b50565b600081359050612b6b81612b45565b92915050565b600060208284031215612b8757612b8661272b565b5b6000612b9584828501612b5c565b91505092915050565b6000819050919050565b6000612bc3612bbe612bb984612735565b612b9e565b612735565b9050919050565b6000612bd582612ba8565b9050919050565b6000612be782612bca565b9050919050565b612bf781612bdc565b82525050565b6000602082019050612c126000830184612bee565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612c4e600683612684565b9150612c5982612c18565b602082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b6000819050919050565b6000612ca9612ca4612c9f84612c84565b612b9e565b612793565b9050919050565b612cb981612c8e565b82525050565b600060c082019050612cd46000830189612a29565b612ce16020830188612899565b612cee6040830187612cb0565b612cfb6060830186612cb0565b612d086080830185612a29565b612d1560a0830184612899565b979650505050505050565b600081519050612d2f8161279d565b92915050565b600080600060608486031215612d4e57612d4d61272b565b5b6000612d5c86828701612d20565b9350506020612d6d86828701612d20565b9250506040612d7e86828701612d20565b9150509250925092565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000612dbe601783612684565b9150612dc982612d88565b602082019050919050565b60006020820190508181036000830152612ded81612db1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5d82612793565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e8f57612e8e612e23565b5b600182019050919050565b6000612ea582612bca565b9050919050565b612eb581612e9a565b82525050565b6000602082019050612ed06000830184612eac565b92915050565b6000612ee182612793565b9150612eec83612793565b9250828203905081811115612f0457612f03612e23565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b6000612f40600483612684565b9150612f4b82612f0a565b602082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000612fac600c83612684565b9150612fb782612f76565b602082019050919050565b60006020820190508181036000830152612fdb81612f9f565b9050919050565b6000612fed82612793565b9150612ff883612793565b92508282019050808211156130105761300f612e23565b5b92915050565b600061302182612793565b915061302c83612793565b925082820261303a81612793565b9150828204841483151761305157613050612e23565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061309282612793565b915061309d83612793565b9250826130ad576130ac613058565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613114602183612684565b915061311f826130b8565b604082019050919050565b6000602082019050818103600083015261314381613107565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613180601b83612684565b915061318b8261314a565b602082019050919050565b600060208201905081810360008301526131af81613173565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61321a81612755565b82525050565b600061322c8383613211565b60208301905092915050565b6000602082019050919050565b6000613250826131e5565b61325a81856131f0565b935061326583613201565b8060005b8381101561329657815161327d8882613220565b975061328883613238565b925050600181019050613269565b5085935050505092915050565b600060a0820190506132b86000830188612899565b6132c56020830187612cb0565b81810360408301526132d78186613245565b90506132e66060830185612a29565b6132f36080830184612899565b969550505050505056fea2646970667358221220bd62d77bea7ded8a5e9d115c88324972a1109b5ce87bad7e8e486db285f8927e64736f6c6343000811003300000000000000000000000072b08117ba0664c40fc8c38893eb36611de22a79

Deployed Bytecode

0x6080604052600436106102085760003560e01c8063658d4b7f11610118578063b1a4e0dc116100a0578063d3ee67381161006f578063d3ee673814610766578063dd62ed3e1461078f578063f2fde38b146107cc578063f4293890146107f5578063f887ea401461080c5761020f565b8063b1a4e0dc146106a8578063bf56b371146106e5578063bffb691d14610710578063d0aa7abe1461073b5761020f565b8063893d20e8116100e7578063893d20e8146105c15780638b4cee08146105ec57806395d89b4114610615578063a8aa1b3114610640578063a9059cbb1461066b5761020f565b8063658d4b7f146105075780636dcbf2a31461053057806370a082311461056d578063764ca512146105aa5761020f565b80632b14ca561161019b578063342aa8b51161016a578063342aa8b5146104345780633e07ce5b1461045d5780634706240214610474578063571ac8b01461049f57806359927044146104dc5761020f565b80632b14ca56146103765780632f54bf6e146103a1578063313ce567146103de57806332424aa3146104095761020f565b806318160ddd116101d757806318160ddd146102ce57806323b872dd146102f95780632650328d1461033657806329e04b4a1461034d5761020f565b806306fdde0314610214578063095ea7b31461023f5780630cc835a31461027c5780631525ff7d146102a55761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610837565b6040516102369190612709565b60405180910390f35b34801561024b57600080fd5b50610266600480360381019061026191906127c9565b610874565b6040516102739190612824565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e919061283f565b610966565b005b3480156102b157600080fd5b506102cc60048036038101906102c7919061286c565b6109c7565b005b3480156102da57600080fd5b506102e3610a53565b6040516102f091906128a8565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b91906128c3565b610a5d565b60405161032d9190612824565b60405180910390f35b34801561034257600080fd5b5061034b610c5d565b005b34801561035957600080fd5b50610374600480360381019061036f919061283f565b610d9e565b005b34801561038257600080fd5b5061038b610e18565b60405161039891906128a8565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c3919061286c565b610e1e565b6040516103d59190612824565b60405180910390f35b3480156103ea57600080fd5b506103f3610e77565b6040516104009190612932565b60405180910390f35b34801561041557600080fd5b5061041e610e80565b60405161042b9190612932565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612979565b610e85565b005b34801561046957600080fd5b50610472610f28565b005b34801561048057600080fd5b50610489610f8d565b60405161049691906128a8565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c1919061286c565b610f93565b6040516104d39190612824565b60405180910390f35b3480156104e857600080fd5b506104f1610fc6565b6040516104fe91906129da565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190612979565b610fec565b005b34801561053c57600080fd5b506105576004803603810190610552919061286c565b61108f565b6040516105649190612a0e565b60405180910390f35b34801561057957600080fd5b50610594600480360381019061058f919061286c565b6110a7565b6040516105a191906128a8565b60405180910390f35b3480156105b657600080fd5b506105bf6110f0565b005b3480156105cd57600080fd5b506105d66111ab565b6040516105e39190612a38565b60405180910390f35b3480156105f857600080fd5b50610613600480360381019061060e919061283f565b6111d4565b005b34801561062157600080fd5b5061062a611235565b6040516106379190612709565b60405180910390f35b34801561064c57600080fd5b50610655611272565b6040516106629190612a38565b60405180910390f35b34801561067757600080fd5b50610692600480360381019061068d91906127c9565b611298565b60405161069f9190612824565b60405180910390f35b3480156106b457600080fd5b506106cf60048036038101906106ca919061286c565b6112ad565b6040516106dc9190612824565b60405180910390f35b3480156106f157600080fd5b506106fa611303565b60405161070791906128a8565b60405180910390f35b34801561071c57600080fd5b50610725611309565b6040516107329190612824565b60405180910390f35b34801561074757600080fd5b5061075061131c565b60405161075d91906128a8565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190612ab8565b611322565b005b34801561079b57600080fd5b506107b660048036038101906107b19190612b05565b6113d2565b6040516107c391906128a8565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190612b71565b611459565b005b34801561080157600080fd5b5061080a61151b565b005b34801561081857600080fd5b506108216115d4565b60405161082e9190612bfd565b60405180910390f35b60606040518060400160405280600c81526020017f506570456c6f6e204d6172730000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161095491906128a8565b60405180910390a36001905092915050565b61096f33610e1e565b6109ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a590612c64565b60405180910390fd5b6000600954036109bd57600080fd5b8060098190555050565b6109d033610e1e565b610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612c64565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c4957610bc8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c5484848461165e565b90509392505050565b610c6633610e1e565b610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c90612c64565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cee306110a7565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401610d3496959493929190612cbf565b60606040518083038185885af1158015610d52573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d779190612d35565b505050436010819055506001601160006101000a81548160ff021916908315150217905550565b610da733610e1e565b610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90612c64565b60405180910390fd5b610e0f6103e8610e0183600254611d3090919063ffffffff16565b611daa90919063ffffffff16565b600d8190555050565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610e8e33610e1e565b610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec490612c64565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f3133610e1e565b610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790612c64565b60405180910390fd5b6000601160016101000a81548160ff021916908315150217905550565b60095481565b6000610fbf827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610874565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ff533610e1e565b611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90612c64565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60066020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f933610e1e565b611138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112f90612c64565b60405180910390fd5b60001515601360009054906101000a900460ff1615151461118e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118590612dd4565b60405180910390fd5b6001601360006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111dd33610e1e565b61121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390612c64565b60405180910390fd5b6000600a540361122b57600080fd5b80600a8190555050565b60606040518060400160405280600581526020017f50454c4f4e000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112a533848461165e565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60105481565b601360009054906101000a900460ff1681565b600d5481565b61132b33610e1e565b61136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612c64565b60405180910390fd5b6000828290501161137a57600080fd5b60005b828290508110156113cd576113ba83838381811061139e5761139d612df4565b5b90506020020160208101906113b3919061286c565b6001610e85565b80806113c590612e52565b91505061137d565b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61146233610e1e565b6114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612c64565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516115109190612ebb565b60405180910390a150565b61152433610e1e565b611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a90612c64565b60405180910390fd5b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115d0573d6000803e3d6000fd5b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116399190612709565b60405180910390fd5b50600083856116519190612ed6565b9050809150509392505050565b6000601160009054906101000a900460ff166117145760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116f957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b61170257600080fd5b61170d848484611df4565b9050611d29565b601360009054906101000a900460ff161561180d57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117cd5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390612f56565b60405180910390fd5b5b601160019054906101000a900460ff161561186857601254821115611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90612fc2565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119135750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119695750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a785742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119b957600080fd5b603c426119c69190612fe2565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601054611a189190612fe2565b4311611a77576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601360019054906101000a900460ff1615611a9f57611a98848484611df4565b9050611d29565b6000611aaa306110a7565b90506000600d5482101590506000818015611b125750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611b2657506000611b24306110a7565b115b90508015611b3757611b36611fc7565b5b611bc0856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c0f888861209f565b611c195785611c24565b611c2388876121fc565b5b9050611c7881600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1891906128a8565b60405180910390a360019450505050505b9392505050565b6000808303611d425760009050611da4565b60008284611d509190613016565b9050828482611d5f9190613087565b14611d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d969061312a565b60405180910390fd5b809150505b92915050565b6000611dec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612424565b905092915050565b6000611e7f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115fa9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f1482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fb491906128a8565b60405180910390a3600190509392505050565b6001601360016101000a81548160ff0219169083151502179055506000611fed306110a7565b90506000600d54821061200457600d549050612008565b8190505b61201181612487565b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561207e573d6000803e3d6000fd5b505050506000601360016101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121425750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156121f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806121f35750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146122845761227d600b5461226f600a5486611d3090919063ffffffff16565b611daa90919063ffffffff16565b90506122b0565b6122ad600b5461229f60095486611d3090919063ffffffff16565b611daa90919063ffffffff16565b90505b61230281600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123a291906128a8565b60405180910390a36123bd818461262f90919063ffffffff16565b91505092915050565b60008082846123d59190612fe2565b90508381101561241a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241190613196565b60405180910390fd5b8091505092915050565b6000808311829061246b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124629190612709565b60405180910390fd5b506000838561247a9190613087565b9050809150509392505050565b6000600267ffffffffffffffff8111156124a4576124a36131b6565b5b6040519080825280602002602001820160405280156124d25781602001602082028036833780820191505090505b50905030816000815181106124ea576124e9612df4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061255b5761255a612df4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125f99594939291906132a3565b600060405180830381600087803b15801561261357600080fd5b505af1158015612627573d6000803e3d6000fd5b505050505050565b600061267183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115fa565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126b3578082015181840152602081019050612698565b60008484015250505050565b6000601f19601f8301169050919050565b60006126db82612679565b6126e58185612684565b93506126f5818560208601612695565b6126fe816126bf565b840191505092915050565b6000602082019050818103600083015261272381846126d0565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061276082612735565b9050919050565b61277081612755565b811461277b57600080fd5b50565b60008135905061278d81612767565b92915050565b6000819050919050565b6127a681612793565b81146127b157600080fd5b50565b6000813590506127c38161279d565b92915050565b600080604083850312156127e0576127df61272b565b5b60006127ee8582860161277e565b92505060206127ff858286016127b4565b9150509250929050565b60008115159050919050565b61281e81612809565b82525050565b60006020820190506128396000830184612815565b92915050565b6000602082840312156128555761285461272b565b5b6000612863848285016127b4565b91505092915050565b6000602082840312156128825761288161272b565b5b60006128908482850161277e565b91505092915050565b6128a281612793565b82525050565b60006020820190506128bd6000830184612899565b92915050565b6000806000606084860312156128dc576128db61272b565b5b60006128ea8682870161277e565b93505060206128fb8682870161277e565b925050604061290c868287016127b4565b9150509250925092565b600060ff82169050919050565b61292c81612916565b82525050565b60006020820190506129476000830184612923565b92915050565b61295681612809565b811461296157600080fd5b50565b6000813590506129738161294d565b92915050565b600080604083850312156129905761298f61272b565b5b600061299e8582860161277e565b92505060206129af85828601612964565b9150509250929050565b60006129c482612735565b9050919050565b6129d4816129b9565b82525050565b60006020820190506129ef60008301846129cb565b92915050565b6000819050919050565b612a08816129f5565b82525050565b6000602082019050612a2360008301846129ff565b92915050565b612a3281612755565b82525050565b6000602082019050612a4d6000830184612a29565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612a7857612a77612a53565b5b8235905067ffffffffffffffff811115612a9557612a94612a58565b5b602083019150836020820283011115612ab157612ab0612a5d565b5b9250929050565b60008060208385031215612acf57612ace61272b565b5b600083013567ffffffffffffffff811115612aed57612aec612730565b5b612af985828601612a62565b92509250509250929050565b60008060408385031215612b1c57612b1b61272b565b5b6000612b2a8582860161277e565b9250506020612b3b8582860161277e565b9150509250929050565b612b4e816129b9565b8114612b5957600080fd5b50565b600081359050612b6b81612b45565b92915050565b600060208284031215612b8757612b8661272b565b5b6000612b9584828501612b5c565b91505092915050565b6000819050919050565b6000612bc3612bbe612bb984612735565b612b9e565b612735565b9050919050565b6000612bd582612ba8565b9050919050565b6000612be782612bca565b9050919050565b612bf781612bdc565b82525050565b6000602082019050612c126000830184612bee565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612c4e600683612684565b9150612c5982612c18565b602082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b6000819050919050565b6000612ca9612ca4612c9f84612c84565b612b9e565b612793565b9050919050565b612cb981612c8e565b82525050565b600060c082019050612cd46000830189612a29565b612ce16020830188612899565b612cee6040830187612cb0565b612cfb6060830186612cb0565b612d086080830185612a29565b612d1560a0830184612899565b979650505050505050565b600081519050612d2f8161279d565b92915050565b600080600060608486031215612d4e57612d4d61272b565b5b6000612d5c86828701612d20565b9350506020612d6d86828701612d20565b9250506040612d7e86828701612d20565b9150509250925092565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000612dbe601783612684565b9150612dc982612d88565b602082019050919050565b60006020820190508181036000830152612ded81612db1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5d82612793565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e8f57612e8e612e23565b5b600182019050919050565b6000612ea582612bca565b9050919050565b612eb581612e9a565b82525050565b6000602082019050612ed06000830184612eac565b92915050565b6000612ee182612793565b9150612eec83612793565b9250828203905081811115612f0457612f03612e23565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b6000612f40600483612684565b9150612f4b82612f0a565b602082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000612fac600c83612684565b9150612fb782612f76565b602082019050919050565b60006020820190508181036000830152612fdb81612f9f565b9050919050565b6000612fed82612793565b9150612ff883612793565b92508282019050808211156130105761300f612e23565b5b92915050565b600061302182612793565b915061302c83612793565b925082820261303a81612793565b9150828204841483151761305157613050612e23565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061309282612793565b915061309d83612793565b9250826130ad576130ac613058565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613114602183612684565b915061311f826130b8565b604082019050919050565b6000602082019050818103600083015261314381613107565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613180601b83612684565b915061318b8261314a565b602082019050919050565b600060208201905081810360008301526131af81613173565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61321a81612755565b82525050565b600061322c8383613211565b60208301905092915050565b6000602082019050919050565b6000613250826131e5565b61325a81856131f0565b935061326583613201565b8060005b8381101561329657815161327d8882613220565b975061328883613238565b925050600181019050613269565b5085935050505092915050565b600060a0820190506132b86000830188612899565b6132c56020830187612cb0565b81810360408301526132d78186613245565b90506132e66060830185612a29565b6132f36080830184612899565b969550505050505056fea2646970667358221220bd62d77bea7ded8a5e9d115c88324972a1109b5ce87bad7e8e486db285f8927e64736f6c63430008110033

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

00000000000000000000000072b08117ba0664c40fc8c38893eb36611de22a79

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000072b08117ba0664c40fc8c38893eb36611de22a79


Deployed Bytecode Sourcemap

4729:9543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7146:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7568:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12712:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13047:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6876:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8086:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12205:407;;;;;;;;;;;;;:::i;:::-;;13942:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5428:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2831:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6970:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4935:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13475:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12624:80;;;;;;;;;;;;;:::i;:::-;;5395:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7792:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5507:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13171:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5235:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7316:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13298:165;;;;;;;;;;;;;:::i;:::-;;7232:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12877:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7056:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5707:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7922:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13590:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5735:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5904:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5601:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13700:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7427:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3059:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14096:169;;;;;;;;;;;;;:::i;:::-;;5676:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7146:80;7194:13;7218:5;;;;;;;;;;;;;;;;;7211:12;;7146:80;:::o;7568:216::-;7643:4;7695:6;7660:11;:23;7672:10;7660:23;;;;;;;;;;;;;;;:32;7684:7;7660:32;;;;;;;;;;;;;;;:41;;;;7738:7;7717:37;;7726:10;7717:37;;;7747:6;7717:37;;;;;;:::i;:::-;;;;;;;;7772:4;7765:11;;7568:216;;;;:::o;12712:156::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12794:1:::1;12784:6;;:11:::0;12776:20:::1;;;::::0;::::1;;12856:4;12847:6;:13;;;;12712:156:::0;:::o;13047:115::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13142:11:::1;13121:10;;:33;;;;;;;;;;;;;;;;;;13047:115:::0;:::o;6876:88::-;6931:7;6949:12;;6942:19;;6876:88;:::o;8086:370::-;8186:4;8241:17;8206:11;:19;8218:6;8206:19;;;;;;;;;;;;;;;:31;8226:10;8206:31;;;;;;;;;;;;;;;;:52;8203:186;;8308:69;8344:6;8308:69;;;;;;;;;;;;;;;;;:11;:19;8320:6;8308:19;;;;;;;;;;;;;;;:31;8328:10;8308:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8274:11;:19;8286:6;8274:19;;;;;;;;;;;;;;;:31;8294:10;8274:31;;;;;;;;;;;;;;;:103;;;;8203:186;8408:40;8422:6;8430:9;8441:6;8408:13;:40::i;:::-;8401:47;;8086:370;;;;;:::o;12205:407::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12264:6:::1;;;;;;;;;;;:22;;;12294:21;12339:4;12359:24;12377:4;12359:9;:24::i;:::-;12398:1;12441::::0;12484:5:::1;::::0;::::1;;;;;;;;12504:15;12264:266;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12563:12;12550:10;:25;;;;12600:4;12586:11;;:18;;;;;;;;;;;;;;;;;;12205:407::o:0;13942:143::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14043:34:::1;14072:4;14043:24;14060:6;14043:12;;:16;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;14021:19;:56;;;;13942:143:::0;:::o;5428:27::-;;;;:::o;2831:103::-;2886:4;2921:5;;;;;;;;;;;2910:16;;:7;:16;;;2903:23;;2831:103;;;:::o;6970:80::-;7022:5;4969:2;7031:16;;6970:80;:::o;4935:36::-;4969:2;4935:36;:::o;13475:107::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13568:6:::1;13550:5;:15;13556:8;13550:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;13475:107:::0;;:::o;12624:80::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12691:5:::1;12680:8;;:16;;;;;;;;;;;;;;;;;;12624:80::o:0;5395:26::-;;;;:::o;7792:122::-;7847:4;7871:35;7879:7;7888:17;7871:7;:35::i;:::-;7864:42;;7792:122;;;:::o;5507:87::-;;;;;;;;;;;;;:::o;13171:119::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13276:6:::1;13254:11;:19;13266:6;13254:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13171:119:::0;;:::o;5235:39::-;;;;;;;;;;;;;;;;;:::o;7316:105::-;7382:7;7400:9;:18;7410:7;7400:18;;;;;;;;;;;;;;;;7393:25;;7316:105;;;:::o;13298:165::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13388:5:::1;13368:25;;:16;;;;;;;;;;;:25;;;13359:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13451:4;13432:16;;:23;;;;;;;;;;;;;;;;;;13298:165::o:0;7232:78::-;7284:7;7302:5;;;;;;;;;;;7295:12;;7232:78;:::o;12877:159::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12961:1:::1;12950:7;;:12:::0;12942:21:::1;;;::::0;::::1;;13024:4;13014:7;:14;;;;12877:159:::0;:::o;7056:84::-;7106:13;7130:7;;;;;;;;;;;;;;;;;7123:14;;7056:84;:::o;5707:19::-;;;;;;;;;;;;;:::o;7922:156::-;8002:4;8026:44;8040:10;8052:9;8063:6;8026:13;:44::i;:::-;8019:51;;7922:156;;;;:::o;13590:102::-;13646:4;13670:5;:14;13676:7;13670:14;;;;;;;;;;;;;;;;;;;;;;;;;13663:21;;13590:102;;;:::o;5735:25::-;;;;:::o;5904:36::-;;;;;;;;;;;;;:::o;5601:66::-;;;;:::o;13700:234::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13803:1:::1;13789:4;;:11;;:15;13780:25;;;::::0;::::1;;13816:6;13836:91;13847:4;;:11;;13843:1;:15;13836:91;;;13875:22;13882:4;;13887:1;13882:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13892:4;13875:6;:22::i;:::-;13912:3;;;;;:::i;:::-;;;;13836:91;;;13769:165;13700:234:::0;;:::o;7427:133::-;7511:7;7529:11;:19;7541:6;7529:19;;;;;;;;;;;;;;;:28;7549:7;7529:28;;;;;;;;;;;;;;;;7522:35;;7427: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;14096:169::-;2730:19;2738:10;2730:7;:19::i;:::-;2722:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14148:26:::1;14177:21;14148:50;;14217:10;;;;;;;;;;;14209:28;;:48;14238:18;14209:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14137:128;14096:169::o:0;5676: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;8464:1600::-;8556:4;8578:11;;;;;;;;;;;8573:162;;8625:5;;;;;;;;;;8615:15;;:6;:15;;;:44;;;;8654:4;8635:24;;:6;:24;;;8615:44;8606:54;;;;;;8682:41;8697:6;8705:9;8716:6;8682:14;:41::i;:::-;8675:48;;;;8573:162;8759:16;;;;;;;;;;;8755:102;;;8802:5;:13;8808:6;8802:13;;;;;;;;;;;;;;;;;;;;;;;;;8801:14;:35;;;;;8820:5;:16;8826:9;8820:16;;;;;;;;;;;;;;;;;;;;;;;;;8819:17;8801:35;8792:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8755:102;8871:8;;;;;;;;;;;8867:90;;;8914:6;;8906;:14;;8897:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;8867:90;8983:4;;;;;;;;;;;8973:14;;:6;:14;;;:46;;;;;9012:6;;;;;;;;;;;8991:28;;:9;:28;;;;8973:46;:73;;;;;9024:11;:22;9036:9;9024:22;;;;;;;;;;;;;;;;;;;;;;;;;9023:23;8973:73;8969:329;;;9094:15;9072:8;:19;9081:9;9072:19;;;;;;;;;;;;;;;;:37;9063:47;;;;;;9165:10;9147:15;:28;;;;:::i;:::-;9125:8;:19;9134:9;9125:19;;;;;;;;;;;;;;;:50;;;;9224:1;9211:10;;:14;;;;:::i;:::-;9194:12;:32;9190:97;;9267:4;9248:5;:16;9254:9;9248:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9190:97;8969:329;9328:6;;;;;;;;;;;9325:63;;;9344:41;9359:6;9367:9;9378:6;9344:14;:41::i;:::-;9337:48;;;;9325:63;9404:28;9435:24;9453:4;9435:9;:24::i;:::-;9404:55;;9472:24;9523:19;;9499:20;:43;;9472:70;;9559:19;9582;:38;;;;;9616:4;;;;;;;;;;;9605:15;;:9;:15;;;9582:38;:70;;;;;9651:1;9624:24;9642:4;9624:9;:24::i;:::-;:28;9582:70;9559:94;;9667:14;9664:33;;;9684:10;:8;:10::i;:::-;9664:33;9731:53;9753:6;9731:53;;;;;;;;;;;;;;;;;:9;:17;9741:6;9731:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9711:9;:17;9721:6;9711:17;;;;;;;;;;;;;;;:73;;;;9797:22;9822:32;9836:6;9844:9;9822:13;:32::i;:::-;:67;;9883:6;9822:67;;;9857:23;9865:6;9873;9857:7;:23::i;:::-;9822:67;9797:92;;9933:40;9958:14;9933:9;:20;9943:9;9933:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9910:9;:20;9920:9;9910:20;;;;;;;;;;;;;;;:63;;;;10008:9;9991:43;;10000:6;9991:43;;;10019:14;9991:43;;;;;;:::i;:::-;;;;;;;;10052:4;10045:11;;;;;;8464:1600;;;;;;:::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;10076:330::-;10169:4;10206:53;10228:6;10206:53;;;;;;;;;;;;;;;;;:9;:17;10216:6;10206:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10186:9;:17;10196:6;10186:17;;;;;;;;;;;;;;;:73;;;;10293:32;10318:6;10293:9;:20;10303:9;10293:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10270:9;:20;10280:9;10270:20;;;;;;;;;;;;;;;:55;;;;10358:9;10341:35;;10350:6;10341:35;;;10369:6;10341:35;;;;;;:::i;:::-;;;;;;;;10394:4;10387:11;;10076:330;;;;;:::o;11130:556::-;6004:4;5995:6;;:13;;;;;;;;;;;;;;;;;;11179:28:::1;11210:24;11228:4;11210:9;:24::i;:::-;11179:55;;11247:20;11308:19;;11284:20;:43;11280:195;;11359:19;;11344:34;;11280:195;;;11443:20;11428:35;;11280:195;11501:30;11518:12;11501:16;:30::i;:::-;11544:26;11573:21;11544:50;;11628:10;;;;;;;;;;;11620:28;;:48;11649:18;11620:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11168:518;;;6022:5:::0;6013:6;;:14;;;;;;;;;;;;;;;;;;11130:556::o;10417:206::-;10498:4;10526:11;:19;10538:6;10526:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;10549:11;:22;10561:9;10549:22;;;;;;;;;;;;;;;;;;;;;;;;;10526:45;10524:48;:90;;;;;10588:4;;;;;;;;;;;10578:14;;:6;:14;;;:35;;;;10609:4;;;;;;;;;;;10596:17;;:9;:17;;;10578:35;10524:90;10515:101;;10417:206;;;;:::o;10631:490::-;10698:7;10718:17;10759:4;;;;;;;;;;;10749:14;;:6;:14;;;10746:189;;10792:39;10816:14;;10792:19;10803:7;;10792:6;:10;;:19;;;;:::i;:::-;:23;;:39;;;;:::i;:::-;10780:51;;10746:189;;;10885:38;10908:14;;10885:18;10896:6;;10885;:10;;:18;;;;:::i;:::-;:22;;:38;;;;:::i;:::-;10873:50;;10746:189;10972:39;11001:9;10972;:24;10990:4;10972:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10945:9;:24;10963:4;10945:24;;;;;;;;;;;;;;;:66;;;;11052:4;11027:42;;11036:6;11027:42;;;11059:9;11027:42;;;;;;:::i;:::-;;;;;;;;11092:21;11103:9;11092:6;:10;;:21;;;;:::i;:::-;11085:28;;;10631: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;11702:489::-;11830:21;11868:1;11854:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11830:40;;11899:4;11881;11886:1;11881:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11925:4;;;;;;;;;;;11915;11920:1;11915:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;11968:6;;;;;;;;;;;:57;;;12040:11;12066:1;12110:4;12137;12157:15;11968:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11757:434;11702: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:::-;3840:6;3889:2;3877:9;3868:7;3864:23;3860:32;3857:119;;;3895:79;;:::i;:::-;3857:119;4015:1;4040:53;4085:7;4076:6;4065:9;4061:22;4040:53;:::i;:::-;4030:63;;3986:117;3781:329;;;;:::o;4116:118::-;4203:24;4221:5;4203:24;:::i;:::-;4198:3;4191:37;4116:118;;:::o;4240:222::-;4333:4;4371:2;4360:9;4356:18;4348:26;;4384:71;4452:1;4441:9;4437:17;4428:6;4384:71;:::i;:::-;4240:222;;;;:::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:86::-;5128:7;5168:4;5161:5;5157:16;5146:27;;5093:86;;;:::o;5185:112::-;5268:22;5284:5;5268:22;:::i;:::-;5263:3;5256:35;5185:112;;:::o;5303:214::-;5392:4;5430:2;5419:9;5415:18;5407:26;;5443:67;5507:1;5496:9;5492:17;5483:6;5443:67;:::i;:::-;5303:214;;;;:::o;5523:116::-;5593:21;5608:5;5593:21;:::i;:::-;5586:5;5583:32;5573:60;;5629:1;5626;5619:12;5573:60;5523:116;:::o;5645:133::-;5688:5;5726:6;5713:20;5704:29;;5742:30;5766:5;5742:30;:::i;:::-;5645:133;;;;:::o;5784:468::-;5849:6;5857;5906:2;5894:9;5885:7;5881:23;5877:32;5874:119;;;5912:79;;:::i;:::-;5874:119;6032:1;6057:53;6102:7;6093:6;6082:9;6078:22;6057:53;:::i;:::-;6047:63;;6003:117;6159:2;6185:50;6227:7;6218:6;6207:9;6203:22;6185:50;:::i;:::-;6175:60;;6130:115;5784:468;;;;;:::o;6258:104::-;6303:7;6332:24;6350:5;6332:24;:::i;:::-;6321:35;;6258:104;;;:::o;6368:142::-;6471:32;6497:5;6471:32;:::i;:::-;6466:3;6459:45;6368:142;;:::o;6516:254::-;6625:4;6663:2;6652:9;6648:18;6640:26;;6676:87;6760:1;6749:9;6745:17;6736:6;6676:87;:::i;:::-;6516:254;;;;:::o;6776:76::-;6812:7;6841:5;6830:16;;6776:76;;;:::o;6858:115::-;6943:23;6960:5;6943:23;:::i;:::-;6938:3;6931:36;6858:115;;:::o;6979:218::-;7070:4;7108:2;7097:9;7093:18;7085:26;;7121:69;7187:1;7176:9;7172:17;7163:6;7121:69;:::i;:::-;6979:218;;;;:::o;7203:118::-;7290:24;7308:5;7290:24;:::i;:::-;7285:3;7278:37;7203:118;;:::o;7327:222::-;7420:4;7458:2;7447:9;7443:18;7435:26;;7471:71;7539:1;7528:9;7524:17;7515:6;7471:71;:::i;:::-;7327:222;;;;:::o;7555:117::-;7664:1;7661;7654:12;7678:117;7787:1;7784;7777:12;7801:117;7910:1;7907;7900:12;7941:568;8014:8;8024:6;8074:3;8067:4;8059:6;8055:17;8051:27;8041:122;;8082:79;;:::i;:::-;8041:122;8195:6;8182:20;8172:30;;8225:18;8217:6;8214:30;8211:117;;;8247:79;;:::i;:::-;8211:117;8361:4;8353:6;8349:17;8337:29;;8415:3;8407:4;8399:6;8395:17;8385:8;8381:32;8378:41;8375:128;;;8422:79;;:::i;:::-;8375:128;7941:568;;;;;:::o;8515:559::-;8601:6;8609;8658:2;8646:9;8637:7;8633:23;8629:32;8626:119;;;8664:79;;:::i;:::-;8626:119;8812:1;8801:9;8797:17;8784:31;8842:18;8834:6;8831:30;8828:117;;;8864:79;;:::i;:::-;8828:117;8977:80;9049:7;9040:6;9029:9;9025:22;8977:80;:::i;:::-;8959:98;;;;8755:312;8515:559;;;;;:::o;9080:474::-;9148:6;9156;9205:2;9193:9;9184:7;9180:23;9176:32;9173:119;;;9211:79;;:::i;:::-;9173:119;9331:1;9356:53;9401:7;9392:6;9381:9;9377:22;9356:53;:::i;:::-;9346:63;;9302:117;9458:2;9484:53;9529:7;9520:6;9509:9;9505:22;9484:53;:::i;:::-;9474:63;;9429:118;9080:474;;;;;:::o;9560:138::-;9641:32;9667:5;9641:32;:::i;:::-;9634:5;9631:43;9621:71;;9688:1;9685;9678:12;9621:71;9560:138;:::o;9704:155::-;9758:5;9796:6;9783:20;9774:29;;9812:41;9847:5;9812:41;:::i;:::-;9704:155;;;;:::o;9865:345::-;9932:6;9981:2;9969:9;9960:7;9956:23;9952:32;9949:119;;;9987:79;;:::i;:::-;9949:119;10107:1;10132:61;10185:7;10176:6;10165:9;10161:22;10132:61;:::i;:::-;10122:71;;10078:125;9865:345;;;;:::o;10216:60::-;10244:3;10265:5;10258:12;;10216:60;;;:::o;10282:142::-;10332:9;10365:53;10383:34;10392:24;10410:5;10392:24;:::i;:::-;10383:34;:::i;:::-;10365:53;:::i;:::-;10352:66;;10282:142;;;:::o;10430:126::-;10480:9;10513:37;10544:5;10513:37;:::i;:::-;10500:50;;10430:126;;;:::o;10562:144::-;10630:9;10663:37;10694:5;10663:37;:::i;:::-;10650:50;;10562:144;;;:::o;10712:167::-;10817:55;10866:5;10817:55;:::i;:::-;10812:3;10805:68;10712:167;;:::o;10885:258::-;10996:4;11034:2;11023:9;11019:18;11011:26;;11047:89;11133:1;11122:9;11118:17;11109:6;11047:89;:::i;:::-;10885:258;;;;:::o;11149:156::-;11289:8;11285:1;11277:6;11273:14;11266:32;11149:156;:::o;11311:365::-;11453:3;11474:66;11538:1;11533:3;11474:66;:::i;:::-;11467:73;;11549:93;11638:3;11549:93;:::i;:::-;11667:2;11662:3;11658:12;11651:19;;11311:365;;;:::o;11682:419::-;11848:4;11886:2;11875:9;11871:18;11863:26;;11935:9;11929:4;11925:20;11921:1;11910:9;11906:17;11899:47;11963:131;12089:4;11963:131;:::i;:::-;11955:139;;11682:419;;;:::o;12107:85::-;12152:7;12181:5;12170:16;;12107:85;;;:::o;12198:158::-;12256:9;12289:61;12307:42;12316:32;12342:5;12316:32;:::i;:::-;12307:42;:::i;:::-;12289:61;:::i;:::-;12276:74;;12198:158;;;:::o;12362:147::-;12457:45;12496:5;12457:45;:::i;:::-;12452:3;12445:58;12362:147;;:::o;12515:807::-;12764:4;12802:3;12791:9;12787:19;12779:27;;12816:71;12884:1;12873:9;12869:17;12860:6;12816:71;:::i;:::-;12897:72;12965:2;12954:9;12950:18;12941:6;12897:72;:::i;:::-;12979:80;13055:2;13044:9;13040:18;13031:6;12979:80;:::i;:::-;13069;13145:2;13134:9;13130:18;13121:6;13069:80;:::i;:::-;13159:73;13227:3;13216:9;13212:19;13203:6;13159:73;:::i;:::-;13242;13310:3;13299:9;13295:19;13286:6;13242:73;:::i;:::-;12515:807;;;;;;;;;:::o;13328:143::-;13385:5;13416:6;13410:13;13401:22;;13432:33;13459:5;13432:33;:::i;:::-;13328:143;;;;:::o;13477:663::-;13565:6;13573;13581;13630:2;13618:9;13609:7;13605:23;13601:32;13598:119;;;13636:79;;:::i;:::-;13598:119;13756:1;13781:64;13837:7;13828:6;13817:9;13813:22;13781:64;:::i;:::-;13771:74;;13727:128;13894:2;13920:64;13976:7;13967:6;13956:9;13952:22;13920:64;:::i;:::-;13910:74;;13865:129;14033:2;14059:64;14115:7;14106:6;14095:9;14091:22;14059:64;:::i;:::-;14049:74;;14004:129;13477:663;;;;;:::o;14146:173::-;14286:25;14282:1;14274:6;14270:14;14263:49;14146:173;:::o;14325:366::-;14467:3;14488:67;14552:2;14547:3;14488:67;:::i;:::-;14481:74;;14564:93;14653:3;14564:93;:::i;:::-;14682:2;14677:3;14673:12;14666:19;;14325:366;;;:::o;14697:419::-;14863:4;14901:2;14890:9;14886:18;14878:26;;14950:9;14944:4;14940:20;14936:1;14925:9;14921:17;14914:47;14978:131;15104:4;14978:131;:::i;:::-;14970:139;;14697:419;;;:::o;15122:180::-;15170:77;15167:1;15160:88;15267:4;15264:1;15257:15;15291:4;15288:1;15281:15;15308:180;15356:77;15353:1;15346:88;15453:4;15450:1;15443:15;15477:4;15474:1;15467:15;15494:233;15533:3;15556:24;15574:5;15556:24;:::i;:::-;15547:33;;15602:66;15595:5;15592:77;15589:103;;15672:18;;:::i;:::-;15589:103;15719:1;15712:5;15708:13;15701:20;;15494:233;;;:::o;15733:134::-;15791:9;15824:37;15855:5;15824:37;:::i;:::-;15811:50;;15733:134;;;:::o;15873:147::-;15968:45;16007:5;15968:45;:::i;:::-;15963:3;15956:58;15873:147;;:::o;16026:238::-;16127:4;16165:2;16154:9;16150:18;16142:26;;16178:79;16254:1;16243:9;16239:17;16230:6;16178:79;:::i;:::-;16026:238;;;;:::o;16270:194::-;16310:4;16330:20;16348:1;16330:20;:::i;:::-;16325:25;;16364:20;16382:1;16364:20;:::i;:::-;16359:25;;16408:1;16405;16401:9;16393:17;;16432:1;16426:4;16423:11;16420:37;;;16437:18;;:::i;:::-;16420:37;16270:194;;;;:::o;16470:154::-;16610:6;16606:1;16598:6;16594:14;16587:30;16470:154;:::o;16630:365::-;16772:3;16793:66;16857:1;16852:3;16793:66;:::i;:::-;16786:73;;16868:93;16957:3;16868:93;:::i;:::-;16986:2;16981:3;16977:12;16970:19;;16630:365;;;:::o;17001:419::-;17167:4;17205:2;17194:9;17190:18;17182:26;;17254:9;17248:4;17244:20;17240:1;17229:9;17225:17;17218:47;17282:131;17408:4;17282:131;:::i;:::-;17274:139;;17001:419;;;:::o;17426:162::-;17566:14;17562:1;17554:6;17550:14;17543:38;17426:162;:::o;17594:366::-;17736:3;17757:67;17821:2;17816:3;17757:67;:::i;:::-;17750:74;;17833:93;17922:3;17833:93;:::i;:::-;17951:2;17946:3;17942:12;17935:19;;17594:366;;;:::o;17966:419::-;18132:4;18170:2;18159:9;18155:18;18147:26;;18219:9;18213:4;18209:20;18205:1;18194:9;18190:17;18183:47;18247:131;18373:4;18247:131;:::i;:::-;18239:139;;17966:419;;;:::o;18391:191::-;18431:3;18450:20;18468:1;18450:20;:::i;:::-;18445:25;;18484:20;18502:1;18484:20;:::i;:::-;18479:25;;18527:1;18524;18520:9;18513:16;;18548:3;18545:1;18542:10;18539:36;;;18555:18;;:::i;:::-;18539:36;18391:191;;;;:::o;18588:410::-;18628:7;18651:20;18669:1;18651:20;:::i;:::-;18646:25;;18685:20;18703:1;18685:20;:::i;:::-;18680:25;;18740:1;18737;18733:9;18762:30;18780:11;18762:30;:::i;:::-;18751:41;;18941:1;18932:7;18928:15;18925:1;18922:22;18902:1;18895:9;18875:83;18852:139;;18971:18;;:::i;:::-;18852:139;18636:362;18588:410;;;;:::o;19004:180::-;19052:77;19049:1;19042:88;19149:4;19146:1;19139:15;19173:4;19170:1;19163:15;19190:185;19230:1;19247:20;19265:1;19247:20;:::i;:::-;19242:25;;19281:20;19299:1;19281:20;:::i;:::-;19276:25;;19320:1;19310:35;;19325:18;;:::i;:::-;19310:35;19367:1;19364;19360:9;19355:14;;19190:185;;;;:::o;19381:220::-;19521:34;19517:1;19509:6;19505:14;19498:58;19590:3;19585:2;19577:6;19573:15;19566:28;19381:220;:::o;19607:366::-;19749:3;19770:67;19834:2;19829:3;19770:67;:::i;:::-;19763:74;;19846:93;19935:3;19846:93;:::i;:::-;19964:2;19959:3;19955:12;19948:19;;19607:366;;;:::o;19979:419::-;20145:4;20183:2;20172:9;20168:18;20160:26;;20232:9;20226:4;20222:20;20218:1;20207:9;20203:17;20196:47;20260:131;20386:4;20260:131;:::i;:::-;20252:139;;19979:419;;;:::o;20404:177::-;20544:29;20540:1;20532:6;20528:14;20521:53;20404:177;:::o;20587:366::-;20729:3;20750:67;20814:2;20809:3;20750:67;:::i;:::-;20743:74;;20826:93;20915:3;20826:93;:::i;:::-;20944:2;20939:3;20935:12;20928:19;;20587:366;;;:::o;20959:419::-;21125:4;21163:2;21152:9;21148:18;21140:26;;21212:9;21206:4;21202:20;21198:1;21187:9;21183:17;21176:47;21240:131;21366:4;21240:131;:::i;:::-;21232:139;;20959:419;;;:::o;21384:180::-;21432:77;21429:1;21422:88;21529:4;21526:1;21519:15;21553:4;21550:1;21543:15;21570:114;21637:6;21671:5;21665:12;21655:22;;21570:114;;;:::o;21690:184::-;21789:11;21823:6;21818:3;21811:19;21863:4;21858:3;21854:14;21839:29;;21690:184;;;;:::o;21880:132::-;21947:4;21970:3;21962:11;;22000:4;21995:3;21991:14;21983:22;;21880:132;;;:::o;22018:108::-;22095:24;22113:5;22095:24;:::i;:::-;22090:3;22083:37;22018:108;;:::o;22132:179::-;22201:10;22222:46;22264:3;22256:6;22222:46;:::i;:::-;22300:4;22295:3;22291:14;22277:28;;22132:179;;;;:::o;22317:113::-;22387:4;22419;22414:3;22410:14;22402:22;;22317:113;;;:::o;22466:732::-;22585:3;22614:54;22662:5;22614:54;:::i;:::-;22684:86;22763:6;22758:3;22684:86;:::i;:::-;22677:93;;22794:56;22844:5;22794:56;:::i;:::-;22873:7;22904:1;22889:284;22914:6;22911:1;22908:13;22889:284;;;22990:6;22984:13;23017:63;23076:3;23061:13;23017:63;:::i;:::-;23010:70;;23103:60;23156:6;23103:60;:::i;:::-;23093:70;;22949:224;22936:1;22933;22929:9;22924:14;;22889:284;;;22893:14;23189:3;23182:10;;22590:608;;;22466:732;;;;:::o;23204:831::-;23467:4;23505:3;23494:9;23490:19;23482:27;;23519:71;23587:1;23576:9;23572:17;23563:6;23519:71;:::i;:::-;23600:80;23676:2;23665:9;23661:18;23652:6;23600:80;:::i;:::-;23727:9;23721:4;23717:20;23712:2;23701:9;23697:18;23690:48;23755:108;23858:4;23849:6;23755:108;:::i;:::-;23747:116;;23873:72;23941:2;23930:9;23926:18;23917:6;23873:72;:::i;:::-;23955:73;24023:3;24012:9;24008:19;23999:6;23955:73;:::i;:::-;23204:831;;;;;;;;:::o

Swarm Source

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