ETH Price: $3,501.05 (-0.06%)
Gas: 2 Gwei

Token

Flork (FLORK)
 

Overview

Max Total Supply

1,000,000,000,000 FLORK

Holders

139

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.374036176 FLORK

Value
$0.00
0x6911f0136d33b669429a01c3fadd8bf6b214d603
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:
FLORK

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-18
*/

//WEBSITE: florkerc.com
//TG:  https://t.me/FlorkERC
//TWITTER:  twitter.com/FlorkOfficial
//MEDIUM: https://medium.com/@FlorkERC/flork-1b824f15c608


// SPDX-License-Identifier: Unlicensed


pragma solidity 0.8.17;

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

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

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

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

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

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

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

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

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

interface InterfaceLP {
    function sync() external;
}

contract FLORK is Ownable, ERC20 {
    using SafeMath for uint256;

    address WETH;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "Flork";
    string constant _symbol = "FLORK";
    uint8 constant _decimals = 9; 
  

    uint256 _totalSupply = 1 * 10**12 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

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

    
    mapping (address => bool) isFeeexempt;
    mapping (address => bool) isTxLimitexempt;

    uint256 private liquidityFee    = 2;
    uint256 private marketingFee    = 3;
    uint256 private devFee          = 0;
    uint256 private teamFee         = 0; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = teamFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercent = 100;
    uint256 buypercent = 100;
    uint256 transferpercent = 100; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private teamFeeReceiver;
    address private burnFeeReceiver;
    
    uint256 targetLiquidity = 30;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

    bool public antiBotMode = false;
    mapping (address => bool) public isantiBoted;   

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 20 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeexempt[msg.sender] = true;
        isFeeexempt[devFeeReceiver] = true;
            
        isTxLimitexempt[msg.sender] = true;
        isTxLimitexempt[pair] = true;
        isTxLimitexempt[devFeeReceiver] = true;
        isTxLimitexempt[marketingFeeReceiver] = true;
        isTxLimitexempt[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0xdDB9932Bb4bb7162824E89a6699142f30ac1456d;
        devFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function editWalletSize(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
                
    }

    function editMaxSell(uint256 maxTXPercent) external onlyOwner {
         require(maxTXPercent >= 1); 
        _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
    }

    function removeLimits () external onlyOwner {
            _maxTxAmount = _totalSupply;
            _maxWalletToken = _totalSupply;
    }
      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
             if(antiBotMode){
                require(isantiBoted[recipient],"Not antiBoted"); 
          }
        }
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitexempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        

        // Checks max transaction limit
        checkTxLimit(sender, amount); 

        if(shouldSwapBack()){ swapBack(); }
                    
         //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeexempt[sender] || isFeeexempt[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitexempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeexempt[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;

        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);

        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function removeStuckETH(uint256 amountPercentage) external {
        uint256 amountETH = address(this).balance;
        payable(teamFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

     function swapback() external onlyOwner {
           swapBack();
    
    }

     function transfer() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);

    }

    function rescueToken(address tokenAddress, uint256 tokens) public returns (bool) {
               if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellpercent = _sell;
        buypercent = _buy;
        transferpercent = _trans;    
          
    }

     function enableantiBot(bool _status) public onlyOwner {
        antiBotMode = _status;
    }

    function setIsAntiBot(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isantiBoted[addresses[i]] = status;
        }
    }

    function openTrading() public onlyOwner {
        TradingOpen = true;
        antiBotMode = true;
               
    }
    
    function goLive() public onlyOwner {
        antiBotMode = false;
        sellpercent = 600;
        buypercent = 400;
        transferpercent = 0;
         _maxTxAmount = _totalSupply.mul(15).div(1000);
        _maxWalletToken = _totalSupply.mul(15).div(1000);
                 
    }
             
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uint256 balanceBefore = address(this).balance;

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

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function setInternalAddress(address holder, bool exempt) external onlyOwner {
        isFeeexempt[holder] = exempt;
        isTxLimitexempt[holder] = exempt;
    }
    
    function setFeeAllocation(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%"); 
    }

    function setReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setTokensToSwapAt(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }



