ETH Price: $3,065.24 (+0.91%)
Gas: 4 Gwei

Token

Money Capital (M)
 

Overview

Max Total Supply

100,000,000 M

Holders

141

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
78,895.927110679 M

Value
$0.00
0xb057f79b53ca5ee518dfcacb8971a054b5c29b29
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:
MoneyCapital

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-28
*/

// SPDX-License-Identifier: NOLICENSE

// https://t.me/MoneyCapital_Official

// Website: MoneyCapital.org 

pragma solidity ^0.8.6;

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

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

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

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

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

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

    event Transfer(address indexed from, address indexed to, uint256 value);

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

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

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}



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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

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



contract MoneyCapital is Context, IERC20, Ownable {
    using Address for address payable;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private _isBot;
    mapping (address => bool)  _allowedTransfer;

    address[] private _excluded;

    bool public swapEnabled;
    bool private swapping;
    bool public tradingEnabled;

    IRouter public router;
    address public pair;

    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);

    uint256 private _tTotal = 100_000_000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 public swapTokensAtAmount = 50000 * 10**_decimals;
    uint256 public maxWalletBalance = 1_000_000 * 10**_decimals;

    string private constant _name = "Money Capital";
    string private constant _symbol = "M";
    
    address public marketingWallet = 0x0938f54c6e35015407fA1b9302ab05D2EC5c4607;

    struct Taxes {
      uint256 rfi;
      uint256 marketing;
      uint256 liquidity;
    }

    Taxes public buyTaxes = Taxes(10,0,0);
    Taxes public sellTaxes = Taxes(0,10,10); 

    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 marketing;
        uint256 liquidity;
    }
    TotFeesPaidStruct public totFeesPaid;

    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rMarketing;
      uint256 rLiquidity;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tMarketing;
      uint256 tLiquidity;
    }

    event FeesChanged();
    event UpdatedRouter(address oldRouter, address newRouter);
    
    modifier antiSniper(address account){
        require(tradingEnabled || _allowedTransfer[account], "Trading not enabled yet");
        _;
    }


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

    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;

        excludeFromReward(pair);
        
        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        
        _allowedTransfer[owner()] = true;
        _allowedTransfer[marketingWallet] = true;
        _allowedTransfer[address(this)] = true;

        emit Transfer(address(0), owner(), _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 view override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override antiSniper(msg.sender) 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 antiSniper(msg.sender) returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override antiSniper(sender) returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual antiSniper(msg.sender) returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }

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

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

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

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

    function includeInReward(address account) internal {
        require(_isExcluded[account], "Account is not excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setAllowedTransfer(address account, bool value) external onlyOwner{
        _allowedTransfer[account] = value;
    }
    
    function setTradingEnabled(bool _enabled) external onlyOwner{
        tradingEnabled = _enabled;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }


    function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
        totFeesPaid.marketing +=tMarketing;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tMarketing;
        }
        _rOwned[address(this)] +=rMarketing;
    }

    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity +=tLiquidity;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tLiquidity;
        }
        _rOwned[address(this)] +=rLiquidity;
    }

    function _getValues(uint256 tAmount, bool takeFee, Taxes memory temp) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee, temp);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rMarketing, to_return.rLiquidity) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }

    function _getTValues(uint256 tAmount, bool takeFee, Taxes memory temp) private pure returns (valuesFromGetValues memory s) {

        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }
        s.tRfi = tAmount*temp.rfi/100;
        s.tMarketing = tAmount*temp.marketing/100;
        s.tLiquidity = tAmount*temp.liquidity/100;
        s.tTransferAmount = tAmount-s.tRfi-s.tMarketing-s.tLiquidity;
        return s;
    }

    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rMarketing, uint256 rLiquidity) {
        rAmount = tAmount*currentRate;

        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0);
        }

        rRfi = s.tRfi*currentRate;
        rMarketing = s.tMarketing*currentRate;
        rLiquidity = s.tLiquidity*currentRate;
        rTransferAmount =  rAmount-rRfi-rMarketing-rLiquidity;
        return (rAmount, rTransferAmount, rRfi,rMarketing,rLiquidity);
    }

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

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

    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");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        require(!_isBot[from] && !_isBot[to], "Bots are not allowed");

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != pair){
            require(balanceOf(to) + amount <= maxWalletBalance, "You are exceeding maxWalletBalance");
        }
    
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && to == pair && !_isExcludedFromFee[from] &&  !_isExcludedFromFee[to]){
            swapAndLiquify(swapTokensAtAmount);
        }
        
        bool takeFee = false;
        if(!_isExcludedFromFee[from] &&  !_isExcludedFromFee[to] && to == pair || from == pair){
            takeFee = true;
        }

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


    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
        Taxes memory temp;
        if(takeFee){
            if(recipient == pair) temp = sellTaxes;
            else if(sender == pair) temp = buyTaxes;
        }
        valuesFromGetValues memory s = _getValues(tAmount, takeFee, temp);

        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }

        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
        if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if(s.rMarketing > 0 || s.tMarketing > 0) _takeMarketing(s.rMarketing,s.tMarketing);
        if(s.rLiquidity > 0 || s.tLiquidity > 0) _takeLiquidity(s.rLiquidity, s.tLiquidity);
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tMarketing + s.tLiquidity);
    }

    function swapAndLiquify(uint256 contractBalance ) private lockTheSwap{
        // Split the contract balance into halves
            uint256 denominator = (sellTaxes.liquidity + sellTaxes.marketing) * 2;
            uint256 tokensToAddLiquidityWith = contractBalance * sellTaxes.liquidity / denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
    
            uint256 initialBalance = address(this).balance;
    
            swapTokensForETH(toSwap);
    
            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance= deltaBalance / (denominator - sellTaxes.liquidity);
            uint256 ethToAddLiquidityWith = unitBalance * sellTaxes.liquidity;
    
            if(ethToAddLiquidityWith > 0){
                // Add liquidity to pancake
                addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
            }
    
            uint256 marketingAmt = unitBalance * 2 * sellTaxes.marketing;
            if(marketingAmt > 0){
                payable(marketingWallet).sendValue(marketingAmt);
            }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );

    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);

        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
    
    function updateMarketingWallet(address newWallet) external onlyOwner{
        marketingWallet = newWallet;
    }

    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }

    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
    
    function setBot(address _user, bool value) external onlyOwner{
        _isBot[_user] = value;
    }

    function setBuyTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        buyTaxes = Taxes(rfi, marketing, liquidity);
    }
    function setSellTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        sellTaxes = Taxes(rfi, marketing, liquidity);
    }
    
    function setMaxWallet(uint256 amount) external onlyOwner{
        maxWalletBalance = amount * 10**_decimals;
    }
    
    function isBot(address _bot) external view returns(bool){
        return _isBot[_bot];
    }


    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"FeesChanged","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"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":"buyTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620008f8565b62000022906305f5e100620009b9565b600b819055620000359060001962000a13565b6200004390600019620009db565b600c55620000546009600a620008f8565b620000629061c350620009b9565b600d55620000736009600a620008f8565b6200008290620f4240620009b9565b600e55600f80546001600160a01b031916730938f54c6e35015407fa1b9302ab05d2ec5c46071790556040805160608082018352600a8083526000602080850182905293850181905260108290556011819055601281905584519283018552808352928201819052920182905260135560148190556015553480156200010757600080fd5b5060405162003229380380620032298339810160408190526200012a916200086d565b620001353362000490565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017657600080fd5b505afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b191906200086d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fa57600080fd5b505afa1580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200086d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027e57600080fd5b505af115801562000293573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b991906200086d565b600980546001600160a01b038086166301000000026301000000600160b81b031990921691909117909155600a80549183166001600160a01b0319909216821790559091506200030990620004e0565b600c5460016000620003236000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600460006200035d6200061260201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600f54909116835290822080549093168117909255600790620003cd6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f549091168152600790925280822080548416600190811790915530835291208054909216179055620004376000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200047f91815260200190565b60405180910390a350505062000a6c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526005602052604090205460ff16156200054f5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205415620005ac576001600160a01b038116600090815260016020526040902054620005929062000621565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600c548211156200068a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840162000546565b600062000696620006ab565b9050620006a4818462000898565b9392505050565b60008080620006b9620006d1565b9092509050620006ca818362000898565b9250505090565b600c54600b546000918291825b600854811015620008395782600160006008848154811062000704576200070462000a56565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200077357508160026000600884815481106200074c576200074c62000a56565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200078a57600c54600b54945094505050509091565b6001600060088381548110620007a457620007a462000a56565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007d59084620009db565b92506002600060088381548110620007f157620007f162000a56565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620008229083620009db565b9150806200083081620009f5565b915050620006de565b50600b54600c546200084c919062000898565b8210156200086457600c54600b549350935050509091565b90939092509050565b6000602082840312156200088057600080fd5b81516001600160a01b0381168114620006a457600080fd5b600082620008aa57620008aa62000a40565b500490565b600181815b80851115620008f0578160001904821115620008d457620008d462000a2a565b80851615620008e257918102915b93841c9390800290620008b4565b509250929050565b6000620006a460ff8416836000826200091457506001620009b3565b816200092357506000620009b3565b81600181146200093c5760028114620009475762000967565b6001915050620009b3565b60ff8411156200095b576200095b62000a2a565b50506001821b620009b3565b5060208310610133831016604e8410600b84101617156200098c575081810a620009b3565b620009988383620008af565b8060001904821115620009af57620009af62000a2a565b0290505b92915050565b6000816000190483118215151615620009d657620009d662000a2a565b500290565b600082821015620009f057620009f062000a2a565b500390565b600060001982141562000a0c5762000a0c62000a2a565b5060010190565b60008262000a255762000a2562000a40565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6127ad8062000a7c6000396000f3fe60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f456051461076f578063ea2f0b3714610785578063f2fde38b146107a5578063f66895a3146107c5578063f887ea40146107e457600080fd5b8063aacebbe3146106b3578063bbde77c1146106d3578063c2e5ec04146106e9578063d257b34f14610709578063dd62ed3e1461072957600080fd5b806395d89b41116100f257806395d89b411461060a5780639ba5e4d514610634578063a457c2d714610653578063a8aa1b3114610673578063a9059cbb1461069357600080fd5b806375f0a87414610521578063864701a51461055957806388f82020146105935780638da5cb5b146105cc578063924de9b7146105ea57600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049257806369c6a59c146104b25780636ddd1713146104d257806370a08231146104ec578063715018a61461050c57600080fd5b80633bbac579146103c0578063437823ec146103f95780634549b039146104195780634ada218b146104395780635342acb41461045957600080fd5b806323b872dd1161020357806323b872dd146103245780632d83811914610344578063313ce56714610364578063342aa8b51461038057806339509351146103a057600080fd5b806306fdde031461024b5780630873321414610293578063095ea7b3146102b557806318160ddd146102e55780631870517a1461030457600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600d81526c135bdb995e4810d85c1a5d185b609a1b60208201525b60405161028a919061248b565b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004612431565b61080b565b005b3480156102c157600080fd5b506102d56102d03660046123ae565b610867565b604051901515815260200161028a565b3480156102f157600080fd5b50600b545b60405190815260200161028a565b34801561031057600080fd5b506102b361031f366004612431565b6108cc565b34801561033057600080fd5b506102d561033f366004612338565b61091f565b34801561035057600080fd5b506102f661035f3660046123f5565b610a1f565b34801561037057600080fd5b506040516009815260200161028a565b34801561038c57600080fd5b506102b361039b366004612379565b610aa3565b3480156103ac57600080fd5b506102d56103bb3660046123ae565b610af8565b3480156103cc57600080fd5b506102d56103db3660046122c5565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040557600080fd5b506102b36104143660046122c5565b610b7e565b34801561042557600080fd5b506102f661043436600461240e565b610bcc565b34801561044557600080fd5b506009546102d59062010000900460ff1681565b34801561046557600080fd5b506102d56104743660046122c5565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049e57600080fd5b506102b36104ad3660046123f5565b610ca6565b3480156104be57600080fd5b506102b36104cd366004612379565b610cec565b3480156104de57600080fd5b506009546102d59060ff1681565b3480156104f857600080fd5b506102f66105073660046122c5565b610d41565b34801561051857600080fd5b506102b3610da0565b34801561052d57600080fd5b50600f54610541906001600160a01b031681565b6040516001600160a01b03909116815260200161028a565b34801561056557600080fd5b5060105460115460125461057892919083565b6040805193845260208401929092529082015260600161028a565b34801561059f57600080fd5b506102d56105ae3660046122c5565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d857600080fd5b506000546001600160a01b0316610541565b3480156105f657600080fd5b506102b36106053660046123da565b610dd6565b34801561061657600080fd5b506040805180820190915260018152604d60f81b602082015261027d565b34801561064057600080fd5b5060165460175460185461057892919083565b34801561065f57600080fd5b506102d561066e3660046123ae565b610e13565b34801561067f57600080fd5b50600a54610541906001600160a01b031681565b34801561069f57600080fd5b506102d56106ae3660046123ae565b610eff565b3480156106bf57600080fd5b506102b36106ce3660046122c5565b610f5a565b3480156106df57600080fd5b506102f6600e5481565b3480156106f557600080fd5b506102b36107043660046123da565b610fa6565b34801561071557600080fd5b506102b36107243660046123f5565b610fec565b34801561073557600080fd5b506102f66107443660046122ff565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561077b57600080fd5b506102f6600d5481565b34801561079157600080fd5b506102b36107a03660046122c5565b611032565b3480156107b157600080fd5b506102b36107c03660046122c5565b61107d565b3480156107d157600080fd5b5060135460145460155461057892919083565b3480156107f057600080fd5b5060095461054190630100000090046001600160a01b031681565b6000546001600160a01b0316331461083e5760405162461bcd60e51b8152600401610835906124e0565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff168061089b57506001600160a01b03811660009081526007602052604090205460ff165b6108b75760405162461bcd60e51b815260040161083590612515565b6108c2338585611118565b5060019392505050565b6000546001600160a01b031633146108f65760405162461bcd60e51b8152600401610835906124e0565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095357506001600160a01b03811660009081526007602052604090205460ff165b61096f5760405162461bcd60e51b815260040161083590612515565b61097a85858561123c565b6001600160a01b0385166000908152600360209081526040808320338452909152902054838110156109ff5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610835565b610a138633610a0e8785612704565b611118565b50600195945050505050565b6000600c54821115610a865760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610835565b6000610a90611667565b9050610a9c81846125d5565b9392505050565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b2c57506001600160a01b03811660009081526007602052604090205460ff165b610b485760405162461bcd60e51b815260040161083590612515565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c291908690610a0e9087906125bd565b6000546001600160a01b03163314610ba85760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c205760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610835565b81610c6157604080516060810182526010548152601154602082015260125491810191909152600090610c5790859060019061168a565b519150610ca09050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9390859060019061168a565b602001519150610ca09050565b92915050565b6000546001600160a01b03163314610cd05760405162461bcd60e51b8152600401610835906124e0565b610cdc6009600a61263a565b610ce690826126e5565b600e5550565b6000546001600160a01b03163314610d165760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d7e57506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca090610a1f565b6000546001600160a01b03163314610dca5760405162461bcd60e51b8152600401610835906124e0565b610dd460006116cf565b565b6000546001600160a01b03163314610e005760405162461bcd60e51b8152600401610835906124e0565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4757506001600160a01b03811660009081526007602052604090205460ff165b610e635760405162461bcd60e51b815260040161083590612515565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610ee55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610835565b610ef43386610a0e8785612704565b506001949350505050565b600954600090339062010000900460ff1680610f3357506001600160a01b03811660009081526007602052604090205460ff165b610f4f5760405162461bcd60e51b815260040161083590612515565b6108c233858561123c565b6000546001600160a01b03163314610f845760405162461bcd60e51b8152600401610835906124e0565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd05760405162461bcd60e51b8152600401610835906124e0565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146110165760405162461bcd60e51b8152600401610835906124e0565b6110226009600a61263a565b61102c90826126e5565b600d5550565b6000546001600160a01b0316331461105c5760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110a75760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03811661110c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610835565b611115816116cf565b50565b6001600160a01b03831661117a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610835565b6001600160a01b0382166111db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610835565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610835565b6001600160a01b0382166113025760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610835565b600081116113645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610835565b61136d83610d41565b8111156113d65760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610835565b6001600160a01b03831660009081526006602052604090205460ff1615801561141857506001600160a01b03821660009081526006602052604090205460ff16155b61145b5760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b6044820152606401610835565b6001600160a01b03831660009081526004602052604090205460ff1615801561149d57506001600160a01b03821660009081526004602052604090205460ff16155b80156114b75750600a546001600160a01b03838116911614155b1561152c57600e54816114c984610d41565b6114d391906125bd565b111561152c5760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b6064820152608401610835565b600061153730610d41565b600d5460095491925082101590610100900460ff1615801561155b575060095460ff165b80156115645750805b801561157d5750600a546001600160a01b038581169116145b80156115a257506001600160a01b03851660009081526004602052604090205460ff16155b80156115c757506001600160a01b03841660009081526004602052604090205460ff16155b156115d7576115d7600d5461171f565b6001600160a01b03851660009081526004602052604081205460ff1615801561161957506001600160a01b03851660009081526004602052604090205460ff16155b80156116325750600a546001600160a01b038681169116145b8061164a5750600a546001600160a01b038781169116145b15611653575060015b61165f86868684611822565b505050505050565b6000806000611674611b4b565b909250905061168381836125d5565b9250505090565b611692612264565b61169d848484611cce565b90506116b28185856116ad611667565b611d7e565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff001916610100179055601454601554600091611740916125bd565b61174b9060026126e5565b90506000816013600201548461176191906126e5565b61176b91906125d5565b905060006117798285612704565b90504761178582611e0b565b60006117918247612704565b6015549091506000906117a49087612704565b6117ae90836125d5565b6015549091506000906117c190836126e5565b905080156117d3576117d38682611f93565b6014546000906117e48460026126e5565b6117ee91906126e5565b9050801561180c57600f5461180c906001600160a01b031682612086565b50506009805461ff001916905550505050505050565b61184660405180606001604052806000815260200160008152602001600081525090565b81156118c257600a546001600160a01b038581169116141561188957506040805160608101825260135481526014546020820152601554918101919091526118c2565b600a546001600160a01b03868116911614156118c257506040805160608101825260105481526011546020820152601254918101919091525b60006118cf84848461168a565b6001600160a01b03871660009081526005602052604090205490915060ff1615611931576001600160a01b038616600090815260026020526040902054611917908590612704565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119945760a08101516001600160a01b03861660009081526002602052604090205461197a91906125bd565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119b99190612704565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f091906125bd565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a22575060008160c00151115b15611a3957611a3981604001518260c001516121a4565b600081606001511180611a50575060008160e00151115b15611a6757611a6781606001518260e001516121d9565b600081608001511180611a7f57506000816101000151115b15611a9757611a97816080015182610100015161224f565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae091815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b3291906125bd565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611c9d57826001600060088481548110611b7a57611b7a61274c565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611be55750816002600060088481548110611bbe57611bbe61274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bfb57600c54600b54945094505050509091565b6001600060088381548110611c1257611c1261274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c419084612704565b92506002600060088381548110611c5a57611c5a61274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c899083612704565b915080611c958161271b565b915050611b58565b50600b54600c54611cae91906125d5565b821015611cc557600c54600b549350935050509091565b90939092509050565b611cd6612264565b82611ce75760a08101849052610a9c565b8151606490611cf690866126e5565b611d0091906125d5565b60c08201526020820151606490611d1790866126e5565b611d2191906125d5565b60e08201526040820151606490611d3890866126e5565b611d4291906125d5565b610100820181905260e082015160c0830151611d5e9087612704565b611d689190612704565b611d729190612704565b60a08201529392505050565b600080808080611d8e86896126e5565b945086611da657508392506000915081905080611e00565b858960c00151611db691906126e5565b9250858960e00151611dc891906126e5565b915085896101000151611ddb91906126e5565b90508082611de98588612704565b611df39190612704565b611dfd9190612704565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4057611e4061274c565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eae57600080fd5b505afa158015611ec2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee691906122e2565b81600181518110611ef957611ef961274c565b6001600160a01b039283166020918202929092010152600954611f26913091630100000090041684611118565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f6590859060009086903090429060040161254c565b600060405180830381600087803b158015611f7f57600080fd5b505af115801561165f573d6000803e3d6000fd5b600954611fb2903090630100000090046001600160a01b031684611118565b6009546001600160a01b0363010000009091041663f305d719823085600080611fe36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561204657600080fd5b505af115801561205a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061207f919061245d565b5050505050565b804710156120d65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610835565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612123576040519150601f19603f3d011682016040523d82523d6000602084013e612128565b606091505b505090508061219f5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610835565b505050565b81600c60008282546121b69190612704565b9091555050601680548291906000906121d09084906125bd565b90915550505050565b80601660010160008282546121ee91906125bd565b90915550503060009081526005602052604090205460ff161561223057306000908152600260205260408120805483929061222a9084906125bd565b90915550505b30600090815260016020526040812080548492906121d09084906125bd565b80601660020160008282546121ee91906125bd565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803580151581146122c057600080fd5b919050565b6000602082840312156122d757600080fd5b8135610a9c81612762565b6000602082840312156122f457600080fd5b8151610a9c81612762565b6000806040838503121561231257600080fd5b823561231d81612762565b9150602083013561232d81612762565b809150509250929050565b60008060006060848603121561234d57600080fd5b833561235881612762565b9250602084013561236881612762565b929592945050506040919091013590565b6000806040838503121561238c57600080fd5b823561239781612762565b91506123a5602084016122b0565b90509250929050565b600080604083850312156123c157600080fd5b82356123cc81612762565b946020939093013593505050565b6000602082840312156123ec57600080fd5b610a9c826122b0565b60006020828403121561240757600080fd5b5035919050565b6000806040838503121561242157600080fd5b823591506123a5602084016122b0565b60008060006060848603121561244657600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561247257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156124b85785810183015185820160400152820161249c565b818111156124ca576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561259c5784516001600160a01b031683529383019391830191600101612577565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156125d0576125d0612736565b500190565b6000826125f257634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561263257816000190482111561261857612618612736565b8085161561262557918102915b93841c93908002906125fc565b509250929050565b6000610a9c60ff84168360008261265357506001610ca0565b8161266057506000610ca0565b816001811461267657600281146126805761269c565b6001915050610ca0565b60ff84111561269157612691612736565b50506001821b610ca0565b5060208310610133831016604e8410600b84101617156126bf575081810a610ca0565b6126c983836125f7565b80600019048211156126dd576126dd612736565b029392505050565b60008160001904831182151516156126ff576126ff612736565b500290565b60008282101561271657612716612736565b500390565b600060001982141561272f5761272f612736565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461111557600080fdfea2646970667358221220444229ee3eb0aaeeadeb4bcb47238c16ef0b9119059293d057bebad03758273f64736f6c634300080600330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f456051461076f578063ea2f0b3714610785578063f2fde38b146107a5578063f66895a3146107c5578063f887ea40146107e457600080fd5b8063aacebbe3146106b3578063bbde77c1146106d3578063c2e5ec04146106e9578063d257b34f14610709578063dd62ed3e1461072957600080fd5b806395d89b41116100f257806395d89b411461060a5780639ba5e4d514610634578063a457c2d714610653578063a8aa1b3114610673578063a9059cbb1461069357600080fd5b806375f0a87414610521578063864701a51461055957806388f82020146105935780638da5cb5b146105cc578063924de9b7146105ea57600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049257806369c6a59c146104b25780636ddd1713146104d257806370a08231146104ec578063715018a61461050c57600080fd5b80633bbac579146103c0578063437823ec146103f95780634549b039146104195780634ada218b146104395780635342acb41461045957600080fd5b806323b872dd1161020357806323b872dd146103245780632d83811914610344578063313ce56714610364578063342aa8b51461038057806339509351146103a057600080fd5b806306fdde031461024b5780630873321414610293578063095ea7b3146102b557806318160ddd146102e55780631870517a1461030457600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600d81526c135bdb995e4810d85c1a5d185b609a1b60208201525b60405161028a919061248b565b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004612431565b61080b565b005b3480156102c157600080fd5b506102d56102d03660046123ae565b610867565b604051901515815260200161028a565b3480156102f157600080fd5b50600b545b60405190815260200161028a565b34801561031057600080fd5b506102b361031f366004612431565b6108cc565b34801561033057600080fd5b506102d561033f366004612338565b61091f565b34801561035057600080fd5b506102f661035f3660046123f5565b610a1f565b34801561037057600080fd5b506040516009815260200161028a565b34801561038c57600080fd5b506102b361039b366004612379565b610aa3565b3480156103ac57600080fd5b506102d56103bb3660046123ae565b610af8565b3480156103cc57600080fd5b506102d56103db3660046122c5565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040557600080fd5b506102b36104143660046122c5565b610b7e565b34801561042557600080fd5b506102f661043436600461240e565b610bcc565b34801561044557600080fd5b506009546102d59062010000900460ff1681565b34801561046557600080fd5b506102d56104743660046122c5565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049e57600080fd5b506102b36104ad3660046123f5565b610ca6565b3480156104be57600080fd5b506102b36104cd366004612379565b610cec565b3480156104de57600080fd5b506009546102d59060ff1681565b3480156104f857600080fd5b506102f66105073660046122c5565b610d41565b34801561051857600080fd5b506102b3610da0565b34801561052d57600080fd5b50600f54610541906001600160a01b031681565b6040516001600160a01b03909116815260200161028a565b34801561056557600080fd5b5060105460115460125461057892919083565b6040805193845260208401929092529082015260600161028a565b34801561059f57600080fd5b506102d56105ae3660046122c5565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d857600080fd5b506000546001600160a01b0316610541565b3480156105f657600080fd5b506102b36106053660046123da565b610dd6565b34801561061657600080fd5b506040805180820190915260018152604d60f81b602082015261027d565b34801561064057600080fd5b5060165460175460185461057892919083565b34801561065f57600080fd5b506102d561066e3660046123ae565b610e13565b34801561067f57600080fd5b50600a54610541906001600160a01b031681565b34801561069f57600080fd5b506102d56106ae3660046123ae565b610eff565b3480156106bf57600080fd5b506102b36106ce3660046122c5565b610f5a565b3480156106df57600080fd5b506102f6600e5481565b3480156106f557600080fd5b506102b36107043660046123da565b610fa6565b34801561071557600080fd5b506102b36107243660046123f5565b610fec565b34801561073557600080fd5b506102f66107443660046122ff565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561077b57600080fd5b506102f6600d5481565b34801561079157600080fd5b506102b36107a03660046122c5565b611032565b3480156107b157600080fd5b506102b36107c03660046122c5565b61107d565b3480156107d157600080fd5b5060135460145460155461057892919083565b3480156107f057600080fd5b5060095461054190630100000090046001600160a01b031681565b6000546001600160a01b0316331461083e5760405162461bcd60e51b8152600401610835906124e0565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff168061089b57506001600160a01b03811660009081526007602052604090205460ff165b6108b75760405162461bcd60e51b815260040161083590612515565b6108c2338585611118565b5060019392505050565b6000546001600160a01b031633146108f65760405162461bcd60e51b8152600401610835906124e0565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095357506001600160a01b03811660009081526007602052604090205460ff165b61096f5760405162461bcd60e51b815260040161083590612515565b61097a85858561123c565b6001600160a01b0385166000908152600360209081526040808320338452909152902054838110156109ff5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610835565b610a138633610a0e8785612704565b611118565b50600195945050505050565b6000600c54821115610a865760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610835565b6000610a90611667565b9050610a9c81846125d5565b9392505050565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b2c57506001600160a01b03811660009081526007602052604090205460ff165b610b485760405162461bcd60e51b815260040161083590612515565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c291908690610a0e9087906125bd565b6000546001600160a01b03163314610ba85760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c205760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610835565b81610c6157604080516060810182526010548152601154602082015260125491810191909152600090610c5790859060019061168a565b519150610ca09050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9390859060019061168a565b602001519150610ca09050565b92915050565b6000546001600160a01b03163314610cd05760405162461bcd60e51b8152600401610835906124e0565b610cdc6009600a61263a565b610ce690826126e5565b600e5550565b6000546001600160a01b03163314610d165760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d7e57506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca090610a1f565b6000546001600160a01b03163314610dca5760405162461bcd60e51b8152600401610835906124e0565b610dd460006116cf565b565b6000546001600160a01b03163314610e005760405162461bcd60e51b8152600401610835906124e0565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4757506001600160a01b03811660009081526007602052604090205460ff165b610e635760405162461bcd60e51b815260040161083590612515565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610ee55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610835565b610ef43386610a0e8785612704565b506001949350505050565b600954600090339062010000900460ff1680610f3357506001600160a01b03811660009081526007602052604090205460ff165b610f4f5760405162461bcd60e51b815260040161083590612515565b6108c233858561123c565b6000546001600160a01b03163314610f845760405162461bcd60e51b8152600401610835906124e0565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd05760405162461bcd60e51b8152600401610835906124e0565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146110165760405162461bcd60e51b8152600401610835906124e0565b6110226009600a61263a565b61102c90826126e5565b600d5550565b6000546001600160a01b0316331461105c5760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110a75760405162461bcd60e51b8152600401610835906124e0565b6001600160a01b03811661110c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610835565b611115816116cf565b50565b6001600160a01b03831661117a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610835565b6001600160a01b0382166111db5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610835565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610835565b6001600160a01b0382166113025760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610835565b600081116113645760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610835565b61136d83610d41565b8111156113d65760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610835565b6001600160a01b03831660009081526006602052604090205460ff1615801561141857506001600160a01b03821660009081526006602052604090205460ff16155b61145b5760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b6044820152606401610835565b6001600160a01b03831660009081526004602052604090205460ff1615801561149d57506001600160a01b03821660009081526004602052604090205460ff16155b80156114b75750600a546001600160a01b03838116911614155b1561152c57600e54816114c984610d41565b6114d391906125bd565b111561152c5760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b6064820152608401610835565b600061153730610d41565b600d5460095491925082101590610100900460ff1615801561155b575060095460ff165b80156115645750805b801561157d5750600a546001600160a01b038581169116145b80156115a257506001600160a01b03851660009081526004602052604090205460ff16155b80156115c757506001600160a01b03841660009081526004602052604090205460ff16155b156115d7576115d7600d5461171f565b6001600160a01b03851660009081526004602052604081205460ff1615801561161957506001600160a01b03851660009081526004602052604090205460ff16155b80156116325750600a546001600160a01b038681169116145b8061164a5750600a546001600160a01b038781169116145b15611653575060015b61165f86868684611822565b505050505050565b6000806000611674611b4b565b909250905061168381836125d5565b9250505090565b611692612264565b61169d848484611cce565b90506116b28185856116ad611667565b611d7e565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff001916610100179055601454601554600091611740916125bd565b61174b9060026126e5565b90506000816013600201548461176191906126e5565b61176b91906125d5565b905060006117798285612704565b90504761178582611e0b565b60006117918247612704565b6015549091506000906117a49087612704565b6117ae90836125d5565b6015549091506000906117c190836126e5565b905080156117d3576117d38682611f93565b6014546000906117e48460026126e5565b6117ee91906126e5565b9050801561180c57600f5461180c906001600160a01b031682612086565b50506009805461ff001916905550505050505050565b61184660405180606001604052806000815260200160008152602001600081525090565b81156118c257600a546001600160a01b038581169116141561188957506040805160608101825260135481526014546020820152601554918101919091526118c2565b600a546001600160a01b03868116911614156118c257506040805160608101825260105481526011546020820152601254918101919091525b60006118cf84848461168a565b6001600160a01b03871660009081526005602052604090205490915060ff1615611931576001600160a01b038616600090815260026020526040902054611917908590612704565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119945760a08101516001600160a01b03861660009081526002602052604090205461197a91906125bd565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119b99190612704565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f091906125bd565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a22575060008160c00151115b15611a3957611a3981604001518260c001516121a4565b600081606001511180611a50575060008160e00151115b15611a6757611a6781606001518260e001516121d9565b600081608001511180611a7f57506000816101000151115b15611a9757611a97816080015182610100015161224f565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae091815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b3291906125bd565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611c9d57826001600060088481548110611b7a57611b7a61274c565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611be55750816002600060088481548110611bbe57611bbe61274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bfb57600c54600b54945094505050509091565b6001600060088381548110611c1257611c1261274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c419084612704565b92506002600060088381548110611c5a57611c5a61274c565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c899083612704565b915080611c958161271b565b915050611b58565b50600b54600c54611cae91906125d5565b821015611cc557600c54600b549350935050509091565b90939092509050565b611cd6612264565b82611ce75760a08101849052610a9c565b8151606490611cf690866126e5565b611d0091906125d5565b60c08201526020820151606490611d1790866126e5565b611d2191906125d5565b60e08201526040820151606490611d3890866126e5565b611d4291906125d5565b610100820181905260e082015160c0830151611d5e9087612704565b611d689190612704565b611d729190612704565b60a08201529392505050565b600080808080611d8e86896126e5565b945086611da657508392506000915081905080611e00565b858960c00151611db691906126e5565b9250858960e00151611dc891906126e5565b915085896101000151611ddb91906126e5565b90508082611de98588612704565b611df39190612704565b611dfd9190612704565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4057611e4061274c565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eae57600080fd5b505afa158015611ec2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee691906122e2565b81600181518110611ef957611ef961274c565b6001600160a01b039283166020918202929092010152600954611f26913091630100000090041684611118565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f6590859060009086903090429060040161254c565b600060405180830381600087803b158015611f7f57600080fd5b505af115801561165f573d6000803e3d6000fd5b600954611fb2903090630100000090046001600160a01b031684611118565b6009546001600160a01b0363010000009091041663f305d719823085600080611fe36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561204657600080fd5b505af115801561205a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061207f919061245d565b5050505050565b804710156120d65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610835565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612123576040519150601f19603f3d011682016040523d82523d6000602084013e612128565b606091505b505090508061219f5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610835565b505050565b81600c60008282546121b69190612704565b9091555050601680548291906000906121d09084906125bd565b90915550505050565b80601660010160008282546121ee91906125bd565b90915550503060009081526005602052604090205460ff161561223057306000908152600260205260408120805483929061222a9084906125bd565b90915550505b30600090815260016020526040812080548492906121d09084906125bd565b80601660020160008282546121ee91906125bd565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803580151581146122c057600080fd5b919050565b6000602082840312156122d757600080fd5b8135610a9c81612762565b6000602082840312156122f457600080fd5b8151610a9c81612762565b6000806040838503121561231257600080fd5b823561231d81612762565b9150602083013561232d81612762565b809150509250929050565b60008060006060848603121561234d57600080fd5b833561235881612762565b9250602084013561236881612762565b929592945050506040919091013590565b6000806040838503121561238c57600080fd5b823561239781612762565b91506123a5602084016122b0565b90509250929050565b600080604083850312156123c157600080fd5b82356123cc81612762565b946020939093013593505050565b6000602082840312156123ec57600080fd5b610a9c826122b0565b60006020828403121561240757600080fd5b5035919050565b6000806040838503121561242157600080fd5b823591506123a5602084016122b0565b60008060006060848603121561244657600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561247257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156124b85785810183015185820160400152820161249c565b818111156124ca576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561259c5784516001600160a01b031683529383019391830191600101612577565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156125d0576125d0612736565b500190565b6000826125f257634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561263257816000190482111561261857612618612736565b8085161561262557918102915b93841c93908002906125fc565b509250929050565b6000610a9c60ff84168360008261265357506001610ca0565b8161266057506000610ca0565b816001811461267657600281146126805761269c565b6001915050610ca0565b60ff84111561269157612691612736565b50506001821b610ca0565b5060208310610133831016604e8410600b84101617156126bf575081810a610ca0565b6126c983836125f7565b80600019048211156126dd576126dd612736565b029392505050565b60008160001904831182151516156126ff576126ff612736565b500290565b60008282101561271657612716612736565b500390565b600060001982141561272f5761272f612736565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461111557600080fdfea2646970667358221220444229ee3eb0aaeeadeb4bcb47238c16ef0b9119059293d057bebad03758273f64736f6c63430008060033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

