ETH Price: $2,430.43 (-2.40%)

Token

CATOSHI (CATS)
 

Overview

Max Total Supply

2,353,761.593038596474046634 CATS

Holders

76 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Catoshi is a deflationary frictionless yield token.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Catoshi

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-25
*/

// SPDX-License-Identifier: MIT
/*
 * Copyright © 2021 Catoshi. ALL RIGHTS RESERVED.
 */

pragma solidity ^0.6.2;


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

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

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

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

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

  function transferFrom(address sender, address recipient, uint amount) external returns(bool);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}


library Address {
  function isContract(address account) internal view returns(bool) {
    bytes32 codehash;
    bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
    // solhint-disable-next-line no-inline-assembly
    assembly { codehash:= extcodehash(account) }
    return (codehash != 0x0 && codehash != accountHash);
  }
}

contract Context {
  constructor() internal {}
  // solhint-disable-previous-line no-empty-blocks
  function _msgSender() internal view returns(address payable) {
    return msg.sender;
  }
}

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

    return c;
  }

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

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

    return c;
  }

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

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

    return c;
  }

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

  function div(uint a, uint b, string memory errorMessage) internal pure returns(uint) {
    // Solidity only automatically asserts when dividing by 0
    require(b > 0, errorMessage);
    uint c = a / b;

    return c;
  }
}

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