event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiBotMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"editMaxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"editWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableantiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isantiBoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"removeStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFeeAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setInternalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setIsAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setTokensToSwapAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006e7565b620000439064e8d4a51000620006f8565b6005556200007d6064620000696001600554620004b760201b620011d71790919060201c565b6200054e60201b620012591790919060201c565b600655620000a36064620000696001600554620004b760201b620011d71790919060201c565b6007556002600c556003600d556000600e556000600f556000601055601054600e54600c54600d54600f54620000da919062000712565b620000e6919062000712565b620000f2919062000712565b620000fe919062000712565b60115560646012819055601381905560148181556015829055601e601b55601c91909155601f805461ffff60a01b191690556021805460ff191660011790556005546103e891620001509190620006f8565b6200015c919062000728565b6022553480156200016c57600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025291906200074b565b600280546001600160a01b0319166001600160a01b03928316179055601d546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d791906200074b565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f91906200074b565b601f80546001600160a01b039283166001600160a01b031991821681178355601e805483169091179055306000818152600960209081526040808320601d54881684528252808320600019905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b168752848720805483168417905596865283862080549091169091179055601680548716821790558454861673ddb9932bb4bb7162824e89a6699142f30ac1456d1790945585548516841790955560198054851684179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007c6565b600082600003620004cb5750600062000548565b6000620004d98385620006f8565b905082620004e8858362000728565b14620005455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200054583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200059860201b60201c565b60008183620005bc5760405162461bcd60e51b81526004016200053c919062000776565b506000620005cb848662000728565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200062b5781600019048211156200060f576200060f620005d4565b808516156200061d57918102915b93841c9390800290620005ef565b509250929050565b600082620006445750600162000548565b81620006535750600062000548565b81600181146200066c5760028114620006775762000697565b600191505062000548565b60ff8411156200068b576200068b620005d4565b50506001821b62000548565b5060208310610133831016604e8410600b8410161715620006bc575081810a62000548565b620006c88383620005ea565b8060001904821115620006df57620006df620005d4565b029392505050565b60006200054560ff84168362000633565b8082028115828204841417620005485762000548620005d4565b80820180821115620005485762000548620005d4565b6000826200074657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200075e57600080fd5b81516001600160a01b03811681146200054557600080fd5b600060208083528351808285015260005b81811015620007a55785810183015185820160400152820162000787565b506000604082860101526040601f19601f8301168501019250505092915050565b6123a380620007d66000396000f3fe60806040526004361061026b5760003560e01c80637fa4a5bb11610144578063a9059cbb116100b6578063d148b74c1161007a578063d148b74c14610723578063d51ed1c814610738578063dd62ed3e14610758578063f2fde38b1461079e578063f887ea40146107be578063fd07aa6c146107de57600080fd5b8063a9059cbb1461068d578063b2bdfa7b146106ad578063b8a02a68146106cd578063c55137a8146106ed578063c9567bf91461070e57600080fd5b80638da5cb5b116101085780638da5cb5b146105b25780639188abd6146105d057806394dcf853146105f057806395d89b41146106105780639baa10431461063e578063a8aa1b311461066d57600080fd5b80637fa4a5bb1461050b57806381e267d61461052b5780638821004f1461054b578063893d20e81461056b5780638a4068dd1461059d57600080fd5b806333f3d628116101dd57806370a08231116101a157806370a0823114610475578063715018a614610495578063751039fc146104aa57806378109e54146104bf578063799b14a6146104d55780637d1db4a5146104f557600080fd5b806333f3d628146103db5780633554dd3c146103fb578063571ac8b01461041b5780636ce46bc31461043b5780636ddd17131461045b57600080fd5b806318160ddd1161022f57806318160ddd146103485780631df4ccfc1461035d57806323b872dd146103735780632b112e49146103935780632c28f579146103a8578063313ce567146103bf57600080fd5b80630445b6671461027757806306fdde03146102a057806308fd3d05146102d7578063095ea7b3146103085780631161ae391461032857600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d60225481565b6040519081526020015b60405180910390f35b3480156102ac57600080fd5b50604080518082019091526005815264466c6f726b60d81b60208201525b6040516102979190611e6c565b3480156102e357600080fd5b50601f546102f890600160a01b900460ff1681565b6040519015158152602001610297565b34801561031457600080fd5b506102f8610323366004611ed6565b6107fe565b34801561033457600080fd5b506102f8610343366004611f00565b61086b565b34801561035457600080fd5b5060055461028d565b34801561036957600080fd5b5061028d60115481565b34801561037f57600080fd5b506102f861038e366004611f22565b61087f565b34801561039f57600080fd5b5061028d610941565b3480156103b457600080fd5b506103bd61098a565b005b3480156103cb57600080fd5b5060405160098152602001610297565b3480156103e757600080fd5b506102f86103f6366004611ed6565b610a15565b34801561040757600080fd5b506103bd610416366004611f5e565b610b01565b34801561042757600080fd5b506102f8610436366004611fc3565b610b8a565b34801561044757600080fd5b506103bd610456366004611fde565b610b98565b34801561046757600080fd5b506021546102f89060ff1681565b34801561048157600080fd5b5061028d610490366004611fc3565b610bd3565b3480156104a157600080fd5b506103bd610bee565b3480156104b657600080fd5b506103bd610c62565b3480156104cb57600080fd5b5061028d60075481565b3480156104e157600080fd5b506103bd6104f036600461200a565b610c99565b34801561050157600080fd5b5061028d60065481565b34801561051757600080fd5b506103bd610526366004612031565b610cf2565b34801561053757600080fd5b506103bd610546366004612068565b610d5a565b34801561055757600080fd5b506103bd61056636600461200a565b610da2565b34801561057757600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610297565b3480156105a957600080fd5b506103bd610df6565b3480156105be57600080fd5b506000546001600160a01b0316610585565b3480156105dc57600080fd5b506103bd6105eb366004612085565b610e32565b3480156105fc57600080fd5b506103bd61060b3660046120c8565b610ef8565b34801561061c57600080fd5b50604080518082019091526005815264464c4f524b60d81b60208201526102ca565b34801561064a57600080fd5b506102f8610659366004611fc3565b602080526000908152604090205460ff1681565b34801561067957600080fd5b50601f54610585906001600160a01b031681565b34801561069957600080fd5b506102f86106a8366004611ed6565b610f39565b3480156106b957600080fd5b50600054610585906001600160a01b031681565b3480156106d957600080fd5b506103bd6106e836600461200a565b610f46565b3480156106f957600080fd5b50601f546102f890600160a81b900460ff1681565b34801561071a57600080fd5b506103bd610f9f565b34801561072f57600080fd5b506103bd610fe0565b34801561074457600080fd5b5061028d61075336600461200a565b611014565b34801561076457600080fd5b5061028d6107733660046120e6565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107aa57600080fd5b506103bd6107b9366004611fc3565b61104e565b3480156107ca57600080fd5b50601d54610585906001600160a01b031681565b3480156107ea57600080fd5b506103bd6107f9366004612119565b611138565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108599086815260200190565b60405180910390a35060015b92915050565b60008261087783611014565b119392505050565b6001600160a01b03831660009081526009602090815260408083203384529091528120546000191461092c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461090791849061129b565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109378484846112d5565b90505b9392505050565b6004546000906109859061095d906001600160a01b0316610bd3565b60035461097f90610976906001600160a01b0316610bd3565b60055490611699565b90611699565b905090565b6000546001600160a01b031633146109bd5760405162461bcd60e51b81526004016109b49061219f565b60405180910390fd5b601f805460ff60a81b1916905561025860135561019060145560006015556005546109f7906103e8906109f190600f6111d7565b90611259565b600655600554610a10906103e8906109f190600f6111d7565b600755565b600081600003610a8a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8791906121d4565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906121ed565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b81526004016109b49061219f565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b6000610865826000196107fe565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016109b49061219f565b601391909155601491909155601555565b6001600160a01b031660009081526008602052604090205490565b6000546001600160a01b03163314610c185760405162461bcd60e51b81526004016109b49061219f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016109b49061219f565b6005546006819055600755565b6000546001600160a01b03163314610cc35760405162461bcd60e51b81526004016109b49061219f565b6001811015610cd157600080fd5b6103e881600554610ce29190612220565b610cec9190612237565b60075550565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016109b49061219f565b6001600160a01b039091166000908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b6000546001600160a01b03163314610d845760405162461bcd60e51b81526004016109b49061219f565b601f8054911515600160a81b0260ff60a81b19909216919091179055565b60195447906001600160a01b03166108fc6064610dbf8585612220565b610dc99190612237565b6040518115909202916000818181858888f19350505050158015610df1573d6000803e3d6000fd5b505050565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e2f573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610e5c5760405162461bcd60e51b81526004016109b49061219f565b600c869055600f859055600d849055600e8390556010829055610e8d82610e87858188818c8c6116db565b906116db565b6011556012819055610ea0600282612237565b60115410610ef05760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016109b4565b505050505050565b6000546001600160a01b03163314610f225760405162461bcd60e51b81526004016109b49061219f565b6021805460ff191692151592909217909155602255565b600061093a3384846112d5565b6000546001600160a01b03163314610f705760405162461bcd60e51b81526004016109b49061219f565b6001811015610f7e57600080fd5b6103e881600554610f8f9190612220565b610f999190612237565b60065550565b6000546001600160a01b03163314610fc95760405162461bcd60e51b81526004016109b49061219f565b601f805461ffff60a01b191661010160a01b179055565b6000546001600160a01b0316331461100a5760405162461bcd60e51b81526004016109b49061219f565b61101261173a565b565b6000610865611021610941565b601f546109f19061104790600290611041906001600160a01b0316610bd3565b906111d7565b85906111d7565b6000546001600160a01b031633146110785760405162461bcd60e51b81526004016109b49061219f565b6001600160a01b0381166110dd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111625760405162461bcd60e51b81526004016109b49061219f565b60005b828110156111d157816020600086868581811061118457611184612259565b90506020020160208101906111999190611fc3565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111ca8161226f565b9050611165565b50505050565b6000826000036111e957506000610865565b60006111f58385612220565b9050826112028583612237565b1461093a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109b4565b600061093a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b21565b600081848411156112bf5760405162461bcd60e51b81526004016109b49190611e6c565b5060006112cc8486612288565b95945050505050565b60235460009060ff16156112f5576112ee848484611b4f565b905061093a565b6001600160a01b03841660009081526001602052604090205460ff1615801561133757506001600160a01b03831660009081526001602052604090205460ff16155b156113f557601f54600160a01b900460ff1661138c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109b4565b601f54600160a81b900460ff16156113f5576001600160a01b038316600090815260208052604090205460ff166113f55760405162461bcd60e51b815260206004820152600d60248201526c139bdd08185b9d1a509bdd1959609a1b60448201526064016109b4565b6001600160a01b03841660009081526001602052604090205460ff1615801561142757506001600160a01b0383163014155b801561144157506003546001600160a01b03848116911614155b801561145b5750601f546001600160a01b03848116911614155b80156114755750601a546001600160a01b03848116911614155b801561148f57506017546001600160a01b03848116911614155b80156114b457506001600160a01b0383166000908152600b602052604090205460ff16155b1561154a5760006114c484610bd3565b6007549091506114d4848361229b565b11156115485760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109b4565b505b6115548483611c23565b61155c611c90565b156115695761156961173a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546115bb91849061129b565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff168061160857506001600160a01b0384166000908152600a602052604090205460ff165b61161c57611617858486611cdf565b61161e565b825b6001600160a01b03851660009081526008602052604090205490915061164490826116db565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061234e833981519152906116869085815260200190565b60405180910390a3506001949350505050565b600061093a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061129b565b6000806116e8838561229b565b90508381101561093a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109b4565b6023805460ff19166001179055601b54601c546000916117599161086b565b61176557600c54611768565b60005b9050600061178c60026109f16011546109f1866022546111d790919063ffffffff16565b905060006117a58260225461169990919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106117df576117df612259565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061181057611810612259565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac9479061185a9086906000908790309042906004016122ae565b600060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505060006118a1824761169990919063ffffffff16565b905060006118bc6118b3886002611259565b60115490611699565b905060006118d160026109f18481878d6111d7565b905060006118ee836109f1600d54876111d790919063ffffffff16565b9050600061190b846109f1600f54886111d790919063ffffffff16565b90506000611928856109f1600e54896111d790919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461197a576040519150601f19603f3d011682016040523d82523d6000602084013e61197f565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146119cf576040519150601f19603f3d011682016040523d82523d6000602084013e6119d4565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611a24576040519150601f19603f3d011682016040523d82523d6000602084013e611a29565b606091505b5060009250508b159050611b0957601d5460165460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611aa7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611acc919061231f565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b60008183611b425760405162461bcd60e51b81526004016109b49190611e6c565b5060006112cc8486612237565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611ba091849061129b565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611bcf90836116db565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061234e83398151915290611c119086815260200190565b60405180910390a35060019392505050565b60065481111580611c4c57506001600160a01b0382166000908152600b602052604090205460ff165b611c8c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109b4565b5050565b601f546000906001600160a01b03163314801590611cb1575060235460ff16155b8015611cbf575060215460ff165b801561098557505060225430600090815260086020526040902054101590565b601554601f54600091906001600160a01b0390811690841603611d055750601354611d20565b601f546001600160a01b0390811690861603611d2057506014545b6000611d4d6012546064611d349190612220565b6109f1846110416011548a6111d790919063ffffffff16565b90506000611d6c6011546109f1601054856111d790919063ffffffff16565b90506000611d7a8383611699565b30600090815260086020526040902054909150611d9790826116db565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611dc590836116db565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061234e833981519152910160405180910390a38115611e5657600554611e1f9083611699565b6005556004546040518381526001600160a01b03918216918a169060008051602061234e8339815191529060200160405180910390a35b611e608784611699565b98975050505050505050565b600060208083528351808285015260005b81811015611e9957858101830151858201604001528201611e7d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ed157600080fd5b919050565b60008060408385031215611ee957600080fd5b611ef283611eba565b946020939093013593505050565b60008060408385031215611f1357600080fd5b50508035926020909101359150565b600080600060608486031215611f3757600080fd5b611f4084611eba565b9250611f4e60208501611eba565b9150604084013590509250925092565b600080600080600060a08688031215611f7657600080fd5b611f7f86611eba565b9450611f8d60208701611eba565b9350611f9b60408701611eba565b9250611fa960608701611eba565b9150611fb760808701611eba565b90509295509295909350565b600060208284031215611fd557600080fd5b61093a82611eba565b600080600060608486031215611ff357600080fd5b505081359360208301359350604090920135919050565b60006020828403121561201c57600080fd5b5035919050565b8015158114610e2f57600080fd5b6000806040838503121561204457600080fd5b61204d83611eba565b9150602083013561205d81612023565b809150509250929050565b60006020828403121561207a57600080fd5b813561093a81612023565b60008060008060008060c0878903121561209e57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156120db57600080fd5b8235611ef281612023565b600080604083850312156120f957600080fd5b61210283611eba565b915061211060208401611eba565b90509250929050565b60008060006040848603121561212e57600080fd5b833567ffffffffffffffff8082111561214657600080fd5b818601915086601f83011261215a57600080fd5b81358181111561216957600080fd5b8760208260051b850101111561217e57600080fd5b6020928301955093505084013561219481612023565b809150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156121e657600080fd5b5051919050565b6000602082840312156121ff57600080fd5b815161093a81612023565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108655761086561220a565b60008261225457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600182016122815761228161220a565b5060010190565b818103818111156108655761086561220a565b808201808211156108655761086561220a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122fe5784516001600160a01b0316835293830193918301916001016122d9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561233457600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220bec71cc4bc5c119471af28368545f58123bd9030497c79a486f6a53759b6c2b564736f6c63430008110033