3281:16321:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6180:83;;;;;;;;;;-1:-1:-1;6250:5:0;;;;;;;;;;;;-1:-1:-1;;;6250:5:0;;;;6180:83;;;;;;;:::i;:::-;;;;;;;;19167:154;;;;;;;;;;-1:-1:-1;19167:154:0;;;;;:::i;:::-;;:::i;:::-;;7111:184;;;;;;;;;;-1:-1:-1;7111:184:0;;;;;:::i;:::-;;:::i;:::-;;;4631:14:1;;4624:22;4606:41;;4594:2;4579:18;7111:184:0;4561:92:1;6453:95:0;;;;;;;;;;-1:-1:-1;6533:7:0;;6453:95;;;12318:25:1;;;12306:2;12291:18;6453:95:0;12273:76:1;19009:152:0;;;;;;;;;;-1:-1:-1;19009:152:0;;;;;:::i;:::-;;:::i;7303:437::-;;;;;;;;;;-1:-1:-1;7303:437:0;;;;;:::i;:::-;;:::i;9010:248::-;;;;;;;;;;-1:-1:-1;9010:248:0;;;;;:::i;:::-;;:::i;6362:83::-;;;;;;;;;;-1:-1:-1;6362:83:0;;3988:1;13805:36:1;;13793:2;13778:18;6362:83:0;13760:87:1;18900:101:0;;;;;;;;;;-1:-1:-1;18900:101:0;;;;;:::i;:::-;;:::i;7748:236::-;;;;;;;;;;-1:-1:-1;7748:236:0;;;;;:::i;:::-;;:::i;19461:94::-;;;;;;;;;;-1:-1:-1;19461:94:0;;;;;:::i;:::-;-1:-1:-1;;;;;19535:12:0;19512:4;19535:12;;;:6;:12;;;;;;;;;19461:94;10068:111;;;;;;;;;;-1:-1:-1;10068:111:0;;;;;:::i;:::-;;:::i;8526:476::-;;;;;;;;;;-1:-1:-1;8526:476:0;;;;;:::i;:::-;;:::i;3862:26::-;;;;;;;;;;-1:-1:-1;3862:26:0;;;;;;;;;;;10560:123;;;;;;;;;;-1:-1:-1;10560:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10648:27:0;10624:4;10648:27;;;:18;:27;;;;;;;;;10560:123;19333:116;;;;;;;;;;-1:-1:-1;19333:116:0;;;;;:::i;:::-;;:::i;10309:127::-;;;;;;;;;;-1:-1:-1;10309:127:0;;;;;:::i;:::-;;:::i;3804:23::-;;;;;;;;;;-1:-1:-1;3804:23:0;;;;;;;;6556:198;;;;;;;;;;-1:-1:-1;6556:198:0;;;;;:::i;:::-;;:::i;2052:94::-;;;;;;;;;;;;;:::i;4401:75::-;;;;;;;;;;-1:-1:-1;4401:75:0;;;;-1:-1:-1;;;;;4401:75:0;;;;;;-1:-1:-1;;;;;3810:32:1;;;3792:51;;3780:2;3765:18;4401:75:0;3747:102:1;4586:37:0;;;;;;;;;;-1:-1:-1;4586:37:0;;;;;;;;;;;;;;;;13541:25:1;;;13597:2;13582:18;;13575:34;;;;13625:18;;;13618:34;13529:2;13514:18;4586:37:0;13496:162:1;8398:120:0;;;;;;;;;;-1:-1:-1;8398:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8490:20:0;8466:4;8490:20;;;:11;:20;;;;;;;;;8398:120;1829:87;;;;;;;;;;-1:-1:-1;1875:7:0;1902:6;-1:-1:-1;;;;;1902:6:0;1829:87;;18787:101;;;;;;;;;;-1:-1:-1;18787:101:0;;;;;:::i;:::-;;:::i;6269:87::-;;;;;;;;;;-1:-1:-1;6341:7:0;;;;;;;;;;;;-1:-1:-1;;;6341:7:0;;;;6269:87;;4795:36;;;;;;;;;;-1:-1:-1;4795:36:0;;;;;;;;;;;;7992:398;;;;;;;;;;-1:-1:-1;7992:398:0;;;;;:::i;:::-;;:::i;3925:19::-;;;;;;;;;;-1:-1:-1;3925:19:0;;;;-1:-1:-1;;;;;3925:19:0;;;6762:190;;;;;;;;;;-1:-1:-1;6762:190:0;;;;;:::i;:::-;;:::i;18527:114::-;;;;;;;;;;-1:-1:-1;18527:114:0;;;;;:::i;:::-;;:::i;4229:59::-;;;;;;;;;;;;;;;;10448:104;;;;;;;;;;-1:-1:-1;10448:104:0;;;;;:::i;:::-;;:::i;18649:130::-;;;;;;;;;;-1:-1:-1;18649:130:0;;;;;:::i;:::-;;:::i;6960:143::-;;;;;;;;;;-1:-1:-1;6960:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7068:18:0;;;7041:7;7068:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6960:143;4165:57;;;;;;;;;;;;;;;;10187:110;;;;;;;;;;-1:-1:-1;10187:110:0;;;;;:::i;:::-;;:::i;2154:192::-;;;;;;;;;;-1:-1:-1;2154:192:0;;;;;:::i;:::-;;:::i;4630:39::-;;;;;;;;;;-1:-1:-1;4630:39:0;;;;;;;;;;;;3897:21;;;;;;;;;;-1:-1:-1;3897:21:0;;;;;;;-1:-1:-1;;;;;3897:21:0;;;19167:154;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;;;;;;;;;19281:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19269:9:::1;:44:::0;;;;;;;;;;;19167:154::o;7111:184::-;5271:14;;7209:4;;7188:10;;5271:14;;;;;;:43;;-1:-1:-1;;;;;;5289:25:0;;;;;;:16;:25;;;;;;;;5271:43;5263:79;;;;-1:-1:-1;;;5263:79:0;;;;;;;:::i;:::-;7226:39:::1;1330:10:::0;7249:7:::1;7258:6;7226:8;:39::i;:::-;-1:-1:-1::0;7283:4:0::1;::::0;7111:184;-1:-1:-1;;;7111:184:0:o;19009:152::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;19121:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19110:8:::1;:43:::0;;;;;;;;;;;19009:152::o;7303:437::-;5271:14;;7428:4;;7411:6;;5271:14;;;;;;:43;;-1:-1:-1;;;;;;5289:25:0;;;;;;:16;:25;;;;;;;;5271:43;5263:79;;;;-1:-1:-1;;;5263:79:0;;;;;;;:::i;:::-;7445:36:::1;7455:6;7463:9;7474:6;7445:9;:36::i;:::-;-1:-1:-1::0;;;;;7519:19:0;::::1;7492:24;7519:19:::0;;;:11:::1;:19;::::0;;;;;;;1330:10;7519:33;;;;;;;;7571:26;;::::1;;7563:79;;;::::0;-1:-1:-1;;;7563:79:0;;9276:2:1;7563:79:0::1;::::0;::::1;9258:21:1::0;9315:2;9295:18;;;9288:30;9354:34;9334:18;;;9327:62;-1:-1:-1;;;9405:18:1;;;9398:38;9453:19;;7563:79:0::1;9248:230:1::0;7563:79:0::1;7653:57;7662:6:::0;1330:10;7684:25:::1;7703:6:::0;7684:16;:25:::1;:::i;:::-;7653:8;:57::i;:::-;-1:-1:-1::0;7728:4:0::1;::::0;7303:437;-1:-1:-1;;;;;7303:437:0:o;9010:248::-;9076:7;9115;;9104;:18;;9096:73;;;;-1:-1:-1;;;9096:73:0;;6910:2:1;9096:73:0;;;6892:21:1;6949:2;6929:18;;;6922:30;6988:34;6968:18;;;6961:62;-1:-1:-1;;;7039:18:1;;;7032:40;7089:19;;9096:73:0;6882:232:1;9096:73:0;9180:19;9203:10;:8;:10::i;:::-;9180:33;-1:-1:-1;9231:19:0;9180:33;9231:7;:19;:::i;:::-;9224:26;9010:248;-1:-1:-1;;;9010:248:0:o;18900:101::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18972:13:0;;;::::1;;::::0;;;:6:::1;:13;::::0;;;;:21;;-1:-1:-1;;18972:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18900:101::o;7748:236::-;5271:14;;7859:4;;7838:10;;5271:14;;;;;;:43;;-1:-1:-1;;;;;;5289:25:0;;;;;;:16;:25;;;;;;;;5271:43;5263:79;;;;-1:-1:-1;;;5263:79:0;;;;;;;:::i;:::-;1330:10;7908:25:::1;::::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;7908:34:0;::::1;::::0;;;;;;;;7876:78:::1;::::0;1330:10;7899:7;;7908:45:::1;::::0;7943:10;;7908:45:::1;:::i;10068:111::-:0;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10137:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10137:34:0::1;10167:4;10137:34;::::0;;10068:111::o;8526:476::-;8616:7;8655;;8644;:18;;8636:62;;;;-1:-1:-1;;;8636:62:0;;8916:2:1;8636:62:0;;;8898:21:1;8955:2;8935:18;;;8928:30;8994:33;8974:18;;;8967:61;9045:18;;8636:62:0;8888:181:1;8636:62:0;8714:17;8709:286;;8779:35;;;;;;;;8805:8;8779:35;;;;;;;;;;;;;;;;;;8748:28;;8779:35;;8790:7;;8799:4;;8779:10;:35::i;:::-;8836:9;;-1:-1:-1;8829:16:0;;-1:-1:-1;8829:16:0;8709:286;8909:35;;;;;;;;8935:8;8909:35;;;;;;;;;;;;;;;;;;8878:28;;8909:35;;8920:7;;8929:4;;8909:10;:35::i;:::-;8966:17;;;;-1:-1:-1;8959:24:0;;-1:-1:-1;8959:24:0;8709:286;8526:476;;;;:::o;19333:116::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;19428:13:::1;3988:1;19428:2;:13;:::i;:::-;19419:22;::::0;:6;:22:::1;:::i;:::-;19400:16;:41:::0;-1:-1:-1;19333:116:0:o;10309:127::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10395:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:33;;-1:-1:-1;;10395:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10309:127::o;6556:198::-;-1:-1:-1;;;;;6646:20:0;;6622:7;6646:20;;;:11;:20;;;;;;;;6642:49;;;-1:-1:-1;;;;;;6675:16:0;;;;;:7;:16;;;;;;;6556:198::o;6642:49::-;-1:-1:-1;;;;;6729:16:0;;;;;;:7;:16;;;;;;6709:37;;:19;:37::i;2052:94::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;2117:21:::1;2135:1;2117:9;:21::i;:::-;2052:94::o:0;18787:101::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;18858:11:::1;:22:::0;;-1:-1:-1;;18858:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18787:101::o;7992:398::-;5271:14;;8108:4;;8087:10;;5271:14;;;;;;:43;;-1:-1:-1;;;;;;5289:25:0;;;;;;:16;:25;;;;;;;;5271:43;5263:79;;;;-1:-1:-1;;;5263:79:0;;;;;;;:::i;:::-;1330:10;8125:24:::1;8152:25:::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;8152:34:0;::::1;::::0;;;;;;;;8205:35;;::::1;;8197:85;;;::::0;-1:-1:-1;;;8197:85:0;;11968:2:1;8197:85:0::1;::::0;::::1;11950:21:1::0;12007:2;11987:18;;;11980:30;12046:34;12026:18;;;12019:62;-1:-1:-1;;;12097:18:1;;;12090:35;12142:19;;8197:85:0::1;11940:227:1::0;8197:85:0::1;8293:67;1330:10:::0;8316:7;8325:34:::1;8344:15:::0;8325:16;:34:::1;:::i;8293:67::-;-1:-1:-1::0;8378:4:0::1;::::0;7992:398;-1:-1:-1;;;;7992:398:0:o;6762:190::-;5271:14;;6863:4;;6842:10;;5271:14;;;;;;:43;;-1:-1:-1;;;;;;5289:25:0;;;;;;:16;:25;;;;;;;;5271:43;5263:79;;;;-1:-1:-1;;;5263:79:0;;;;;;;:::i;:::-;6880:42:::1;1330:10:::0;6904:9:::1;6915:6;6880:9;:42::i;18527:114::-:0;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;18606:15:::1;:27:::0;;-1:-1:-1;;;;;;18606:27:0::1;-1:-1:-1::0;;;;;18606:27:0;;;::::1;::::0;;;::::1;::::0;;18527:114::o;10448:104::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;10519:14:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10519:25:0;;::::1;::::0;;;::::1;::::0;;10448:104::o;18649:130::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;18758:13:::1;3988:1;18758:2;:13;:::i;:::-;18749:22;::::0;:6;:22:::1;:::i;:::-;18728:18;:43:::0;-1:-1:-1;18649:130:0:o;10187:110::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10254:27:0::1;10284:5;10254:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10254:35:0::1;::::0;;10187:110::o;2154:192::-;1875:7;1902:6;-1:-1:-1;;;;;1902:6:0;1330:10;1964:23;1956:68;;;;-1:-1:-1;;;1956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2243:22:0;::::1;2235:73;;;::::0;-1:-1:-1;;;2235:73:0;;7321:2:1;2235:73:0::1;::::0;::::1;7303:21:1::0;7360:2;7340:18;;;7333:30;7399:34;7379:18;;;7372:62;-1:-1:-1;;;7450:18:1;;;7443:36;7496:19;;2235:73:0::1;7293:228:1::0;2235:73:0::1;2319:19;2329:8;2319:9;:19::i;:::-;2154:192:::0;:::o;13624:335::-;-1:-1:-1;;;;;13717:19:0;;13709:68;;;;-1:-1:-1;;;13709:68:0;;11211:2:1;13709:68:0;;;11193:21:1;11250:2;11230:18;;;11223:30;11289:34;11269:18;;;11262:62;-1:-1:-1;;;11340:18:1;;;11333:34;11384:19;;13709:68:0;11183:226:1;13709:68:0;-1:-1:-1;;;;;13796:21:0;;13788:68;;;;-1:-1:-1;;;13788:68:0;;7728:2:1;13788:68:0;;;7710:21:1;7767:2;7747:18;;;7740:30;7806:34;7786:18;;;7779:62;-1:-1:-1;;;7857:18:1;;;7850:32;7899:19;;13788:68:0;7700:224:1;13788:68:0;-1:-1:-1;;;;;13867:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13919:32;;12318:25:1;;;13919:32:0;;12291:18:1;13919:32:0;;;;;;;13624:335;;;:::o;13967:1227::-;-1:-1:-1;;;;;14055:18:0;;14047:68;;;;-1:-1:-1;;;14047:68:0;;10456:2:1;14047:68:0;;;10438:21:1;10495:2;10475:18;;;10468:30;10534:34;10514:18;;;10507:62;-1:-1:-1;;;10585:18:1;;;10578:35;10630:19;;14047:68:0;10428:227:1;14047:68:0;-1:-1:-1;;;;;14134:16:0;;14126:64;;;;-1:-1:-1;;;14126:64:0;;5685:2:1;14126:64:0;;;5667:21:1;5724:2;5704:18;;;5697:30;5763:34;5743:18;;;5736:62;-1:-1:-1;;;5814:18:1;;;5807:33;5857:19;;14126:64:0;5657:225:1;14126:64:0;14218:1;14209:6;:10;14201:64;;;;-1:-1:-1;;;14201:64:0;;10046:2:1;14201:64:0;;;10028:21:1;10085:2;10065:18;;;10058:30;10124:34;10104:18;;;10097:62;-1:-1:-1;;;10175:18:1;;;10168:39;10224:19;;14201:64:0;10018:231:1;14201:64:0;14294:15;14304:4;14294:9;:15::i;:::-;14284:6;:25;;14276:86;;;;-1:-1:-1;;;14276:86:0;;6492:2:1;14276:86:0;;;6474:21:1;6531:2;6511:18;;;6504:30;6570:34;6550:18;;;6543:62;-1:-1:-1;;;6621:18:1;;;6614:47;6678:19;;14276:86:0;6464:239:1;14276:86:0;-1:-1:-1;;;;;14382:12:0;;;;;;:6;:12;;;;;;;;14381:13;:28;;;;-1:-1:-1;;;;;;14399:10:0;;;;;;:6;:10;;;;;;;;14398:11;14381:28;14373:61;;;;-1:-1:-1;;;14373:61:0;;10862:2:1;14373:61:0;;;10844:21:1;10901:2;10881:18;;;10874:30;-1:-1:-1;;;10920:18:1;;;10913:50;10980:18;;14373:61:0;10834:170:1;14373:61:0;-1:-1:-1;;;;;14451:24:0;;;;;;:18;:24;;;;;;;;14450:25;:52;;;;-1:-1:-1;;;;;;14480:22:0;;;;;;:18;:22;;;;;;;;14479:23;14450:52;:66;;;;-1:-1:-1;14512:4:0;;-1:-1:-1;;;;;14506:10:0;;;14512:4;;14506:10;;14450:66;14447:186;;;14566:16;;14556:6;14540:13;14550:2;14540:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14532:89;;;;-1:-1:-1;;;14532:89:0;;6089:2:1;14532:89:0;;;6071:21:1;6128:2;6108:18;;;6101:30;6167:34;6147:18;;;6140:62;-1:-1:-1;;;6218:18:1;;;6211:32;6260:19;;14532:89:0;6061:224:1;14532:89:0;14649:28;14680:24;14698:4;14680:9;:24::i;:::-;14754:18;;14787:8;;14649:55;;-1:-1:-1;14730:42:0;;;;14787:8;;;;;14786:9;:24;;;;-1:-1:-1;14799:11:0;;;;14786:24;:35;;;;;14814:7;14786:35;:49;;;;-1:-1:-1;14831:4:0;;-1:-1:-1;;;;;14825:10:0;;;14831:4;;14825:10;14786:49;:78;;;;-1:-1:-1;;;;;;14840:24:0;;;;;;:18;:24;;;;;;;;14839:25;14786:78;:106;;;;-1:-1:-1;;;;;;14870:22:0;;;;;;:18;:22;;;;;;;;14869:23;14786:106;14783:171;;;14908:34;14923:18;;14908:14;:34::i;:::-;-1:-1:-1;;;;;15009:24:0;;14974:12;15009:24;;;:18;:24;;;;;;;;15008:25;:53;;;;-1:-1:-1;;;;;;15039:22:0;;;;;;:18;:22;;;;;;;;15038:23;15008:53;:67;;;;-1:-1:-1;15071:4:0;;-1:-1:-1;;;;;15065:10:0;;;15071:4;;15065:10;15008:67;:83;;;-1:-1:-1;15087:4:0;;-1:-1:-1;;;;;15079:12:0;;;15087:4;;15079:12;15008:83;15005:128;;;-1:-1:-1;15117:4:0;15005:128;15145:41;15160:4;15166:2;15170:6;15178:7;15145:14;:41::i;:::-;14036:1158;;;13967:1227;;;:::o;12910:158::-;12951:7;12972:15;12989;13008:19;:17;:19::i;:::-;12971:56;;-1:-1:-1;12971:56:0;-1:-1:-1;13045:15:0;12971:56;;13045:15;:::i;:::-;13038:22;;;;12910:158;:::o;11408:395::-;11500:36;;:::i;:::-;11561:35;11573:7;11582;11591:4;11561:11;:35::i;:::-;11549:47;;11716:52;11728:9;11739:7;11748;11757:10;:8;:10::i;:::-;11716:11;:52::i;:::-;11692:20;;;11607:161;11670:20;;;11607:161;11654:14;;;11607:161;11627:25;;;11607:161;;;11408:395;;;;;:::o;2354:173::-;2410:16;2429:6;;-1:-1:-1;;;;;2446:17:0;;;-1:-1:-1;;;;;;2446:17:0;;;;;;2479:40;;2429:6;;;;;;;2479:40;;2410:16;2479:40;2399:128;2354:173;:::o;16418:1135::-;5404:8;:15;;-1:-1:-1;;5404:15:0;;;;;16598:19;;16576;;5404:15;;16576:41:::1;::::0;::::1;:::i;:::-;16575:47;::::0;16621:1:::1;16575:47;:::i;:::-;16553:69;;16637:32;16712:11;16690:9;:19;;;16672:15;:37;;;;:::i;:::-;:51;;;;:::i;:::-;16637:86:::0;-1:-1:-1;16738:14:0::1;16755:42;16637:86:::0;16755:15;:42:::1;:::i;:::-;16738:59:::0;-1:-1:-1;16843:21:0::1;16885:24;16738:59:::0;16885:16:::1;:24::i;:::-;16930:20;16953:38;16977:14:::0;16953:21:::1;:38;:::i;:::-;17057:19:::0;;16930:61;;-1:-1:-1;17006:19:0::1;::::0;17043:33:::1;::::0;:11;:33:::1;:::i;:::-;17027:50;::::0;:12;:50:::1;:::i;:::-;17138:19:::0;;17006:71;;-1:-1:-1;17092:29:0::1;::::0;17124:33:::1;::::0;17006:71;17124:33:::1;:::i;:::-;17092:65:::0;-1:-1:-1;17181:25:0;;17178:170:::1;;17271:61;17284:24;17310:21;17271:12;:61::i;:::-;17409:19:::0;;17368:20:::1;::::0;17391:15:::1;:11:::0;17405:1:::1;17391:15;:::i;:::-;:37;;;;:::i;:::-;17368:60:::0;-1:-1:-1;17446:16:0;;17443:103:::1;;17490:15;::::0;17482:48:::1;::::0;-1:-1:-1;;;;;17490:15:0::1;17517:12:::0;17482:34:::1;:48::i;:::-;-1:-1:-1::0;;5442:8:0;:16;;-1:-1:-1;;5442:16:0;;;-1:-1:-1;;;;;;;16418:1135:0:o;15277:1133::-;15386:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;15386:17:0;15417:7;15414:130;;;15456:4;;-1:-1:-1;;;;;15443:17:0;;;15456:4;;15443:17;15440:92;;;-1:-1:-1;15462:16:0;;;;;;;;15469:9;15462:16;;;;;;;;;;;;;;;;;;15440:92;;;15511:4;;-1:-1:-1;;;;;15501:14:0;;;15511:4;;15501:14;15498:34;;;-1:-1:-1;15517:15:0;;;;;;;;15524:8;15517:15;;;;;;;;;;;;;;;;;;15498:34;15554:28;15585:34;15596:7;15605;15614:4;15585:10;:34::i;:::-;-1:-1:-1;;;;;15636:19:0;;;;;;:11;:19;;;;;;15554:65;;-1:-1:-1;15636:19:0;;15632:115;;;-1:-1:-1;;;;;15712:15:0;;;;;;:7;:15;;;;;;:23;;15728:7;;15712:23;:::i;:::-;-1:-1:-1;;;;;15694:15:0;;;;;;:7;:15;;;;;:41;15632:115;-1:-1:-1;;;;;15761:22:0;;;;;;:11;:22;;;;;;;;15757:130;;;15858:17;;;;-1:-1:-1;;;;;15839:18:0;;;;;;:7;:18;;;;;;:36;;15858:17;15839:36;:::i;:::-;-1:-1:-1;;;;;15818:18:0;;;;;;:7;:18;;;;;:57;15757:130;15933:9;;-1:-1:-1;;;;;15917:15:0;;15933:9;15917:15;;;:7;:15;;;;;;:25;;15933:9;15917:25;:::i;:::-;-1:-1:-1;;;;;15899:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;15993:17;;;15974:18;;;;;;;;;;:36;;15993:17;15974:36;:::i;:::-;-1:-1:-1;;;;;15953:18:0;;;;;;:7;:18;;;;;;;:57;;;;16024:6;;;:10;;;:24;;;16047:1;16038;:6;;;:10;16024:24;16021:56;;;16050:27;16062:1;:6;;;16070:1;:6;;;16050:11;:27::i;:::-;16106:1;16091;:12;;;:16;:36;;;;16126:1;16111;:12;;;:16;16091:36;16088:82;;;16129:41;16144:1;:12;;;16157:1;:12;;;16129:14;:41::i;:::-;16199:1;16184;:12;;;:16;:36;;;;16219:1;16204;:12;;;:16;16184:36;16181:83;;;16222:42;16237:1;:12;;;16251:1;:12;;;16222:14;:42::i;:::-;16297:9;-1:-1:-1;;;;;16280:46:0;16289:6;-1:-1:-1;;;;;16280:46:0;;16308:1;:17;;;16280:46;;;;12318:25:1;;12306:2;12291:18;;12273:76;16280:46:0;;;;;;;;16367:4;-1:-1:-1;;;;;16342:60:0;16351:6;-1:-1:-1;;;;;16342:60:0;;16389:1;:12;;;16374:1;:12;;;:27;;;;:::i;:::-;16342:60;;12318:25:1;;;12306:2;12291:18;16342:60:0;;;;;;;15375:1035;;15277:1133;;;;:::o;13076:540::-;13173:7;;13209;;13126;;;;;13227:279;13251:9;:16;13247:20;;13227:279;;;13317:7;13293;:21;13301:9;13311:1;13301:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13301:12:0;13293:21;;;;;;;;;;;;;:31;;:66;;;13352:7;13328;:21;13336:9;13346:1;13336:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13336:12:0;13328:21;;;;;;;;;;;;;:31;13293:66;13289:97;;;13369:7;;13378;;13361:25;;;;;;;13076:540;;:::o;13289:97::-;13419:7;:21;13427:9;13437:1;13427:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13427:12:0;13419:21;;;;;;;;;;;;;13411:29;;:7;:29;:::i;:::-;13401:39;;13473:7;:21;13481:9;13491:1;13481:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13481:12:0;13473:21;;;;;;;;;;;;;13465:29;;:7;:29;:::i;:::-;13455:39;-1:-1:-1;13269:3:0;;;;:::i;:::-;;;;13227:279;;;;13538:7;;13530;;:15;;;;:::i;:::-;13520:7;:25;13516:56;;;13555:7;;13564;;13547:25;;;;;;13076:540;;:::o;13516:56::-;13591:7;;13600;;-1:-1:-1;13076:540:0;-1:-1:-1;13076:540:0:o;11811:463::-;11904:28;;:::i;:::-;11951:7;11947:86;;11973:17;;;:27;;;12013:8;;11947:86;12060:8;;12069:3;;12052:16;;:7;:16;:::i;:::-;:20;;;;:::i;:::-;12043:6;;;:29;12106:14;;;;12121:3;;12098:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12083:12;;;:41;12158:14;;;;12173:3;;12150:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12135:12;;;:41;;;12222:12;;;;12215:6;;;;12207:14;;:7;:14;:::i;:::-;:27;;;;:::i;:::-;:40;;;;:::i;:::-;12187:17;;;:60;11811:463;;;;;:::o;12282:620::-;12407:15;;;;;12524:19;12532:11;12524:7;:19;:::i;:::-;12514:29;;12560:7;12556:69;;-1:-1:-1;12589:7:0;;-1:-1:-1;12607:1:0;;-1:-1:-1;12607:1:0;;-1:-1:-1;12607:1:0;12582:31;;12556:69;12651:11;12644:1;:6;;;:18;;;;:::i;:::-;12637:25;;12699:11;12686:1;:12;;;:24;;;;:::i;:::-;12673:37;;12747:11;12734:1;:12;;;:24;;;;:::i;:::-;12721:37;-1:-1:-1;12721:37:0;12801:10;12788:12;12796:4;12788:7;:12;:::i;:::-;:23;;;;:::i;:::-;:34;;;;:::i;:::-;12769:53;;12282:620;;;;;;;;;;:::o;17561:451::-;17651:16;;;17665:1;17651:16;;;;;;;;17627:21;;17651:16;;;;;;;;;;-1:-1:-1;17651:16:0;17627:40;;17696:4;17678;17683:1;17678:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17678:23:0;;;-1:-1:-1;;;;;17678:23:0;;;;;17722:6;;;;;;;;;-1:-1:-1;;;;;17722:6:0;-1:-1:-1;;;;;17722:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17712:4;17717:1;17712:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17712:23:0;;;:7;;;;;;;;;:23;17780:6;;17748:53;;17765:4;;17780:6;;;;17789:11;17748:8;:53::i;:::-;17814:6;;:188;;-1:-1:-1;;;17814:188:0;;:6;;;;-1:-1:-1;;;;;17814:6:0;;:57;;:188;;17886:11;;17912:1;;17929:4;;17956;;17976:15;;17814:188;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18020:495;18200:6;;18168:53;;18185:4;;18200:6;;;-1:-1:-1;;;;;18200:6:0;18209:11;18168:8;:53::i;:::-;18264:6;;-1:-1:-1;;;;;18264:6:0;;;;;:22;18294:9;18327:4;18347:11;18373:1;;18459:7;1875;1902:6;-1:-1:-1;;;;;1902:6:0;;1829:87;18459:7;18264:243;;;;;;-1:-1:-1;;;;;;18264:243:0;;;-1:-1:-1;;;;;4213:15:1;;;18264:243:0;;;4195:34:1;4245:18;;;4238:34;;;;4288:18;;;4281:34;;;;4331:18;;;4324:34;4395:15;;;4374:19;;;4367:44;18481:15:0;4427:19:1;;;4420:35;4129:19;;18264:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18020:495;;:::o;889:317::-;1004:6;979:21;:31;;971:73;;;;-1:-1:-1;;;971:73:0;;8558:2:1;971:73:0;;;8540:21:1;8597:2;8577:18;;;8570:30;8636:31;8616:18;;;8609:59;8685:18;;971:73:0;8530:179:1;971:73:0;1058:12;1076:9;-1:-1:-1;;;;;1076:14:0;1098:6;1076:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:52;;;1128:7;1120:78;;;;-1:-1:-1;;;1120:78:0;;8131:2:1;1120:78:0;;;8113:21:1;8170:2;8150:18;;;8143:30;8209:34;8189:18;;;8182:62;8280:28;8260:18;;;8253:56;8326:19;;1120:78:0;8103:248:1;1120:78:0;960:246;889:317;;:::o;10691:123::-;10769:4;10759:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10784:11:0;:22;;10802:4;;10784:11;:15;;:22;;10802:4;;10784:22;:::i;:::-;;;;-1:-1:-1;;;;10691:123:0:o;10824:284::-;10931:10;10907:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;10977:4:0;10957:26;;;;:11;:26;;;;;;;;10954:101;;;11025:4;11009:22;;;;:7;:22;;;;;:34;;11033:10;;11009:22;:34;;11033:10;;11009:34;:::i;:::-;;;;-1:-1:-1;;10954:101:0;11081:4;11065:22;;;;:7;:22;;;;;:35;;11090:10;;11065:22;:35;;11090:10;;11065:35;:::i;11116:284::-;11223:10;11199:11;:21;;;:34;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:2;;;832:1;829;822:12;784:2;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;774:301;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1184:352;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1184:352::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:2;;;1683:1;1680;1673:12;1635:2;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1625:231;;;;;:::o;1861:315::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1948:228:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:2;;;2306:1;2303;2296:12;2258:2;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:2;;;2494:1;2491;2484:12;2446:2;-1:-1:-1;2517:23:1;;2436:110;-1:-1:-1;2436:110:1:o;2551:248::-;2616:6;2624;2677:2;2665:9;2656:7;2652:23;2648:32;2645:2;;;2693:1;2690;2683:12;2645:2;2729:9;2716:23;2706:33;;2758:35;2789:2;2778:9;2774:18;2758:35;:::i;2804:316::-;2881:6;2889;2897;2950:2;2938:9;2929:7;2925:23;2921:32;2918:2;;;2966:1;2963;2956:12;2918:2;-1:-1:-1;;2989:23:1;;;3059:2;3044:18;;3031:32;;-1:-1:-1;3110:2:1;3095:18;;;3082:32;;2908:212;-1:-1:-1;2908:212:1:o;3125:306::-;3213:6;3221;3229;3282:2;3270:9;3261:7;3257:23;3253:32;3250:2;;;3298:1;3295;3288:12;3250:2;3327:9;3321:16;3311:26;;3377:2;3366:9;3362:18;3356:25;3346:35;;3421:2;3410:9;3406:18;3400:25;3390:35;;3240:191;;;;;:::o;4881:597::-;4993:4;5022:2;5051;5040:9;5033:21;5083:6;5077:13;5126:6;5121:2;5110:9;5106:18;5099:34;5151:1;5161:140;5175:6;5172:1;5169:13;5161:140;;;5270:14;;;5266:23;;5260:30;5236:17;;;5255:2;5232:26;5225:66;5190:10;;5161:140;;;5319:6;5316:1;5313:13;5310:2;;;5389:1;5384:2;5375:6;5364:9;5360:22;5356:31;5349:42;5310:2;-1:-1:-1;5462:2:1;5441:15;-1:-1:-1;;5437:29:1;5422:45;;;;5469:2;5418:54;;5002:476;-1:-1:-1;;;5002:476:1:o;9483:356::-;9685:2;9667:21;;;9704:18;;;9697:30;9763:34;9758:2;9743:18;;9736:62;9830:2;9815:18;;9657:182::o;11414:347::-;11616:2;11598:21;;;11655:2;11635:18;;;11628:30;11694:25;11689:2;11674:18;;11667:53;11752:2;11737:18;;11588:173::o;12354:980::-;12616:4;12664:3;12653:9;12649:19;12695:6;12684:9;12677:25;12721:2;12759:6;12754:2;12743:9;12739:18;12732:34;12802:3;12797:2;12786:9;12782:18;12775:31;12826:6;12861;12855:13;12892:6;12884;12877:22;12930:3;12919:9;12915:19;12908:26;;12969:2;12961:6;12957:15;12943:29;;12990:1;13000:195;13014:6;13011:1;13008:13;13000:195;;;13079:13;;-1:-1:-1;;;;;13075:39:1;13063:52;;13170:15;;;;13135:12;;;;13111:1;13029:9;13000:195;;;-1:-1:-1;;;;;;;13251:32:1;;;;13246:2;13231:18;;13224:60;-1:-1:-1;;;13315:3:1;13300:19;13293:35;13212:3;12625:709;-1:-1:-1;;;12625:709:1:o;13852:128::-;13892:3;13923:1;13919:6;13916:1;13913:13;13910:2;;;13929:18;;:::i;:::-;-1:-1:-1;13965:9:1;;13900:80::o;13985:217::-;14025:1;14051;14041:2;;14095:10;14090:3;14086:20;14083:1;14076:31;14130:4;14127:1;14120:15;14158:4;14155:1;14148:15;14041:2;-1:-1:-1;14187:9:1;;14031:171::o;14207:422::-;14296:1;14339:5;14296:1;14353:270;14374:7;14364:8;14361:21;14353:270;;;14433:4;14429:1;14425:6;14421:17;14415:4;14412:27;14409:2;;;14442:18;;:::i;:::-;14492:7;14482:8;14478:22;14475:2;;;14512:16;;;;14475:2;14591:22;;;;14551:15;;;;14353:270;;;14357:3;14271:358;;;;;:::o;14634:140::-;14692:5;14721:47;14762:4;14752:8;14748:19;14742:4;14828:5;14858:8;14848:2;;-1:-1:-1;14899:1:1;14913:5;;14848:2;14947:4;14937:2;;-1:-1:-1;14984:1:1;14998:5;;14937:2;15029:4;15047:1;15042:59;;;;15115:1;15110:130;;;;15022:218;;15042:59;15072:1;15063:10;;15086:5;;;15110:130;15147:3;15137:8;15134:17;15131:2;;;15154:18;;:::i;:::-;-1:-1:-1;;15210:1:1;15196:16;;15225:5;;15022:218;;15324:2;15314:8;15311:16;15305:3;15299:4;15296:13;15292:36;15286:2;15276:8;15273:16;15268:2;15262:4;15259:12;15255:35;15252:77;15249:2;;;-1:-1:-1;15361:19:1;;;15393:5;;15249:2;15440:34;15465:8;15459:4;15440:34;:::i;:::-;15510:6;15506:1;15502:6;15498:19;15489:7;15486:32;15483:2;;;15521:18;;:::i;:::-;15559:20;;14838:747;-1:-1:-1;;;14838:747:1:o;15590:168::-;15630:7;15696:1;15692;15688:6;15684:14;15681:1;15678:21;15673:1;15666:9;15659:17;15655:45;15652:2;;;15703:18;;:::i;:::-;-1:-1:-1;15743:9:1;;15642:116::o;15763:125::-;15803:4;15831:1;15828;15825:8;15822:2;;;15836:18;;:::i;:::-;-1:-1:-1;15873:9:1;;15812:76::o;15893:135::-;15932:3;-1:-1:-1;;15953:17:1;;15950:2;;;15973:18;;:::i;:::-;-1:-1:-1;16020:1:1;16009:13;;15940:88::o;16033:127::-;16094:10;16089:3;16085:20;16082:1;16075:31;16125:4;16122:1;16115:15;16149:4;16146:1;16139:15;16165:127;16226:10;16221:3;16217:20;16214:1;16207:31;16257:4;16254:1;16247:15;16281:4;16278:1;16271:15;16429:131;-1:-1:-1;;;;;16504:31:1;;16494:42;;16484:2;;16550:1;16547;16540:12

Swarm Source

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