ETH Price: $2,305.11 (-0.53%)

Token

Journey (OR-7)
 

Overview

Max Total Supply

10,000,000,000 OR-7

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,990,000 OR-7

Value
$0.00
0xa20e137017ed4c5a253d4ce4483edf777d2a54bc
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:
Journey

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-06
*/

/**
*/
/** https://discord.com/invite/Dbnzjzbsh
*/
/** /^\      /^\
      |  \    /  |
      ||\ \../ /||
      )'        `(
     ,;`w,    ,w';,
     ;,  ) __ (  ,;
      ;  \(\/)/  ;;
     ;|  |vwwv|    ``-...
      ;  `lwwl'   ;      ```''-.
     ;| ;|vwwv|    ``-...
      ; 
      ;         ,   ,          , |
      '  ;      ;   l    .     | |
      ;    ,  ,    |,-,._|      \;
       ;  ; `' ;   '    \ `\     \;
       |  |    |  |     |   |    |;
       |  ;    ;  |      \   \   (;
       | |      | l       | | \  |
       | |      | |  pb   | |  ) |
       | |      | ;       | |  | |
       ; ,      : ,      ,_.'  | |
      :__'      | |           ,_.'
               `--'
 *
*/
//
//
//SPDX-License-Identifier: MIT

pragma solidity ^0.8.11;

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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    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);
}