Deployed Bytecode

0x60806040526004361061026b5760003560e01c80637fa4a5bb11610144578063a9059cbb116100b6578063d148b74c1161007a578063d148b74c14610723578063d51ed1c814610738578063dd62ed3e14610758578063f2fde38b1461079e578063f887ea40146107be578063fd07aa6c146107de57600080fd5b8063a9059cbb1461068d578063b2bdfa7b146106ad578063b8a02a68146106cd578063c55137a8146106ed578063c9567bf91461070e57600080fd5b80638da5cb5b116101085780638da5cb5b146105b25780639188abd6146105d057806394dcf853146105f057806395d89b41146106105780639baa10431461063e578063a8aa1b311461066d57600080fd5b80637fa4a5bb1461050b57806381e267d61461052b5780638821004f1461054b578063893d20e81461056b5780638a4068dd1461059d57600080fd5b806333f3d628116101dd57806370a08231116101a157806370a0823114610475578063715018a614610495578063751039fc146104aa57806378109e54146104bf578063799b14a6146104d55780637d1db4a5146104f557600080fd5b806333f3d628146103db5780633554dd3c146103fb578063571ac8b01461041b5780636ce46bc31461043b5780636ddd17131461045b57600080fd5b806318160ddd1161022f57806318160ddd146103485780631df4ccfc1461035d57806323b872dd146103735780632b112e49146103935780632c28f579146103a8578063313ce567146103bf57600080fd5b80630445b6671461027757806306fdde03146102a057806308fd3d05146102d7578063095ea7b3146103085780631161ae391461032857600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d60225481565b6040519081526020015b60405180910390f35b3480156102ac57600080fd5b50604080518082019091526005815264466c6f726b60d81b60208201525b6040516102979190611e6c565b3480156102e357600080fd5b50601f546102f890600160a01b900460ff1681565b6040519015158152602001610297565b34801561031457600080fd5b506102f8610323366004611ed6565b6107fe565b34801561033457600080fd5b506102f8610343366004611f00565b61086b565b34801561035457600080fd5b5060055461028d565b34801561036957600080fd5b5061028d60115481565b34801561037f57600080fd5b506102f861038e366004611f22565b61087f565b34801561039f57600080fd5b5061028d610941565b3480156103b457600080fd5b506103bd61098a565b005b3480156103cb57600080fd5b5060405160098152602001610297565b3480156103e757600080fd5b506102f86103f6366004611ed6565b610a15565b34801561040757600080fd5b506103bd610416366004611f5e565b610b01565b34801561042757600080fd5b506102f8610436366004611fc3565b610b8a565b34801561044757600080fd5b506103bd610456366004611fde565b610b98565b34801561046757600080fd5b506021546102f89060ff1681565b34801561048157600080fd5b5061028d610490366004611fc3565b610bd3565b3480156104a157600080fd5b506103bd610bee565b3480156104b657600080fd5b506103bd610c62565b3480156104cb57600080fd5b5061028d60075481565b3480156104e157600080fd5b506103bd6104f036600461200a565b610c99565b34801561050157600080fd5b5061028d60065481565b34801561051757600080fd5b506103bd610526366004612031565b610cf2565b34801561053757600080fd5b506103bd610546366004612068565b610d5a565b34801561055757600080fd5b506103bd61056636600461200a565b610da2565b34801561057757600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610297565b3480156105a957600080fd5b506103bd610df6565b3480156105be57600080fd5b506000546001600160a01b0316610585565b3480156105dc57600080fd5b506103bd6105eb366004612085565b610e32565b3480156105fc57600080fd5b506103bd61060b3660046120c8565b610ef8565b34801561061c57600080fd5b50604080518082019091526005815264464c4f524b60d81b60208201526102ca565b34801561064a57600080fd5b506102f8610659366004611fc3565b602080526000908152604090205460ff1681565b34801561067957600080fd5b50601f54610585906001600160a01b031681565b34801561069957600080fd5b506102f86106a8366004611ed6565b610f39565b3480156106b957600080fd5b50600054610585906001600160a01b031681565b3480156106d957600080fd5b506103bd6106e836600461200a565b610f46565b3480156106f957600080fd5b50601f546102f890600160a81b900460ff1681565b34801561071a57600080fd5b506103bd610f9f565b34801561072f57600080fd5b506103bd610fe0565b34801561074457600080fd5b5061028d61075336600461200a565b611014565b34801561076457600080fd5b5061028d6107733660046120e6565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107aa57600080fd5b506103bd6107b9366004611fc3565b61104e565b3480156107ca57600080fd5b50601d54610585906001600160a01b031681565b3480156107ea57600080fd5b506103bd6107f9366004612119565b611138565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108599086815260200190565b60405180910390a35060015b92915050565b60008261087783611014565b119392505050565b6001600160a01b03831660009081526009602090815260408083203384529091528120546000191461092c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461090791849061129b565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6109378484846112d5565b90505b9392505050565b6004546000906109859061095d906001600160a01b0316610bd3565b60035461097f90610976906001600160a01b0316610bd3565b60055490611699565b90611699565b905090565b6000546001600160a01b031633146109bd5760405162461bcd60e51b81526004016109b49061219f565b60405180910390fd5b601f805460ff60a81b1916905561025860135561019060145560006015556005546109f7906103e8906109f190600f6111d7565b90611259565b600655600554610a10906103e8906109f190600f6111d7565b600755565b600081600003610a8a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8791906121d4565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906121ed565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b81526004016109b49061219f565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b6000610865826000196107fe565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016109b49061219f565b601391909155601491909155601555565b6001600160a01b031660009081526008602052604090205490565b6000546001600160a01b03163314610c185760405162461bcd60e51b81526004016109b49061219f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016109b49061219f565b6005546006819055600755565b6000546001600160a01b03163314610cc35760405162461bcd60e51b81526004016109b49061219f565b6001811015610cd157600080fd5b6103e881600554610ce29190612220565b610cec9190612237565b60075550565b6000546001600160a01b03163314610d1c5760405162461bcd60e51b81526004016109b49061219f565b6001600160a01b039091166000908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b6000546001600160a01b03163314610d845760405162461bcd60e51b81526004016109b49061219f565b601f8054911515600160a81b0260ff60a81b19909216919091179055565b60195447906001600160a01b03166108fc6064610dbf8585612220565b610dc99190612237565b6040518115909202916000818181858888f19350505050158015610df1573d6000803e3d6000fd5b505050565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e2f573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610e5c5760405162461bcd60e51b81526004016109b49061219f565b600c869055600f859055600d849055600e8390556010829055610e8d82610e87858188818c8c6116db565b906116db565b6011556012819055610ea0600282612237565b60115410610ef05760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016109b4565b505050505050565b6000546001600160a01b03163314610f225760405162461bcd60e51b81526004016109b49061219f565b6021805460ff191692151592909217909155602255565b600061093a3384846112d5565b6000546001600160a01b03163314610f705760405162461bcd60e51b81526004016109b49061219f565b6001811015610f7e57600080fd5b6103e881600554610f8f9190612220565b610f999190612237565b60065550565b6000546001600160a01b03163314610fc95760405162461bcd60e51b81526004016109b49061219f565b601f805461ffff60a01b191661010160a01b179055565b6000546001600160a01b0316331461100a5760405162461bcd60e51b81526004016109b49061219f565b61101261173a565b565b6000610865611021610941565b601f546109f19061104790600290611041906001600160a01b0316610bd3565b906111d7565b85906111d7565b6000546001600160a01b031633146110785760405162461bcd60e51b81526004016109b49061219f565b6001600160a01b0381166110dd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109b4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111625760405162461bcd60e51b81526004016109b49061219f565b60005b828110156111d157816020600086868581811061118457611184612259565b90506020020160208101906111999190611fc3565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556111ca8161226f565b9050611165565b50505050565b6000826000036111e957506000610865565b60006111f58385612220565b9050826112028583612237565b1461093a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109b4565b600061093a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b21565b600081848411156112bf5760405162461bcd60e51b81526004016109b49190611e6c565b5060006112cc8486612288565b95945050505050565b60235460009060ff16156112f5576112ee848484611b4f565b905061093a565b6001600160a01b03841660009081526001602052604090205460ff1615801561133757506001600160a01b03831660009081526001602052604090205460ff16155b156113f557601f54600160a01b900460ff1661138c5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016109b4565b601f54600160a81b900460ff16156113f5576001600160a01b038316600090815260208052604090205460ff166113f55760405162461bcd60e51b815260206004820152600d60248201526c139bdd08185b9d1a509bdd1959609a1b60448201526064016109b4565b6001600160a01b03841660009081526001602052604090205460ff1615801561142757506001600160a01b0383163014155b801561144157506003546001600160a01b03848116911614155b801561145b5750601f546001600160a01b03848116911614155b80156114755750601a546001600160a01b03848116911614155b801561148f57506017546001600160a01b03848116911614155b80156114b457506001600160a01b0383166000908152600b602052604090205460ff16155b1561154a5760006114c484610bd3565b6007549091506114d4848361229b565b11156115485760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016109b4565b505b6115548483611c23565b61155c611c90565b156115695761156961173a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546115bb91849061129b565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff168061160857506001600160a01b0384166000908152600a602052604090205460ff165b61161c57611617858486611cdf565b61161e565b825b6001600160a01b03851660009081526008602052604090205490915061164490826116db565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061234e833981519152906116869085815260200190565b60405180910390a3506001949350505050565b600061093a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061129b565b6000806116e8838561229b565b90508381101561093a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109b4565b6023805460ff19166001179055601b54601c546000916117599161086b565b61176557600c54611768565b60005b9050600061178c60026109f16011546109f1866022546111d790919063ffffffff16565b905060006117a58260225461169990919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106117df576117df612259565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061181057611810612259565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac9479061185a9086906000908790309042906004016122ae565b600060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505060006118a1824761169990919063ffffffff16565b905060006118bc6118b3886002611259565b60115490611699565b905060006118d160026109f18481878d6111d7565b905060006118ee836109f1600d54876111d790919063ffffffff16565b9050600061190b846109f1600f54886111d790919063ffffffff16565b90506000611928856109f1600e54896111d790919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461197a576040519150601f19603f3d011682016040523d82523d6000602084013e61197f565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146119cf576040519150601f19603f3d011682016040523d82523d6000602084013e6119d4565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611a24576040519150601f19603f3d011682016040523d82523d6000602084013e611a29565b606091505b5060009250508b159050611b0957601d5460165460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611aa7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611acc919061231f565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b60008183611b425760405162461bcd60e51b81526004016109b49190611e6c565b5060006112cc8486612237565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611ba091849061129b565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611bcf90836116db565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061234e83398151915290611c119086815260200190565b60405180910390a35060019392505050565b60065481111580611c4c57506001600160a01b0382166000908152600b602052604090205460ff165b611c8c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109b4565b5050565b601f546000906001600160a01b03163314801590611cb1575060235460ff16155b8015611cbf575060215460ff165b801561098557505060225430600090815260086020526040902054101590565b601554601f54600091906001600160a01b0390811690841603611d055750601354611d20565b601f546001600160a01b0390811690861603611d2057506014545b6000611d4d6012546064611d349190612220565b6109f1846110416011548a6111d790919063ffffffff16565b90506000611d6c6011546109f1601054856111d790919063ffffffff16565b90506000611d7a8383611699565b30600090815260086020526040902054909150611d9790826116db565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611dc590836116db565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061234e833981519152910160405180910390a38115611e5657600554611e1f9083611699565b6005556004546040518381526001600160a01b03918216918a169060008051602061234e8339815191529060200160405180910390a35b611e608784611699565b98975050505050505050565b600060208083528351808285015260005b81811015611e9957858101830151858201604001528201611e7d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ed157600080fd5b919050565b60008060408385031215611ee957600080fd5b611ef283611eba565b946020939093013593505050565b60008060408385031215611f1357600080fd5b50508035926020909101359150565b600080600060608486031215611f3757600080fd5b611f4084611eba565b9250611f4e60208501611eba565b9150604084013590509250925092565b600080600080600060a08688031215611f7657600080fd5b611f7f86611eba565b9450611f8d60208701611eba565b9350611f9b60408701611eba565b9250611fa960608701611eba565b9150611fb760808701611eba565b90509295509295909350565b600060208284031215611fd557600080fd5b61093a82611eba565b600080600060608486031215611ff357600080fd5b505081359360208301359350604090920135919050565b60006020828403121561201c57600080fd5b5035919050565b8015158114610e2f57600080fd5b6000806040838503121561204457600080fd5b61204d83611eba565b9150602083013561205d81612023565b809150509250929050565b60006020828403121561207a57600080fd5b813561093a81612023565b60008060008060008060c0878903121561209e57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156120db57600080fd5b8235611ef281612023565b600080604083850312156120f957600080fd5b61210283611eba565b915061211060208401611eba565b90509250929050565b60008060006040848603121561212e57600080fd5b833567ffffffffffffffff8082111561214657600080fd5b818601915086601f83011261215a57600080fd5b81358181111561216957600080fd5b8760208260051b850101111561217e57600080fd5b6020928301955093505084013561219481612023565b809150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156121e657600080fd5b5051919050565b6000602082840312156121ff57600080fd5b815161093a81612023565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108655761086561220a565b60008261225457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600182016122815761228161220a565b5060010190565b818103818111156108655761086561220a565b808201808211156108655761086561220a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122fe5784516001600160a01b0316835293830193918301916001016122d9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561233457600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220bec71cc4bc5c119471af28368545f58123bd9030497c79a486f6a53759b6c2b564736f6c63430008110033