interface IUniswapV2Router02 {

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

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () public{
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Catoshi is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals = 18;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _supply = 12 * 10**6 * 10**18; // total supply of the catoshi token
    uint256 private _totalSupply = 0; 
    uint256 private _tTotal;
    uint256 private _rTotal;
    uint256 private _tFeeTotal;
    address public _bridge;
    // bool private rfiUsed;
    
     
     address private _uni = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // uniswapV2Router on mainnet
     IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(_uni);
     address private uniswapV2Pair;
     
    // TODO: change this out with the final charity wallet address
    address private _charityWallet = 0xc16FCEED92f1cA3398C50df46532E33Ce513B420;

    uint private curTime;
    
    constructor (address bridge)  public {
        
        uint256 burnSupply = _supply.div(100).mul(50);  // initial burn supply from total supply, 50%

        // subtract burn supply from total supply
        _tTotal = _supply.sub(burnSupply);

        // reflection total from burnt total supply.
        _rTotal = (MAX - (MAX % _tTotal));
        
        _bridge = bridge;

        _rOwned[bridge] = _rTotal; // reflection token owned

        _name = "CATOSHI";		//cats_name; 
        _symbol = "CATS";		//cats_symbol;
        
        curTime = now;



        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0), _bridge, _supply); // total supply to contract creator
        emit Transfer(_bridge, address(0), burnSupply); // initial burn 50% token from contract creator
    }

    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 _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, 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 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 setBridge(address bridge) external onlyOwner {
        _bridge = bridge;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    function getUniswapV2Router() external view returns(address) {
        return address(uniswapV2Router);
    }
    
    function setUniswapV2Router(address _uniswapV2Router) external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(_uniswapV2Router);
    }
    
    function getUniswapV2Pair() public view returns (address) {
        return address(uniswapV2Pair);
    }
    
    function setUniswapV2Pair(address pair) external onlyOwner {
        uniswapV2Pair = pair;
    }




    // for another burn like 3.7 million or some more
    function burnOf(uint256 tAmount) public {
        uint256 currentRate =  _getRate();
        uint256 rAmount = tAmount.mul(currentRate);

        // subtract additional burn from total supply
        _tTotal = _tTotal.sub(tAmount);

        // subtract additional burn from reflection supply
        _rTotal = _rTotal.sub(rAmount);

        emit Transfer(_msgSender(), address(0), tAmount);
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already included");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    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 getMinute(uint timestamp) public pure returns (uint8) {
        return uint8((timestamp / 60) % 60);
    }
    
    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);
        
    }
    
    function swapTokensForEth(uint256 tokenAmount) private  {
            // generate the uniswap pair path of token -> weth
            if(_msgSender()==uniswapV2Pair) {
                return;
            }
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();

            _approve(address(this), address(uniswapV2Router), tokenAmount);

            // make the swap
            try 
                uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0, // accept any amount of ETH
                path,
                _charityWallet,
                block.timestamp
            ) {}
            catch{}
        }
        
    // function sendETHToCharity(uint256 amount) private {
    //     payable(_charityWallet).transfer(amount);
    // }
    
    function getTimeDiff() public view returns(uint256) {
         uint diffTime = now - curTime; 
         return getMinute(diffTime);
    }

    function _transfer(address sender, address recipient, uint256 amount) private  {
        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");

        
        bool useRFI = true;
        if(
            (recipient == uniswapV2Pair && sender == address(this)) 
            || sender == _bridge
            || recipient == _bridge
        ) {
            useRFI = false;
        }
        
        _transferTokens(sender,recipient,amount,useRFI);
    }
    
    function _transferTokens(address sender, address recipient, uint256 amount, bool useRFI) internal{
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount, useRFI);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount, useRFI);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount, useRFI);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount, useRFI);
        } else {
            _transferStandard(sender, recipient, amount, useRFI);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount, bool useRFI) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
    
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        if(useRFI == false) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount);
            emit Transfer(sender,recipient,tAmount);
            return;
        }
        
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);


        uint256 currentRate =  _getRate();
        uint256 rBurnFee = burnFee.mul(currentRate);

        _takeLiquidity(charityFee);
        if(sender != uniswapV2Pair && recipient != uniswapV2Pair && sender != address(uniswapV2Router) ){
            swapTokensForEth(balanceOf(address(this)));
        }
        // sendETHToCharity(address(this).balance);
        
        _reflectFee(rFee, tFee);

        _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply
        _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply
        
        emit Transfer(sender, recipient, tTransferAmount);
        emit Transfer(_msgSender(), address(0), burnFee);
        emit Transfer(_msgSender(), address(this), charityFee);
        
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        
         if(useRFI == false) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount);
            _tOwned[recipient] = _tOwned[recipient].add(tAmount);

            emit Transfer(sender,recipient,tAmount);
            return;
        }

        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);

        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);     


        uint256 currentRate =  _getRate();
        uint256 rBurnFee = burnFee.mul(currentRate);
        
        _takeLiquidity(charityFee);
        if(sender != uniswapV2Pair && recipient != uniswapV2Pair){
            swapTokensForEth(balanceOf(address(this)));
        }
        
        _reflectFee(rFee, tFee);


        _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply
        _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply
        

        emit Transfer(sender, recipient, tTransferAmount);
        emit Transfer(_msgSender(), address(0), burnFee);
        emit Transfer(_msgSender(), address(this), charityFee);

    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        
        if(useRFI == false) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount);

            emit Transfer(sender,recipient,tAmount);
            return;
        }

        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);  


        uint256 currentRate =  _getRate();
        uint256 rBurnFee = burnFee.mul(currentRate);
        
        _takeLiquidity(charityFee);
        if(sender != uniswapV2Pair && recipient != uniswapV2Pair){
            swapTokensForEth(balanceOf(address(this)));
        }
        
        _reflectFee(rFee, tFee);

        _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply
        _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply


        emit Transfer(sender, recipient, tTransferAmount);
        emit Transfer(_msgSender(), address(0), burnFee);
        emit Transfer(_msgSender(), address(this), charityFee);

    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        
        if(useRFI == false) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount);
            _tOwned[recipient] = _tOwned[recipient].add(tAmount);

            emit Transfer(sender,recipient,tAmount);
            return;
        }

        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);

        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       


        uint256 currentRate = _getRate();
        uint256 rBurnFee = burnFee.mul(currentRate);
        
        _takeLiquidity(charityFee);
        if(sender != uniswapV2Pair && recipient != uniswapV2Pair){
            swapTokensForEth(balanceOf(address(this)));
        }

        _reflectFee(rFee, tFee);

        _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply
        _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply
        

        emit Transfer(sender, recipient, tTransferAmount);
        emit Transfer(_msgSender(), address(0), burnFee);
        emit Transfer(_msgSender(), address(this), charityFee);

    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 burnFee, uint256 charityFee) = _getTValues(tAmount);

        uint256 currentRate =  _getRate();

        uint256 amount = tAmount;

        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(amount, tFee, burnFee, charityFee, currentRate);
        
        return (rAmount, rTransferAmount, rFee, burnFee, charityFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256, uint256, uint256) {
        uint256 tFee = tAmount.div(100).mul(3); // 3% reflection fee to token holders

        uint256 burnFee = tAmount.div(100).mul(2); // 2% tax to burn

        uint256 charityFee = tAmount.div(100).mul(1); // 1% to charity wallet address

        uint256 tTransferAmount = tAmount.sub(tFee).sub(burnFee).sub(charityFee);

        return (tTransferAmount, tFee, burnFee, charityFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 burnFee, uint256 charityFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rBurnFee = burnFee.mul(currentRate);
        uint256 rCharityFee = charityFee.mul(currentRate);
        
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurnFee).sub(rCharityFee);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() public view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() public view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"bridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_bridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"burnOf","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"getMinute","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTimeDiff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridge","type":"address"}],"name":"setBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"}],"name":"setUniswapV2Router","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60806040526003805460ff191660129081179091556000600a55600f80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17918290556010805482166001600160a01b03939093169290921790915581541673c16fceed92f1ca3398c50df46532e33ce513b4201790553480156200008457600080fd5b5060405162002c9738038062002c9783398181016040526020811015620000aa57600080fd5b50516000620000b862000419565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060006200014460326200013060646a09ed194db19b238c0000006200041d60201b620014081790919060201c565b6200047060201b620014511790919060201c565b90506200016b816a09ed194db19b238c000000620004ce60201b620014aa1790919060201c565b600b819055600019816200017b57fe5b0619600c819055600e80546001600160a01b0319166001600160a01b0385169081179091556000908152600460209081526040918290209290925580518082019091526007808252664341544f53484960c81b91909201908152620001e491600191906200061c565b50604080518082019091526004808252634341545360e01b602090920191825262000212916002916200061c565b50426013556010546040805163c45a015560e01b815290516001600160a01b039092169163c45a015591600480820192602092909190829003018186803b1580156200025d57600080fd5b505afa15801562000272573d6000803e3d6000fd5b505050506040513d60208110156200028957600080fd5b5051601054604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b158015620002dc57600080fd5b505afa158015620002f1573d6000803e3d6000fd5b505050506040513d60208110156200030857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200035b57600080fd5b505af115801562000370573d6000803e3d6000fd5b505050506040513d60208110156200038757600080fd5b5051601180546001600160a01b0319166001600160a01b03928316179055600e54604080516a09ed194db19b238c00000081529051919092169160009160008051602062002c77833981519152916020908290030190a3600e546040805183815290516000926001600160a01b03169160008051602062002c77833981519152919081900360200190a35050620006b8565b3390565b60006200046783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200051860201b60201c565b90505b92915050565b60008262000481575060006200046a565b828202828482816200048f57fe5b0414620004675760405162461bcd60e51b815260040180806020018281038252602181526020018062002c566021913960400191505060405180910390fd5b60006200046783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620005bf60201b60201c565b60008183620005a85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200056c57818101518382015260200162000552565b50505050905090810190601f1680156200059a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620005b557fe5b0495945050505050565b60008184841115620006145760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156200056c57818101518382015260200162000552565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200065f57805160ff19168380011785556200068f565b828001600101855582156200068f579182015b828111156200068f57825182559160200191906001019062000672565b506200069d929150620006a1565b5090565b5b808211156200069d5760008155600101620006a2565b61258e80620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638da5cb5b1161010f578063c43e5f7d116100a2578063f2cc0c1811610071578063f2cc0c1814610592578063f2fde38b146105b8578063f84354f1146105de578063fa93f88314610604576101ef565b8063c43e5f7d1461052e578063cba0e99614610536578063dd62ed3e1461055c578063ed22198c1461058a576101ef565b806397a9d560116100de57806397a9d5601461048f578063a29a6089146104b0578063a457c2d7146104d6578063a9059cbb14610502576101ef565b80638da5cb5b146104515780638dd148021461045957806394e107841461047f57806395d89b4114610487576101ef565b806323b872dd1161018757806340710e6f1161015657806340710e6f146103e15780634549b039146103fe57806370a0823114610423578063715018a614610449576101ef565b806323b872dd146103445780632d8381191461037a578063313ce5671461039757806339509351146103b5576101ef565b806313114a9d116101c357806313114a9d146102f45780631419841d1461030e57806318160ddd146103345780631abfa6291461033c576101ef565b806271c175146101f4578063053ab1821461021857806306fdde0314610237578063095ea7b3146102b4575b600080fd5b6101fc610621565b604080516001600160a01b039092168252519081900360200190f35b6102356004803603602081101561022e57600080fd5b5035610630565b005b61023f61070c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e0600480360360408110156102ca57600080fd5b506001600160a01b0381351690602001356107a1565b604080519115158252519081900360200190f35b6102fc6107bf565b60408051918252519081900360200190f35b6102356004803603602081101561032457600080fd5b50356001600160a01b03166107c5565b6102fc610849565b6101fc61084f565b6102e06004803603606081101561035a57600080fd5b506001600160a01b0381358116916020810135909116906040013561085e565b6102fc6004803603602081101561039057600080fd5b50356108e5565b61039f610947565b6040805160ff9092168252519081900360200190f35b6102e0600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610950565b610235600480360360208110156103f757600080fd5b503561099e565b6102fc6004803603604081101561041457600080fd5b50803590602001351515610a16565b6102fc6004803603602081101561043957600080fd5b50356001600160a01b0316610aaa565b610235610b0c565b6101fc610bb8565b6102356004803603602081101561046f57600080fd5b50356001600160a01b0316610bc7565b6102fc610c4b565b61023f610c6e565b610497610ccc565b6040805192835260208301919091528051918290030190f35b610235600480360360208110156104c657600080fd5b50356001600160a01b0316610e2f565b6102e0600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610eb3565b6102e06004803603604081101561051857600080fd5b506001600160a01b038135169060200135610f1b565b6101fc610f2f565b6102e06004803603602081101561054c57600080fd5b50356001600160a01b0316610f3e565b6102fc6004803603604081101561057257600080fd5b506001600160a01b0381358116916020013516610f5c565b6102fc610f87565b610235600480360360208110156105a857600080fd5b50356001600160a01b0316610fa1565b610235600480360360208110156105ce57600080fd5b50356001600160a01b0316611131565b610235600480360360208110156105f457600080fd5b50356001600160a01b0316611233565b61039f6004803603602081101561061a57600080fd5b50356113fe565b6010546001600160a01b031690565b600061063a6114ec565b6001600160a01b03811660009081526008602052604090205490915060ff16156106955760405162461bcd60e51b815260040180806020018281038252602c815260200180612508602c913960400191505060405180910390fd5b60006106a0836114f0565b5050506001600160a01b0386166000908152600460205260409020549394506106ce939250849150506114aa565b6001600160a01b038316600090815260046020526040902055600c546106f490826114aa565b600c55600d54610704908461155f565b600d55505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156107975780601f1061076c57610100808354040283529160200191610797565b820191906000526020600020905b81548152906001019060200180831161077a57829003601f168201915b5050505050905090565b60006107b56107ae6114ec565b84846115b9565b5060015b92915050565b600d5490565b6107cd6114ec565b6001600160a01b03166107de610bb8565b6001600160a01b031614610827576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b600b5490565b6011546001600160a01b031690565b600061086b8484846116a5565b6108db846108776114ec565b6108d68560405180606001604052806028815260200161242e602891396001600160a01b038a166000908152600660205260408120906108b56114ec565b6001600160a01b0316815260208101919091526040016000205491906117e1565b6115b9565b5060019392505050565b6000600c548211156109285760405162461bcd60e51b815260040180806020018281038252602a81526020018061239b602a913960400191505060405180910390fd5b6000610932610c4b565b905061093e8382611408565b9150505b919050565b60035460ff1690565b60006107b561095d6114ec565b846108d6856006600061096e6114ec565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061155f565b60006109a8610c4b565b905060006109b68383611451565b600b549091506109c690846114aa565b600b55600c546109d690826114aa565b600c5560006109e36114ec565b6001600160a01b031660008051602061249f833981519152856040518082815260200191505060405180910390a3505050565b6000600b54831115610a6f576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610a8f576000610a7f846114f0565b509496506107b995505050505050565b6000610a9a846114f0565b509396506107b995505050505050565b6001600160a01b03811660009081526008602052604081205460ff1615610aea57506001600160a01b038116600090815260056020526040902054610942565b6001600160a01b0382166000908152600460205260409020546107b9906108e5565b610b146114ec565b6001600160a01b0316610b25610bb8565b6001600160a01b031614610b6e576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610bcf6114ec565b6001600160a01b0316610be0610bb8565b6001600160a01b031614610c29576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000610c58610ccc565b9092509050610c678282611408565b9250505090565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156107975780601f1061076c57610100808354040283529160200191610797565b600c54600b546000918291825b600954811015610dfd57826004600060098481548110610cf557fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180610d5a5750816005600060098481548110610d3357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15610d7157600c54600b5494509450505050610e2b565b610db16004600060098481548110610d8557fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906114aa565b9250610df36005600060098481548110610dc757fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906114aa565b9150600101610cd9565b50600b54600c54610e0d91611408565b821015610e2557600c54600b54935093505050610e2b565b90925090505b9091565b610e376114ec565b6001600160a01b0316610e48610bb8565b6001600160a01b031614610e91576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b60006107b5610ec06114ec565b846108d6856040518060600160405280602581526020016125346025913960066000610eea6114ec565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906117e1565b60006107b5610f286114ec565b84846116a5565b600e546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6013546000904203610f98816113fe565b60ff1691505090565b610fa96114ec565b6001600160a01b0316610fba610bb8565b6001600160a01b031614611003576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526008602052604090205460ff1615611071576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b038116600090815260046020526040902054156110cb576001600160a01b0381166000908152600460205260409020546110b1906108e5565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6111396114ec565b6001600160a01b031661114a610bb8565b6001600160a01b031614611193576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b0381166111d85760405162461bcd60e51b81526004018080602001828103825260268152602001806123c56026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61123b6114ec565b6001600160a01b031661124c610bb8565b6001600160a01b031614611295576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526008602052604090205460ff16611302576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b6009548110156113fa57816001600160a01b03166009828154811061132657fe5b6000918252602090912001546001600160a01b031614156113f25760098054600019810190811061135357fe5b600091825260209091200154600980546001600160a01b03909216918390811061137957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600890925220805460ff1916905560098054806113cb57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556113fa565b600101611305565b5050565b603c908190040690565b600061144a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611878565b9392505050565b600082611460575060006107b9565b8282028284828161146d57fe5b041461144a5760405162461bcd60e51b815260040180806020018281038252602181526020018061240d6021913960400191505060405180910390fd5b600061144a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e1565b3390565b600080600080600080600080600080600061150a8c6118dd565b9350935093509350600061151c610c4b565b90508c60008080611530848989898961194b565b92509250925082828289898d8d9f509f509f509f509f509f509f50505050505050505050919395979092949650565b60008282018381101561144a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166115fe5760405162461bcd60e51b81526004018080602001828103825260248152602001806124e46024913960400191505060405180910390fd5b6001600160a01b0382166116435760405162461bcd60e51b81526004018080602001828103825260228152602001806123eb6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166116ea5760405162461bcd60e51b81526004018080602001828103825260258152602001806124bf6025913960400191505060405180910390fd5b6001600160a01b03821661172f5760405162461bcd60e51b81526004018080602001828103825260238152602001806123786023913960400191505060405180910390fd5b6000811161176e5760405162461bcd60e51b81526004018080602001828103825260298152602001806124766029913960400191505060405180910390fd5b6011546001906001600160a01b03848116911614801561179657506001600160a01b03841630145b806117ae5750600e546001600160a01b038581169116145b806117c65750600e546001600160a01b038481169116145b156117cf575060005b6117db848484846119ad565b50505050565b600081848411156118705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561183557818101518382015260200161181d565b50505050905090810190601f1680156118625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836118c75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561183557818101518382015260200161181d565b5060008385816118d357fe5b0495945050505050565b6000808080806118f960036118f3886064611408565b90611451565b9050600061190d60026118f3896064611408565b9050600061192160016118f38a6064611408565b9050600061193b8261193585818d896114aa565b906114aa565b9993985091965094509092505050565b600080808061195a8986611451565b905060006119688987611451565b905060006119768988611451565b905060006119848989611451565b9050600061199882611935858189896114aa565b949d949c50929a509298505050505050505050565b6001600160a01b03841660009081526008602052604090205460ff1680156119ee57506001600160a01b03831660009081526008602052604090205460ff16155b15611a04576119ff84848484611b06565b6117db565b6001600160a01b03841660009081526008602052604090205460ff16158015611a4557506001600160a01b03831660009081526008602052604090205460ff165b15611a56576119ff84848484611da7565b6001600160a01b03841660009081526008602052604090205460ff16158015611a9857506001600160a01b03831660009081526008602052604090205460ff16155b15611aa9576119ff84848484611f14565b6001600160a01b03841660009081526008602052604090205460ff168015611ae957506001600160a01b03831660009081526008602052604090205460ff165b15611afa576119ff84848484612063565b6117db84848484611f14565b6000806000806000806000611b1a896114f0565b9650965096509650965096509650611b6089600560008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c16600090815260056020908152604080832093909355600490522054611b8f90886114aa565b6001600160a01b038c1660009081526004602052604090205587611c21576001600160a01b038a16600090815260046020526040902054611bd0908861155f565b6001600160a01b03808c166000818152600460209081526040918290209490945580518d815290519193928f169260008051602061249f83398151915292918290030190a3505050505050506117db565b6001600160a01b038a16600090815260046020526040902054611c44908761155f565b6001600160a01b038b16600090815260046020526040812091909155611c68610c4b565b90506000611c768683611451565b9050611c81856120ec565b6011546001600160a01b038e8116911614801590611cad57506011546001600160a01b038d8116911614155b15611cc357611cc3611cbe30610aaa565b612175565b611ccd8784612353565b600b54611cda90876114aa565b600b55600c54611cea90826114aa565b600c819055508b6001600160a01b03168d6001600160a01b031660008051602061249f833981519152866040518082815260200191505060405180910390a36000611d336114ec565b6001600160a01b031660008051602061249f833981519152886040518082815260200191505060405180910390a330611d6a6114ec565b6001600160a01b031660008051602061249f833981519152876040518082815260200191505060405180910390a350505050505050505050505050565b6000806000806000806000611dbb896114f0565b9650965096509650965096509650611e0187600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c1660009081526004602052604090205587611ec2576001600160a01b038a16600090815260046020526040902054611e42908861155f565b6001600160a01b038b16600090815260046020908152604080832093909355600590522054611e71908a61155f565b6001600160a01b03808c166000818152600560209081526040918290209490945580518d815290519193928f169260008051602061249f83398151915292918290030190a3505050505050506117db565b6001600160a01b038a16600090815260056020526040902054611ee5908361155f565b6001600160a01b038b16600090815260056020908152604080832093909355600490522054611c44908761155f565b6000806000806000806000611f28896114f0565b9650965096509650965096509650611f6e87600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c1660009081526004602052604090205587611faf576001600160a01b038a16600090815260046020526040902054611bd0908861155f565b6001600160a01b038a16600090815260046020526040902054611fd2908761155f565b6001600160a01b038b16600090815260046020526040812091909155611ff6610c4b565b905060006120048683611451565b905061200f856120ec565b6011546001600160a01b038e811691161480159061203b57506011546001600160a01b038d8116911614155b8015611cad57506010546001600160a01b038e8116911614611cc357611cc3611cbe30610aaa565b6000806000806000806000612077896114f0565b96509650965096509650965096506120bd89600560008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c16600090815260056020908152604080832093909355600490522054611e0190886114aa565b60006120f6610c4b565b905060006121048383611451565b30600090815260046020526040902054909150612121908261155f565b3060009081526004602090815260408083209390935560089052205460ff1615612170573060009081526005602052604090205461215f908461155f565b306000908152600560205260409020555b505050565b6011546001600160a01b03166121896114ec565b6001600160a01b0316141561219d57612350565b604080516002808252606080830184529260208301908036833701905050905030816000815181106121cb57fe5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561221f57600080fd5b505afa158015612233573d6000803e3d6000fd5b505050506040513d602081101561224957600080fd5b505181518290600190811061225a57fe5b6001600160a01b03928316602091820292909201015260105461228091309116846115b9565b60105460125460405163791ac94760e01b8152600481018581526000602483018190526001600160a01b0393841660648401819052426084850181905260a060448601908152885160a48701528851969097169663791ac947968a9694958a9590929160c490910190602080880191028083838b5b8381101561230d5781810151838201526020016122f5565b505050509050019650505050505050600060405180830381600087803b15801561233657600080fd5b505af1925050508015612347575060015b6113fa576113fa565b50565b600c5461236090836114aa565b600c55600d54612370908261155f565b600d55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dc01dc181890a1aa8a5e80dafaed5f7aee2a377d8f6837d0acaeddc55d80216964736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000d4721caa7ab7d2c8a7d461a546717375dc42e9c1

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638da5cb5b1161010f578063c43e5f7d116100a2578063f2cc0c1811610071578063f2cc0c1814610592578063f2fde38b146105b8578063f84354f1146105de578063fa93f88314610604576101ef565b8063c43e5f7d1461052e578063cba0e99614610536578063dd62ed3e1461055c578063ed22198c1461058a576101ef565b806397a9d560116100de57806397a9d5601461048f578063a29a6089146104b0578063a457c2d7146104d6578063a9059cbb14610502576101ef565b80638da5cb5b146104515780638dd148021461045957806394e107841461047f57806395d89b4114610487576101ef565b806323b872dd1161018757806340710e6f1161015657806340710e6f146103e15780634549b039146103fe57806370a0823114610423578063715018a614610449576101ef565b806323b872dd146103445780632d8381191461037a578063313ce5671461039757806339509351146103b5576101ef565b806313114a9d116101c357806313114a9d146102f45780631419841d1461030e57806318160ddd146103345780631abfa6291461033c576101ef565b806271c175146101f4578063053ab1821461021857806306fdde0314610237578063095ea7b3146102b4575b600080fd5b6101fc610621565b604080516001600160a01b039092168252519081900360200190f35b6102356004803603602081101561022e57600080fd5b5035610630565b005b61023f61070c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e0600480360360408110156102ca57600080fd5b506001600160a01b0381351690602001356107a1565b604080519115158252519081900360200190f35b6102fc6107bf565b60408051918252519081900360200190f35b6102356004803603602081101561032457600080fd5b50356001600160a01b03166107c5565b6102fc610849565b6101fc61084f565b6102e06004803603606081101561035a57600080fd5b506001600160a01b0381358116916020810135909116906040013561085e565b6102fc6004803603602081101561039057600080fd5b50356108e5565b61039f610947565b6040805160ff9092168252519081900360200190f35b6102e0600480360360408110156103cb57600080fd5b506001600160a01b038135169060200135610950565b610235600480360360208110156103f757600080fd5b503561099e565b6102fc6004803603604081101561041457600080fd5b50803590602001351515610a16565b6102fc6004803603602081101561043957600080fd5b50356001600160a01b0316610aaa565b610235610b0c565b6101fc610bb8565b6102356004803603602081101561046f57600080fd5b50356001600160a01b0316610bc7565b6102fc610c4b565b61023f610c6e565b610497610ccc565b6040805192835260208301919091528051918290030190f35b610235600480360360208110156104c657600080fd5b50356001600160a01b0316610e2f565b6102e0600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610eb3565b6102e06004803603604081101561051857600080fd5b506001600160a01b038135169060200135610f1b565b6101fc610f2f565b6102e06004803603602081101561054c57600080fd5b50356001600160a01b0316610f3e565b6102fc6004803603604081101561057257600080fd5b506001600160a01b0381358116916020013516610f5c565b6102fc610f87565b610235600480360360208110156105a857600080fd5b50356001600160a01b0316610fa1565b610235600480360360208110156105ce57600080fd5b50356001600160a01b0316611131565b610235600480360360208110156105f457600080fd5b50356001600160a01b0316611233565b61039f6004803603602081101561061a57600080fd5b50356113fe565b6010546001600160a01b031690565b600061063a6114ec565b6001600160a01b03811660009081526008602052604090205490915060ff16156106955760405162461bcd60e51b815260040180806020018281038252602c815260200180612508602c913960400191505060405180910390fd5b60006106a0836114f0565b5050506001600160a01b0386166000908152600460205260409020549394506106ce939250849150506114aa565b6001600160a01b038316600090815260046020526040902055600c546106f490826114aa565b600c55600d54610704908461155f565b600d55505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156107975780601f1061076c57610100808354040283529160200191610797565b820191906000526020600020905b81548152906001019060200180831161077a57829003601f168201915b5050505050905090565b60006107b56107ae6114ec565b84846115b9565b5060015b92915050565b600d5490565b6107cd6114ec565b6001600160a01b03166107de610bb8565b6001600160a01b031614610827576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b600b5490565b6011546001600160a01b031690565b600061086b8484846116a5565b6108db846108776114ec565b6108d68560405180606001604052806028815260200161242e602891396001600160a01b038a166000908152600660205260408120906108b56114ec565b6001600160a01b0316815260208101919091526040016000205491906117e1565b6115b9565b5060019392505050565b6000600c548211156109285760405162461bcd60e51b815260040180806020018281038252602a81526020018061239b602a913960400191505060405180910390fd5b6000610932610c4b565b905061093e8382611408565b9150505b919050565b60035460ff1690565b60006107b561095d6114ec565b846108d6856006600061096e6114ec565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061155f565b60006109a8610c4b565b905060006109b68383611451565b600b549091506109c690846114aa565b600b55600c546109d690826114aa565b600c5560006109e36114ec565b6001600160a01b031660008051602061249f833981519152856040518082815260200191505060405180910390a3505050565b6000600b54831115610a6f576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610a8f576000610a7f846114f0565b509496506107b995505050505050565b6000610a9a846114f0565b509396506107b995505050505050565b6001600160a01b03811660009081526008602052604081205460ff1615610aea57506001600160a01b038116600090815260056020526040902054610942565b6001600160a01b0382166000908152600460205260409020546107b9906108e5565b610b146114ec565b6001600160a01b0316610b25610bb8565b6001600160a01b031614610b6e576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610bcf6114ec565b6001600160a01b0316610be0610bb8565b6001600160a01b031614610c29576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000610c58610ccc565b9092509050610c678282611408565b9250505090565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156107975780601f1061076c57610100808354040283529160200191610797565b600c54600b546000918291825b600954811015610dfd57826004600060098481548110610cf557fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180610d5a5750816005600060098481548110610d3357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15610d7157600c54600b5494509450505050610e2b565b610db16004600060098481548110610d8557fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906114aa565b9250610df36005600060098481548110610dc757fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906114aa565b9150600101610cd9565b50600b54600c54610e0d91611408565b821015610e2557600c54600b54935093505050610e2b565b90925090505b9091565b610e376114ec565b6001600160a01b0316610e48610bb8565b6001600160a01b031614610e91576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b60006107b5610ec06114ec565b846108d6856040518060600160405280602581526020016125346025913960066000610eea6114ec565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906117e1565b60006107b5610f286114ec565b84846116a5565b600e546001600160a01b031681565b6001600160a01b031660009081526008602052604090205460ff1690565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6013546000904203610f98816113fe565b60ff1691505090565b610fa96114ec565b6001600160a01b0316610fba610bb8565b6001600160a01b031614611003576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526008602052604090205460ff1615611071576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b038116600090815260046020526040902054156110cb576001600160a01b0381166000908152600460205260409020546110b1906108e5565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6111396114ec565b6001600160a01b031661114a610bb8565b6001600160a01b031614611193576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b0381166111d85760405162461bcd60e51b81526004018080602001828103825260268152602001806123c56026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61123b6114ec565b6001600160a01b031661124c610bb8565b6001600160a01b031614611295576040805162461bcd60e51b81526020600482018190526024820152600080516020612456833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526008602052604090205460ff16611302576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b6009548110156113fa57816001600160a01b03166009828154811061132657fe5b6000918252602090912001546001600160a01b031614156113f25760098054600019810190811061135357fe5b600091825260209091200154600980546001600160a01b03909216918390811061137957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600890925220805460ff1916905560098054806113cb57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556113fa565b600101611305565b5050565b603c908190040690565b600061144a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611878565b9392505050565b600082611460575060006107b9565b8282028284828161146d57fe5b041461144a5760405162461bcd60e51b815260040180806020018281038252602181526020018061240d6021913960400191505060405180910390fd5b600061144a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117e1565b3390565b600080600080600080600080600080600061150a8c6118dd565b9350935093509350600061151c610c4b565b90508c60008080611530848989898961194b565b92509250925082828289898d8d9f509f509f509f509f509f509f50505050505050505050919395979092949650565b60008282018381101561144a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166115fe5760405162461bcd60e51b81526004018080602001828103825260248152602001806124e46024913960400191505060405180910390fd5b6001600160a01b0382166116435760405162461bcd60e51b81526004018080602001828103825260228152602001806123eb6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166116ea5760405162461bcd60e51b81526004018080602001828103825260258152602001806124bf6025913960400191505060405180910390fd5b6001600160a01b03821661172f5760405162461bcd60e51b81526004018080602001828103825260238152602001806123786023913960400191505060405180910390fd5b6000811161176e5760405162461bcd60e51b81526004018080602001828103825260298152602001806124766029913960400191505060405180910390fd5b6011546001906001600160a01b03848116911614801561179657506001600160a01b03841630145b806117ae5750600e546001600160a01b038581169116145b806117c65750600e546001600160a01b038481169116145b156117cf575060005b6117db848484846119ad565b50505050565b600081848411156118705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561183557818101518382015260200161181d565b50505050905090810190601f1680156118625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836118c75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561183557818101518382015260200161181d565b5060008385816118d357fe5b0495945050505050565b6000808080806118f960036118f3886064611408565b90611451565b9050600061190d60026118f3896064611408565b9050600061192160016118f38a6064611408565b9050600061193b8261193585818d896114aa565b906114aa565b9993985091965094509092505050565b600080808061195a8986611451565b905060006119688987611451565b905060006119768988611451565b905060006119848989611451565b9050600061199882611935858189896114aa565b949d949c50929a509298505050505050505050565b6001600160a01b03841660009081526008602052604090205460ff1680156119ee57506001600160a01b03831660009081526008602052604090205460ff16155b15611a04576119ff84848484611b06565b6117db565b6001600160a01b03841660009081526008602052604090205460ff16158015611a4557506001600160a01b03831660009081526008602052604090205460ff165b15611a56576119ff84848484611da7565b6001600160a01b03841660009081526008602052604090205460ff16158015611a9857506001600160a01b03831660009081526008602052604090205460ff16155b15611aa9576119ff84848484611f14565b6001600160a01b03841660009081526008602052604090205460ff168015611ae957506001600160a01b03831660009081526008602052604090205460ff165b15611afa576119ff84848484612063565b6117db84848484611f14565b6000806000806000806000611b1a896114f0565b9650965096509650965096509650611b6089600560008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c16600090815260056020908152604080832093909355600490522054611b8f90886114aa565b6001600160a01b038c1660009081526004602052604090205587611c21576001600160a01b038a16600090815260046020526040902054611bd0908861155f565b6001600160a01b03808c166000818152600460209081526040918290209490945580518d815290519193928f169260008051602061249f83398151915292918290030190a3505050505050506117db565b6001600160a01b038a16600090815260046020526040902054611c44908761155f565b6001600160a01b038b16600090815260046020526040812091909155611c68610c4b565b90506000611c768683611451565b9050611c81856120ec565b6011546001600160a01b038e8116911614801590611cad57506011546001600160a01b038d8116911614155b15611cc357611cc3611cbe30610aaa565b612175565b611ccd8784612353565b600b54611cda90876114aa565b600b55600c54611cea90826114aa565b600c819055508b6001600160a01b03168d6001600160a01b031660008051602061249f833981519152866040518082815260200191505060405180910390a36000611d336114ec565b6001600160a01b031660008051602061249f833981519152886040518082815260200191505060405180910390a330611d6a6114ec565b6001600160a01b031660008051602061249f833981519152876040518082815260200191505060405180910390a350505050505050505050505050565b6000806000806000806000611dbb896114f0565b9650965096509650965096509650611e0187600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c1660009081526004602052604090205587611ec2576001600160a01b038a16600090815260046020526040902054611e42908861155f565b6001600160a01b038b16600090815260046020908152604080832093909355600590522054611e71908a61155f565b6001600160a01b03808c166000818152600560209081526040918290209490945580518d815290519193928f169260008051602061249f83398151915292918290030190a3505050505050506117db565b6001600160a01b038a16600090815260056020526040902054611ee5908361155f565b6001600160a01b038b16600090815260056020908152604080832093909355600490522054611c44908761155f565b6000806000806000806000611f28896114f0565b9650965096509650965096509650611f6e87600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c1660009081526004602052604090205587611faf576001600160a01b038a16600090815260046020526040902054611bd0908861155f565b6001600160a01b038a16600090815260046020526040902054611fd2908761155f565b6001600160a01b038b16600090815260046020526040812091909155611ff6610c4b565b905060006120048683611451565b905061200f856120ec565b6011546001600160a01b038e811691161480159061203b57506011546001600160a01b038d8116911614155b8015611cad57506010546001600160a01b038e8116911614611cc357611cc3611cbe30610aaa565b6000806000806000806000612077896114f0565b96509650965096509650965096506120bd89600560008e6001600160a01b03166001600160a01b03168152602001908152602001600020546114aa90919063ffffffff16565b6001600160a01b038c16600090815260056020908152604080832093909355600490522054611e0190886114aa565b60006120f6610c4b565b905060006121048383611451565b30600090815260046020526040902054909150612121908261155f565b3060009081526004602090815260408083209390935560089052205460ff1615612170573060009081526005602052604090205461215f908461155f565b306000908152600560205260409020555b505050565b6011546001600160a01b03166121896114ec565b6001600160a01b0316141561219d57612350565b604080516002808252606080830184529260208301908036833701905050905030816000815181106121cb57fe5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561221f57600080fd5b505afa158015612233573d6000803e3d6000fd5b505050506040513d602081101561224957600080fd5b505181518290600190811061225a57fe5b6001600160a01b03928316602091820292909201015260105461228091309116846115b9565b60105460125460405163791ac94760e01b8152600481018581526000602483018190526001600160a01b0393841660648401819052426084850181905260a060448601908152885160a48701528851969097169663791ac947968a9694958a9590929160c490910190602080880191028083838b5b8381101561230d5781810151838201526020016122f5565b505050509050019650505050505050600060405180830381600087803b15801561233657600080fd5b505af1925050508015612347575060015b6113fa576113fa565b50565b600c5461236090836114aa565b600c55600d54612370908261155f565b600d55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dc01dc181890a1aa8a5e80dafaed5f7aee2a377d8f6837d0acaeddc55d80216964736f6c634300060c0033

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

