ETH Price: $2,605.42 (+0.20%)
Gas: 1 Gwei

Token

XVerse (XV)
 

Overview

Max Total Supply

1,000,000,000,000 XV

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,601,073,880.095569666 XV

Value
$0.00
0x4000cda7eda26b21b39f7d21f94fc12da490e6a6
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
XVerse

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-29
*/

/*
https://t.me/xversecommunity

https://xverse.zone/

https://twitter.com/xversecommunity

$XV - Unleash the power of reflections & rewards.
*/

pragma solidity ^0.8.19; 

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

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

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

}

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract XVerse is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "XVerse";
    string private constant _symbol = "XV";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _ignoreFee;
    mapping(address => bool) private _ignoreRfi;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFeeOnBuy = 20;
    uint256 private _taxFeeOnSell = 40;

    address[] private _ignored;

    //Original Fee
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previoustaxFee = _taxFee;

    mapping (address => uint256) public _buyMap;
    address payable private _mwAddress = payable(0xf54AeB194c8AA02041Ef24Bd8c9dEd83187c7Cdd);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool public farmTaxes = true;
    bool private limitsInEffect = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public totalRef;
    uint256 public totalMw;
    uint256 public totalRewards;
    uint256 public _maxTxAmount = 20000000000 * 10**9;
    uint256 public _maxWalletSize = 20000000000 * 10**9;
    uint256 public _swapTokensAtAmount = 1000000000 * 10**9;
    uint256 public _minimBuy = 300000 * 10**9;

    address public _lastBuyer = address(0);

    uint256 public lastTFee = 0;
    uint256 public lastRTotal = 0;
    uint256 public lastRTax = 0;
    bool public inHouse = false;
    bool public isSell = false;
    bool public inHouseSecond = false;

    struct Percentages {
      uint256 teamAndRewards;
      uint256 rfi;
    }
 
    Percentages public valuePercentages = Percentages(66,33);

    struct valuesGet{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rFee;
      uint256 rTeam;
      uint256 tTransferAmount;
      uint256 tFee;
      uint256 tTeam;
    }

    valuesGet public valuesPublic = valuesGet(0,0,0,0,0,0,0);

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _ignoreFee[owner()] = true;
        _ignoreFee[address(this)] = true;
        _ignoreFee[_mwAddress] = true;


        excludeFromReward(uniswapV2Pair);

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        if (_ignoreRfi[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function excludeFromReward(address account) public onlyOwner {
        require(!_ignoreRfi[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _ignoreRfi[account] = true;
        _ignored.push(account);
    }

    function _reflectRef(uint256 rR, uint256 tR) private {
        _rTotal -=rR;
        totalRef +=tR;
        lastRTotal = _rTotal;
    }

    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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        bool takeFee = false;

        if (!_ignoreFee[from] && !_ignoreFee[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if(limitsInEffect) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

                if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                }
            }

            takeFee = true;

            //Lower sell tax if it is a min buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                if(amount > _minimBuy && !farmTaxes) {
                    _lastBuyer = to;
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_ignoreFee[from] && !_ignoreFee[to]) {
                _swapBack();
            }
        }

        //Don't take fees on transfer
        if ((_ignoreFee[from] || _ignoreFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

        function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {

        bool isBuy = false;
        if(sender == uniswapV2Pair && recipient != address(uniswapV2Router)) {
            isBuy = true;
            isSell = false;
        }
        valuesGet memory values = _getValues(tAmount, takeFee, isBuy);
        valuesPublic = values;

        // if it's a sell
        // we remember for rewards
        if(!isBuy && takeFee && !farmTaxes) {
            isSell = true;
        }

        if (_ignoreRfi[sender] ) {
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_ignoreRfi[recipient]) {
                _tOwned[recipient] = _tOwned[recipient] + values.tTransferAmount;
        }
        _rOwned[sender] = _rOwned[sender].sub(values.rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(values.rTransferAmount);
        if(values.rTeam > 0 || values.tTeam > 0) {
            _takeTeam(values.rTeam, values.tTeam);
            inHouseSecond = true;
        }
        if(values.rFee > 0 || values.tFee > 0) {
            inHouse = true;
            _reflectRef(values.rFee, values.tFee);
        }
        emit Transfer(sender, recipient, values.tTransferAmount);
        emit Transfer(sender, address(this), values.tTeam);
        if(isSell && !farmTaxes) {
            sendRewards(tAmount);
        }
    }

    function sendRewards(uint256 tAmount) private {
        address lastBuyer = _lastBuyer;
        uint256 contractTokenBalance = balanceOf(address(this)).div(5);
        uint256 tokenForLastBuyer = tAmount.div(100);
        if(tokenForLastBuyer > contractTokenBalance) {
            tokenForLastBuyer = contractTokenBalance;
        }
        if(lastBuyer != address(0)) {
                emit Transfer(address(this), lastBuyer, tokenForLastBuyer);
                totalRewards += tokenForLastBuyer;
        }
    }

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

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

    function stopFarming() public onlyOwner {
        farmTaxes = false;
        _taxFeeOnSell = 5;
        _taxFeeOnBuy = 5;
    }

    function removeLimits() public onlyOwner {
        limitsInEffect = false;
    }

    function manualswap() external {
        require(_msgSender() == _mwAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _mwAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _takeTeam(uint256 rTeam, uint256 tTeam) private {
        if(_ignoreRfi[address(this)]) {
            _tOwned[address(this)].add(tTeam);
        }
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
        totalMw += tTeam;
    }

    receive() external payable {}

    function _getValues(uint256 tAmount, bool takeFee, bool isBuy)
        private
        view
        returns (valuesGet memory values)
    {
        values = _getTValues(tAmount, takeFee, isBuy);
        uint256 currentRate = _getRate();
        (values.rAmount, values.rTransferAmount, values.rFee, values.rTeam) =
            _getRValues(tAmount, currentRate, takeFee, values);
        return values;
    }

    function _getTValues(
        uint256 tAmount,
        bool takeFee,
        bool isBuy
    )
        private
        view
        returns (valuesGet memory values)
    {
        if(!takeFee) {
            values.tTransferAmount = tAmount;
        } else{
            uint256 tax = 0;
            uint256 rTax = 0;
            uint256 swapTax = 0;
            if (isBuy) {
                tax = _taxFeeOnBuy;
            } else {
                tax = _taxFeeOnSell;
            }
            if(farmTaxes) {
                rTax = 0;
                swapTax = tax.mul(100);
            } else {
                rTax = tax.mul(valuePercentages.rfi);
                swapTax = tax.mul(100 - valuePercentages.rfi);
                if(rTax == 0) {
                    rTax = swapTax.div(2);
                }
            }
            values.tFee = tAmount.mul(rTax).div(10000);
            values.tTeam = tAmount.mul(swapTax).div(10000);
            values.tTransferAmount = tAmount.sub(values.tFee).sub(values.tTeam);
        }
        return values;
    }

    function _getRValues(
        uint256 tAmount,
        uint256 currentRate,
        bool takeFee,
        valuesGet memory values
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        if(!takeFee) {
          return(rAmount, rAmount, 0,0);
        }
        uint256 rFee = values.tFee.mul(currentRate);
        uint256 rTeam = values.tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee, rTeam);
    }

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

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

    function setFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
    function _swapBack() private lockTheSwap {

        uint256 amountToSwap = _swapTokensAtAmount * valuePercentages.teamAndRewards / 100;

        swapTokensForEth(amountToSwap);

        uint256 amountETH = address(this).balance;

        // send
        (bool tmpSuccess,) = payable(_mwAddress).call{value: amountETH}("");
    }

    function viewSellTax() public view returns (uint256) {
        return _taxFeeOnSell;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastBuyer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minimBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"farmTaxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inHouse","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inHouseSecond","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopFarming","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalMw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRef","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"valuePercentages","outputs":[{"internalType":"uint256","name":"teamAndRewards","type":"uint256"},{"internalType":"uint256","name":"rfi","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"valuesPublic","outputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"},{"internalType":"uint256","name":"rTransferAmount","type":"uint256"},{"internalType":"uint256","name":"rFee","type":"uint256"},{"internalType":"uint256","name":"rTeam","type":"uint256"},{"internalType":"uint256","name":"tTransferAmount","type":"uint256"},{"internalType":"uint256","name":"tFee","type":"uint256"},{"internalType":"uint256","name":"tTeam","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea000006000196200086e565b62000029906000196200089b565b60075560146009556028600a819055600c819055600d55600f805473f54aeb194c8aa02041ef24bd8c9ded83187c7cdd6001600160a01b0319918216179091556011805464ffffffffff60a01b191664010001010160a01b1790556801158e460913d000006015819055601655670de0b6b3a7640000601755660110d9316ec0006018556019805490911690556000601a819055601b819055601c819055601d805462ffffff19169055604080518082018252604280825260216020928301819052601e91909155601f819055825160e081018452848152808301859052928301849052606083018490526080830184905260a0830184905260c090920183905282905581905560228190556023819055602481905560258190556026553480156200015457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620008b1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000286573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ac9190620008b1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003209190620008b1565b601180546001600160a01b0319166001600160a01b03928316178155600080548316815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600f54861684529190922080549091169091179055546200038e9116620003d6565b604051683635c9adc5dea00000815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35062000975565b6000546001600160a01b03163314620004365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615620004a15760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016200042d565b6001600160a01b03811660009081526002602052604090205415620004fe576001600160a01b038116600090815260026020526040902054620004e49062000564565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600660205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000600754821115620005cd5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016200042d565b6000620005d9620005ee565b9050620005e7838262000614565b9392505050565b60008080620005fc62000667565b90925090506200060d828262000614565b9250505090565b60006200065e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200081c60201b60201c565b90505b92915050565b6007546000908190683635c9adc5dea00000825b600b54811015620007dc578260026000600b8481548110620006a157620006a1620008dc565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200071057508160036000600b8481548110620006e957620006e9620008dc565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200072d57505060075493683635c9adc5dea000009350915050565b60026000600b8381548110620007475762000747620008dc565b60009182526020808320909101546001600160a01b031683528201929092526040019020546200077890846200089b565b925060036000600b8381548110620007945762000794620008dc565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007c590836200089b565b915080620007d381620008f2565b9150506200067b565b50600754620007f590683635c9adc5dea0000062000614565b8210156200081357505060075492683635c9adc5dea0000092509050565b90939092509050565b60008183620008405760405162461bcd60e51b81526004016200042d91906200090e565b5060006200084f84866200095e565b95945050505050565b634e487b7160e01b600052601260045260246000fd5b60008262000880576200088062000858565b500690565b634e487b7160e01b600052601160045260246000fd5b8181038181111562000661576200066162000885565b600060208284031215620008c457600080fd5b81516001600160a01b0381168114620005e757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001820162000907576200090762000885565b5060010190565b600060208083528351808285015260005b818110156200093d578581018301518582016040015282016200091f565b506000604082860101526040601f19601f8301168501019250505092915050565b60008262000970576200097062000858565b500490565b6123b980620009856000396000f3fe6080604052600436106102605760003560e01c8063751039fc11610144578063a761e6c8116100b6578063cbd9edbb1161007a578063cbd9edbb14610724578063d3024def14610744578063d8a42f2c14610765578063dd62ed3e1461077b578063ea1644d5146107c1578063f2fde38b146107e157600080fd5b8063a761e6c8146106a3578063a9059cbb146106b9578063ade938b4146106d9578063c3c8cd80146106ef578063c524edce1461070457600080fd5b80637f2feddc116101085780637f2feddc146105e15780638da5cb5b1461060e5780638f9a55c01461062c57806395d89b411461064257806398a5c3151461066d578063a5b6b6731461068d57600080fd5b8063751039fc14610522578063766724f9146105375780637d1db4a51461059b5780637eccfa93146105b15780637ecdf65f146105c757600080fd5b8063313ce567116101dd578063635bd463116101a1578063635bd463146104835780636d8aa8f8146104985780636fc3eaec146104b857806370a08231146104cd578063715018a6146104ed57806374010ece1461050257600080fd5b8063313ce567146103f157806349bd5a5e1461040d57806352390c021461042d57806352f7c9881461044d5780635fd8fd581461046d57600080fd5b80631694505e116102245780631694505e1461035057806318160ddd146103885780631bfa4c04146103a457806323b872dd146103bb5780632fd689e3146103db57600080fd5b806306fdde031461026c578063095ea7b3146102ad5780630c570c86146102dd5780630ce95f5d146102fc5780630e15561a1461032c57600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5060408051808201909152600681526558566572736560d01b60208201525b6040516102a49190612071565b60405180910390f35b3480156102b957600080fd5b506102cd6102c83660046120d4565b610801565b60405190151581526020016102a4565b3480156102e957600080fd5b50601d546102cd90610100900460ff1681565b34801561030857600080fd5b50601e54601f54610317919082565b604080519283526020830191909152016102a4565b34801561033857600080fd5b5061034260145481565b6040519081526020016102a4565b34801561035c57600080fd5b50601054610370906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b34801561039457600080fd5b50683635c9adc5dea00000610342565b3480156103b057600080fd5b506103b9610818565b005b3480156103c757600080fd5b506102cd6103d6366004612100565b610864565b3480156103e757600080fd5b5061034260175481565b3480156103fd57600080fd5b50604051600981526020016102a4565b34801561041957600080fd5b50601154610370906001600160a01b031681565b34801561043957600080fd5b506103b9610448366004612141565b6108ce565b34801561045957600080fd5b506103b961046836600461215e565b610a21565b34801561047957600080fd5b5061034260185481565b34801561048f57600080fd5b50600a54610342565b3480156104a457600080fd5b506103b96104b3366004612180565b610a56565b3480156104c457600080fd5b506103b9610a9e565b3480156104d957600080fd5b506103426104e8366004612141565b610acb565b3480156104f957600080fd5b506103b9610b2a565b34801561050e57600080fd5b506103b961051d3660046121a2565b610b9e565b34801561052e57600080fd5b506103b9610bcd565b34801561054357600080fd5b506020546021546022546023546024546025546026546105669695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102a4565b3480156105a757600080fd5b5061034260155481565b3480156105bd57600080fd5b5061034260125481565b3480156105d357600080fd5b50601d546102cd9060ff1681565b3480156105ed57600080fd5b506103426105fc366004612141565b600e6020526000908152604090205481565b34801561061a57600080fd5b506000546001600160a01b0316610370565b34801561063857600080fd5b5061034260165481565b34801561064e57600080fd5b506040805180820190915260028152612c2b60f11b6020820152610297565b34801561067957600080fd5b506103b96106883660046121a2565b610c06565b34801561069957600080fd5b50610342601a5481565b3480156106af57600080fd5b50610342601c5481565b3480156106c557600080fd5b506102cd6106d43660046120d4565b610c35565b3480156106e557600080fd5b5061034260135481565b3480156106fb57600080fd5b506103b9610c42565b34801561071057600080fd5b50601d546102cd9062010000900460ff1681565b34801561073057600080fd5b50601954610370906001600160a01b031681565b34801561075057600080fd5b506011546102cd90600160a81b900460ff1681565b34801561077157600080fd5b50610342601b5481565b34801561078757600080fd5b506103426107963660046121bb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156107cd57600080fd5b506103b96107dc3660046121a2565b610c78565b3480156107ed57600080fd5b506103b96107fc366004612141565b610ca7565b600061080e338484610d91565b5060015b92915050565b6000546001600160a01b0316331461084b5760405162461bcd60e51b8152600401610842906121f4565b60405180910390fd5b6011805460ff60a81b191690556005600a819055600955565b6000610871848484610eb5565b6108c384336108be8560405180606001604052806028815260200161235c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611352565b610d91565b5060015b9392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b8152600401610842906121f4565b6001600160a01b03811660009081526006602052604090205460ff16156109615760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610842565b6001600160a01b038116600090815260026020526040902054156109bb576001600160a01b0381166000908152600260205260409020546109a19061138c565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600660205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b8152600401610842906121f4565b600991909155600a55565b6000546001600160a01b03163314610a805760405162461bcd60e51b8152600401610842906121f4565b60118054911515600160c01b0260ff60c01b19909216919091179055565b600f546001600160a01b0316336001600160a01b031614610abe57600080fd5b47610ac881611409565b50565b6001600160a01b03811660009081526006602052604081205460ff1615610b0857506001600160a01b031660009081526003602052604090205490565b6001600160a01b0382166000908152600260205260409020546108129061138c565b6000546001600160a01b03163314610b545760405162461bcd60e51b8152600401610842906121f4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bc85760405162461bcd60e51b8152600401610842906121f4565b601555565b6000546001600160a01b03163314610bf75760405162461bcd60e51b8152600401610842906121f4565b6011805460ff60b01b19169055565b6000546001600160a01b03163314610c305760405162461bcd60e51b8152600401610842906121f4565b601755565b600061080e338484610eb5565b600f546001600160a01b0316336001600160a01b031614610c6257600080fd5b6000610c6d30610acb565b9050610ac881611447565b6000546001600160a01b03163314610ca25760405162461bcd60e51b8152600401610842906121f4565b601655565b6000546001600160a01b03163314610cd15760405162461bcd60e51b8152600401610842906121f4565b6001600160a01b038116610d365760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610842565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610df35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610842565b6001600160a01b038216610e545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610842565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610842565b6001600160a01b038216610f7b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610842565b60008111610fdd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610842565b6001600160a01b03831660009081526005602052604081205460ff1615801561101f57506001600160a01b03831660009081526005602052604090205460ff16155b156112c657601154600160a01b900460ff166110b8576000546001600160a01b038581169116146110b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610842565b601154600160b01b900460ff16156111a15760155482111561111c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610842565b6011546001600160a01b038481169116146111a1576016548261113e85610acb565b611148919061223f565b106111a15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610842565b506011546001906001600160a01b0385811691161480156111d057506010546001600160a01b03848116911614155b1561121157601854821180156111f05750601154600160a81b900460ff16155b1561121157601980546001600160a01b0319166001600160a01b0385161790555b600061121c30610acb565b6017549091508110801590819061123d5750601154600160b81b900460ff16155b801561125757506011546001600160a01b03878116911614155b801561126c5750601154600160c01b900460ff165b801561129157506001600160a01b03861660009081526005602052604090205460ff16155b80156112b657506001600160a01b03851660009081526005602052604090205460ff16155b156112c3576112c36115c1565b50505b6001600160a01b03841660009081526005602052604090205460ff168061130557506001600160a01b03831660009081526005602052604090205460ff165b8061133757506011546001600160a01b0385811691161480159061133757506011546001600160a01b03848116911614155b15611340575060005b61134c84848484611650565b50505050565b600081848411156113765760405162461bcd60e51b81526004016108429190612071565b5060006113838486612252565b95945050505050565b60006007548211156113f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610842565b60006113fd611996565b90506108c783826119b9565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611443573d6000803e3d6000fd5b5050565b6011805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061148f5761148f612265565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150c919061227b565b8160018151811061151f5761151f612265565b6001600160a01b0392831660209182029290920101526010546115459130911684610d91565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061157e908590600090869030904290600401612298565b600060405180830381600087803b15801561159857600080fd5b505af11580156115ac573d6000803e3d6000fd5b50506011805460ff60b81b1916905550505050565b6011805460ff60b81b1916600160b81b179055601e546017546000916064916115ea9190612309565b6115f49190612320565b90506115ff81611447565b600f5460405147916000916001600160a01b039091169083908381818185875af1925050503d80600081146115ac576040519150601f19603f3d011682016040523d82523d6000602084013e6115ac565b6011546000906001600160a01b03868116911614801561167e57506010546001600160a01b03858116911614155b156116925750601d805461ff001916905560015b600061169f8484846119fb565b8051602090815581015160215560408101516022556060810151602355608081015160245560a081015160255560c08101516026559050811580156116e15750825b80156116f75750601154600160a81b900460ff16155b1561170c57601d805461ff0019166101001790555b6001600160a01b03861660009081526006602052604090205460ff161561176b576001600160a01b038616600090815260036020526040902054611751908590612252565b6001600160a01b0387166000908152600360205260409020555b6001600160a01b03851660009081526006602052604090205460ff16156117ce5760808101516001600160a01b0386166000908152600360205260409020546117b4919061223f565b6001600160a01b0386166000908152600360205260409020555b80516001600160a01b0387166000908152600260205260409020546117f291611a79565b6001600160a01b038088166000908152600260209081526040808320949094558401519188168152919091205461182891611abb565b6001600160a01b0386166000908152600260205260409020556060810151151580611857575060008160c00151115b156118805761186e81606001518260c00151611b1a565b601d805462ff00001916620100001790555b600081604001511180611897575060008160a00151115b156118bd57601d805460ff19166001179055604081015160a08201516118bd9190611b96565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836080015160405161190691815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161195791815260200190565b60405180910390a3601d54610100900460ff1680156119805750601154600160a81b900460ff16155b1561198e5761198e84611bd0565b505050505050565b60008060006119a3611c7a565b90925090506119b282826119b9565b9250505090565b60006108c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e16565b611a3b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b611a46848484611e44565b90506000611a52611996565b9050611a6085828685611f70565b6060860152604085015260208401528252509392505050565b60006108c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611352565b600080611ac8838561223f565b9050838110156108c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610842565b3060009081526006602052604090205460ff1615611b4e5730600090815260036020526040902054611b4c9082611abb565b505b30600090815260026020526040902054611b689083611abb565b3060009081526002602052604081209190915560138054839290611b8d90849061223f565b90915550505050565b8160076000828254611ba89190612252565b925050819055508060126000828254611bc1919061223f565b9091555050600754601b555050565b6019546001600160a01b03166000611bf26005611bec30610acb565b906119b9565b90506000611c018460646119b9565b905081811115611c0e5750805b6001600160a01b0383161561134c576040518181526001600160a01b0384169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a38060146000828254611c6f919061223f565b909155505050505050565b6007546000908190683635c9adc5dea00000825b600b54811015611dd9578260026000600b8481548110611cb057611cb0612265565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611d1b57508160036000600b8481548110611cf457611cf4612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611d3757505060075493683635c9adc5dea000009350915050565b60026000600b8381548110611d4e57611d4e612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611d7d9084612252565b925060036000600b8381548110611d9657611d96612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611dc59083612252565b915080611dd181612342565b915050611c8e565b50600754611df090683635c9adc5dea000006119b9565b821015611e0d57505060075492683635c9adc5dea0000092509050565b90939092509050565b60008183611e375760405162461bcd60e51b81526004016108429190612071565b5060006113838486612320565b611e846040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b82611e9557608081018490526108c7565b60008060008415611eaa576009549250611eb0565b600a5492505b601154600160a81b900460ff1615611ed85760009150611ed1836064611fef565b9050611f1a565b601f54611ee6908490611fef565b601f54909250611f0290611efb906064612252565b8490611fef565b905081600003611f1a57611f178160026119b9565b91505b611f2a612710611bec8985611fef565b60a0850152611f3f612710611bec8984611fef565b60c0850181905260a0850151611f619190611f5b908a90611a79565b90611a79565b60808501525050509392505050565b600080808080611f808989611fef565b905086611f9857935083925060009150819050611fe4565b60a0860151600090611faa908a611fef565b90506000611fc58a8960c00151611fef90919063ffffffff16565b90506000611fd782611f5b8686611a79565b9397509295509093509150505b945094509450949050565b60008260000361200157506000610812565b600061200d8385612309565b90508261201a8583612320565b146108c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610842565b600060208083528351808285015260005b8181101561209e57858101830151858201604001528201612082565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac857600080fd5b600080604083850312156120e757600080fd5b82356120f2816120bf565b946020939093013593505050565b60008060006060848603121561211557600080fd5b8335612120816120bf565b92506020840135612130816120bf565b929592945050506040919091013590565b60006020828403121561215357600080fd5b81356108c7816120bf565b6000806040838503121561217157600080fd5b50508035926020909101359150565b60006020828403121561219257600080fd5b813580151581146108c757600080fd5b6000602082840312156121b457600080fd5b5035919050565b600080604083850312156121ce57600080fd5b82356121d9816120bf565b915060208301356121e9816120bf565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612229565b8181038181111561081257610812612229565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561228d57600080fd5b81516108c7816120bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122e85784516001600160a01b0316835293830193918301916001016122c3565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761081257610812612229565b60008261233d57634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161235457612354612229565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220703f850995c2b474b76756d75ff66c3a315f0f4644179c7da52d7e0d48dc82ae64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102605760003560e01c8063751039fc11610144578063a761e6c8116100b6578063cbd9edbb1161007a578063cbd9edbb14610724578063d3024def14610744578063d8a42f2c14610765578063dd62ed3e1461077b578063ea1644d5146107c1578063f2fde38b146107e157600080fd5b8063a761e6c8146106a3578063a9059cbb146106b9578063ade938b4146106d9578063c3c8cd80146106ef578063c524edce1461070457600080fd5b80637f2feddc116101085780637f2feddc146105e15780638da5cb5b1461060e5780638f9a55c01461062c57806395d89b411461064257806398a5c3151461066d578063a5b6b6731461068d57600080fd5b8063751039fc14610522578063766724f9146105375780637d1db4a51461059b5780637eccfa93146105b15780637ecdf65f146105c757600080fd5b8063313ce567116101dd578063635bd463116101a1578063635bd463146104835780636d8aa8f8146104985780636fc3eaec146104b857806370a08231146104cd578063715018a6146104ed57806374010ece1461050257600080fd5b8063313ce567146103f157806349bd5a5e1461040d57806352390c021461042d57806352f7c9881461044d5780635fd8fd581461046d57600080fd5b80631694505e116102245780631694505e1461035057806318160ddd146103885780631bfa4c04146103a457806323b872dd146103bb5780632fd689e3146103db57600080fd5b806306fdde031461026c578063095ea7b3146102ad5780630c570c86146102dd5780630ce95f5d146102fc5780630e15561a1461032c57600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5060408051808201909152600681526558566572736560d01b60208201525b6040516102a49190612071565b60405180910390f35b3480156102b957600080fd5b506102cd6102c83660046120d4565b610801565b60405190151581526020016102a4565b3480156102e957600080fd5b50601d546102cd90610100900460ff1681565b34801561030857600080fd5b50601e54601f54610317919082565b604080519283526020830191909152016102a4565b34801561033857600080fd5b5061034260145481565b6040519081526020016102a4565b34801561035c57600080fd5b50601054610370906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b34801561039457600080fd5b50683635c9adc5dea00000610342565b3480156103b057600080fd5b506103b9610818565b005b3480156103c757600080fd5b506102cd6103d6366004612100565b610864565b3480156103e757600080fd5b5061034260175481565b3480156103fd57600080fd5b50604051600981526020016102a4565b34801561041957600080fd5b50601154610370906001600160a01b031681565b34801561043957600080fd5b506103b9610448366004612141565b6108ce565b34801561045957600080fd5b506103b961046836600461215e565b610a21565b34801561047957600080fd5b5061034260185481565b34801561048f57600080fd5b50600a54610342565b3480156104a457600080fd5b506103b96104b3366004612180565b610a56565b3480156104c457600080fd5b506103b9610a9e565b3480156104d957600080fd5b506103426104e8366004612141565b610acb565b3480156104f957600080fd5b506103b9610b2a565b34801561050e57600080fd5b506103b961051d3660046121a2565b610b9e565b34801561052e57600080fd5b506103b9610bcd565b34801561054357600080fd5b506020546021546022546023546024546025546026546105669695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102a4565b3480156105a757600080fd5b5061034260155481565b3480156105bd57600080fd5b5061034260125481565b3480156105d357600080fd5b50601d546102cd9060ff1681565b3480156105ed57600080fd5b506103426105fc366004612141565b600e6020526000908152604090205481565b34801561061a57600080fd5b506000546001600160a01b0316610370565b34801561063857600080fd5b5061034260165481565b34801561064e57600080fd5b506040805180820190915260028152612c2b60f11b6020820152610297565b34801561067957600080fd5b506103b96106883660046121a2565b610c06565b34801561069957600080fd5b50610342601a5481565b3480156106af57600080fd5b50610342601c5481565b3480156106c557600080fd5b506102cd6106d43660046120d4565b610c35565b3480156106e557600080fd5b5061034260135481565b3480156106fb57600080fd5b506103b9610c42565b34801561071057600080fd5b50601d546102cd9062010000900460ff1681565b34801561073057600080fd5b50601954610370906001600160a01b031681565b34801561075057600080fd5b506011546102cd90600160a81b900460ff1681565b34801561077157600080fd5b50610342601b5481565b34801561078757600080fd5b506103426107963660046121bb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156107cd57600080fd5b506103b96107dc3660046121a2565b610c78565b3480156107ed57600080fd5b506103b96107fc366004612141565b610ca7565b600061080e338484610d91565b5060015b92915050565b6000546001600160a01b0316331461084b5760405162461bcd60e51b8152600401610842906121f4565b60405180910390fd5b6011805460ff60a81b191690556005600a819055600955565b6000610871848484610eb5565b6108c384336108be8560405180606001604052806028815260200161235c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611352565b610d91565b5060015b9392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b8152600401610842906121f4565b6001600160a01b03811660009081526006602052604090205460ff16156109615760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610842565b6001600160a01b038116600090815260026020526040902054156109bb576001600160a01b0381166000908152600260205260409020546109a19061138c565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600660205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b8152600401610842906121f4565b600991909155600a55565b6000546001600160a01b03163314610a805760405162461bcd60e51b8152600401610842906121f4565b60118054911515600160c01b0260ff60c01b19909216919091179055565b600f546001600160a01b0316336001600160a01b031614610abe57600080fd5b47610ac881611409565b50565b6001600160a01b03811660009081526006602052604081205460ff1615610b0857506001600160a01b031660009081526003602052604090205490565b6001600160a01b0382166000908152600260205260409020546108129061138c565b6000546001600160a01b03163314610b545760405162461bcd60e51b8152600401610842906121f4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bc85760405162461bcd60e51b8152600401610842906121f4565b601555565b6000546001600160a01b03163314610bf75760405162461bcd60e51b8152600401610842906121f4565b6011805460ff60b01b19169055565b6000546001600160a01b03163314610c305760405162461bcd60e51b8152600401610842906121f4565b601755565b600061080e338484610eb5565b600f546001600160a01b0316336001600160a01b031614610c6257600080fd5b6000610c6d30610acb565b9050610ac881611447565b6000546001600160a01b03163314610ca25760405162461bcd60e51b8152600401610842906121f4565b601655565b6000546001600160a01b03163314610cd15760405162461bcd60e51b8152600401610842906121f4565b6001600160a01b038116610d365760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610842565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610df35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610842565b6001600160a01b038216610e545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610842565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610842565b6001600160a01b038216610f7b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610842565b60008111610fdd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610842565b6001600160a01b03831660009081526005602052604081205460ff1615801561101f57506001600160a01b03831660009081526005602052604090205460ff16155b156112c657601154600160a01b900460ff166110b8576000546001600160a01b038581169116146110b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610842565b601154600160b01b900460ff16156111a15760155482111561111c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610842565b6011546001600160a01b038481169116146111a1576016548261113e85610acb565b611148919061223f565b106111a15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610842565b506011546001906001600160a01b0385811691161480156111d057506010546001600160a01b03848116911614155b1561121157601854821180156111f05750601154600160a81b900460ff16155b1561121157601980546001600160a01b0319166001600160a01b0385161790555b600061121c30610acb565b6017549091508110801590819061123d5750601154600160b81b900460ff16155b801561125757506011546001600160a01b03878116911614155b801561126c5750601154600160c01b900460ff165b801561129157506001600160a01b03861660009081526005602052604090205460ff16155b80156112b657506001600160a01b03851660009081526005602052604090205460ff16155b156112c3576112c36115c1565b50505b6001600160a01b03841660009081526005602052604090205460ff168061130557506001600160a01b03831660009081526005602052604090205460ff165b8061133757506011546001600160a01b0385811691161480159061133757506011546001600160a01b03848116911614155b15611340575060005b61134c84848484611650565b50505050565b600081848411156113765760405162461bcd60e51b81526004016108429190612071565b5060006113838486612252565b95945050505050565b60006007548211156113f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610842565b60006113fd611996565b90506108c783826119b9565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611443573d6000803e3d6000fd5b5050565b6011805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061148f5761148f612265565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150c919061227b565b8160018151811061151f5761151f612265565b6001600160a01b0392831660209182029290920101526010546115459130911684610d91565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061157e908590600090869030904290600401612298565b600060405180830381600087803b15801561159857600080fd5b505af11580156115ac573d6000803e3d6000fd5b50506011805460ff60b81b1916905550505050565b6011805460ff60b81b1916600160b81b179055601e546017546000916064916115ea9190612309565b6115f49190612320565b90506115ff81611447565b600f5460405147916000916001600160a01b039091169083908381818185875af1925050503d80600081146115ac576040519150601f19603f3d011682016040523d82523d6000602084013e6115ac565b6011546000906001600160a01b03868116911614801561167e57506010546001600160a01b03858116911614155b156116925750601d805461ff001916905560015b600061169f8484846119fb565b8051602090815581015160215560408101516022556060810151602355608081015160245560a081015160255560c08101516026559050811580156116e15750825b80156116f75750601154600160a81b900460ff16155b1561170c57601d805461ff0019166101001790555b6001600160a01b03861660009081526006602052604090205460ff161561176b576001600160a01b038616600090815260036020526040902054611751908590612252565b6001600160a01b0387166000908152600360205260409020555b6001600160a01b03851660009081526006602052604090205460ff16156117ce5760808101516001600160a01b0386166000908152600360205260409020546117b4919061223f565b6001600160a01b0386166000908152600360205260409020555b80516001600160a01b0387166000908152600260205260409020546117f291611a79565b6001600160a01b038088166000908152600260209081526040808320949094558401519188168152919091205461182891611abb565b6001600160a01b0386166000908152600260205260409020556060810151151580611857575060008160c00151115b156118805761186e81606001518260c00151611b1a565b601d805462ff00001916620100001790555b600081604001511180611897575060008160a00151115b156118bd57601d805460ff19166001179055604081015160a08201516118bd9190611b96565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836080015160405161190691815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161195791815260200190565b60405180910390a3601d54610100900460ff1680156119805750601154600160a81b900460ff16155b1561198e5761198e84611bd0565b505050505050565b60008060006119a3611c7a565b90925090506119b282826119b9565b9250505090565b60006108c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e16565b611a3b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b611a46848484611e44565b90506000611a52611996565b9050611a6085828685611f70565b6060860152604085015260208401528252509392505050565b60006108c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611352565b600080611ac8838561223f565b9050838110156108c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610842565b3060009081526006602052604090205460ff1615611b4e5730600090815260036020526040902054611b4c9082611abb565b505b30600090815260026020526040902054611b689083611abb565b3060009081526002602052604081209190915560138054839290611b8d90849061223f565b90915550505050565b8160076000828254611ba89190612252565b925050819055508060126000828254611bc1919061223f565b9091555050600754601b555050565b6019546001600160a01b03166000611bf26005611bec30610acb565b906119b9565b90506000611c018460646119b9565b905081811115611c0e5750805b6001600160a01b0383161561134c576040518181526001600160a01b0384169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a38060146000828254611c6f919061223f565b909155505050505050565b6007546000908190683635c9adc5dea00000825b600b54811015611dd9578260026000600b8481548110611cb057611cb0612265565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611d1b57508160036000600b8481548110611cf457611cf4612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611d3757505060075493683635c9adc5dea000009350915050565b60026000600b8381548110611d4e57611d4e612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611d7d9084612252565b925060036000600b8381548110611d9657611d96612265565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611dc59083612252565b915080611dd181612342565b915050611c8e565b50600754611df090683635c9adc5dea000006119b9565b821015611e0d57505060075492683635c9adc5dea0000092509050565b90939092509050565b60008183611e375760405162461bcd60e51b81526004016108429190612071565b5060006113838486612320565b611e846040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b82611e9557608081018490526108c7565b60008060008415611eaa576009549250611eb0565b600a5492505b601154600160a81b900460ff1615611ed85760009150611ed1836064611fef565b9050611f1a565b601f54611ee6908490611fef565b601f54909250611f0290611efb906064612252565b8490611fef565b905081600003611f1a57611f178160026119b9565b91505b611f2a612710611bec8985611fef565b60a0850152611f3f612710611bec8984611fef565b60c0850181905260a0850151611f619190611f5b908a90611a79565b90611a79565b60808501525050509392505050565b600080808080611f808989611fef565b905086611f9857935083925060009150819050611fe4565b60a0860151600090611faa908a611fef565b90506000611fc58a8960c00151611fef90919063ffffffff16565b90506000611fd782611f5b8686611a79565b9397509295509093509150505b945094509450949050565b60008260000361200157506000610812565b600061200d8385612309565b90508261201a8583612320565b146108c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610842565b600060208083528351808285015260005b8181101561209e57858101830151858201604001528201612082565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac857600080fd5b600080604083850312156120e757600080fd5b82356120f2816120bf565b946020939093013593505050565b60008060006060848603121561211557600080fd5b8335612120816120bf565b92506020840135612130816120bf565b929592945050506040919091013590565b60006020828403121561215357600080fd5b81356108c7816120bf565b6000806040838503121561217157600080fd5b50508035926020909101359150565b60006020828403121561219257600080fd5b813580151581146108c757600080fd5b6000602082840312156121b457600080fd5b5035919050565b600080604083850312156121ce57600080fd5b82356121d9816120bf565b915060208301356121e9816120bf565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612229565b8181038181111561081257610812612229565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561228d57600080fd5b81516108c7816120bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122e85784516001600160a01b0316835293830193918301916001016122c3565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761081257610812612229565b60008261233d57634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161235457612354612229565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220703f850995c2b474b76756d75ff66c3a315f0f4644179c7da52d7e0d48dc82ae64736f6c63430008130033

Deployed Bytecode Sourcemap

4186:15385:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:83;;;;;;;;;;-1:-1:-1;7364:5:0;;;;;;;;;;;;-1:-1:-1;;;7364:5:0;;;;7294:83;;;;;;;:::i;:::-;;;;;;;;8278:193;;;;;;;;;;-1:-1:-1;8278:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8278:193:0;1023:187:1;6044:26:0;;;;;;;;;;-1:-1:-1;6044:26:0;;;;;;;;;;;6206:56;;;;;;;;;;-1:-1:-1;6206:56:0;;;;;;;;;;;;;1389:25:1;;;1445:2;1430:18;;1423:34;;;;1362:18;6206:56:0;1215:248:1;5599:27:0;;;;;;;;;;;;;;;;;;;1614:25:1;;;1602:2;1587:18;5599:27:0;1468:177:1;5267:41:0;;;;;;;;;;-1:-1:-1;5267:41:0;;;;-1:-1:-1;;;;;5267:41:0;;;;;;-1:-1:-1;;;;;1840:32:1;;;1822:51;;1810:2;1795:18;5267:41:0;1650:229:1;7571:95:0;;;;;;;;;;-1:-1:-1;4769:21:0;7571:95;;14504:131;;;;;;;;;;;;;:::i;:::-;;8479:446;;;;;;;;;;-1:-1:-1;8479:446:0;;;;;:::i;:::-;;:::i;5747:55::-;;;;;;;;;;;;;;;;7480:83;;;;;;;;;;-1:-1:-1;7480:83:0;;4401:1;2487:36:1;;2475:2;2460:18;7480:83:0;2345:184:1;5315:28:0;;;;;;;;;;-1:-1:-1;5315:28:0;;;;-1:-1:-1;;;;;5315:28:0;;;9264:328;;;;;;;;;;-1:-1:-1;9264:328:0;;;;;:::i;:::-;;:::i;18350:160::-;;;;;;;;;;-1:-1:-1;18350:160:0;;;;;:::i;:::-;;:::i;5809:41::-;;;;;;;;;;;;;;;;19476:92;;;;;;;;;;-1:-1:-1;19547:13:0;;19476:92;;18753:101;;;;;;;;;;-1:-1:-1;18753:101:0;;;;;:::i;:::-;;:::i;14931:189::-;;;;;;;;;;;;;:::i;7674:197::-;;;;;;;;;;-1:-1:-1;7674:197:0;;;;;:::i;:::-;;:::i;1673:148::-;;;;;;;;;;;;;:::i;18893:108::-;;;;;;;;;;-1:-1:-1;18893:108:0;;;;;:::i;:::-;;:::i;14643:82::-;;;;;;;;;;;;;:::i;6477:56::-;;;;;;;;;;-1:-1:-1;6477:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4025:25:1;;;4081:2;4066:18;;4059:34;;;;4109:18;;;4102:34;;;;4167:2;4152:18;;4145:34;;;;4210:3;4195:19;;4188:35;4254:3;4239:19;;4232:35;4298:3;4283:19;;4276:35;4012:3;3997:19;6477:56:0;3710:607:1;5633:49:0;;;;;;;;;;;;;;;;5540:23;;;;;;;;;;;;;;;;6010:27;;;;;;;;;;-1:-1:-1;6010:27:0;;;;;;;;5120:43;;;;;;;;;;-1:-1:-1;5120:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1459:79;;;;;;;;;;-1:-1:-1;1497:7:0;1524:6;-1:-1:-1;;;;;1524:6:0;1459:79;;5689:51;;;;;;;;;;;;;;;;7385:87;;;;;;;;;;-1:-1:-1;7457:7:0;;;;;;;;;;;;-1:-1:-1;;;7457:7:0;;;;7385:87;;18562:139;;;;;;;;;;-1:-1:-1;18562:139:0;;;;;:::i;:::-;;:::i;5906:27::-;;;;;;;;;;;;;;;;5976;;;;;;;;;;;;;;;;7879:199;;;;;;;;;;-1:-1:-1;7879:199:0;;;;;:::i;:::-;;:::i;5570:22::-;;;;;;;;;;;;;;;;14733:190;;;;;;;;;;;;;:::i;6077:33::-;;;;;;;;;;-1:-1:-1;6077:33:0;;;;;;;;;;;5859:38;;;;;;;;;;-1:-1:-1;5859:38:0;;;;-1:-1:-1;;;;;5859:38:0;;;5390:28;;;;;;;;;;-1:-1:-1;5390:28:0;;;;-1:-1:-1;;;5390:28:0;;;;;;5940:29;;;;;;;;;;;;;;;;8086:184;;;;;;;;;;-1:-1:-1;8086:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8235:18:0;;;8203:7;8235:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8086:184;19009:115;;;;;;;;;;-1:-1:-1;19009:115:0;;;;;:::i;:::-;;:::i;1829:244::-;;;;;;;;;;-1:-1:-1;1829:244:0;;;;;:::i;:::-;;:::i;8278:193::-;8380:4;8402:39;298:10;8425:7;8434:6;8402:8;:39::i;:::-;-1:-1:-1;8459:4:0;8278:193;;;;;:::o;14504:131::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;;;;;;;;;14555:9:::1;:17:::0;;-1:-1:-1;;;;14555:17:0::1;::::0;;14599:1:::1;14583:13;:17:::0;;;14611:12:::1;:16:::0;14504:131::o;8479:446::-;8611:4;8628:36;8638:6;8646:9;8657:6;8628:9;:36::i;:::-;8675:220;8698:6;298:10;8746:138;8802:6;8746:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8746:19:0;;;;;;:11;:19;;;;;;;;298:10;8746:33;;;;;;;;;;:37;:138::i;:::-;8675:8;:220::i;:::-;-1:-1:-1;8913:4:0;8479:446;;;;;;:::o;9264:328::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9345:19:0;::::1;;::::0;;;:10:::1;:19;::::0;;;;;::::1;;9344:20;9336:60;;;::::0;-1:-1:-1;;;9336:60:0;;5278:2:1;9336:60:0::1;::::0;::::1;5260:21:1::0;5317:2;5297:18;;;5290:30;5356:29;5336:18;;;5329:57;5403:18;;9336:60:0::1;5076:351:1::0;9336:60:0::1;-1:-1:-1::0;;;;;9410:16:0;::::1;9429:1;9410:16:::0;;;:7:::1;:16;::::0;;;;;:20;9407:108:::1;;-1:-1:-1::0;;;;;9486:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;9466:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;9447:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;9407:108:::1;-1:-1:-1::0;;;;;9525:19:0::1;;::::0;;;:10:::1;:19;::::0;;;;:26;;-1:-1:-1;;9525:26:0::1;9547:4;9525:26:::0;;::::1;::::0;;;9562:8:::1;:22:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;9562:22:0::1;::::0;;::::1;::::0;;9264:328::o;18350:160::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;18437:12:::1;:26:::0;;;;18474:13:::1;:28:::0;18350:160::o;18753:101::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;18820:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18820:26:0::1;-1:-1:-1::0;;;;18820:26:0;;::::1;::::0;;;::::1;::::0;;18753:101::o;14931:189::-;14997:10;;-1:-1:-1;;;;;14997:10:0;298;-1:-1:-1;;;;;14981:26:0;;14973:35;;;;;;15048:21;15080:32;15048:21;15080:12;:32::i;:::-;14962:158;14931:189::o;7674:197::-;-1:-1:-1;;;;;7764:19:0;;7740:7;7764:19;;;:10;:19;;;;;;;;7760:48;;;-1:-1:-1;;;;;;7792:16:0;;;;;:7;:16;;;;;;;7674:197::o;7760:48::-;-1:-1:-1;;;;;7846:16:0;;;;;;:7;:16;;;;;;7826:37;;:19;:37::i;1673:148::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;1780:1:::1;1764:6:::0;;1743:40:::1;::::0;-1:-1:-1;;;;;1764:6:0;;::::1;::::0;1743:40:::1;::::0;1780:1;;1743:40:::1;1811:1;1794:19:::0;;-1:-1:-1;;;;;;1794:19:0::1;::::0;;1673:148::o;18893:108::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;18967:12:::1;:26:::0;18893:108::o;14643:82::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;14695:14:::1;:22:::0;;-1:-1:-1;;;;14695:22:0::1;::::0;;14643:82::o;18562:139::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;18653:19:::1;:40:::0;18562:139::o;7879:199::-;7984:4;8006:42;298:10;8030:9;8041:6;8006:9;:42::i;14733:190::-;14799:10;;-1:-1:-1;;;;;14799:10:0;298;-1:-1:-1;;;;;14783:26:0;;14775:35;;;;;;14821:23;14847:24;14865:4;14847:9;:24::i;:::-;14821:50;;14882:33;14899:15;14882:16;:33::i;19009:115::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;19086:14:::1;:30:::0;19009:115::o;1829:244::-;1586:6;;-1:-1:-1;;;;;1586:6:0;298:10;1586:22;1578:67;;;;-1:-1:-1;;;1578:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1918:22:0;::::1;1910:73;;;::::0;-1:-1:-1;;;1910:73:0;;5634:2:1;1910:73:0::1;::::0;::::1;5616:21:1::0;5673:2;5653:18;;;5646:30;5712:34;5692:18;;;5685:62;-1:-1:-1;;;5763:18:1;;;5756:36;5809:19;;1910:73:0::1;5432:402:1::0;1910:73:0::1;2020:6;::::0;;1999:38:::1;::::0;-1:-1:-1;;;;;1999:38:0;;::::1;::::0;2020:6;::::1;::::0;1999:38:::1;::::0;::::1;2048:6;:17:::0;;-1:-1:-1;;;;;;2048:17:0::1;-1:-1:-1::0;;;;;2048:17:0;;;::::1;::::0;;;::::1;::::0;;1829:244::o;9747:369::-;-1:-1:-1;;;;;9874:19:0;;9866:68;;;;-1:-1:-1;;;9866:68:0;;6041:2:1;9866:68:0;;;6023:21:1;6080:2;6060:18;;;6053:30;6119:34;6099:18;;;6092:62;-1:-1:-1;;;6170:18:1;;;6163:34;6214:19;;9866:68:0;5839:400:1;9866:68:0;-1:-1:-1;;;;;9953:21:0;;9945:68;;;;-1:-1:-1;;;9945:68:0;;6446:2:1;9945:68:0;;;6428:21:1;6485:2;6465:18;;;6458:30;6524:34;6504:18;;;6497:62;-1:-1:-1;;;6575:18:1;;;6568:32;6617:19;;9945:68:0;6244:398:1;9945:68:0;-1:-1:-1;;;;;10024:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10076:32;;1614:25:1;;;10076:32:0;;1587:18:1;10076:32:0;;;;;;;9747:369;;;:::o;10124:1770::-;-1:-1:-1;;;;;10246:18:0;;10238:68;;;;-1:-1:-1;;;10238:68:0;;6849:2:1;10238:68:0;;;6831:21:1;6888:2;6868:18;;;6861:30;6927:34;6907:18;;;6900:62;-1:-1:-1;;;6978:18:1;;;6971:35;7023:19;;10238:68:0;6647:401:1;10238:68:0;-1:-1:-1;;;;;10325:16:0;;10317:64;;;;-1:-1:-1;;;10317:64:0;;7255:2:1;10317:64:0;;;7237:21:1;7294:2;7274:18;;;7267:30;7333:34;7313:18;;;7306:62;-1:-1:-1;;;7384:18:1;;;7377:33;7427:19;;10317:64:0;7053:399:1;10317:64:0;10409:1;10400:6;:10;10392:64;;;;-1:-1:-1;;;10392:64:0;;7659:2:1;10392:64:0;;;7641:21:1;7698:2;7678:18;;;7671:30;7737:34;7717:18;;;7710:62;-1:-1:-1;;;7788:18:1;;;7781:39;7837:19;;10392:64:0;7457:405:1;10392:64:0;-1:-1:-1;;;;;10507:16:0;;10469:12;10507:16;;;:10;:16;;;;;;;;10506:17;:36;;;;-1:-1:-1;;;;;;10528:14:0;;;;;;:10;:14;;;;;;;;10527:15;10506:36;10502:1146;;;10599:11;;-1:-1:-1;;;10599:11:0;;;;10594:144;;1497:7;1524:6;-1:-1:-1;;;;;10639:15:0;;;1524:6;;10639:15;10631:91;;;;-1:-1:-1;;;10631:91:0;;8069:2:1;10631:91:0;;;8051:21:1;8108:2;8088:18;;;8081:30;8147:34;8127:18;;;8120:62;8218:33;8198:18;;;8191:61;8269:19;;10631:91:0;7867:427:1;10631:91:0;10757:14;;-1:-1:-1;;;10757:14:0;;;;10754:287;;;10810:12;;10800:6;:22;;10792:63;;;;-1:-1:-1;;;10792:63:0;;8501:2:1;10792:63:0;;;8483:21:1;8540:2;8520:18;;;8513:30;8579;8559:18;;;8552:58;8627:18;;10792:63:0;8299:352:1;10792:63:0;10885:13;;-1:-1:-1;;;;;10879:19:0;;;10885:13;;10879:19;10876:150;;10952:14;;10943:6;10927:13;10937:2;10927:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10919:87;;;;-1:-1:-1;;;10919:87:0;;9120:2:1;10919:87:0;;;9102:21:1;9159:2;9139:18;;;9132:30;9198:34;9178:18;;;9171:62;-1:-1:-1;;;9249:18:1;;;9242:33;9292:19;;10919:87:0;8918:399:1;10919:87:0;-1:-1:-1;11148:13:0;;11067:4;;-1:-1:-1;;;;;11140:21:0;;;11148:13;;11140:21;:55;;;;-1:-1:-1;11179:15:0;;-1:-1:-1;;;;;11165:30:0;;;11179:15;;11165:30;;11140:55;11137:189;;;11228:9;;11219:6;:18;:32;;;;-1:-1:-1;11242:9:0;;-1:-1:-1;;;11242:9:0;;;;11241:10;11219:32;11216:95;;;11276:10;:15;;-1:-1:-1;;;;;;11276:15:0;-1:-1:-1;;;;;11276:15:0;;;;;11216:95;11342:28;11373:24;11391:4;11373:9;:24::i;:::-;11451:19;;11342:55;;-1:-1:-1;11427:43:0;;;;;;;11491:18;;-1:-1:-1;11503:6:0;;-1:-1:-1;;;11503:6:0;;;;11502:7;11491:18;:43;;;;-1:-1:-1;11521:13:0;;-1:-1:-1;;;;;11513:21:0;;;11521:13;;11513:21;;11491:43;:58;;;;-1:-1:-1;11538:11:0;;-1:-1:-1;;;11538:11:0;;;;11491:58;:79;;;;-1:-1:-1;;;;;;11554:16:0;;;;;;:10;:16;;;;;;;;11553:17;11491:79;:98;;;;-1:-1:-1;;;;;;11575:14:0;;;;;;:10;:14;;;;;;;;11574:15;11491:98;11487:150;;;11610:11;:9;:11::i;:::-;10544:1104;;10502:1146;-1:-1:-1;;;;;11704:16:0;;;;;;:10;:16;;;;;;;;;:34;;-1:-1:-1;;;;;;11724:14:0;;;;;;:10;:14;;;;;;;;11704:34;11703:86;;;-1:-1:-1;11752:13:0;;-1:-1:-1;;;;;11744:21:0;;;11752:13;;11744:21;;;;:44;;-1:-1:-1;11775:13:0;;-1:-1:-1;;;;;11769:19:0;;;11775:13;;11769:19;;11744:44;11699:134;;;-1:-1:-1;11816:5:0;11699:134;11845:41;11860:4;11866:2;11870:6;11878:7;11845:14;:41::i;:::-;10227:1667;10124:1770;;;:::o;2437:224::-;2557:7;2593:12;2585:6;;;;2577:29;;;;-1:-1:-1;;;2577:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2617:9:0;2629:5;2633:1;2629;:5;:::i;:::-;2617:17;2437:224;-1:-1:-1;;;;;2437:224:0:o;8933:323::-;9028:7;9086;;9075;:18;;9053:110;;;;-1:-1:-1;;;9053:110:0;;9657:2:1;9053:110:0;;;9639:21:1;9696:2;9676:18;;;9669:30;9735:34;9715:18;;;9708:62;-1:-1:-1;;;9786:18:1;;;9779:40;9836:19;;9053:110:0;9455:406:1;9053:110:0;9174:19;9196:10;:8;:10::i;:::-;9174:32;-1:-1:-1;9224:24:0;:7;9174:32;9224:11;:24::i;14404:92::-;14461:10;;:27;;-1:-1:-1;;;;;14461:10:0;;;;:27;;;;;14481:6;;14461:10;:27;:10;:27;14481:6;14461:10;:27;;;;;;;;;;;;;;;;;;;;;14404:92;:::o;13913:483::-;6627:6;:13;;-1:-1:-1;;;;6627:13:0;-1:-1:-1;;;6627:13:0;;;14015:16:::1;::::0;;14029:1:::1;14015:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14015:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14015:16:0::1;13991:40;;14060:4;14042;14047:1;14042:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14042:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14086:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14086:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14042:7;;14086:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14076:4;14081:1;14076:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14076:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14151:15:::1;::::0;14119:62:::1;::::0;14136:4:::1;::::0;14151:15:::1;14169:11:::0;14119:8:::1;:62::i;:::-;14192:15;::::0;:196:::1;::::0;-1:-1:-1;;;14192:196:0;;-1:-1:-1;;;;;14192:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14273:11;;14192:15:::1;::::0;14315:4;;14342::::1;::::0;14362:15:::1;::::0;14192:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6663:6:0;:14;;-1:-1:-1;;;;6663:14:0;;;-1:-1:-1;;;;13913:483:0:o;19130:338::-;6627:6;:13;;-1:-1:-1;;;;6627:13:0;-1:-1:-1;;;6627:13:0;;;19229:16:::1;:31:::0;6627:6;19207:19;6627:13;;19263:3:::1;::::0;19207:53:::1;::::0;19229:31;19207:53:::1;:::i;:::-;:59;;;;:::i;:::-;19184:82;;19279:30;19296:12;19279:16;:30::i;:::-;19422:10;::::0;19414:46:::1;::::0;19342:21:::1;::::0;19322:17:::1;::::0;-1:-1:-1;;;;;19422:10:0;;::::1;::::0;19342:21;;19322:17;19414:46;19322:17;19414:46;19342:21;19422:10;19414:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11906:1467:::0;12102:13;;12060:10;;-1:-1:-1;;;;;12092:23:0;;;12102:13;;12092:23;:64;;;;-1:-1:-1;12140:15:0;;-1:-1:-1;;;;;12119:37:0;;;12140:15;;12119:37;;12092:64;12089:137;;;-1:-1:-1;12200:6:0;:14;;-1:-1:-1;;12200:14:0;;;12181:4;12089:137;12236:23;12262:35;12273:7;12282;12291:5;12262:10;:35::i;:::-;12308:21;;:12;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12236:61;-1:-1:-1;12408:6:0;;:17;;;;;12418:7;12408:17;:31;;;;-1:-1:-1;12430:9:0;;-1:-1:-1;;;12430:9:0;;;;12429:10;12408:31;12405:76;;;12456:6;:13;;-1:-1:-1;;12456:13:0;;;;;12405:76;-1:-1:-1;;;;;12497:18:0;;;;;;:10;:18;;;;;;;;12493:97;;;-1:-1:-1;;;;;12555:15:0;;;;;;:7;:15;;;;;;:23;;12571:7;;12555:23;:::i;:::-;-1:-1:-1;;;;;12537:15:0;;;;;;:7;:15;;;;;:41;12493:97;-1:-1:-1;;;;;12604:21:0;;;;;;:10;:21;;;;;;;;12600:122;;;12688:22;;;;-1:-1:-1;;;;;12667:18:0;;;;;;:7;:18;;;;;;:43;;12688:22;12667:43;:::i;:::-;-1:-1:-1;;;;;12646:18:0;;;;;;:7;:18;;;;;:64;12600:122;12770:14;;-1:-1:-1;;;;;12750:15:0;;12770:14;12750:15;;;:7;:15;;;;;;:35;;:19;:35::i;:::-;-1:-1:-1;;;;;12732:15:0;;;;;;;:7;:15;;;;;;;;:53;;;;12840:22;;;12817:18;;;;;;;;;;:46;;:22;:46::i;:::-;-1:-1:-1;;;;;12796:18:0;;;;;;:7;:18;;;;;:67;12877:12;;;;:16;;;:36;;;12912:1;12897:6;:12;;;:16;12877:36;12874:140;;;12930:37;12940:6;:12;;;12954:6;:12;;;12930:9;:37::i;:::-;12982:13;:20;;-1:-1:-1;;12982:20:0;;;;;12874:140;13041:1;13027:6;:11;;;:15;:34;;;;13060:1;13046:6;:11;;;:15;13027:34;13024:132;;;13078:7;:14;;-1:-1:-1;;13078:14:0;13088:4;13078:14;;;13119:11;;;;13132;;;;13107:37;;13119:11;13107;:37::i;:::-;13188:9;-1:-1:-1;;;;;13171:51:0;13180:6;-1:-1:-1;;;;;13171:51:0;;13199:6;:22;;;13171:51;;;;1614:25:1;;1602:2;1587:18;;1468:177;13171:51:0;;;;;;;;13263:4;-1:-1:-1;;;;;13238:45:0;13247:6;-1:-1:-1;;;;;13238:45:0;;13270:6;:12;;;13238:45;;;;1614:25:1;;1602:2;1587:18;;1468:177;13238:45:0;;;;;;;;13297:6;;;;;;;:20;;;;-1:-1:-1;13308:9:0;;-1:-1:-1;;;13308:9:0;;;;13307:10;13297:20;13294:72;;;13334:20;13346:7;13334:11;:20::i;:::-;12047:1326;;11906:1467;;;;:::o;17629:164::-;17671:7;17692:15;17709;17728:19;:17;:19::i;:::-;17691:56;;-1:-1:-1;17691:56:0;-1:-1:-1;17765:20:0;17691:56;;17765:11;:20::i;:::-;17758:27;;;;17629:164;:::o;2923:132::-;2981:7;3008:39;3012:1;3015;3008:39;;;;;;;;;;;;;;;;;:3;:39::i;15434:417::-;15546:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15546:23:0;15596:36;15608:7;15617;15626:5;15596:11;:36::i;:::-;15587:45;;15643:19;15665:10;:8;:10::i;:::-;15643:32;;15769:50;15781:7;15790:11;15803:7;15812:6;15769:11;:50::i;:::-;15740:12;;;15686:133;15727:11;;;15686:133;15703:22;;;15686:133;;;-1:-1:-1;15434:417:0;;;;;:::o;2293:136::-;2351:7;2378:43;2382:1;2385;2378:43;;;;;;;;;;;;;;;;;:3;:43::i;2106:179::-;2164:7;;2196:5;2200:1;2196;:5;:::i;:::-;2184:17;;2225:1;2220;:6;;2212:46;;;;-1:-1:-1;;;2212:46:0;;12178:2:1;2212:46:0;;;12160:21:1;12217:2;12197:18;;;12190:30;12256:29;12236:18;;;12229:57;12303:18;;2212:46:0;11976:351:1;15128:261:0;15218:4;15199:25;;;;:10;:25;;;;;;;;15196:90;;;15257:4;15241:22;;;;:7;:22;;;;;;:33;;15268:5;15241:26;:33::i;:::-;;15196:90;15337:4;15321:22;;;;:7;:22;;;;;;:33;;15348:5;15321:26;:33::i;:::-;15312:4;15296:22;;;;:7;:22;;;;;:58;;;;15365:7;:16;;15376:5;;15296:22;15365:16;;15376:5;;15365:16;:::i;:::-;;;;-1:-1:-1;;;;15128:261:0:o;9600:139::-;9674:2;9664:7;;:12;;;;;;;:::i;:::-;;;;;;;;9698:2;9687:8;;:13;;;;;;;:::i;:::-;;;;-1:-1:-1;;9724:7:0;;9711:10;:20;-1:-1:-1;;9600:139:0:o;13381:524::-;13458:10;;-1:-1:-1;;;;;13458:10:0;13438:17;13510:31;13539:1;13510:24;13528:4;13510:9;:24::i;:::-;:28;;:31::i;:::-;13479:62;-1:-1:-1;13552:25:0;13580:16;:7;13592:3;13580:11;:16::i;:::-;13552:44;;13630:20;13610:17;:40;13607:112;;;-1:-1:-1;13687:20:0;13607:112;-1:-1:-1;;;;;13732:23:0;;;13729:169;;13781:53;;1614:25:1;;;-1:-1:-1;;;;;13781:53:0;;;13798:4;;13781:53;;1602:2:1;1587:18;13781:53:0;;;;;;;13869:17;13853:12;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;;13427:478:0;;;13381:524;:::o;17801:541::-;17899:7;;17852;;;;4769:21;17852:7;17953:274;17977:8;:15;17973:19;;17953:274;;;18041:7;18018;:20;18026:8;18035:1;18026:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;18026:11:0;18018:20;;;;;;;;;;;;;:30;;:64;;;18075:7;18052;:20;18060:8;18069:1;18060:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;18060:11:0;18052:20;;;;;;;;;;;;;:30;18018:64;18014:95;;;-1:-1:-1;;18092:7:0;;;4769:21;;-1:-1:-1;17801:541:0;-1:-1:-1;;17801:541:0:o;18014:95::-;18142:7;:20;18150:8;18159:1;18150:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;18150:11:0;18142:20;;;;;;;;;;;;;18134:28;;:7;:28;:::i;:::-;18124:38;;18195:7;:20;18203:8;18212:1;18203:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;18203:11:0;18195:20;;;;;;;;;;;;;18187:28;;:7;:28;:::i;:::-;18177:38;-1:-1:-1;17994:3:0;;;;:::i;:::-;;;;17953:274;;;-1:-1:-1;18251:7:0;;:20;;4769:21;18251:11;:20::i;:::-;18241:7;:30;18237:61;;;-1:-1:-1;;18281:7:0;;;4769:21;;-1:-1:-1;17801:541:0;-1:-1:-1;17801:541:0:o;18237:61::-;18317:7;;18326;;-1:-1:-1;17801:541:0;-1:-1:-1;17801:541:0:o;3063:223::-;3183:7;3218:12;3211:5;3203:28;;;;-1:-1:-1;;;3203:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3242:9:0;3254:5;3258:1;3254;:5;:::i;15859:1090::-;16006:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16006:23:0;16051:7;16047:871;;16075:22;;;:32;;;16047:871;;;16139:11;16169:12;16200:15;16238:5;16234:124;;;16270:12;;16264:18;;16234:124;;;16329:13;;16323:19;;16234:124;16375:9;;-1:-1:-1;;;16375:9:0;;;;16372:335;;;16412:1;;-1:-1:-1;16442:12:0;:3;16450;16442:7;:12::i;:::-;16432:22;;16372:335;;;16510:20;;16502:29;;:3;;:7;:29::i;:::-;16574:20;;16495:36;;-1:-1:-1;16560:35:0;;16568:26;;:3;:26;:::i;:::-;16560:3;;:7;:35::i;:::-;16550:45;;16617:4;16625:1;16617:9;16614:78;;16658:14;:7;16670:1;16658:11;:14::i;:::-;16651:21;;16614:78;16735:28;16757:5;16735:17;:7;16747:4;16735:11;:17::i;:28::-;16721:11;;;:42;16793:31;16818:5;16793:20;:7;16805;16793:11;:20::i;:31::-;16778:12;;;:46;;;16876:11;;;;16864:42;;16778:46;16864:24;;:7;;:11;:24::i;:::-;:28;;:42::i;:::-;16839:22;;;:67;-1:-1:-1;;;15859:1090:0;;;;;:::o;16957:664::-;17161:7;;;;;17280:24;:7;17292:11;17280;:24::i;:::-;17262:42;;17319:7;17315:67;;17348:7;-1:-1:-1;17348:7:0;;-1:-1:-1;17366:1:0;;-1:-1:-1;17366:1:0;;-1:-1:-1;17341:29:0;;17315:67;17407:11;;;;17392:12;;17407:28;;17423:11;17407:15;:28::i;:::-;17392:43;;17446:13;17462:29;17479:11;17462:6;:12;;;:16;;:29;;;;:::i;:::-;17446:45;-1:-1:-1;17502:23:0;17528:28;17446:45;17528:17;:7;17540:4;17528:11;:17::i;:28::-;17575:7;;-1:-1:-1;17502:54:0;;-1:-1:-1;17601:4:0;;-1:-1:-1;17607:5:0;-1:-1:-1;;16957:664:0;;;;;;;;;;:::o;2669:246::-;2727:7;2751:1;2756;2751:6;2747:47;;-1:-1:-1;2781:1:0;2774:8;;2747:47;2804:9;2816:5;2820:1;2816;:5;:::i;:::-;2804:17;-1:-1:-1;2849:1:0;2840:5;2844:1;2804:17;2840:5;:::i;:::-;:10;2832:56;;;;-1:-1:-1;;;2832:56:0;;12674:2:1;2832:56:0;;;12656:21:1;12713:2;12693:18;;;12686:30;12752:34;12732:18;;;12725:62;-1:-1:-1;;;12803:18:1;;;12796:31;12844:19;;2832:56:0;12472:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2742:247::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;2909:9;2896:23;2928:31;2953:5;2928:31;:::i;2994:248::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;-1:-1:-1;;3162:23:1;;;3232:2;3217:18;;;3204:32;;-1:-1:-1;2994:248:1:o;3247:273::-;3303:6;3356:2;3344:9;3335:7;3331:23;3327:32;3324:52;;;3372:1;3369;3362:12;3324:52;3411:9;3398:23;3464:5;3457:13;3450:21;3443:5;3440:32;3430:60;;3486:1;3483;3476:12;3525:180;3584:6;3637:2;3625:9;3616:7;3612:23;3608:32;3605:52;;;3653:1;3650;3643:12;3605:52;-1:-1:-1;3676:23:1;;3525:180;-1:-1:-1;3525:180:1:o;4322:388::-;4390:6;4398;4451:2;4439:9;4430:7;4426:23;4422:32;4419:52;;;4467:1;4464;4457:12;4419:52;4506:9;4493:23;4525:31;4550:5;4525:31;:::i;:::-;4575:5;-1:-1:-1;4632:2:1;4617:18;;4604:32;4645:33;4604:32;4645:33;:::i;:::-;4697:7;4687:17;;;4322:388;;;;;:::o;4715:356::-;4917:2;4899:21;;;4936:18;;;4929:30;4995:34;4990:2;4975:18;;4968:62;5062:2;5047:18;;4715:356::o;8656:127::-;8717:10;8712:3;8708:20;8705:1;8698:31;8748:4;8745:1;8738:15;8772:4;8769:1;8762:15;8788:125;8853:9;;;8874:10;;;8871:36;;;8887:18;;:::i;9322:128::-;9389:9;;;9410:11;;;9407:37;;;9424:18;;:::i;9998:127::-;10059:10;10054:3;10050:20;10047:1;10040:31;10090:4;10087:1;10080:15;10114:4;10111:1;10104:15;10130:251;10200:6;10253:2;10241:9;10232:7;10228:23;10224:32;10221:52;;;10269:1;10266;10259:12;10221:52;10301:9;10295:16;10320:31;10345:5;10320:31;:::i;10386:980::-;10648:4;10696:3;10685:9;10681:19;10727:6;10716:9;10709:25;10753:2;10791:6;10786:2;10775:9;10771:18;10764:34;10834:3;10829:2;10818:9;10814:18;10807:31;10858:6;10893;10887:13;10924:6;10916;10909:22;10962:3;10951:9;10947:19;10940:26;;11001:2;10993:6;10989:15;10975:29;;11022:1;11032:195;11046:6;11043:1;11040:13;11032:195;;;11111:13;;-1:-1:-1;;;;;11107:39:1;11095:52;;11202:15;;;;11167:12;;;;11143:1;11061:9;11032:195;;;-1:-1:-1;;;;;;;11283:32:1;;;;11278:2;11263:18;;11256:60;-1:-1:-1;;;11347:3:1;11332:19;11325:35;11244:3;10386:980;-1:-1:-1;;;10386:980:1:o;11371:168::-;11444:9;;;11475;;11492:15;;;11486:22;;11472:37;11462:71;;11513:18;;:::i;11544:217::-;11584:1;11610;11600:132;;11654:10;11649:3;11645:20;11642:1;11635:31;11689:4;11686:1;11679:15;11717:4;11714:1;11707:15;11600:132;-1:-1:-1;11746:9:1;;11544:217::o;12332:135::-;12371:3;12392:17;;;12389:43;;12412:18;;:::i;:::-;-1:-1:-1;12459:1:1;12448:13;;12332:135::o

Swarm Source

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