Deployed Bytecode Sourcemap

5137:13870:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6915:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6915:55:0;;;;;;;;8417:80;;;;;;;;;;-1:-1:-1;8489:5:0;;;;;;;;;;;;-1:-1:-1;;;8489:5:0;;;;8417:80;;;;;;;:::i;6743:31::-;;;;;;;;;;-1:-1:-1;6743:31:0;;;;-1:-1:-1;;;6743:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6743:31:0;749:187:1;8839:216:0;;;;;;;;;;-1:-1:-1;8839:216:0;;;;;:::i;:::-;;:::i;18785:150::-;;;;;;;;;;-1:-1:-1;18785:150:0;;;;;:::i;:::-;;:::i;8147:88::-;;;;;;;;;;-1:-1:-1;8220:12:0;;8147:88;;6106:90;;;;;;;;;;;;;;;;9357:370;;;;;;;;;;-1:-1:-1;9357:370:0;;;;;:::i;:::-;;:::i;18460:142::-;;;;;;;;;;;;;:::i;14923:293::-;;;;;;;;;;;;;:::i;:::-;;8241:80;;;;;;;;;;-1:-1:-1;8241:80:0;;5472:1;2106:36:1;;2094:2;2079:18;8241:80:0;1964:184:1;13974:278:0;;;;;;;;;;-1:-1:-1;13974:278:0;;;;;:::i;:::-;;:::i;17853:434::-;;;;;;;;;;-1:-1:-1;17853:434:0;;;;;:::i;:::-;;:::i;9063:122::-;;;;;;;;;;-1:-1:-1;9063:122:0;;;;;:::i;:::-;;:::i;14260:205::-;;;;;;;;;;-1:-1:-1;14260:205:0;;;;;:::i;:::-;;:::i;6878:30::-;;;;;;;;;;-1:-1:-1;6878:30:0;;;;;;;;8587:105;;;;;;;;;;-1:-1:-1;8587:105:0;;;;;:::i;:::-;;:::i;3194:148::-;;;;;;;;;;;;;:::i;10129:139::-;;;;;;;;;;;;;:::i;5610:61::-;;;;;;;;;;;;;;;;9739:202;;;;;;;;;;-1:-1:-1;9739:202:0;;;;;:::i;:::-;;:::i;5545:58::-;;;;;;;;;;;;;;;;17106:166;;;;;;;;;;-1:-1:-1;17106:166:0;;;;;:::i;:::-;;:::i;14474:94::-;;;;;;;;;;-1:-1:-1;14474:94:0;;;;;:::i;:::-;;:::i;13554:199::-;;;;;;;;;;-1:-1:-1;13554:199:0;;;;;:::i;:::-;;:::i;8503:78::-;;;;;;;;;;-1:-1:-1;8555:7:0;3045:6;-1:-1:-1;;;;;3045:6:0;8503:78;;;-1:-1:-1;;;;;4192:32:1;;;4174:51;;4162:2;4147:18;8503:78:0;4028:203:1;13848:118:0;;;;;;;;;;;;;:::i;2980:79::-;;;;;;;;;;-1:-1:-1;3018:7:0;3045:6;-1:-1:-1;;;;;3045:6:0;2980:79;;17284:561;;;;;;;;;;-1:-1:-1;17284:561:0;;;;;:::i;:::-;;:::i;18295:153::-;;;;;;;;;;-1:-1:-1;18295:153:0;;;;;:::i;:::-;;:::i;8327:84::-;;;;;;;;;;-1:-1:-1;8401:7:0;;;;;;;;;;;;-1:-1:-1;;;8401:7:0;;;;8327:84;;6822:44;;;;;;;;;;-1:-1:-1;6822:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6711:19;;;;;;;;;;-1:-1:-1;6711:19:0;;;;-1:-1:-1;;;;;6711:19:0;;;9193:156;;;;;;;;;;-1:-1:-1;9193:156:0;;;;;:::i;:::-;;:::i;2600:21::-;;;;;;;;;;-1:-1:-1;2600:21:0;;;;-1:-1:-1;;;;;2600:21:0;;;9949:172;;;;;;;;;;-1:-1:-1;9949:172:0;;;;;:::i;:::-;;:::i;6784:31::-;;;;;;;;;;-1:-1:-1;6784:31:0;;;;-1:-1:-1;;;6784:31:0;;;;;;14788:123;;;;;;;;;;;;;:::i;13762:77::-;;;;;;;;;;;;;:::i;18610:167::-;;;;;;;;;;-1:-1:-1;18610:167:0;;;;;:::i;:::-;;:::i;8698:133::-;;;;;;;;;;-1:-1:-1;8698:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8800:19:0;;;8782:7;8800:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8698:133;3350:244;;;;;;;;;;-1:-1:-1;3350:244:0;;;;;:::i;:::-;;:::i;6641:24::-;;;;;;;;;;-1:-1:-1;6641:24:0;;;;-1:-1:-1;;;;;6641:24:0;;;14576:204;;;;;;;;;;-1:-1:-1;14576:204:0;;;;;:::i;:::-;;:::i;8839:216::-;8943:10;8914:4;8931:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8931:32:0;;;;;;;;;;:41;;;8988:37;8914:4;;8931:32;;8988:37;;;;8966:6;160:25:1;;148:2;133:18;;14:177;8988:37:0;;;;;;;;-1:-1:-1;9043:4:0;8839:216;;;;;:::o;18785:150::-;18865:4;18921:6;18889:29;18909:8;18889:19;:29::i;:::-;:38;;18785:150;-1:-1:-1;;;18785:150:0:o;9357:370::-;-1:-1:-1;;;;;9477:19:0;;9457:4;9477:19;;;:11;:19;;;;;;;;9497:10;9477:31;;;;;;;;-1:-1:-1;;9477:52:0;9474:186;;9579:69;;;;;;;;;;;-1:-1:-1;;;9579:69:0;;;;;;;;-1:-1:-1;;;;;9579:19:0;;-1:-1:-1;9579:19:0;;;:11;:19;;;;;9599:10;9579:31;;;;;;;;;;:69;;9615:6;;9579:35;:69::i;:::-;-1:-1:-1;;;;;9545:19:0;;;;;;:11;:19;;;;;;;;9565:10;9545:31;;;;;;;:103;9474:186;9679:40;9693:6;9701:9;9712:6;9679:13;:40::i;:::-;9672:47;;9357:370;;;;;;:::o;18460:142::-;18588:4;;18513:7;;18540:54;;18578:15;;-1:-1:-1;;;;;18588:4:0;18578:9;:15::i;:::-;18567:4;;18540:33;;18557:15;;-1:-1:-1;;;;;18567:4:0;18557:9;:15::i;:::-;18540:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18533:61;;18460:142;:::o;14923:293::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;;;;;;;;;14969:11:::1;:19:::0;;-1:-1:-1;;;;14969:19:0::1;::::0;;15013:3:::1;14999:11;:17:::0;15040:3:::1;15027:10;:16:::0;14983:5:::1;14969:11;15054:19:::0;15100:12:::1;::::0;:30:::1;::::0;15125:4:::1;::::0;15100:20:::1;::::0;15117:2:::1;15100:16;:20::i;:::-;:24:::0;::::1;:30::i;:::-;15085:12;:45:::0;15159:12:::1;::::0;:30:::1;::::0;15184:4:::1;::::0;15159:20:::1;::::0;15176:2:::1;15159:16;:20::i;:30::-;15141:15;:48:::0;14923:293::o;13974:278::-;14049:4;14076:6;14086:1;14076:11;14073:95;;14112:44;;-1:-1:-1;;;14112:44:0;;14150:4;14112:44;;;4174:51:1;-1:-1:-1;;;;;14112:29:0;;;;;4147:18:1;;14112:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14103:53;;14073:95;14214:21;;14185:59;;-1:-1:-1;;;14185:59:0;;-1:-1:-1;;;;;14214:21:0;;;14185:59;;;7048:51:1;7115:18;;;7108:34;;;14185:28:0;;;;;;7021:18:1;;14185:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17853:434::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;18045:21:::1;:46:::0;;-1:-1:-1;;;;;;18045:46:0;;::::1;-1:-1:-1::0;;;;;18045:46:0;;::::1;;::::0;;;18102:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18157:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;18200:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;18245:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17853:434::o;9063:122::-;9118:4;9142:35;9150:7;-1:-1:-1;;9142:7:0;:35::i;14260:205::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;14359:11:::1;:19:::0;;;;14389:10:::1;:17:::0;;;;14417:15:::1;:24:::0;14260:205::o;8587:105::-;-1:-1:-1;;;;;8671:18:0;8653:7;8671:18;;;:9;:18;;;;;;;8587:105::o;3194:148::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;3301:1:::1;3285:6:::0;;3264:40:::1;::::0;-1:-1:-1;;;;;3285:6:0;;::::1;::::0;3264:40:::1;::::0;3301:1;;3264:40:::1;3332:1;3315:19:::0;;-1:-1:-1;;;;;;3315:19:0::1;::::0;;3194:148::o;10129:139::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;10203:12:::1;::::0;10188::::1;:27:::0;;;10230:15:::1;:30:::0;10129:139::o;9739:202::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;9844:1:::1;9826:14;:19;;9818:28;;;::::0;::::1;;9911:4;9892:14;9877:12;;:29;;;;:::i;:::-;9876:39;;;;:::i;:::-;9858:15;:57:::0;-1:-1:-1;9739:202:0:o;17106:166::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17193:19:0;;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;17193:28:0;;::::1;::::0;::::1;::::0;;;17232:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;17106:166::o;14474:94::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;14539:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;14539:21:0::1;-1:-1:-1::0;;;;14539:21:0;;::::1;::::0;;;::::1;::::0;;14474:94::o;13554:199::-;13684:15;;13644:21;;-1:-1:-1;;;;;13684:15:0;13676:69;13741:3;13710:28;13722:16;13644:21;13710:28;:::i;:::-;:34;;;;:::i;:::-;13676:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13613:140;13554:199;:::o;13848:118::-;13902:21;;13894:62;;-1:-1:-1;;;;;13902:21:0;;;;13934;13894:62;;;;;13902:21;13894:62;13902:21;13894:62;13934:21;13902;13894:62;;;;;;;;;;;;;;;;;;;;;13848:118::o;17284:561::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;17464:12:::1;:28:::0;;;17503:7:::1;:18:::0;;;17532:12:::1;:28:::0;;;17571:6:::1;:16:::0;;;17598:7:::1;:18:::0;;;17638:73:::1;17608:8:::0;17638:59:::1;17580:7:::0;17638:59;17547:13;17638:59;17479:13;17513:8;17638:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;17627:8;:84:::0;17722:14:::1;:32:::0;;;17784:18:::1;17801:1;17739:15:::0;17784:18:::1;:::i;:::-;17773:8;;:29;17765:71;;;::::0;-1:-1:-1;;;17765:71:0;;8132:2:1;17765:71:0::1;::::0;::::1;8114:21:1::0;8171:2;8151:18;;;8144:30;8210:31;8190:18;;;8183:59;8259:18;;17765:71:0::1;7930:353:1::0;17765:71:0::1;17284:561:::0;;;;;;:::o;18295:153::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;18384:11:::1;:22:::0;;-1:-1:-1;;18384:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;18417:13:::1;:23:::0;18295:153::o;9193:156::-;9273:4;9297:44;9311:10;9323:9;9334:6;9297:13;:44::i;9949:172::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;10047:1:::1;10031:12;:17;;10023:26;;;::::0;::::1;;10109:4;10092:12;10077;;:27;;;;:::i;:::-;10076:37;;;;:::i;:::-;10061:12;:52:::0;-1:-1:-1;9949:172:0:o;14788:123::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;14839:11:::1;:18:::0;;-1:-1:-1;;;;14868:18:0;-1:-1:-1;;;14868:18:0;;;14788:123::o;13762:77::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;13815:10:::1;:8;:10::i;:::-;13762:77::o:0;18610:167::-;18678:7;18705:64;18746:22;:20;:22::i;:::-;18728:4;;18705:36;;18718:22;;18738:1;;18718:15;;-1:-1:-1;;;;;18728:4:0;18718:9;:15::i;:::-;:19;;:22::i;:::-;18705:8;;:12;:36::i;3350:244::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3439:22:0;::::1;3431:73;;;::::0;-1:-1:-1;;;3431:73:0;;8490:2:1;3431:73:0::1;::::0;::::1;8472:21:1::0;8529:2;8509:18;;;8502:30;8568:34;8548:18;;;8541:62;-1:-1:-1;;;8619:18:1;;;8612:36;8665:19;;3431:73:0::1;8288:402:1::0;3431:73:0::1;3541:6;::::0;;3520:38:::1;::::0;-1:-1:-1;;;;;3520:38:0;;::::1;::::0;3541:6;::::1;::::0;3520:38:::1;::::0;::::1;3569:6;:17:::0;;-1:-1:-1;;;;;;3569:17:0::1;-1:-1:-1::0;;;;;3569:17:0;;;::::1;::::0;;;::::1;::::0;;3350:244::o;14576:204::-;3107:6;;-1:-1:-1;;;;;3107:6:0;2417:10;3107:22;3099:67;;;;-1:-1:-1;;;3099:67:0;;;;;;;:::i;:::-;14674:9:::1;14669:104;14685:20:::0;;::::1;14669:104;;;14755:6;14727:11;:25;14739:9;;14749:1;14739:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14727:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14727:25:0;:34;;-1:-1:-1;;14727:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14707:3:::1;::::0;::::1;:::i;:::-;;;14669:104;;;;14576:204:::0;;;:::o;779:250::-;837:7;861:1;866;861:6;857:47;;-1:-1:-1;891:1:0;884:8;;857:47;916:9;928:5;932:1;928;:5;:::i;:::-;916:17;-1:-1:-1;961:1:0;952:5;956:1;916:17;952:5;:::i;:::-;:10;944:56;;;;-1:-1:-1;;;944:56:0;;9169:2:1;944:56:0;;;9151:21:1;9208:2;9188:18;;;9181:30;9247:34;9227:18;;;9220:62;-1:-1:-1;;;9298:18:1;;;9291:31;9339:19;;944:56:0;8967:397:1;1035:132:0;1093:7;1120:39;1124:1;1127;1120:39;;;;;;;;;;;;;;;;;:3;:39::i;581:192::-;667:7;703:12;695:6;;;;687:29;;;;-1:-1:-1;;;687:29:0;;;;;;;;:::i;:::-;-1:-1:-1;727:9:0;739:5;743:1;739;:5;:::i;:::-;727:17;581:192;-1:-1:-1;;;;;581:192:0:o;10282:1427::-;10394:6;;10374:4;;10394:6;;10391:63;;;10410:41;10425:6;10433:9;10444:6;10410:14;:41::i;:::-;10403:48;;;;10391:63;-1:-1:-1;;;;;10470:22:0;;;;;;:14;:22;;;;;;;;10469:23;:53;;;;-1:-1:-1;;;;;;10497:25:0;;;;;;:14;:25;;;;;;;;10496:26;10469:53;10466:248;;;10546:11;;-1:-1:-1;;;10546:11:0;;;;10538:43;;;;-1:-1:-1;;;10538:43:0;;9704:2:1;10538:43:0;;;9686:21:1;9743:2;9723:18;;;9716:30;-1:-1:-1;;;9762:18:1;;;9755:50;9822:18;;10538:43:0;9502:344:1;10538:43:0;10610:11;;-1:-1:-1;;;10610:11:0;;;;10607:96;;;-1:-1:-1;;;;;10649:22:0;;;;;;:11;:22;;;;;;;;10641:47;;;;-1:-1:-1;;;10641:47:0;;10053:2:1;10641:47:0;;;10035:21:1;10092:2;10072:18;;;10065:30;-1:-1:-1;;;10111:18:1;;;10104:43;10164:18;;10641:47:0;9851:337:1;10641:47:0;-1:-1:-1;;;;;10746:22:0;;;;;;:14;:22;;;;;;;;10745:23;:53;;;;-1:-1:-1;;;;;;10772:26:0;;10793:4;10772:26;;10745:53;:84;;;;-1:-1:-1;10824:4:0;;-1:-1:-1;;;;;10803:26:0;;;10824:4;;10803:26;;10745:84;:105;;;;-1:-1:-1;10846:4:0;;-1:-1:-1;;;;;10833:17:0;;;10846:4;;10833:17;;10745:105;:137;;;;-1:-1:-1;10867:15:0;;-1:-1:-1;;;;;10854:28:0;;;10867:15;;10854:28;;10745:137;:174;;;;-1:-1:-1;10899:20:0;;-1:-1:-1;;;;;10886:33:0;;;10899:20;;10886:33;;10745:174;:205;;;;-1:-1:-1;;;;;;10924:26:0;;;;;;:15;:26;;;;;;;;10923:27;10745:205;10741:397;;;10966:18;10987:20;10997:9;10987;:20::i;:::-;11055:15;;10966:41;;-1:-1:-1;11031:19:0;11044:6;10966:41;11031:19;:::i;:::-;11030:40;;11022:114;;;;-1:-1:-1;;;11022:114:0;;10525:2:1;11022:114:0;;;10507:21:1;10564:2;10544:18;;;10537:30;10603:34;10583:18;;;10576:62;10674:32;10654:18;;;10647:60;10724:19;;11022:114:0;10323:426:1;11022:114:0;10951:187;10741:397;11203:28;11216:6;11224;11203:12;:28::i;:::-;11248:16;:14;:16::i;:::-;11245:35;;;11267:10;:8;:10::i;:::-;11360:53;;;;;;;;;;;-1:-1:-1;;;11360:53:0;;;;;;;;-1:-1:-1;;;;;11360:17:0;;-1:-1:-1;11360:17:0;;;:9;:17;;;;;;;;:53;;11382:6;;11360:21;:53::i;:::-;-1:-1:-1;;;;;11340:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11452:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11475:22:0;;;;;;:11;:22;;;;;;;;11452:45;11451:93;;11510:34;11518:6;11526;11534:9;11510:7;:34::i;:::-;11451:93;;;11501:6;11451:93;-1:-1:-1;;;;;11578:20:0;;;;;;:9;:20;;;;;;11426:118;;-1:-1:-1;11578:40:0;;11426:118;11578:24;:40::i;:::-;-1:-1:-1;;;;;11555:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11636:43;;;;;;-1:-1:-1;;;;;;;;;;;11636:43:0;;;11664:14;160:25:1;;148:2;133:18;;14:177;11636:43:0;;;;;;;;-1:-1:-1;11697:4:0;;10282:1427;-1:-1:-1;;;;10282:1427:0:o;439:136::-;497:7;524:43;528:1;531;524:43;;;;;;;;;;;;;;;;;:3;:43::i;252:181::-;310:7;;342:5;346:1;342;:5;:::i;:::-;330:17;;371:1;366;:6;;358:46;;;;-1:-1:-1;;;358:46:0;;10956:2:1;358:46:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:29;11014:18;;;11007:57;11081:18;;358:46:0;10754:351:1;15237:1861:0;7018:6;:13;;-1:-1:-1;;7018:13:0;7027:4;7018:13;;;15332:15:::1;::::0;15349:26:::1;::::0;7018:6;;15316:60:::1;::::0;:15:::1;:60::i;:::-;:79;;15383:12;;15316:79;;;15379:1;15316:79;15286:109;;15406:23;15432:59;15489:1;15432:52;15475:8;;15432:38;15450:19;15432:13;;:17;;:38;;;;:::i;:59::-;15406:85;;15502:20;15525:34;15543:15;15525:13;;:17;;:34;;;;:::i;:::-;15596:16;::::0;;15610:1:::1;15596:16:::0;;;;;::::1;::::0;;15502:57;;-1:-1:-1;15572:21:0::1;::::0;15596:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15596:16:0::1;15572:40;;15641:4;15623;15628:1;15623:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15623:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15667:4:::1;::::0;15657:7;;15667:4;::::1;::::0;15657;;15667;;15657:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15657:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15742:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15742:188:0;;15708:21:::1;::::0;15742:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15814:12;;15684:21:::1;::::0;15857:4;;15884::::1;::::0;15904:15:::1;::::0;15742:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15943:17;15963:40;15989:13;15963:21;:25;;:40;;;;:::i;:::-;15943:60:::0;-1:-1:-1;16016:19:0::1;16038:40;16051:26;:19:::0;16075:1:::1;16051:23;:26::i;:::-;16038:8;::::0;;:12:::1;:40::i;:::-;16016:62:::0;-1:-1:-1;16099:26:0::1;16128:58;16184:1;16128:51;16016:62:::0;16128:51;:9;16142:19;16128:13:::1;:34::i;:58::-;16099:87;;16197:26;16226:44;16258:11;16226:27;16240:12;;16226:9;:13;;:27;;;;:::i;:44::-;16197:73;;16281:21;16305:39;16332:11;16305:22;16319:7;;16305:9;:13;;:22;;;;:::i;:39::-;16281:63;;16355:20;16378:38;16404:11;16378:21;16392:6;;16378:9;:13;;:21;;;;:::i;:38::-;16458:20;::::0;16450:65:::1;::::0;16355:61;;-1:-1:-1;16430:15:0::1;::::0;-1:-1:-1;;;;;16458:20:0;;::::1;::::0;16492:18;;16430:15;16450:65;16430:15;16450:65;16492:18;16458:20;16450:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16550:14:0::1;::::0;16542:53:::1;::::0;16429:86;;-1:-1:-1;;;;;;16550:14:0::1;::::0;16578:12;;16542:53:::1;::::0;;;16578:12;16550:14;16542:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16630:15:0::1;::::0;16622:55:::1;::::0;16526:69;;-1:-1:-1;;;;;;16630:15:0::1;::::0;16659:13;;16622:55:::1;::::0;;;16659:13;16630:15;16622:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16711:5:0::1;::::0;-1:-1:-1;;16732:19:0;;;-1:-1:-1;16729:362:0::1;;16767:6;::::0;16941:21:::1;::::0;16767:244:::1;::::0;-1:-1:-1;;;16767:244:0;;16843:4:::1;16767:244;::::0;::::1;12778:34:1::0;12828:18;;;12821:34;;;16767:6:0::1;12871:18:1::0;;;12864:34;;;12914:18;;;12907:34;-1:-1:-1;;;;;16941:21:0;;::::1;12957:19:1::0;;;12950:44;16981:15:0::1;13010:19:1::0;;;13003:35;16767:6:0;::::1;::::0;:22:::1;::::0;16797:18;;12712:19:1;;16767:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17031:48:0::1;::::0;;13534:25:1;;;13590:2;13575:18;;13568:34;;;17031:48:0::1;::::0;-1:-1:-1;13507:18:1;17031:48:0::1;;;;;;;16729:362;-1:-1:-1::0;;7036:6:0;:14;;-1:-1:-1;;7036:14:0;;;-1:-1:-1;;;;;;;;;;15237:1861:0:o;1173:189::-;1259:7;1294:12;1287:5;1279:28;;;;-1:-1:-1;;;1279:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1318:9:0;1330:5;1334:1;1330;:5;:::i;11721:330::-;11851:53;;;;;;;;;;;-1:-1:-1;;;11851:53:0;;;;;;;;-1:-1:-1;;;;;11851:17:0;;11814:4;11851:17;;;:9;:17;;;;;;;:53;;11873:6;;11851:21;:53::i;:::-;-1:-1:-1;;;;;11831:17:0;;;;;;;:9;:17;;;;;;:73;;;;11938:20;;;;;;;:32;;11963:6;11938:24;:32::i;:::-;-1:-1:-1;;;;;11915:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11986:35;;;;;;-1:-1:-1;;;;;;;;;;;11986:35:0;;;12014:6;160:25:1;;148:2;133:18;;14:177;11986:35:0;;;;;;;;-1:-1:-1;12039:4:0;11721:330;;;;;:::o;12059:166::-;12156:12;;12146:6;:22;;:49;;;-1:-1:-1;;;;;;12172:23:0;;;;;;:15;:23;;;;;;;;12146:49;12138:79;;;;-1:-1:-1;;;12138:79:0;;13815:2:1;12138:79:0;;;13797:21:1;13854:2;13834:18;;;13827:30;-1:-1:-1;;;13873:18:1;;;13866:47;13930:18;;12138:79:0;13613:341:1;12138:79:0;12059:166;;:::o;13349:197::-;13436:4;;13398;;-1:-1:-1;;;;;13436:4:0;13422:10;:18;;;;:38;;-1:-1:-1;13454:6:0;;;;13453:7;13422:38;:62;;;;-1:-1:-1;13473:11:0;;;;13422:62;:116;;;;-1:-1:-1;;13525:13:0;;13515:4;13497:24;;;;:9;:24;;;;;;:41;;;13349:197::o;12355:986::-;12489:15;;12533:4;;12441:7;;12489:15;-1:-1:-1;;;;;12533:4:0;;;12520:17;;;;12517:142;;-1:-1:-1;12564:11:0;;12517:142;;;12606:4;;-1:-1:-1;;;;;12606:4:0;;;12596:14;;;;12593:66;;-1:-1:-1;12637:10:0;;12593:66;12671:17;12691:59;12729:14;;12746:3;12729:20;;;;:::i;:::-;12691:33;12716:7;12691:20;12702:8;;12691:6;:10;;:20;;;;:::i;:59::-;12671:79;;12761:18;12782:36;12809:8;;12782:22;12796:7;;12782:9;:13;;:22;;;;:::i;:36::-;12761:57;-1:-1:-1;12829:22:0;12854:25;:9;12761:57;12854:13;:25::i;:::-;12937:4;12919:24;;;;:9;:24;;;;;;12829:50;;-1:-1:-1;12919:44:0;;12829:50;12919:28;:44::i;:::-;12910:4;12892:24;;;;:9;:24;;;;;;:71;;;;13013:15;;-1:-1:-1;;;;;13013:15:0;13003:26;;;;:42;;13034:10;13003:30;:42::i;:::-;12984:15;;-1:-1:-1;;;;;12984:15:0;;;12974:26;;;;:9;:26;;;;;;;;;:71;;;;13061:47;160:25:1;;;13086:4:0;;13061:47;;;;-1:-1:-1;;;;;;;;;;;13061:47:0;133:18:1;13061:47:0;;;;;;;13142:14;;13139:154;;13187:12;;:28;;13204:10;13187:16;:28::i;:::-;13172:12;:43;13252:4;;13235:34;;160:25:1;;;-1:-1:-1;;;;;13252:4:0;;;;13235:34;;;-1:-1:-1;;;;;;;;;;;13235:34:0;148:2:1;133:18;13235:34:0;;;;;;;13139:154;13312:21;:6;13323:9;13312:10;:21::i;:::-;13305:28;12355:986;-1:-1:-1;;;;;;;;12355:986:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:248::-;1446:6;1454;1507:2;1495:9;1486:7;1482:23;1478:32;1475:52;;;1523:1;1520;1513:12;1475:52;-1:-1:-1;;1546:23:1;;;1616:2;1601:18;;;1588:32;;-1:-1:-1;1378:248:1:o;1631:328::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1816:29;1835:9;1816:29;:::i;:::-;1806:39;;1864:38;1898:2;1887:9;1883:18;1864:38;:::i;:::-;1854:48;;1949:2;1938:9;1934:18;1921:32;1911:42;;1631:328;;;;;:::o;2153:484::-;2248:6;2256;2264;2272;2280;2333:3;2321:9;2312:7;2308:23;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2373:29;2392:9;2373:29;:::i;:::-;2363:39;;2421:38;2455:2;2444:9;2440:18;2421:38;:::i;:::-;2411:48;;2478:38;2512:2;2501:9;2497:18;2478:38;:::i;:::-;2468:48;;2535:38;2569:2;2558:9;2554:18;2535:38;:::i;:::-;2525:48;;2592:39;2626:3;2615:9;2611:19;2592:39;:::i;:::-;2582:49;;2153:484;;;;;;;;:::o;2642:186::-;2701:6;2754:2;2742:9;2733:7;2729:23;2725:32;2722:52;;;2770:1;2767;2760:12;2722:52;2793:29;2812:9;2793:29;:::i;2833:316::-;2910:6;2918;2926;2979:2;2967:9;2958:7;2954:23;2950:32;2947:52;;;2995:1;2992;2985:12;2947:52;-1:-1:-1;;3018:23:1;;;3088:2;3073:18;;3060:32;;-1:-1:-1;3139:2:1;3124:18;;;3111:32;;2833:316;-1:-1:-1;2833:316:1:o;3154:180::-;3213:6;3266:2;3254:9;3245:7;3241:23;3237:32;3234:52;;;3282:1;3279;3272:12;3234:52;-1:-1:-1;3305:23:1;;3154:180;-1:-1:-1;3154:180:1:o;3339:118::-;3425:5;3418:13;3411:21;3404:5;3401:32;3391:60;;3447:1;3444;3437:12;3462:315;3527:6;3535;3588:2;3576:9;3567:7;3563:23;3559:32;3556:52;;;3604:1;3601;3594:12;3556:52;3627:29;3646:9;3627:29;:::i;:::-;3617:39;;3706:2;3695:9;3691:18;3678:32;3719:28;3741:5;3719:28;:::i;:::-;3766:5;3756:15;;;3462:315;;;;;:::o;3782:241::-;3838:6;3891:2;3879:9;3870:7;3866:23;3862:32;3859:52;;;3907:1;3904;3897:12;3859:52;3946:9;3933:23;3965:28;3987:5;3965:28;:::i;4236:523::-;4340:6;4348;4356;4364;4372;4380;4433:3;4421:9;4412:7;4408:23;4404:33;4401:53;;;4450:1;4447;4440:12;4401:53;-1:-1:-1;;4473:23:1;;;4543:2;4528:18;;4515:32;;-1:-1:-1;4594:2:1;4579:18;;4566:32;;4645:2;4630:18;;4617:32;;-1:-1:-1;4696:3:1;4681:19;;4668:33;;-1:-1:-1;4748:3:1;4733:19;4720:33;;-1:-1:-1;4236:523:1;-1:-1:-1;4236:523:1:o;4764:309::-;4829:6;4837;4890:2;4878:9;4869:7;4865:23;4861:32;4858:52;;;4906:1;4903;4896:12;4858:52;4945:9;4932:23;4964:28;4986:5;4964:28;:::i;5078:260::-;5146:6;5154;5207:2;5195:9;5186:7;5182:23;5178:32;5175:52;;;5223:1;5220;5213:12;5175:52;5246:29;5265:9;5246:29;:::i;:::-;5236:39;;5294:38;5328:2;5317:9;5313:18;5294:38;:::i;:::-;5284:48;;5078:260;;;;;:::o;5569:750::-;5661:6;5669;5677;5730:2;5718:9;5709:7;5705:23;5701:32;5698:52;;;5746:1;5743;5736:12;5698:52;5786:9;5773:23;5815:18;5856:2;5848:6;5845:14;5842:34;;;5872:1;5869;5862:12;5842:34;5910:6;5899:9;5895:22;5885:32;;5955:7;5948:4;5944:2;5940:13;5936:27;5926:55;;5977:1;5974;5967:12;5926:55;6017:2;6004:16;6043:2;6035:6;6032:14;6029:34;;;6059:1;6056;6049:12;6029:34;6114:7;6107:4;6097:6;6094:1;6090:14;6086:2;6082:23;6078:34;6075:47;6072:67;;;6135:1;6132;6125:12;6072:67;6166:4;6158:13;;;;-1:-1:-1;6190:6:1;-1:-1:-1;;6231:20:1;;6218:34;6261:28;6218:34;6261:28;:::i;:::-;6308:5;6298:15;;;5569:750;;;;;:::o;6324:356::-;6526:2;6508:21;;;6545:18;;;6538:30;6604:34;6599:2;6584:18;;6577:62;6671:2;6656:18;;6324:356::o;6685:184::-;6755:6;6808:2;6796:9;6787:7;6783:23;6779:32;6776:52;;;6824:1;6821;6814:12;6776:52;-1:-1:-1;6847:16:1;;6685:184;-1:-1:-1;6685:184:1:o;7153:245::-;7220:6;7273:2;7261:9;7252:7;7248:23;7244:32;7241:52;;;7289:1;7286;7279:12;7241:52;7321:9;7315:16;7340:28;7362:5;7340:28;:::i;7403:127::-;7464:10;7459:3;7455:20;7452:1;7445:31;7495:4;7492:1;7485:15;7519:4;7516:1;7509:15;7535:168;7608:9;;;7639;;7656:15;;;7650:22;;7636:37;7626:71;;7677:18;;:::i;7708:217::-;7748:1;7774;7764:132;;7818:10;7813:3;7809:20;7806:1;7799:31;7853:4;7850:1;7843:15;7881:4;7878:1;7871:15;7764:132;-1:-1:-1;7910:9:1;;7708:217::o;8695:127::-;8756:10;8751:3;8747:20;8744:1;8737:31;8787:4;8784:1;8777:15;8811:4;8808:1;8801:15;8827:135;8866:3;8887:17;;;8884:43;;8907:18;;:::i;:::-;-1:-1:-1;8954:1:1;8943:13;;8827:135::o;9369:128::-;9436:9;;;9457:11;;;9454:37;;;9471:18;;:::i;10193:125::-;10258:9;;;10279:10;;;10276:36;;;10292:18;;:::i;11242:980::-;11504:4;11552:3;11541:9;11537:19;11583:6;11572:9;11565:25;11609:2;11647:6;11642:2;11631:9;11627:18;11620:34;11690:3;11685:2;11674:9;11670:18;11663:31;11714:6;11749;11743:13;11780:6;11772;11765:22;11818:3;11807:9;11803:19;11796:26;;11857:2;11849:6;11845:15;11831:29;;11878:1;11888:195;11902:6;11899:1;11896:13;11888:195;;;11967:13;;-1:-1:-1;;;;;11963:39:1;11951:52;;12058:15;;;;12023:12;;;;11999:1;11917:9;11888:195;;;-1:-1:-1;;;;;;;12139:32:1;;;;12134:2;12119:18;;12112:60;-1:-1:-1;;;12203:3:1;12188:19;12181:35;12100:3;11242:980;-1:-1:-1;;;11242:980:1:o;13049:306::-;13137:6;13145;13153;13206:2;13194:9;13185:7;13181:23;13177:32;13174:52;;;13222:1;13219;13212:12;13174:52;13251:9;13245:16;13235:26;;13301:2;13290:9;13286:18;13280:25;13270:35;;13345:2;13334:9;13330:18;13324:25;13314:35;;13049:306;;;;;:::o

Swarm Source

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