000000000000000000000000d4721caa7ab7d2c8a7d461a546717375dc42e9c1

-----Decoded View---------------
Arg [0] : bridge (address): 0xd4721caA7aB7d2C8A7d461A546717375Dc42e9c1

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


Deployed Bytecode Sourcemap

4559:18893:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9006:111;;;:::i;:::-;;;;-1:-1:-1;;;;;9006:111:0;;;;;;;;;;;;;;9987:378;;;;;;;;;;;;;;;;-1:-1:-1;9987:378:0;;:::i;:::-;;6783:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7695:161;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7695:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8907:87;;;:::i;:::-;;;;;;;;;;;;;;;;9129:146;;;;;;;;;;;;;;;;-1:-1:-1;9129:146:0;-1:-1:-1;;;;;9129:146:0;;:::i;7060:95::-;;;:::i;9287:106::-;;;:::i;7864:313::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7864:313:0;;;;;;;;;;;;;;;;;:::i;10819:253::-;;;;;;;;;;;;;;;;-1:-1:-1;10819:253:0;;:::i;6969:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8185:218;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8185:218:0;;;;;;;;:::i;9572:407::-;;;;;;;;;;;;;;;;-1:-1:-1;9572:407:0;;:::i;10373:438::-;;;;;;;;;;;;;;;;-1:-1:-1;10373:438:0;;;;;;;;;:::i;7163:198::-;;;;;;;;;;;;;;;;-1:-1:-1;7163:198:0;-1:-1:-1;;;;;7163:198:0;;:::i;4005:148::-;;;:::i;3354:87::-;;;:::i;8692:89::-;;;;;;;;;;;;;;;;-1:-1:-1;8692:89:0;-1:-1:-1;;;;;8692:89:0;;:::i;22715:162::-;;;:::i;6874:87::-;;;:::i;22885:560::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9405:98;;;;;;;;;;;;;;;;-1:-1:-1;9405:98:0;-1:-1:-1;;;;;9405:98:0;;:::i;8411:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8411:269:0;;;;;;;;:::i;7369:167::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7369:167:0;;;;;;;;:::i;5383:22::-;;;:::i;8789:110::-;;;;;;;;;;;;;;;;-1:-1:-1;8789:110:0;-1:-1:-1;;;;;8789:110:0;;:::i;7544:143::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7544:143:0;;;;;;;;;;:::i;13682:140::-;;;:::i;11080:332::-;;;;;;;;;;;;;;;;-1:-1:-1;11080:332:0;-1:-1:-1;;;;;11080:332:0;;:::i;4308:244::-;;;;;;;;;;;;;;;;-1:-1:-1;4308:244:0;-1:-1:-1;;;;;4308:244:0;;:::i;11420:478::-;;;;;;;;;;;;;;;;-1:-1:-1;11420:478:0;-1:-1:-1;;;;;11420:478:0;;:::i;12251:117::-;;;;;;;;;;;;;;;;-1:-1:-1;12251:117:0;;:::i;9006:111::-;9093:15;;-1:-1:-1;;;;;9093:15:0;9006:111;:::o;9987:378::-;10039:14;10056:12;:10;:12::i;:::-;-1:-1:-1;;;;;10088:19:0;;;;;;:11;:19;;;;;;10039:29;;-1:-1:-1;10088:19:0;;10087:20;10079:77;;;;-1:-1:-1;;;10079:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10168:15;10193:19;10204:7;10193:10;:19::i;:::-;-1:-1:-1;;;;;;;;10241:15:0;;;;;;:7;:15;;;;;;10167:45;;-1:-1:-1;10241:28:0;;:15;-1:-1:-1;10167:45:0;;-1:-1:-1;;10241:19:0;:28::i;:::-;-1:-1:-1;;;;;10223:15:0;;;;;;:7;:15;;;;;:46;10290:7;;:20;;10302:7;10290:11;:20::i;:::-;10280:7;:30;10334:10;;:23;;10349:7;10334:14;:23::i;:::-;10321:10;:36;-1:-1:-1;;;9987:378:0:o;6783:83::-;6853:5;6846:12;;;;;;;;-1:-1:-1;;6846:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6820:13;;6846:12;;6853:5;;6846:12;;6853:5;6846:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6783:83;:::o;7695:161::-;7770:4;7787:39;7796:12;:10;:12::i;:::-;7810:7;7819:6;7787:8;:39::i;:::-;-1:-1:-1;7844:4:0;7695:161;;;;;:::o;8907:87::-;8976:10;;8907:87;:::o;9129:146::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;9213:15:::1;:54:::0;;-1:-1:-1;;;;;;9213:54:0::1;-1:-1:-1::0;;;;;9213:54:0;;;::::1;::::0;;;::::1;::::0;;9129:146::o;7060:95::-;7140:7;;7060:95;:::o;9287:106::-;9371:13;;-1:-1:-1;;;;;9371:13:0;9287:106;:::o;7864:313::-;7962:4;7979:36;7989:6;7997:9;8008:6;7979:9;:36::i;:::-;8026:121;8035:6;8043:12;:10;:12::i;:::-;8057:89;8095:6;8057:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8057:19:0;;;;;;:11;:19;;;;;;8077:12;:10;:12::i;:::-;-1:-1:-1;;;;;8057:33:0;;;;;;;;;;;;-1:-1:-1;8057:33:0;;;:89;:37;:89::i;:::-;8026:8;:121::i;:::-;-1:-1:-1;8165:4:0;7864:313;;;;;:::o;10819:253::-;10885:7;10924;;10913;:18;;10905:73;;;;-1:-1:-1;;;10905:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:19;11012:10;:8;:10::i;:::-;10989:33;-1:-1:-1;11040:24:0;:7;10989:33;11040:11;:24::i;:::-;11033:31;;;10819:253;;;;:::o;6969:83::-;7035:9;;;;6969:83;:::o;8185:218::-;8273:4;8290:83;8299:12;:10;:12::i;:::-;8313:7;8322:50;8361:10;8322:11;:25;8334:12;:10;:12::i;:::-;-1:-1:-1;;;;;8322:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;8322:25:0;;;:34;;;;;;;;;;;:38;:50::i;9572:407::-;9623:19;9646:10;:8;:10::i;:::-;9623:33;-1:-1:-1;9667:15:0;9685:24;:7;9623:33;9685:11;:24::i;:::-;9787:7;;9667:42;;-1:-1:-1;9787:20:0;;9799:7;9787:11;:20::i;:::-;9777:7;:30;9890:7;;:20;;9902:7;9890:11;:20::i;:::-;9880:7;:30;9959:1;9937:12;:10;:12::i;:::-;-1:-1:-1;;;;;9928:43:0;-1:-1:-1;;;;;;;;;;;9963:7:0;9928:43;;;;;;;;;;;;;;;;;;9572:407;;;:::o;10373:438::-;10463:7;10502;;10491;:18;;10483:62;;;;;-1:-1:-1;;;10483:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10561:17;10556:248;;10596:15;10621:19;10632:7;10621:10;:19::i;:::-;-1:-1:-1;10595:45:0;;-1:-1:-1;10655:14:0;;-1:-1:-1;;;;;;10655:14:0;10556:248;10704:23;10736:19;10747:7;10736:10;:19::i;:::-;-1:-1:-1;10702:53:0;;-1:-1:-1;10770:22:0;;-1:-1:-1;;;;;;10770:22:0;7163:198;-1:-1:-1;;;;;7253:20:0;;7229:7;7253:20;;;:11;:20;;;;;;;;7249:49;;;-1:-1:-1;;;;;;7282:16:0;;;;;;:7;:16;;;;;;7275:23;;7249:49;-1:-1:-1;;;;;7336:16:0;;;;;;:7;:16;;;;;;7316:37;;:19;:37::i;4005:148::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;4112:1:::1;4096:6:::0;;4075:40:::1;::::0;-1:-1:-1;;;;;4096:6:0;;::::1;::::0;4075:40:::1;::::0;4112:1;;4075:40:::1;4143:1;4126:19:::0;;-1:-1:-1;;;;;;4126:19:0::1;::::0;;4005:148::o;3354:87::-;3400:7;3427:6;-1:-1:-1;;;;;3427:6:0;3354:87;:::o;8692:89::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;8757:7:::1;:16:::0;;-1:-1:-1;;;;;;8757:16:0::1;-1:-1:-1::0;;;;;8757:16:0;;;::::1;::::0;;;::::1;::::0;;8692:89::o;22715:162::-;22755:7;22776:15;22793;22812:19;:17;:19::i;:::-;22775:56;;-1:-1:-1;22775:56:0;-1:-1:-1;22849:20:0;22775:56;;22849:11;:20::i;:::-;22842:27;;;;22715:162;:::o;6874:87::-;6946:7;6939:14;;;;;;;-1:-1:-1;;6939:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6913:13;;6939:14;;6946:7;;6939:14;;6946:7;6939:14;;;;;;;;;;;;;;;;;;;;;;;;22885:560;22981:7;;23017;;22934;;;;;23041:289;23065:9;:16;23061:20;;23041:289;;;23131:7;23107;:21;23115:9;23125:1;23115:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23115:12:0;23107:21;;;;;;;;;;;;;:31;;:66;;;23166:7;23142;:21;23150:9;23160:1;23150:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23150:12:0;23142:21;;;;;;;;;;;;;:31;23107:66;23103:97;;;23183:7;;23192;;23175:25;;;;;;;;;23103:97;23225:34;23237:7;:21;23245:9;23255:1;23245:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23245:12:0;23237:21;;;;;;;;;;;;;23225:7;;:11;:34::i;:::-;23215:44;;23284:34;23296:7;:21;23304:9;23314:1;23304:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23304:12:0;23296:21;;;;;;;;;;;;;23284:7;;:11;:34::i;:::-;23274:44;-1:-1:-1;23083:3:0;;23041:289;;;-1:-1:-1;23366:7:0;;23354;;:20;;:11;:20::i;:::-;23344:7;:30;23340:61;;;23384:7;;23393;;23376:25;;;;;;;;23340:61;23420:7;;-1:-1:-1;23429:7:0;-1:-1:-1;22885:560:0;;;:::o;9405:98::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;9475:13:::1;:20:::0;;-1:-1:-1;;;;;;9475:20:0::1;-1:-1:-1::0;;;;;9475:20:0;;;::::1;::::0;;;::::1;::::0;;9405:98::o;8411:269::-;8504:4;8521:129;8530:12;:10;:12::i;:::-;8544:7;8553:96;8592:15;8553:96;;;;;;;;;;;;;;;;;:11;:25;8565:12;:10;:12::i;:::-;-1:-1:-1;;;;;8553:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;8553:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;7369:167::-;7447:4;7464:42;7474:12;:10;:12::i;:::-;7488:9;7499:6;7464:9;:42::i;5383:22::-;;;-1:-1:-1;;;;;5383:22:0;;:::o;8789:110::-;-1:-1:-1;;;;;8871:20:0;8847:4;8871:20;;;:11;:20;;;;;;;;;8789:110::o;7544:143::-;-1:-1:-1;;;;;7652:18:0;;;7625:7;7652:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7544:143::o;13682:140::-;13768:7;;13725;;13762:3;:13;13795:19;13762:13;13795:9;:19::i;:::-;13788:26;;;;;13682:140;:::o;11080:332::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11162:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11161:21;11153:61;;;::::0;;-1:-1:-1;;;11153:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11228:16:0;::::1;11247:1;11228:16:::0;;;:7:::1;:16;::::0;;;;;:20;11225:108:::1;;-1:-1:-1::0;;;;;11304:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;11284:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;11265:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;11225:108:::1;-1:-1:-1::0;;;;;11343:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;11343:27:0::1;11366:4;11343:27:::0;;::::1;::::0;;;11381:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;11381:23:0::1;::::0;;::::1;::::0;;11080:332::o;4308:244::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4397:22:0;::::1;4389:73;;;;-1:-1:-1::0;;;4389:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4499:6;::::0;;4478:38:::1;::::0;-1:-1:-1;;;;;4478:38:0;;::::1;::::0;4499:6;::::1;::::0;4478:38:::1;::::0;::::1;4527:6;:17:::0;;-1:-1:-1;;;;;;4527:17:0::1;-1:-1:-1::0;;;;;4527:17:0;;;::::1;::::0;;;::::1;::::0;;4308:244::o;11420:478::-;3585:12;:10;:12::i;:::-;-1:-1:-1;;;;;3574:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3574:23:0;;3566:68;;;;;-1:-1:-1;;;3566:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3566:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11501:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11493:60;;;::::0;;-1:-1:-1;;;11493:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11569:9;11564:327;11588:9;:16:::0;11584:20;::::1;11564:327;;;11646:7;-1:-1:-1::0;;;;;11630:23:0::1;:9;11640:1;11630:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;11630:12:0::1;:23;11626:254;;;11689:9;11699:16:::0;;-1:-1:-1;;11699:20:0;;;11689:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;11674:9:::1;:12:::0;;-1:-1:-1;;;;;11689:31:0;;::::1;::::0;11684:1;;11674:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;11674:46:0::1;-1:-1:-1::0;;;;;11674:46:0;;::::1;;::::0;;11739:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;11778:11:::1;:20:::0;;;;:28;;-1:-1:-1;;11778:28:0::1;::::0;;11825:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;11825:15:0;;;;;-1:-1:-1;;;;;;11825:15:0::1;::::0;;;;;11859:5:::1;;11626:254;11606:3;;11564:327;;;;11420:478:::0;:::o;12251:117::-;12357:2;12339:14;;;;12338:21;;12251:117::o;2043:116::-;2094:4;2114:39;2118:1;2121;2114:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2107:46;2043:116;-1:-1:-1;;;2043:116:0:o;1826:211::-;1877:4;1894:6;1890:39;;-1:-1:-1;1920:1:0;1913:8;;1890:39;1946:5;;;1950:1;1946;:5;:1;1966:5;;;;;:10;1958:56;;;;-1:-1:-1;;;1958:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1529:120;1580:4;1600:43;1604:1;1607;1600:43;;;;;;;;;;;;;;;;;:3;:43::i;1249:91::-;1324:10;1249:91;:::o;21106:558::-;21165:7;21174;21183;21192;21201;21210;21219;21240:23;21265:12;21279:15;21296:18;21318:20;21330:7;21318:11;:20::i;:::-;21239:99;;;;;;;;21351:19;21374:10;:8;:10::i;:::-;21351:33;-1:-1:-1;21414:7:0;21397:14;;;21493:59;21414:7;21513:4;21519:7;21528:10;21351:33;21493:11;:59::i;:::-;21434:118;;;;;;21581:7;21590:15;21607:4;21613:7;21622:10;21634:15;21651:4;21573:83;;;;;;;;;;;;;;;;;;;;;;;21106:558;;;;;;;;;:::o;1369:154::-;1420:4;1442:5;;;1462:6;;;;1454:46;;;;;-1:-1:-1;;;1454:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11906:337;-1:-1:-1;;;;;11999:19:0;;11991:68;;;;-1:-1:-1;;;11991:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12078:21:0;;12070:68;;;;-1:-1:-1;;;12070:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12151:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12203:32;;;;;;;;;;;;;;;;;11906:337;;;:::o;13830:641::-;-1:-1:-1;;;;;13928:20:0;;13920:70;;;;-1:-1:-1;;;13920:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14009:23:0;;14001:71;;;;-1:-1:-1;;;14001:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14100:1;14091:6;:10;14083:64;;;;-1:-1:-1;;;14083:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14230:13;;14184:4;;-1:-1:-1;;;;;14217:26:0;;;14230:13;;14217:26;:53;;;;-1:-1:-1;;;;;;14247:23:0;;14265:4;14247:23;14217:53;14216:90;;;-1:-1:-1;14299:7:0;;-1:-1:-1;;;;;14289:17:0;;;14299:7;;14289:17;14216:90;:127;;;-1:-1:-1;14336:7:0;;-1:-1:-1;;;;;14323:20:0;;;14336:7;;14323:20;14216:127;14199:197;;;-1:-1:-1;14379:5:0;14199:197;14416:47;14432:6;14439:9;14449:6;14456;14416:15;:47::i;:::-;13830:641;;;;:::o;1655:165::-;1734:4;1763:12;1755:6;;;;1747:29;;;;-1:-1:-1;;;1747:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1792:5:0;;;1655:165::o;2165:227::-;2244:4;2335:12;2328:5;2320:28;;;;-1:-1:-1;;;2320:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2355:6;2368:1;2364;:5;;;;;;;2165:227;-1:-1:-1;;;;;2165:227:0:o;21672:501::-;21732:7;;;;;21794:23;21815:1;21794:16;:7;21806:3;21794:11;:16::i;:::-;:20;;:23::i;:::-;21779:38;-1:-1:-1;21868:15:0;21886:23;21907:1;21886:16;:7;21898:3;21886:11;:16::i;:23::-;21868:41;-1:-1:-1;21940:18:0;21961:23;21982:1;21961:16;:7;21973:3;21961:11;:16::i;:23::-;21940:44;-1:-1:-1;22029:23:0;22055:46;21940:44;22055:30;22077:7;22055:30;:7;22067:4;22055:11;:17::i;:::-;:21;;:30::i;:46::-;22029:72;22139:4;;-1:-1:-1;22145:7:0;;-1:-1:-1;22145:7:0;-1:-1:-1;21672:501:0;;-1:-1:-1;;;21672:501:0:o;22181:526::-;22313:7;;;;22369:24;:7;22381:11;22369;:24::i;:::-;22351:42;-1:-1:-1;22404:12:0;22419:21;:4;22428:11;22419:8;:21::i;:::-;22404:36;-1:-1:-1;22451:16:0;22470:24;:7;22482:11;22470;:24::i;:::-;22451:43;-1:-1:-1;22505:19:0;22527:27;:10;22542:11;22527:14;:27::i;:::-;22505:49;-1:-1:-1;22575:23:0;22601:48;22505:49;22601:31;22623:8;22601:31;:7;22613:4;22601:11;:17::i;:48::-;22668:7;;;;-1:-1:-1;22694:4:0;;-1:-1:-1;22181:526:0;;-1:-1:-1;;;;;;;;;22181:526:0:o;14483:752::-;-1:-1:-1;;;;;14595:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;14619:22:0;;;;;;:11;:22;;;;;;;;14618:23;14595:46;14591:637;;;14658:56;14680:6;14688:9;14699:6;14707;14658:21;:56::i;:::-;14591:637;;;-1:-1:-1;;;;;14737:19:0;;;;;;:11;:19;;;;;;;;14736:20;:46;;;;-1:-1:-1;;;;;;14760:22:0;;;;;;:11;:22;;;;;;;;14736:46;14732:496;;;14799:54;14819:6;14827:9;14838:6;14846;14799:19;:54::i;14732:496::-;-1:-1:-1;;;;;14876:19:0;;;;;;:11;:19;;;;;;;;14875:20;:47;;;;-1:-1:-1;;;;;;14900:22:0;;;;;;:11;:22;;;;;;;;14899:23;14875:47;14871:357;;;14939:52;14957:6;14965:9;14976:6;14984;14939:17;:52::i;14871:357::-;-1:-1:-1;;;;;15013:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;15036:22:0;;;;;;:11;:22;;;;;;;;15013:45;15009:219;;;15075:56;15097:6;15105:9;15116:6;15124;15075:21;:56::i;15009:219::-;15164:52;15182:6;15190:9;15201:6;15209;15164:17;:52::i;18089:1351::-;18205:15;18222:23;18247:12;18261:15;18278:18;18298:23;18323:12;18339:19;18350:7;18339:10;:19::i;:::-;18204:154;;;;;;;;;;;;;;18389:28;18409:7;18389;:15;18397:6;-1:-1:-1;;;;;18389:15:0;-1:-1:-1;;;;;18389:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;18371:15:0;;;;;;:7;:15;;;;;;;;:46;;;;18448:7;:15;;;;:28;;18468:7;18448:19;:28::i;:::-;-1:-1:-1;;;;;18430:15:0;;;;;;:7;:15;;;;;:46;18500:15;18497:176;;-1:-1:-1;;;;;18553:18:0;;;;;;:7;:18;;;;;;:31;;18576:7;18553:22;:31::i;:::-;-1:-1:-1;;;;;18532:18:0;;;;;;;:7;:18;;;;;;;;;:52;;;;18606:34;;;;;;;18532:18;;18606:34;;;;-1:-1:-1;;;;;;;;;;;18606:34:0;;;;;;;;18655:7;;;;;;;;;18497:176;-1:-1:-1;;;;;18706:18:0;;;;;;:7;:18;;;;;;:39;;18729:15;18706:22;:39::i;:::-;-1:-1:-1;;;;;18685:18:0;;;;;;:7;:18;;;;;:60;;;;18785:10;:8;:10::i;:::-;18762:33;-1:-1:-1;18806:16:0;18825:24;:7;18762:33;18825:11;:24::i;:::-;18806:43;;18870:26;18885:10;18870:14;:26::i;:::-;18920:13;;-1:-1:-1;;;;;18910:23:0;;;18920:13;;18910:23;;;;:53;;-1:-1:-1;18950:13:0;;-1:-1:-1;;;;;18937:26:0;;;18950:13;;18937:26;;18910:53;18907:126;;;18979:42;18996:24;19014:4;18996:9;:24::i;:::-;18979:16;:42::i;:::-;19053:23;19065:4;19071;19053:11;:23::i;:::-;19099:7;;:20;;19111:7;19099:11;:20::i;:::-;19089:7;:30;19178:7;;:21;;19190:8;19178:11;:21::i;:::-;19168:7;:31;;;;19279:9;-1:-1:-1;;;;;19262:44:0;19271:6;-1:-1:-1;;;;;19262:44:0;-1:-1:-1;;;;;;;;;;;19290:15:0;19262:44;;;;;;;;;;;;;;;;;;19353:1;19331:12;:10;:12::i;:::-;-1:-1:-1;;;;;19322:43:0;-1:-1:-1;;;;;;;;;;;19357:7:0;19322:43;;;;;;;;;;;;;;;;;;19412:4;19390:12;:10;:12::i;:::-;-1:-1:-1;;;;;19381:49:0;-1:-1:-1;;;;;;;;;;;19419:10:0;19381:49;;;;;;;;;;;;;;;;;;18089:1351;;;;;;;;;;;;;:::o;16637:1444::-;16751:15;16768:23;16793:12;16807:15;16824:18;16844:23;16869:12;16885:19;16896:7;16885:10;:19::i;:::-;16750:154;;;;;;;;;;;;;;16935:28;16955:7;16935;:15;16943:6;-1:-1:-1;;;;;16935:15:0;-1:-1:-1;;;;;16935:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;16917:15:0;;;;;;:7;:15;;;;;:46;16988:15;16985:243;;-1:-1:-1;;;;;17041:18:0;;;;;;:7;:18;;;;;;:31;;17064:7;17041:22;:31::i;:::-;-1:-1:-1;;;;;17020:18:0;;;;;;:7;:18;;;;;;;;:52;;;;17108:7;:18;;;;:31;;17131:7;17108:22;:31::i;:::-;-1:-1:-1;;;;;17087:18:0;;;;;;;:7;:18;;;;;;;;;:52;;;;17161:34;;;;;;;17087:18;;17161:34;;;;-1:-1:-1;;;;;;;;;;;17161:34:0;;;;;;;;17210:7;;;;;;;;;16985:243;-1:-1:-1;;;;;17261:18:0;;;;;;:7;:18;;;;;;:39;;17284:15;17261:22;:39::i;:::-;-1:-1:-1;;;;;17240:18:0;;;;;;:7;:18;;;;;;;;:60;;;;17334:7;:18;;;;:39;;17357:15;17334:22;:39::i;15243:1386::-;15355:15;15372:23;15397:12;15411:15;15428:18;15448:23;15473:12;15489:19;15500:7;15489:10;:19::i;:::-;15354:154;;;;;;;;;;;;;;15543:28;15563:7;15543;:15;15551:6;-1:-1:-1;;;;;15543:15:0;-1:-1:-1;;;;;15543:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;15525:15:0;;;;;;:7;:15;;;;;:46;15587:15;15584:174;;-1:-1:-1;;;;;15640:18:0;;;;;;:7;:18;;;;;;:31;;15663:7;15640:22;:31::i;15584:174::-;-1:-1:-1;;;;;15799:18:0;;;;;;:7;:18;;;;;;:39;;15822:15;15799:22;:39::i;:::-;-1:-1:-1;;;;;15778:18:0;;;;;;:7;:18;;;;;:60;;;;15876:10;:8;:10::i;:::-;15853:33;-1:-1:-1;15897:16:0;15916:24;:7;15853:33;15916:11;:24::i;:::-;15897:43;;15953:26;15968:10;15953:14;:26::i;:::-;16003:13;;-1:-1:-1;;;;;15993:23:0;;;16003:13;;15993:23;;;;:53;;-1:-1:-1;16033:13:0;;-1:-1:-1;;;;;16020:26:0;;;16033:13;;16020:26;;15993:53;:91;;;;-1:-1:-1;16068:15:0;;-1:-1:-1;;;;;16050:34:0;;;16068:15;;16050:34;15990:165;;16101:42;16118:24;16136:4;16118:9;:24::i;19448:1495::-;19564:15;19581:23;19606:12;19620:15;19637:18;19657:23;19682:12;19698:19;19709:7;19698:10;:19::i;:::-;19563:154;;;;;;;;;;;;;;19748:28;19768:7;19748;:15;19756:6;-1:-1:-1;;;;;19748:15:0;-1:-1:-1;;;;;19748:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;19730:15:0;;;;;;:7;:15;;;;;;;;:46;;;;19807:7;:15;;;;:28;;19827:7;19807:19;:28::i;12380:365::-;12443:19;12466:10;:8;:10::i;:::-;12443:33;-1:-1:-1;12487:18:0;12508:27;:10;12443:33;12508:14;:27::i;:::-;12587:4;12571:22;;;;:7;:22;;;;;;12487:48;;-1:-1:-1;12571:38:0;;12487:48;12571:26;:38::i;:::-;12562:4;12546:22;;;;:7;:22;;;;;;;;:63;;;;12623:11;:26;;;;;;12620:107;;;12705:4;12689:22;;;;:7;:22;;;;;;:38;;12716:10;12689:26;:38::i;:::-;12680:4;12664:22;;;;:7;:22;;;;;:63;12620:107;12380:365;;;:::o;12757:779::-;12909:13;;-1:-1:-1;;;;;12909:13:0;12895:12;:10;:12::i;:::-;-1:-1:-1;;;;;12895:27:0;;12892:73;;;12943:7;;12892:73;13003:16;;;13017:1;13003:16;;;12979:21;13003:16;;;;;12979:21;13003:16;;;;;;;;;;-1:-1:-1;13003:16:0;12979:40;;13052:4;13034;13039:1;13034:7;;;;;;;;-1:-1:-1;;;;;13034:23:0;;;:7;;;;;;;;;;:23;;;;13082:15;;:22;;;-1:-1:-1;;;13082:22:0;;;;:15;;;;;:20;;:22;;;;;13034:7;;13082:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13082:22:0;13072:7;;:4;;13077:1;;13072:7;;;;;;-1:-1:-1;;;;;13072:32:0;;;:7;;;;;;;;;:32;13153:15;;13121:62;;13138:4;;13153:15;13171:11;13121:8;:62::i;:::-;13252:15;;13438:14;;13252:249;;-1:-1:-1;;;13252:249:0;;;;;;;;:15;:249;;;;;;-1:-1:-1;;;;;13438:14:0;;;13252:249;;;;;;13471:15;13252:249;;;;;;;;;;;;;;;;;;;;;:15;;;;;:66;;13337:11;;13252:15;;13415:4;;13252:249;;;;;;;;;;;;;;;;;:15;:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13230:295;;;;12757:779;;:::o;20951:147::-;21029:7;;:17;;21041:4;21029:11;:17::i;:::-;21019:7;:27;21070:10;;:20;;21085:4;21070:14;:20::i;:::-;21057:10;:33;-1:-1:-1;;20951:147:0:o

Swarm Source

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