/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal _intAddr;

    constructor(address _owner) {
        owner = _owner;
        _intAddr[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        _intAddr[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    
    function unauthorize(address adr) public onlyOwner {
        _intAddr[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) internal view returns (bool) {
        return _intAddr[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        _intAddr[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

contract Journey is IBEP20, Auth {
    using SafeMath for uint256;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // MAINNET

    string constant _name = "Journey";
    string constant _symbol = "OR-7";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10000000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 1) / 100; 
    uint256 public _maxWalletSize = (_totalSupply * 1) / 100; 

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isTimelockExempt;
    mapping (address => bool) public isBlacklisted;

    uint256 liquidityFee = 1;
    uint256 devFee = 1; 
    uint256 marketingFee = 6;
    uint256 totalFee = 8;
    uint256 feeDenominator = 100;
    uint256 public _sellMultiplier = 1;
    
    address public marketingFeeReceiver = 0xAB454BF7aA558E517773Ba68718f739A0bf800dA;
    address public devFeeReceiver = 0xAB454BF7aA558E517773Ba68718f739A0bf800dA;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public tradingOpen = true;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 1; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

        // Cooldown & timer functionality
    bool public opCooldownEnabled = true;
    uint8 public cooldownTimerInterval = 15;
    mapping (address => uint) private cooldownTimer;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[msg.sender] = true;
        
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[routerAddress] = true;

        // No timelock for these people
        isTimelockExempt[msg.sender] = true;
        isTimelockExempt[DEAD] = true;
        isTimelockExempt[address(this)] = true;


        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if(!_intAddr[sender] && !_intAddr[recipient]){
            require(tradingOpen,"Trading not open yet");
        }
        checkTxLimit(sender, amount);
        // Check if address is blacklisted
        require(!isBlacklisted[recipient] && !isBlacklisted[sender], 'Address is blacklisted');
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        if (sender == pair &&
            opCooldownEnabled &&
            !isTimelockExempt[recipient]) {
            require(cooldownTimer[recipient] < block.timestamp,"Please wait for 1min between two operations");
            cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval;
        }
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

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

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
        _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 getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 5 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.mul(_sellMultiplier); }
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

        // switch Trading
    function tradingStatus(bool _status) public authorized {
        tradingOpen = _status;
        if(tradingOpen){
            launchedAt = block.number;
        }
    }

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

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.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 amountBNB = address(this).balance.sub(balanceBefore);
        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdev = amountBNB.mul(devFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
        (bool devSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountBNBdev, gas: 30000}("");
        require(devSuccess, "receiver rejected ETH transfer");

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

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }
    

    function setFees(uint256 _liquidityFee, uint256 _marketingFee, uint256 _devFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        totalFee = _liquidityFee.add(_marketingFee).add(_devFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/3);
    }
        // enable cooldown between trades
    function cooldownEnabled(bool _status, uint8 _interval) public authorized {
        opCooldownEnabled = _status;
        cooldownTimerInterval = _interval;
    }
    

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    function setSellMultiplier(uint256 multiplier) external authorized{
        _sellMultiplier = multiplier;        
    }
    function setFeeReceiver(address _marketingFeeReceiver, address _devFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
    }
    // Set the maximum transaction limit
    function setTxLimit(uint256 amountBuy) external authorized {
        _maxTxAmount = amountBuy;
        
    }
    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    // Blacklist/unblacklist an address
    function blacklistAddress(address _address, bool _value) public authorized{
        isBlacklisted[_address] = _value;
    }
    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    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 amountBNB, uint256 amountBOG);
}

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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"opCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"setSellMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"}],"name":"setTxLimit","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead179055600480548216905560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200006e6009600a620004af565b6200007f906402540be400620004c7565b60065560646006546001620000959190620004c7565b620000a19190620004e9565b60075560646006546001620000b79190620004c7565b620000c39190620004e9565b60089081556001600f81905560108190556006601181905560129290925560646013556014556015805473ab454bf7aa558e517773ba68718f739a0bf800da6001600160a01b03199182168117909255601680549091169091179055601a805461ffff1916610101179055546200013e906103e890620004e9565b6200014b906001620004c7565b601b55601c805462ffff001916620f01001790553480156200016c57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155600554601780546001600160a01b03909216919093168117909255825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021591906200050c565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028d91906200050c565b601880546001600160a01b0319166001600160a01b03928316179055306000818152600a602090815260408083206017548616845282528083206000199055825433808552600b8452828520805460ff199081166001908117909255600c865284872080548216831790558787528487208054821683179055600554891687528487208054821683179055918652600d8552838620805483168217905560035488168652838620805483168217905595855282852080549091169095179094556006549390941680835260098252848320849055935192835283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000537565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f1578160001904821115620003d557620003d56200039a565b80851615620003e357918102915b93841c9390800290620003b5565b509250929050565b6000826200040a57506001620004a9565b816200041957506000620004a9565b81600181146200043257600281146200043d576200045d565b6001915050620004a9565b60ff8411156200045157620004516200039a565b50506001821b620004a9565b5060208310610133831016604e8410600b841016171562000482575081810a620004a9565b6200048e8383620003b0565b8060001904821115620004a557620004a56200039a565b0290505b92915050565b6000620004c060ff841683620003f9565b9392505050565b6000816000190483118215151615620004e457620004e46200039a565b500290565b6000826200050757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200051f57600080fd5b81516001600160a01b0381168114620004c057600080fd5b6121e380620005476000396000f3fe6080604052600436106102815760003560e01c80638f9a55c01161014f578063dd62ed3e116100c1578063f2fde38b1161007a578063f2fde38b146107ed578063f42938901461080d578063f84ba65d14610822578063f887ea4014610842578063fe575a8714610862578063ffb54a991461089257600080fd5b8063dd62ed3e14610707578063df20fd491461074d578063e66db25e1461076d578063e96fada21461078d578063f0b37c04146107ad578063f1f3bca3146107cd57600080fd5b8063b6a5d7de11610113578063b6a5d7de14610652578063ba344dc414610672578063bf56b37114610691578063d51ed1c8146106a7578063dab84ee7146106c7578063dc93cf70146106e757600080fd5b80638f9a55c0146105af57806395d89b41146105c5578063a7bc1de0146105f2578063a8aa1b3114610612578063a9059cbb1461063257600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104d25780636fcba377146104f157806370a0823114610511578063722b62ad146105475780637d1db4a514610567578063893d20e81461057d57600080fd5b8063313ce56714610410578063455a439614610432578063571ac8b0146104525780635c85974f146104725780635d0044ca14610492578063658d4b7f146104b257600080fd5b806318160ddd1161024557806318160ddd1461036157806323b872dd1461037657806324e9bafb146103965780632b112e49146103ac5780632d594567146103c15780632f54bf6e146103e157600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146102ef5780630d2959801461031f5780631161ae391461034157600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b506040805180820190915260078152664a6f75726e657960c81b60208201525b6040516102ad9190611dc7565b3480156102fb57600080fd5b5061030f61030a366004611e31565b6108ac565b60405190151581526020016102ad565b34801561032b57600080fd5b5061033f61033a366004611e72565b610919565b005b34801561034d57600080fd5b5061030f61035c366004611e8d565b610968565b34801561036d57600080fd5b506006546102a3565b34801561038257600080fd5b5061030f610391366004611eaf565b61097c565b3480156103a257600080fd5b506102a360145481565b3480156103b857600080fd5b506102a3610a3e565b3480156103cd57600080fd5b5061033f6103dc366004611ef0565b610a90565b3480156103ed57600080fd5b5061030f6103fc366004611f2d565b6000546001600160a01b0391821691161490565b34801561041c57600080fd5b5060095b60405160ff90911681526020016102ad565b34801561043e57600080fd5b5061033f61044d366004611f4a565b610ae6565b34801561045e57600080fd5b5061030f61046d366004611f2d565b610b36565b34801561047e57600080fd5b5061033f61048d366004611f7f565b610b44565b34801561049e57600080fd5b5061033f6104ad366004611f7f565b610b6e565b3480156104be57600080fd5b5061033f6104cd366004611f4a565b610bb9565b3480156104de57600080fd5b50601a5461030f90610100900460ff1681565b3480156104fd57600080fd5b5061033f61050c366004611f98565b610c09565b34801561051d57600080fd5b506102a361052c366004611f2d565b6001600160a01b031660009081526009602052604090205490565b34801561055357600080fd5b50601c546104209062010000900460ff1681565b34801561057357600080fd5b506102a360075481565b34801561058957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b3480156105bb57600080fd5b506102a360085481565b3480156105d157600080fd5b506040805180820190915260048152634f522d3760e01b60208201526102e2565b3480156105fe57600080fd5b5061033f61060d366004611f7f565b610c77565b34801561061e57600080fd5b50601854610597906001600160a01b031681565b34801561063e57600080fd5b5061030f61064d366004611e31565b610ca1565b34801561065e57600080fd5b5061033f61066d366004611f2d565b610cae565b34801561067e57600080fd5b50601c5461030f90610100900460ff1681565b34801561069d57600080fd5b506102a360195481565b3480156106b357600080fd5b506102a36106c2366004611f7f565b610cff565b3480156106d357600080fd5b50601654610597906001600160a01b031681565b3480156106f357600080fd5b5061033f610702366004611f2d565b610d43565b34801561071357600080fd5b506102a3610722366004611fca565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561075957600080fd5b5061033f610768366004611ff8565b610e77565b34801561077957600080fd5b5061033f610788366004611fca565b610eba565b34801561079957600080fd5b50601554610597906001600160a01b031681565b3480156107b957600080fd5b5061033f6107c8366004611f2d565b610f0d565b3480156107d957600080fd5b506102a36107e8366004611e72565b610f58565b3480156107f957600080fd5b5061033f610808366004611f2d565b610f9a565b34801561081957600080fd5b5061033f611030565b34801561082e57600080fd5b5061033f61083d366004611f4a565b611093565b34801561084e57600080fd5b50601754610597906001600160a01b031681565b34801561086e57600080fd5b5061030f61087d366004611f2d565b600e6020526000908152604090205460ff1681565b34801561089e57600080fd5b50601a5461030f9060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109079086815260200190565b60405180910390a35060015b92915050565b610922336110e3565b6109475760405162461bcd60e51b815260040161093e90612014565b60405180910390fd5b601a805460ff191682151590811790915560ff161561096557436019555b50565b60008261097483610cff565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a29576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a04918490611101565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a3484848461113b565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610a8b906003546001600160a01b0316600090815260096020526040902054610a8590600654906115cd565b906115cd565b905090565b610a99336110e3565b610ab55760405162461bcd60e51b815260040161093e90612014565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610aef336110e3565b610b0b5760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610913826000196108ac565b610b4d336110e3565b610b695760405162461bcd60e51b815260040161093e90612014565b600755565b6000546001600160a01b03163314610b985760405162461bcd60e51b815260040161093e90612039565b6103e8600654610ba8919061206f565b811015610bb457600080fd5b600855565b610bc2336110e3565b610bde5760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c12336110e3565b610c2e5760405162461bcd60e51b815260040161093e90612014565b600f84905560118390556010829055610c5182610c4b868661160f565b9061160f565b6012556013819055610c6460038261206f565b60125410610c7157600080fd5b50505050565b610c80336110e3565b610c9c5760405162461bcd60e51b815260040161093e90612014565b601455565b6000610a3733848461113b565b6000546001600160a01b03163314610cd85760405162461bcd60e51b815260040161093e90612039565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610913610d0c610a3e565b6018546001600160a01b0316600090815260096020526040902054610d3d90610d3690600261166e565b859061166e565b906116f0565b610d4c336110e3565b610d685760405162461bcd60e51b815260040161093e90612014565b306001600160a01b03821603610dcc5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161093e565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e379190612091565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e72573d6000803e3d6000fd5b505050565b610e80336110e3565b610e9c5760405162461bcd60e51b815260040161093e90612014565b601a80549215156101000261ff001990931692909217909155601b55565b610ec3336110e3565b610edf5760405162461bcd60e51b815260040161093e90612014565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f375760405162461bcd60e51b815260040161093e90612039565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546005610f6a91906120aa565b10610f7d576013546109139060016115cd565b8115610f92576014546012546109139161166e565b505060125490565b6000546001600160a01b03163314610fc45760405162461bcd60e51b815260040161093e90612039565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611039336110e3565b6110555760405162461bcd60e51b815260040161093e90612014565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561108f573d6000803e3d6000fd5b5050565b61109c336110e3565b6110b85760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111255760405162461bcd60e51b815260040161093e9190611dc7565b50600061113284866120c2565b95945050505050565b601c5460009060ff161561115b57611154848484611732565b9050610a37565b6001600160a01b03841660009081526001602052604090205460ff1615801561119d57506001600160a01b03831660009081526001602052604090205460ff16155b156111eb57601a5460ff166111eb5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161093e565b6111f58483611818565b6001600160a01b0383166000908152600e602052604090205460ff1615801561123757506001600160a01b0384166000908152600e602052604090205460ff16155b61127c5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161093e565b6018546001600160a01b038481169116148015906112a857506003546001600160a01b03848116911614155b15611353576001600160a01b0383166000908152600c602052604090205460ff16806112f957506008546001600160a01b0384166000908152600960205260409020546112f69084906120aa565b11155b6113535760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161093e565b6018546001600160a01b0385811691161480156113775750601c54610100900460ff165b801561139c57506001600160a01b0383166000908152600d602052604090205460ff16155b1561144c576001600160a01b0383166000908152601d6020526040902054421161141c5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161093e565b601c546114329062010000900460ff16426120aa565b6001600160a01b0384166000908152601d60205260409020555b611454611881565b15611461576114616118d5565b60195415801561147e57506018546001600160a01b038481169116145b156114ae576001600160a01b0384166000908152600960205260409020546114a557600080fd5b6114ae43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611500918490611101565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156115355782611540565b611540858585611ce7565b6001600160a01b038516600090815260096020526040902054909150611566908261160f565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ba9085815260200190565b60405180910390a3506001949350505050565b6000610a3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611101565b60008061161c83856120aa565b905083811015610a375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161093e565b60008260000361168057506000610913565b600061168c83856120d9565b905082611699858361206f565b14610a375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161093e565b6000610a3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d99565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611783918490611101565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117b2908361160f565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118069086815260200190565b60405180910390a35060019392505050565b6007548111158061184157506001600160a01b0382166000908152600c602052604090205460ff165b61108f5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161093e565b6018546000906001600160a01b031633148015906118a25750601c5460ff16155b80156118b55750601a54610100900460ff165b8015610a8b575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119166002610d3d601254610d3d600f548761166e90919063ffffffff16565b9050600061192483836115cd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061195e5761195e6120f8565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061198f5761198f6120f8565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119d990869060009087903090429060040161210e565b600060405180830381600087803b1580156119f357600080fd5b505af1158015611a07573d6000803e3d6000fd5b505050506000611a2082476115cd90919063ffffffff16565b90506000611a46611a3d6002600f546116f090919063ffffffff16565b601254906115cd565b90506000611a686002610d3d84610d3d600f548861166e90919063ffffffff16565b90506000611a8583610d3d6010548761166e90919063ffffffff16565b90506000611aa284610d3d6011548861166e90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b4f5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161093e565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611ba1576040519150601f19603f3d011682016040523d82523d6000602084013e611ba6565b606091505b5050905080611bf75760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161093e565b8a15611ccf5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c6d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c92919061217f565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d199190610d3d90611d12906001600160a01b03898116911614610f58565b869061166e565b30600090815260096020526040902054909150611d36908261160f565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d879085815260200190565b60405180910390a361113283826115cd565b60008183611dba5760405162461bcd60e51b815260040161093e9190611dc7565b506000611132848661206f565b600060208083528351808285015260005b81811015611df457858101830151858201604001528201611dd8565b81811115611e06576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461096557600080fd5b60008060408385031215611e4457600080fd5b8235611e4f81611e1c565b946020939093013593505050565b80358015158114611e6d57600080fd5b919050565b600060208284031215611e8457600080fd5b610a3782611e5d565b60008060408385031215611ea057600080fd5b50508035926020909101359150565b600080600060608486031215611ec457600080fd5b8335611ecf81611e1c565b92506020840135611edf81611e1c565b929592945050506040919091013590565b60008060408385031215611f0357600080fd5b611f0c83611e5d565b9150602083013560ff81168114611f2257600080fd5b809150509250929050565b600060208284031215611f3f57600080fd5b8135610a3781611e1c565b60008060408385031215611f5d57600080fd5b8235611f6881611e1c565b9150611f7660208401611e5d565b90509250929050565b600060208284031215611f9157600080fd5b5035919050565b60008060008060808587031215611fae57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611fdd57600080fd5b8235611fe881611e1c565b91506020830135611f2281611e1c565b6000806040838503121561200b57600080fd5b611e4f83611e5d565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261208c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120a357600080fd5b5051919050565b600082198211156120bd576120bd612059565b500190565b6000828210156120d4576120d4612059565b500390565b60008160001904831182151516156120f3576120f3612059565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561215e5784516001600160a01b031683529383019391830191600101612139565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561219457600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201400c72deab3ca7803291233e328f7d4ada7b9baa301a15bf28164e8dd13698a64736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102815760003560e01c80638f9a55c01161014f578063dd62ed3e116100c1578063f2fde38b1161007a578063f2fde38b146107ed578063f42938901461080d578063f84ba65d14610822578063f887ea4014610842578063fe575a8714610862578063ffb54a991461089257600080fd5b8063dd62ed3e14610707578063df20fd491461074d578063e66db25e1461076d578063e96fada21461078d578063f0b37c04146107ad578063f1f3bca3146107cd57600080fd5b8063b6a5d7de11610113578063b6a5d7de14610652578063ba344dc414610672578063bf56b37114610691578063d51ed1c8146106a7578063dab84ee7146106c7578063dc93cf70146106e757600080fd5b80638f9a55c0146105af57806395d89b41146105c5578063a7bc1de0146105f2578063a8aa1b3114610612578063a9059cbb1461063257600080fd5b8063313ce567116101f35780636ddd1713116101ac5780636ddd1713146104d25780636fcba377146104f157806370a0823114610511578063722b62ad146105475780637d1db4a514610567578063893d20e81461057d57600080fd5b8063313ce56714610410578063455a439614610432578063571ac8b0146104525780635c85974f146104725780635d0044ca14610492578063658d4b7f146104b257600080fd5b806318160ddd1161024557806318160ddd1461036157806323b872dd1461037657806324e9bafb146103965780632b112e49146103ac5780632d594567146103c15780632f54bf6e146103e157600080fd5b80630445b6671461028d57806306fdde03146102b6578063095ea7b3146102ef5780630d2959801461031f5780631161ae391461034157600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a3601b5481565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b506040805180820190915260078152664a6f75726e657960c81b60208201525b6040516102ad9190611dc7565b3480156102fb57600080fd5b5061030f61030a366004611e31565b6108ac565b60405190151581526020016102ad565b34801561032b57600080fd5b5061033f61033a366004611e72565b610919565b005b34801561034d57600080fd5b5061030f61035c366004611e8d565b610968565b34801561036d57600080fd5b506006546102a3565b34801561038257600080fd5b5061030f610391366004611eaf565b61097c565b3480156103a257600080fd5b506102a360145481565b3480156103b857600080fd5b506102a3610a3e565b3480156103cd57600080fd5b5061033f6103dc366004611ef0565b610a90565b3480156103ed57600080fd5b5061030f6103fc366004611f2d565b6000546001600160a01b0391821691161490565b34801561041c57600080fd5b5060095b60405160ff90911681526020016102ad565b34801561043e57600080fd5b5061033f61044d366004611f4a565b610ae6565b34801561045e57600080fd5b5061030f61046d366004611f2d565b610b36565b34801561047e57600080fd5b5061033f61048d366004611f7f565b610b44565b34801561049e57600080fd5b5061033f6104ad366004611f7f565b610b6e565b3480156104be57600080fd5b5061033f6104cd366004611f4a565b610bb9565b3480156104de57600080fd5b50601a5461030f90610100900460ff1681565b3480156104fd57600080fd5b5061033f61050c366004611f98565b610c09565b34801561051d57600080fd5b506102a361052c366004611f2d565b6001600160a01b031660009081526009602052604090205490565b34801561055357600080fd5b50601c546104209062010000900460ff1681565b34801561057357600080fd5b506102a360075481565b34801561058957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ad565b3480156105bb57600080fd5b506102a360085481565b3480156105d157600080fd5b506040805180820190915260048152634f522d3760e01b60208201526102e2565b3480156105fe57600080fd5b5061033f61060d366004611f7f565b610c77565b34801561061e57600080fd5b50601854610597906001600160a01b031681565b34801561063e57600080fd5b5061030f61064d366004611e31565b610ca1565b34801561065e57600080fd5b5061033f61066d366004611f2d565b610cae565b34801561067e57600080fd5b50601c5461030f90610100900460ff1681565b34801561069d57600080fd5b506102a360195481565b3480156106b357600080fd5b506102a36106c2366004611f7f565b610cff565b3480156106d357600080fd5b50601654610597906001600160a01b031681565b3480156106f357600080fd5b5061033f610702366004611f2d565b610d43565b34801561071357600080fd5b506102a3610722366004611fca565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561075957600080fd5b5061033f610768366004611ff8565b610e77565b34801561077957600080fd5b5061033f610788366004611fca565b610eba565b34801561079957600080fd5b50601554610597906001600160a01b031681565b3480156107b957600080fd5b5061033f6107c8366004611f2d565b610f0d565b3480156107d957600080fd5b506102a36107e8366004611e72565b610f58565b3480156107f957600080fd5b5061033f610808366004611f2d565b610f9a565b34801561081957600080fd5b5061033f611030565b34801561082e57600080fd5b5061033f61083d366004611f4a565b611093565b34801561084e57600080fd5b50601754610597906001600160a01b031681565b34801561086e57600080fd5b5061030f61087d366004611f2d565b600e6020526000908152604090205460ff1681565b34801561089e57600080fd5b50601a5461030f9060ff1681565b336000818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109079086815260200190565b60405180910390a35060015b92915050565b610922336110e3565b6109475760405162461bcd60e51b815260040161093e90612014565b60405180910390fd5b601a805460ff191682151590811790915560ff161561096557436019555b50565b60008261097483610cff565b119392505050565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610a29576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610a04918490611101565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610a3484848461113b565b90505b9392505050565b6004546001600160a01b0316600090815260096020526040812054610a8b906003546001600160a01b0316600090815260096020526040902054610a8590600654906115cd565b906115cd565b905090565b610a99336110e3565b610ab55760405162461bcd60e51b815260040161093e90612014565b601c805462ffff0019166101009315159390930262ff00001916929092176201000060ff9290921691909102179055565b610aef336110e3565b610b0b5760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000610913826000196108ac565b610b4d336110e3565b610b695760405162461bcd60e51b815260040161093e90612014565b600755565b6000546001600160a01b03163314610b985760405162461bcd60e51b815260040161093e90612039565b6103e8600654610ba8919061206f565b811015610bb457600080fd5b600855565b610bc2336110e3565b610bde5760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b610c12336110e3565b610c2e5760405162461bcd60e51b815260040161093e90612014565b600f84905560118390556010829055610c5182610c4b868661160f565b9061160f565b6012556013819055610c6460038261206f565b60125410610c7157600080fd5b50505050565b610c80336110e3565b610c9c5760405162461bcd60e51b815260040161093e90612014565b601455565b6000610a3733848461113b565b6000546001600160a01b03163314610cd85760405162461bcd60e51b815260040161093e90612039565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610913610d0c610a3e565b6018546001600160a01b0316600090815260096020526040902054610d3d90610d3690600261166e565b859061166e565b906116f0565b610d4c336110e3565b610d685760405162461bcd60e51b815260040161093e90612014565b306001600160a01b03821603610dcc5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161093e565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e379190612091565b6015546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e72573d6000803e3d6000fd5b505050565b610e80336110e3565b610e9c5760405162461bcd60e51b815260040161093e90612014565b601a80549215156101000261ff001990931692909217909155601b55565b610ec3336110e3565b610edf5760405162461bcd60e51b815260040161093e90612014565b601580546001600160a01b039384166001600160a01b03199182161790915560168054929093169116179055565b6000546001600160a01b03163314610f375760405162461bcd60e51b815260040161093e90612039565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000436019546005610f6a91906120aa565b10610f7d576013546109139060016115cd565b8115610f92576014546012546109139161166e565b505060125490565b6000546001600160a01b03163314610fc45760405162461bcd60e51b815260040161093e90612039565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611039336110e3565b6110555760405162461bcd60e51b815260040161093e90612014565b60155460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561108f573d6000803e3d6000fd5b5050565b61109c336110e3565b6110b85760405162461bcd60e51b815260040161093e90612014565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156111255760405162461bcd60e51b815260040161093e9190611dc7565b50600061113284866120c2565b95945050505050565b601c5460009060ff161561115b57611154848484611732565b9050610a37565b6001600160a01b03841660009081526001602052604090205460ff1615801561119d57506001600160a01b03831660009081526001602052604090205460ff16155b156111eb57601a5460ff166111eb5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161093e565b6111f58483611818565b6001600160a01b0383166000908152600e602052604090205460ff1615801561123757506001600160a01b0384166000908152600e602052604090205460ff16155b61127c5760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b604482015260640161093e565b6018546001600160a01b038481169116148015906112a857506003546001600160a01b03848116911614155b15611353576001600160a01b0383166000908152600c602052604090205460ff16806112f957506008546001600160a01b0384166000908152600960205260409020546112f69084906120aa565b11155b6113535760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161093e565b6018546001600160a01b0385811691161480156113775750601c54610100900460ff165b801561139c57506001600160a01b0383166000908152600d602052604090205460ff16155b1561144c576001600160a01b0383166000908152601d6020526040902054421161141c5760405162461bcd60e51b815260206004820152602b60248201527f506c65617365207761697420666f7220316d696e206265747765656e2074776f60448201526a206f7065726174696f6e7360a81b606482015260840161093e565b601c546114329062010000900460ff16426120aa565b6001600160a01b0384166000908152601d60205260409020555b611454611881565b15611461576114616118d5565b60195415801561147e57506018546001600160a01b038481169116145b156114ae576001600160a01b0384166000908152600960205260409020546114a557600080fd5b6114ae43601955565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260099091529190912054611500918490611101565b6001600160a01b038516600090815260096020908152604080832093909355600b90529081205460ff16156115355782611540565b611540858585611ce7565b6001600160a01b038516600090815260096020526040902054909150611566908261160f565b6001600160a01b0380861660008181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ba9085815260200190565b60405180910390a3506001949350505050565b6000610a3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611101565b60008061161c83856120aa565b905083811015610a375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161093e565b60008260000361168057506000610913565b600061168c83856120d9565b905082611699858361206f565b14610a375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161093e565b6000610a3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d99565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611783918490611101565b6001600160a01b0380861660009081526009602052604080822093909355908516815220546117b2908361160f565b6001600160a01b0380851660008181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118069086815260200190565b60405180910390a35060019392505050565b6007548111158061184157506001600160a01b0382166000908152600c602052604090205460ff165b61108f5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161093e565b6018546000906001600160a01b031633148015906118a25750601c5460ff16155b80156118b55750601a54610100900460ff165b8015610a8b575050601b5430600090815260096020526040902054101590565b601c805460ff1916600117905530600090815260096020526040812054905060006119166002610d3d601254610d3d600f548761166e90919063ffffffff16565b9050600061192483836115cd565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061195e5761195e6120f8565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061198f5761198f6120f8565b6001600160a01b03928316602091820292909201015260175460405163791ac94760e01b81524792919091169063791ac947906119d990869060009087903090429060040161210e565b600060405180830381600087803b1580156119f357600080fd5b505af1158015611a07573d6000803e3d6000fd5b505050506000611a2082476115cd90919063ffffffff16565b90506000611a46611a3d6002600f546116f090919063ffffffff16565b601254906115cd565b90506000611a686002610d3d84610d3d600f548861166e90919063ffffffff16565b90506000611a8583610d3d6010548761166e90919063ffffffff16565b90506000611aa284610d3d6011548861166e90919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b4f5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161093e565b6016546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611ba1576040519150601f19603f3d011682016040523d82523d6000602084013e611ba6565b606091505b5050905080611bf75760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161093e565b8a15611ccf5760175460155460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611c6d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c92919061217f565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601c805460ff1916905550505050505050505050565b6013546018546000918291611d199190610d3d90611d12906001600160a01b03898116911614610f58565b869061166e565b30600090815260096020526040902054909150611d36908261160f565b30600081815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d879085815260200190565b60405180910390a361113283826115cd565b60008183611dba5760405162461bcd60e51b815260040161093e9190611dc7565b506000611132848661206f565b600060208083528351808285015260005b81811015611df457858101830151858201604001528201611dd8565b81811115611e06576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461096557600080fd5b60008060408385031215611e4457600080fd5b8235611e4f81611e1c565b946020939093013593505050565b80358015158114611e6d57600080fd5b919050565b600060208284031215611e8457600080fd5b610a3782611e5d565b60008060408385031215611ea057600080fd5b50508035926020909101359150565b600080600060608486031215611ec457600080fd5b8335611ecf81611e1c565b92506020840135611edf81611e1c565b929592945050506040919091013590565b60008060408385031215611f0357600080fd5b611f0c83611e5d565b9150602083013560ff81168114611f2257600080fd5b809150509250929050565b600060208284031215611f3f57600080fd5b8135610a3781611e1c565b60008060408385031215611f5d57600080fd5b8235611f6881611e1c565b9150611f7660208401611e5d565b90509250929050565b600060208284031215611f9157600080fd5b5035919050565b60008060008060808587031215611fae57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611fdd57600080fd5b8235611fe881611e1c565b91506020830135611f2281611e1c565b6000806040838503121561200b57600080fd5b611e4f83611e5d565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261208c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156120a357600080fd5b5051919050565b600082198211156120bd576120bd612059565b500190565b6000828210156120d4576120d4612059565b500390565b60008160001904831182151516156120f3576120f3612059565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561215e5784516001600160a01b031683529383019391830191600101612139565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561219457600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201400c72deab3ca7803291233e328f7d4ada7b9baa301a15bf28164e8dd13698a64736f6c634300080e0033

Deployed Bytecode Sourcemap

6165:12708:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7668:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7668:54:0;;;;;;;;9072:80;;;;;;;;;;-1:-1:-1;9144:5:0;;;;;;;;;;;;-1:-1:-1;;;9144:5:0;;;;9072:80;;;;;;;:::i;9494:216::-;;;;;;;;;;-1:-1:-1;9494:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;9494:216:0;1254:187:1;13196:172:0;;;;;;;;;;-1:-1:-1;13196:172:0;;;;;:::i;:::-;;:::i;:::-;;18652:150;;;;;;;;;;-1:-1:-1;18652:150:0;;;;;:::i;:::-;;:::i;8802:88::-;;;;;;;;;;-1:-1:-1;8875:12:0;;8802:88;;10012:370;;;;;;;;;;-1:-1:-1;10012:370:0;;;;;:::i;:::-;;:::i;7284:34::-;;;;;;;;;;;;;;;;18327:142;;;;;;;;;;;;;:::i;16552:164::-;;;;;;;;;;-1:-1:-1;16552:164:0;;;;;:::i;:::-;;:::i;4070:103::-;;;;;;;;;;-1:-1:-1;4070:103:0;;;;;:::i;:::-;4125:4;4160:5;-1:-1:-1;;;;;4149:16:0;;;4160:5;;4149:16;;4070:103;8896:80;;;;;;;;;;-1:-1:-1;6624:1:0;8896:80;;;3276:4:1;3264:17;;;3246:36;;3234:2;3219:18;8896:80:0;3104:184:1;17694:125:0;;;;;;;;;;-1:-1:-1;17694:125:0;;;;;:::i;:::-;;:::i;9718:122::-;;;;;;;;;;-1:-1:-1;9718:122:0;;;;;:::i;:::-;;:::i;17373:112::-;;;;;;;;;;-1:-1:-1;17373:112:0;;;;;:::i;:::-;;:::i;15943:151::-;;;;;;;;;;-1:-1:-1;15943:151:0;;;;;:::i;:::-;;:::i;16730:120::-;;;;;;;;;;-1:-1:-1;16730:120:0;;;;;:::i;:::-;;:::i;7631:30::-;;;;;;;;;;-1:-1:-1;7631:30:0;;;;;;;;;;;16108:395;;;;;;;;;;-1:-1:-1;16108:395:0;;;;;:::i;:::-;;:::i;9242:105::-;;;;;;;;;;-1:-1:-1;9242:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9326:18:0;9308:7;9326:18;;;:9;:18;;;;;;;9242:105;7906:39;;;;;;;;;;-1:-1:-1;7906:39:0;;;;;;;;;;;6695:54;;;;;;;;;;;;;;;;9158:78;;;;;;;;;;-1:-1:-1;9210:7:0;9228:5;-1:-1:-1;;;;;9228:5:0;9158:78;;;-1:-1:-1;;;;;4352:32:1;;;4334:51;;4322:2;4307:18;9158:78:0;4188:203:1;6757:56:0;;;;;;;;;;;;;;;;8982:84;;;;;;;;;;-1:-1:-1;9056:7:0;;;;;;;;;;;;-1:-1:-1;;;9056:7:0;;;;8982:84;;16992:121;;;;;;;;;;-1:-1:-1;16992:121:0;;;;;:::i;:::-;;:::i;7532:19::-;;;;;;;;;;-1:-1:-1;7532:19:0;;;;-1:-1:-1;;;;;7532:19:0;;;9848:156;;;;;;;;;;-1:-1:-1;9848:156:0;;;;;:::i;:::-;;:::i;3749:88::-;;;;;;;;;;-1:-1:-1;3749:88:0;;;;;:::i;:::-;;:::i;7863:36::-;;;;;;;;;;-1:-1:-1;7863:36:0;;;;;;;;;;;7560:25;;;;;;;;;;;;;;;;18477:167;;;;;;;;;;-1:-1:-1;18477:167:0;;;;;:::i;:::-;;:::i;7418:74::-;;;;;;;;;;-1:-1:-1;7418:74:0;;;;-1:-1:-1;;;;;7418:74:0;;;18013:298;;;;;;;;;;-1:-1:-1;18013:298:0;;;;;:::i;:::-;;:::i;9353:133::-;;;;;;;;;;-1:-1:-1;9353:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9455:19:0;;;9437:7;9455:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9353:133;17491:156;;;;;;;;;;-1:-1:-1;17491:156:0;;;;;:::i;:::-;;:::i;17119:206::-;;;;;;;;;;-1:-1:-1;17119:206:0;;;;;:::i;:::-;;:::i;7331:80::-;;;;;;;;;;-1:-1:-1;7331:80:0;;;;-1:-1:-1;;;;;7331:80:0;;;3919:91;;;;;;;;;;-1:-1:-1;3919:91:0;;;;;:::i;:::-;;:::i;12542:239::-;;;;;;;;;;-1:-1:-1;12542:239:0;;;;;:::i;:::-;;:::i;4466:167::-;;;;;;;;;;-1:-1:-1;4466:167:0;;;;;:::i;:::-;;:::i;17825:180::-;;;;;;;;;;;;;:::i;16858:128::-;;;;;;;;;;-1:-1:-1;16858:128:0;;;;;:::i;:::-;;:::i;7501:24::-;;;;;;;;;;-1:-1:-1;7501:24:0;;;;-1:-1:-1;;;;;7501:24:0;;;7079:46;;;;;;;;;;-1:-1:-1;7079:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7594:30;;;;;;;;;;-1:-1:-1;7594:30:0;;;;;;;;9494:216;9598:10;9569:4;9586:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9586:32:0;;;;;;;;;;:41;;;9643:37;9569:4;;9586:32;;9643:37;;;;9621:6;160:25:1;;148:2;133:18;;14:177;9643:37:0;;;;;;;;-1:-1:-1;9698:4:0;9494:216;;;;;:::o;13196:172::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;;;;;;;;;13262:11:::1;:21:::0;;-1:-1:-1;;13262:21:0::1;::::0;::::1;;::::0;;::::1;::::0;;;::::1;13297:11:::0;13294:67:::1;;;13337:12;13324:10;:25:::0;13294:67:::1;13196:172:::0;:::o;18652:150::-;18732:4;18788:6;18756:29;18776:8;18756:19;:29::i;:::-;:38;;18652:150;-1:-1:-1;;;18652:150:0:o;10012:370::-;-1:-1:-1;;;;;10132:19:0;;10112:4;10132:19;;;:11;:19;;;;;;;;10152:10;10132:31;;;;;;;;-1:-1:-1;;10132:52:0;10129:186;;10234:69;;;;;;;;;;;-1:-1:-1;;;10234:69:0;;;;;;;;-1:-1:-1;;;;;10234:19:0;;-1:-1:-1;10234:19:0;;;:11;:19;;;;;10254:10;10234:31;;;;;;;;;;:69;;10270:6;;10234:35;:69::i;:::-;-1:-1:-1;;;;;10200:19:0;;;;;;:11;:19;;;;;;;;10220:10;10200:31;;;;;;;:103;10129:186;10334:40;10348:6;10356:9;10367:6;10334:13;:40::i;:::-;10327:47;;10012:370;;;;;;:::o;18327:142::-;18455:4;;-1:-1:-1;;;;;18455:4:0;18380:7;9326:18;;;:9;:18;;;;;;18407:54;;18434:4;;-1:-1:-1;;;;;18434:4:0;9308:7;9326:18;;;:9;:18;;;;;;18407:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18400:61;;18327:142;:::o;16552:164::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;16637:17:::1;:27:::0;;-1:-1:-1;;16675:33:0;16637:27:::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;16675:33:0;;;;;;16637:27:::1;16675:33:::0;;;::::1;::::0;;;::::1;;::::0;;16552:164::o;17694:125::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17779:23:0;;;::::1;;::::0;;;:13:::1;:23;::::0;;;;:32;;-1:-1:-1;;17779:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17694:125::o;9718:122::-;9773:4;9797:35;9805:7;-1:-1:-1;;9797:7:0;:35::i;17373:112::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;17443:12:::1;:24:::0;17373:112::o;15943:151::-;4125:4;4160:5;-1:-1:-1;;;;;4160:5:0;3473:10;4149:16;3457:38;;;;-1:-1:-1;;;3457:38:0;;;;;;;:::i;:::-;16046:4:::1;16031:12;;:19;;;;:::i;:::-;16021:6;:29;;16013:39;;;::::0;::::1;;16063:14;:23:::0;15943:151::o;16730:120::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16814:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16814:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16730:120::o;16108:395::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;16244:12:::1;:28:::0;;;16283:12:::1;:28:::0;;;16322:6:::1;:16:::0;;;16360:45:::1;16331:7:::0;16360:32:::1;16259:13:::0;16298;16360:17:::1;:32::i;:::-;:36:::0;::::1;:45::i;:::-;16349:8;:56:::0;16416:14:::1;:32:::0;;;16478:16:::1;16493:1;16433:15:::0;16478:16:::1;:::i;:::-;16467:8;;:27;16459:36;;;::::0;::::1;;16108:395:::0;;;;:::o;16992:121::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;17069:15:::1;:28:::0;16992:121::o;9848:156::-;9928:4;9952:44;9966:10;9978:9;9989:6;9952:13;:44::i;3749:88::-;4125:4;4160:5;-1:-1:-1;;;;;4160:5:0;3473:10;4149:16;3457:38;;;;-1:-1:-1;;;3457:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3809:13:0::1;;::::0;;;3825:4:::1;3809:13;::::0;;;;;;;:20;;-1:-1:-1;;3809:20:0::1;::::0;;::::1;::::0;;3749:88::o;18477:167::-;18545:7;18572:64;18613:22;:20;:22::i;:::-;18595:4;;-1:-1:-1;;;;;18595:4:0;9308:7;9326:18;;;:9;:18;;;;;;18572:36;;18585:22;;18605:1;18585:19;:22::i;:::-;18572:8;;:12;:36::i;:::-;:40;;:64::i;18013:298::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;18114:4:::1;-1:-1:-1::0;;;;;18096:23:0;::::1;::::0;18088:71:::1;;;::::0;-1:-1:-1;;;18088:71:0;;6758:2:1;18088:71:0::1;::::0;::::1;6740:21:1::0;6797:2;6777:18;;;6770:30;6836:34;6816:18;;;6809:62;-1:-1:-1;;;6887:18:1;;;6880:33;6930:19;;18088:71:0::1;6556:399:1::0;18088:71:0::1;18197:39;::::0;-1:-1:-1;;;18197:39:0;;18230:4:::1;18197:39;::::0;::::1;4334:51:1::0;18170:24:0::1;::::0;-1:-1:-1;;;;;18197:24:0;::::1;::::0;::::1;::::0;4307:18:1;;18197:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18255:20;::::0;18247:56:::1;::::0;18170:66;;-1:-1:-1;;;;;;18255:20:0::1;::::0;18247:56;::::1;;;::::0;18170:66;;18255:20:::1;18247:56:::0;18255:20;18247:56;18170:66;18255:20;18247:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18077:234;18013:298:::0;:::o;17491:156::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;17583:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;17583:22:0;;::::1;::::0;;;::::1;::::0;;;17616:13:::1;:23:::0;17491:156::o;17119:206::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;17230:20:::1;:44:::0;;-1:-1:-1;;;;;17230:44:0;;::::1;-1:-1:-1::0;;;;;;17230:44:0;;::::1;;::::0;;;17285:14:::1;:32:::0;;;;;::::1;::::0;::::1;;::::0;;17119:206::o;3919:91::-;4125:4;4160:5;-1:-1:-1;;;;;4160:5:0;3473:10;4149:16;3457:38;;;;-1:-1:-1;;;3457:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3981:13:0::1;3997:5;3981:13:::0;;;:8:::1;:13;::::0;;;;:21;;-1:-1:-1;;3981:21:0::1;::::0;;3919:91::o;12542:239::-;12598:7;12639:12;12621:10;;12634:1;12621:14;;;;:::i;:::-;:30;12618:67;;12661:14;;:21;;12680:1;12661:18;:21::i;12618:67::-;12698:7;12695:53;;;12729:15;;12716:8;;:29;;:12;:29::i;12695:53::-;-1:-1:-1;;12765:8:0;;;12542:239::o;4466:167::-;4125:4;4160:5;-1:-1:-1;;;;;4160:5:0;3473:10;4149:16;3457:38;;;;-1:-1:-1;;;3457:38:0;;;;;;;:::i;:::-;4542:5:::1;:11:::0;;-1:-1:-1;;;;;;4542:11:0::1;-1:-1:-1::0;;;;;4542:11:0;::::1;::::0;;::::1;::::0;;4564:13;;;-1:-1:-1;4564:13:0::1;::::0;;;;;;;;:20;;-1:-1:-1;;4564:20:0::1;::::0;;::::1;::::0;;;4600:25;;4334:51:1;;;4600:25:0::1;::::0;4307:18:1;4600:25:0::1;;;;;;;4466:167:::0;:::o;17825:180::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;17947:20:::1;::::0;17939:58:::1;::::0;17907:21:::1;::::0;-1:-1:-1;;;;;17947:20:0::1;::::0;17939:58;::::1;;;::::0;17907:21;;17878:26:::1;17939:58:::0;17878:26;17939:58;17907:21;17947:20;17939:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;17867:138;17825:180::o:0;16858:128::-;3634:24;3647:10;3634:12;:24::i;:::-;3626:48;;;;-1:-1:-1;;;3626:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16946:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16946:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16858:128::o;4244:103::-;-1:-1:-1;;;;;4326:13:0;4302:4;4326:13;;;:8;:13;;;;;;;;;4244:103::o;1145:192::-;1231:7;1267:12;1259:6;;;;1251:29;;;;-1:-1:-1;;;1251:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1291:9:0;1303:5;1307:1;1303;:5;:::i;:::-;1291:17;1145:192;-1:-1:-1;;;;;1145:192:0:o;10390:1502::-;10502:6;;10482:4;;10502:6;;10499:63;;;10518:41;10533:6;10541:9;10552:6;10518:14;:41::i;:::-;10511:48;;;;10499:63;-1:-1:-1;;;;;10586:16:0;;;;;;:8;:16;;;;;;;;10585:17;:41;;;;-1:-1:-1;;;;;;10607:19:0;;;;;;:8;:19;;;;;;;;10606:20;10585:41;10582:115;;;10650:11;;;;10642:43;;;;-1:-1:-1;;;10642:43:0;;7830:2:1;10642:43:0;;;7812:21:1;7869:2;7849:18;;;7842:30;-1:-1:-1;;;7888:18:1;;;7881:50;7948:18;;10642:43:0;7628:344:1;10642:43:0;10707:28;10720:6;10728;10707:12;:28::i;:::-;-1:-1:-1;;;;;10799:24:0;;;;;;:13;:24;;;;;;;;10798:25;:51;;;;-1:-1:-1;;;;;;10828:21:0;;;;;;:13;:21;;;;;;;;10827:22;10798:51;10790:86;;;;-1:-1:-1;;;10790:86:0;;8179:2:1;10790:86:0;;;8161:21:1;8218:2;8198:18;;;8191:30;-1:-1:-1;;;8237:18:1;;;8230:52;8299:18;;10790:86:0;7977:346:1;10790:86:0;10904:4;;-1:-1:-1;;;;;10891:17:0;;;10904:4;;10891:17;;;;:38;;-1:-1:-1;10925:4:0;;-1:-1:-1;;;;;10912:17:0;;;10925:4;;10912:17;;10891:38;10887:198;;;-1:-1:-1;;;;;10954:26:0;;;;;;:15;:26;;;;;;;;;:77;;-1:-1:-1;11017:14:0;;-1:-1:-1;;;;;10984:20:0;;;;;;:9;:20;;;;;;:29;;11007:6;;10984:29;:::i;:::-;:47;;10954:77;10946:127;;;;-1:-1:-1;;;10946:127:0;;8530:2:1;10946:127:0;;;8512:21:1;8569:2;8549:18;;;8542:30;8608:34;8588:18;;;8581:62;-1:-1:-1;;;8659:18:1;;;8652:35;8704:19;;10946:127:0;8328:401:1;10946:127:0;11109:4;;-1:-1:-1;;;;;11099:14:0;;;11109:4;;11099:14;:48;;;;-1:-1:-1;11130:17:0;;;;;;;11099:48;:93;;;;-1:-1:-1;;;;;;11165:27:0;;;;;;:16;:27;;;;;;;;11164:28;11099:93;11095:304;;;-1:-1:-1;;;;;11217:24:0;;;;;;:13;:24;;;;;;11244:15;-1:-1:-1;11209:97:0;;;;-1:-1:-1;;;11209:97:0;;8936:2:1;11209:97:0;;;8918:21:1;8975:2;8955:18;;;8948:30;9014:34;8994:18;;;8987:62;-1:-1:-1;;;9065:18:1;;;9058:41;9116:19;;11209:97:0;8734:407:1;11209:97:0;11366:21;;11348:39;;11366:21;;;;;11348:15;:39;:::i;:::-;-1:-1:-1;;;;;11321:24:0;;;;;;:13;:24;;;;;:66;11095:304;11412:16;:14;:16::i;:::-;11409:35;;;11431:10;:8;:10::i;:::-;15834;;:15;;;11459:32;;-1:-1:-1;11487:4:0;;-1:-1:-1;;;;;11474:17:0;;;11487:4;;11474:17;11459:32;11456:81;;;-1:-1:-1;;;;;11502:17:0;;11522:1;11502:17;;;:9;:17;;;;;;11494:30;;;;;;11526:8;15916:12;15903:10;:25;15865:71;11526:8;11569:53;;;;;;;;;;;-1:-1:-1;;;11569:53:0;;;;;;;;-1:-1:-1;;;;;11569:17:0;;-1:-1:-1;11569:17:0;;;:9;:17;;;;;;;;:53;;11591:6;;11569:21;:53::i;:::-;-1:-1:-1;;;;;11549:17:0;;;;;;:9;:17;;;;;;;;:73;;;;12507:11;:19;;;;;;;;12506:20;11660:67;;11721:6;11660:67;;;11684:34;11692:6;11700:9;11711:6;11684:7;:34::i;:::-;-1:-1:-1;;;;;11761:20:0;;;;;;:9;:20;;;;;;11635:92;;-1:-1:-1;11761:40:0;;11635:92;11761:24;:40::i;:::-;-1:-1:-1;;;;;11738:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11819:43;;;;;;;;;;11847:14;160:25:1;;148:2;133:18;;14:177;11819:43:0;;;;;;;;-1:-1:-1;11880:4:0;;10390:1502;-1:-1:-1;;;;10390:1502:0:o;1003:136::-;1061:7;1088:43;1092:1;1095;1088:43;;;;;;;;;;;;;;;;;:3;:43::i;816:181::-;874:7;;906:5;910:1;906;:5;:::i;:::-;894:17;;935:1;930;:6;;922:46;;;;-1:-1:-1;;;922:46:0;;9348:2:1;922:46:0;;;9330:21:1;9387:2;9367:18;;;9360:30;9426:29;9406:18;;;9399:57;9473:18;;922:46:0;9146:351:1;1343:250:0;1401:7;1425:1;1430;1425:6;1421:47;;-1:-1:-1;1455:1:0;1448:8;;1421:47;1480:9;1492:5;1496:1;1492;:5;:::i;:::-;1480:17;-1:-1:-1;1525:1:0;1516:5;1520:1;1480:17;1516:5;:::i;:::-;:10;1508:56;;;;-1:-1:-1;;;1508:56:0;;9877:2:1;1508:56:0;;;9859:21:1;9916:2;9896:18;;;9889:30;9955:34;9935:18;;;9928:62;-1:-1:-1;;;10006:18:1;;;9999:31;10047:19;;1508:56:0;9675:397:1;1599:132:0;1657:7;1684:39;1688:1;1691;1684:39;;;;;;;;;;;;;;;;;:3;:39::i;11904:330::-;12034:53;;;;;;;;;;;-1:-1:-1;;;12034:53:0;;;;;;;;-1:-1:-1;;;;;12034:17:0;;11997:4;12034:17;;;:9;:17;;;;;;;:53;;12056:6;;12034:21;:53::i;:::-;-1:-1:-1;;;;;12014:17:0;;;;;;;:9;:17;;;;;;:73;;;;12121:20;;;;;;;:32;;12146:6;12121:24;:32::i;:::-;-1:-1:-1;;;;;12098:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12169:35;;;;;;;;;;12197:6;160:25:1;;148:2;133:18;;14:177;12169:35:0;;;;;;;;-1:-1:-1;12222:4:0;11904:330;;;;;:::o;12242:166::-;12339:12;;12329:6;:22;;:49;;;-1:-1:-1;;;;;;12355:23:0;;;;;;:15;:23;;;;;;;;12329:49;12321:79;;;;-1:-1:-1;;;12321:79:0;;10279:2:1;12321:79:0;;;10261:21:1;10318:2;10298:18;;;10291:30;-1:-1:-1;;;10337:18:1;;;10330:47;10394:18;;12321:79:0;10077:341:1;13376:197:0;13463:4;;13425;;-1:-1:-1;;;;;13463:4:0;13449:10;:18;;;;:38;;-1:-1:-1;13481:6:0;;;;13480:7;13449:38;:62;;;;-1:-1:-1;13500:11:0;;;;;;;13449:62;:116;;;;-1:-1:-1;;13552:13:0;;13542:4;13524:24;;;;:9;:24;;;;;;:41;;;13376:197::o;13581:1809::-;7777:6;:13;;-1:-1:-1;;7777:13:0;7786:4;7777:13;;;13679:4:::1;-1:-1:-1::0;9326:18:0;;;:9;:18;;;;;;13630:55:::1;;13696:23;13722:59;13779:1;13722:52;13765:8;;13722:38;13747:12;;13722:20;:24;;:38;;;;:::i;:59::-;13696:85:::0;-1:-1:-1;13792:20:0::1;13815:41;:20:::0;13696:85;13815:24:::1;:41::i;:::-;13893:16;::::0;;13907:1:::1;13893:16:::0;;;;;::::1;::::0;;13792:64;;-1:-1:-1;13869:21:0::1;::::0;13893:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13893:16:0::1;13869:40;;13938:4;13920;13925:1;13920:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13920:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;13964:4:::1;::::0;13954:7;;13964:4;::::1;::::0;13954;;13964;;13954:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;13954:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14039:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14039:188:0;;14005:21:::1;::::0;14039:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;14111:12;;13981:21:::1;::::0;14154:4;;14181::::1;::::0;14201:15:::1;::::0;14039:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14238:17;14258:40;14284:13;14258:21;:25;;:40;;;;:::i;:::-;14238:60;;14309:19;14331:33;14344:19;14361:1;14344:12;;:16;;:19;;;;:::i;:::-;14331:8;::::0;;:12:::1;:33::i;:::-;14309:55;;14375:26;14404:51;14453:1;14404:44;14436:11;14404:27;14418:12;;14404:9;:13;;:27;;;;:::i;:51::-;14375:80;;14466:20;14489:38;14515:11;14489:21;14503:6;;14489:9;:13;;:21;;;;:::i;:38::-;14466:61;;14538:26;14567:44;14599:11;14567:27;14581:12;;14567:9;:13;;:27;;;;:::i;:44::-;14685:20;::::0;14677:77:::1;::::0;14538:73;;-1:-1:-1;14627:21:0::1;::::0;-1:-1:-1;;;;;14685:20:0;;::::1;::::0;14744:5:::1;::::0;14538:73;;14627:21;14677:77;14627:21;14677:77;14538:73;14685:20;14744:5;14677:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14626:128;;;14773:16;14765:59;;;::::0;-1:-1:-1;;;14765:59:0;;12084:2:1;14765:59:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;14765:59:0::1;11882:354:1::0;14765:59:0::1;14888:14;::::0;14880:65:::1;::::0;14836:15:::1;::::0;-1:-1:-1;;;;;14888:14:0::1;::::0;14935:5:::1;::::0;14916:12;;14836:15;14880:65;14836:15;14880:65;14916:12;14888:14;14935:5;14880:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14835:110;;;14964:10;14956:53;;;::::0;-1:-1:-1;;;14956:53:0;;12084:2:1;14956:53:0::1;::::0;::::1;12066:21:1::0;12123:2;12103:18;;;12096:30;12162:32;12142:18;;;12135:60;12212:18;;14956:53:0::1;11882:354:1::0;14956:53:0::1;15025:19:::0;;15022:361:::1;;15060:6;::::0;15234:20:::1;::::0;15060:243:::1;::::0;-1:-1:-1;;;15060:243:0;;15136:4:::1;15060:243;::::0;::::1;12582:34:1::0;12632:18;;;12625:34;;;15060:6:0::1;12675:18:1::0;;;12668:34;;;12718:18;;;12711:34;-1:-1:-1;;;;;15234:20:0;;::::1;12761:19:1::0;;;12754:44;15273:15:0::1;12814:19:1::0;;;12807:35;15060:6:0;::::1;::::0;:22:::1;::::0;15090:18;;12516:19:1;;15060:243:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15323:48:0::1;::::0;;13338:25:1;;;13394:2;13379:18;;13372:34;;;15323:48:0::1;::::0;-1:-1:-1;13311:18:1;15323:48:0::1;;;;;;;15022:361;-1:-1:-1::0;;7795:6:0;:14;;-1:-1:-1;;7795:14:0;;;-1:-1:-1;;;;;;;;;;13581:1809:0:o;12789:372::-;12960:14;;12949:4;;12874:7;;;;12914:61;;12960:14;12914:41;;12925:29;;-1:-1:-1;;;;;12937:16:0;;;12949:4;;12937:16;12925:11;:29::i;:::-;12914:6;;:10;:41::i;:61::-;13033:4;13015:24;;;;:9;:24;;;;;;12894:81;;-1:-1:-1;13015:39:0;;12894:81;13015:28;:39::i;:::-;13006:4;12988:24;;;;:9;:24;;;;;;;:66;;;;13070:42;;-1:-1:-1;;;;;13070:42:0;;;;;;;13102:9;160:25:1;;148:2;133:18;;14:177;13070:42:0;;;;;;;;13132:21;:6;13143:9;13132:10;:21::i;1737:345::-;1823:7;1925:12;1918:5;1910:28;;;;-1:-1:-1;;;1910:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1949:9:0;1961:5;1965:1;1961;:5;:::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:180::-;1667:6;1720:2;1708:9;1699:7;1695:23;1691:32;1688:52;;;1736:1;1733;1726:12;1688:52;1759:26;1775:9;1759:26;:::i;1796:248::-;1864:6;1872;1925:2;1913:9;1904:7;1900:23;1896:32;1893:52;;;1941:1;1938;1931:12;1893:52;-1:-1:-1;;1964:23:1;;;2034:2;2019:18;;;2006:32;;-1:-1:-1;1796:248:1:o;2049:456::-;2126:6;2134;2142;2195:2;2183:9;2174:7;2170:23;2166:32;2163:52;;;2211:1;2208;2201:12;2163:52;2250:9;2237:23;2269:31;2294:5;2269:31;:::i;:::-;2319:5;-1:-1:-1;2376:2:1;2361:18;;2348:32;2389:33;2348:32;2389:33;:::i;:::-;2049:456;;2441:7;;-1:-1:-1;;;2495:2:1;2480:18;;;;2467:32;;2049:456::o;2510:337::-;2573:6;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2673:26;2689:9;2673:26;:::i;:::-;2663:36;;2749:2;2738:9;2734:18;2721:32;2793:4;2786:5;2782:16;2775:5;2772:27;2762:55;;2813:1;2810;2803:12;2762:55;2836:5;2826:15;;;2510:337;;;;;:::o;2852:247::-;2911:6;2964:2;2952:9;2943:7;2939:23;2935:32;2932:52;;;2980:1;2977;2970:12;2932:52;3019:9;3006:23;3038:31;3063:5;3038:31;:::i;3293:315::-;3358:6;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3474:9;3461:23;3493:31;3518:5;3493:31;:::i;:::-;3543:5;-1:-1:-1;3567:35:1;3598:2;3583:18;;3567:35;:::i;:::-;3557:45;;3293:315;;;;;:::o;3613:180::-;3672:6;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;-1:-1:-1;3764:23:1;;3613:180;-1:-1:-1;3613:180:1:o;3798:385::-;3884:6;3892;3900;3908;3961:3;3949:9;3940:7;3936:23;3932:33;3929:53;;;3978:1;3975;3968:12;3929:53;-1:-1:-1;;4001:23:1;;;4071:2;4056:18;;4043:32;;-1:-1:-1;4122:2:1;4107:18;;4094:32;;4173:2;4158:18;4145:32;;-1:-1:-1;3798:385:1;-1:-1:-1;3798:385:1:o;4396:388::-;4464:6;4472;4525:2;4513:9;4504:7;4500:23;4496:32;4493:52;;;4541:1;4538;4531:12;4493:52;4580:9;4567:23;4599:31;4624:5;4599:31;:::i;:::-;4649:5;-1:-1:-1;4706:2:1;4691:18;;4678:32;4719:33;4678:32;4719:33;:::i;4789:248::-;4854:6;4862;4915:2;4903:9;4894:7;4890:23;4886:32;4883:52;;;4931:1;4928;4921:12;4883:52;4954:26;4970:9;4954:26;:::i;5528:335::-;5730:2;5712:21;;;5769:2;5749:18;;;5742:30;-1:-1:-1;;;5803:2:1;5788:18;;5781:41;5854:2;5839:18;;5528:335::o;5868:329::-;6070:2;6052:21;;;6109:1;6089:18;;;6082:29;-1:-1:-1;;;6142:2:1;6127:18;;6120:36;6188:2;6173:18;;5868:329::o;6202:127::-;6263:10;6258:3;6254:20;6251:1;6244:31;6294:4;6291:1;6284:15;6318:4;6315:1;6308:15;6334:217;6374:1;6400;6390:132;;6444:10;6439:3;6435:20;6432:1;6425:31;6479:4;6476:1;6469:15;6507:4;6504:1;6497:15;6390:132;-1:-1:-1;6536:9:1;;6334:217::o;6960:184::-;7030:6;7083:2;7071:9;7062:7;7058:23;7054:32;7051:52;;;7099:1;7096;7089:12;7051:52;-1:-1:-1;7122:16:1;;6960:184;-1:-1:-1;6960:184:1:o;7149:128::-;7189:3;7220:1;7216:6;7213:1;7210:13;7207:39;;;7226:18;;:::i;:::-;-1:-1:-1;7262:9:1;;7149:128::o;7498:125::-;7538:4;7566:1;7563;7560:8;7557:34;;;7571:18;;:::i;:::-;-1:-1:-1;7608:9:1;;7498:125::o;9502:168::-;9542:7;9608:1;9604;9600:6;9596:14;9593:1;9590:21;9585:1;9578:9;9571:17;9567:45;9564:71;;;9615:18;;:::i;:::-;-1:-1:-1;9655:9:1;;9502:168::o;10555:127::-;10616:10;10611:3;10607:20;10604:1;10597:31;10647:4;10644:1;10637:15;10671:4;10668:1;10661:15;10687:980;10949:4;10997:3;10986:9;10982:19;11028:6;11017:9;11010:25;11054:2;11092:6;11087:2;11076:9;11072:18;11065:34;11135:3;11130:2;11119:9;11115:18;11108:31;11159:6;11194;11188:13;11225:6;11217;11210:22;11263:3;11252:9;11248:19;11241:26;;11302:2;11294:6;11290:15;11276:29;;11323:1;11333:195;11347:6;11344:1;11341:13;11333:195;;;11412:13;;-1:-1:-1;;;;;11408:39:1;11396:52;;11503:15;;;;11468:12;;;;11444:1;11362:9;11333:195;;;-1:-1:-1;;;;;;;11584:32:1;;;;11579:2;11564:18;;11557:60;-1:-1:-1;;;11648:3:1;11633:19;11626:35;11545:3;10687:980;-1:-1:-1;;;10687:980:1:o;12853:306::-;12941:6;12949;12957;13010:2;12998:9;12989:7;12985:23;12981:32;12978:52;;;13026:1;13023;13016:12;12978:52;13055:9;13049:16;13039:26;;13105:2;13094:9;13090:18;13084:25;13074:35;;13149:2;13138:9;13134:18;13128:25;13118:35;;12853:306;;;;;:::o

Swarm Source

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