Token NitroShiba

MEME 
 

Overview ERC20

Price
$0.00 @ 0.000001 ETH (+23.35%)
Fully Diluted Market Cap
Total Supply:
1,000,000,000 NISHIB

Holders:
2,440 addresses

Transfers:
-

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

NitroShiba is a community-owned, fair launch token on Arbitrum.

Market

Volume (24H):$37,800.00
Market Capitalization:$1,243,271.00
Circulating Supply:1,000,000,000.00 NISHIB
Market Data Source: Coinmarketcap


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

Contract Source Code Verified (Exact Match)

Contract Name:
NitroShiba

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT

//NitroShiba: The first and only Shiba Inu token on Arbitrum Nitro.
//TG: https://t.me/NitroShibaPortal
//Website: https://nitroshiba.xyz

//Created by Mr. 0x42161. Verify me by my address only!

pragma solidity ^0.8.9;

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 Ownable {

    address internal owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "not owner"); 
        _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

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

}


interface Dist {
    function swap() external;
}

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

interface IDEXRouter {

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;

    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 swapExactTokensForTokensSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;

}

contract NitroShiba is ERC20, Ownable {

    // Events
    event SetMaxWallet(uint256 maxWalletToken);
    event SetFees(uint256 DevFee);
    event SetSwapBackSettings(bool enabled, uint256 swapThreshold);
    event SetIsFeeExempt(address holder, bool enabled);
    event SetIsTxLimitExempt(address holder, bool enabled);
    event SetFeeReceiver(address DevWallet);
    event StuckBalanceSent(uint256 amountETH, address recipient);

    // Mappings
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    // Basic Contract Info
    string constant _name = "NitroShiba";
    string constant _symbol = "NISHIB";
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 1000000000 * (10 ** _decimals); 
    
    // Max wallet
    uint256 public _maxWalletSize = (_totalSupply * 15) / 1000;
    uint256 public _maxTxSize = (_totalSupply * 15) / 1000;

    // Fee receiver    
    uint256 public DevFeeBuy = 15;
    uint256 public MarketingFeeBuy = 15;
    uint256 public LiquidityFeeBuy = 10;

    uint256 public DevFeeSell = 15;
    uint256 public MarketingFeeSell = 15;
    uint256 public LiquidityFeeSell = 10;

    uint256 public TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;

    // Fee receiver & Dead Wallet
    address public DevWallet;
    address public MarketingWallet;
    address constant private DEAD = 0x000000000000000000000000000000000000dEaD;

    // Router
    IDEXRouter public router;
    address public pair;
    address public Liq = 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8;
    address public dist;


    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 3; // 0.3% 

    bool public isTradingEnabled = false;
    address public tradingEnablerRole;
    uint256 public tradingTimestamp;

    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor(address _dev, address _marketing, address _dist) Ownable(msg.sender) {

        router = IDEXRouter(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        DevWallet = _dev;
        MarketingWallet = _marketing;
        dist = _dist;

        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        isFeeExempt[MarketingWallet] = true;
        isTxLimitExempt[MarketingWallet] = true; 

        isFeeExempt[dist] = true;
        isTxLimitExempt[dist] = true; 

        tradingEnablerRole = _owner;
        tradingTimestamp = block.timestamp;

        _balances[DevWallet] = _totalSupply * 100 / 100;

        emit Transfer(address(0), DevWallet, _totalSupply * 100 / 100);

    }

    receive() external payable { }

// Basic Internal Functions

    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] - (amount);
        }

        return _transferFrom(sender, recipient, amount);

    }

    function getPair() public onlyOwner {
        pair = IDEXFactory(router.factory()).getPair(address(this), Liq);
        if (pair == address(0)) {pair = IDEXFactory(router.factory()).createPair(address(this), Liq);}
    }

    function renounceTradingEnablerRole() public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        tradingEnablerRole = address(0x0);
    }

    function setIsTradingEnabled(bool _isTradingEnabled) public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        isTradingEnabled = _isTradingEnabled;
        tradingTimestamp = block.timestamp;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(inSwap){ return _basicTransfer(sender, recipient, amount);}
                
        require(isFeeExempt[sender] || isFeeExempt[recipient] || isTradingEnabled, "Not authorized to trade yet");

        // Checks max transaction limit
        if (sender != owner && sender != MarketingWallet && recipient != owner && recipient != DEAD && recipient != pair) {           
            require(isTxLimitExempt[recipient] || (amount <= _maxTxSize && _balances[recipient] + amount <= _maxWalletSize), "Transfer amount exceeds the MaxWallet size.");
        }
        
        //Exchange tokens
        if(shouldSwapBack()){swapBack();}

        _balances[sender] = _balances[sender] - amount;

        //Check if should Take Fee
        uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, recipient, amount);
        _balances[recipient] = _balances[recipient] + (amountReceived);

        emit Transfer(sender, recipient, amountReceived);

        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

// Internal Functions

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

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
   
        uint256 feeAmount = 0;

        if (sender == pair && recipient != pair) {
            feeAmount = amount * (DevFeeBuy + MarketingFeeBuy + LiquidityFeeBuy) / 1000;
        } if (sender != pair && recipient == pair) {
            feeAmount = amount * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 1000;
        }

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + (feeAmount);
            emit Transfer(sender, address(this), feeAmount);            
        }

        return amount - (feeAmount);
    }

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

    function swapBack() internal swapping {

        uint256 amountToLiq = balanceOf(address(this)) * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase);
        uint256 amountToSwap = balanceOf(address(this)) - amountToLiq;

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

        router.swapExactTokensForTokensSupportingFeeOnTransferTokens(amountToSwap, 0, path, dist, block.timestamp + 5 minutes);

        _balances[address(this)] = _balances[address(this)] - amountToLiq;
        _balances[dist] = _balances[dist] + amountToLiq;
        emit Transfer(address(this), dist, amountToLiq);

        Dist(dist).swap();
    
    }


// External Functions

   function setMaxWalletAndTx(uint256 _maxWalletSize_, uint256 _maxTxSize_) external onlyOwner {
        require(_maxWalletSize_ >= _totalSupply / 1000 && _maxTxSize_ >= _totalSupply / 1000, "Can't set MaxWallet or Tx below 0.1%");
        _maxWalletSize = _maxWalletSize_;
        _maxTxSize = _maxTxSize_;
        emit SetMaxWallet(_maxWalletSize);
    }

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

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
        emit SetIsTxLimitExempt(holder, exempt);
    }

    function setFees(uint256 _DevFeeBuy, uint256 _MarketingFeeBuy, uint256 _LiquidityFeeBuy, 
        uint256 _DevFeeSell, uint256 _MarketingFeeSell, uint256 _LiquidityFeeSell) external onlyOwner {
        
        require(_DevFeeBuy + _MarketingFeeBuy + _LiquidityFeeBuy <= 330 && _DevFeeSell + _MarketingFeeSell + _LiquidityFeeSell <= 330, "Total fees must be equal to or less than 33%");

        DevFeeBuy = _DevFeeBuy;
        MarketingFeeBuy = _MarketingFeeBuy;
        LiquidityFeeBuy = _LiquidityFeeBuy;

        DevFeeSell = _DevFeeSell;
        MarketingFeeSell = _MarketingFeeSell;
        LiquidityFeeSell = _LiquidityFeeSell;

        TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;
        
        emit SetFees(DevFeeBuy);
    }

    function setFeeReceiver(address _DevWallet, address _MarketingWallet) external onlyOwner {
        DevWallet = _DevWallet;
        MarketingWallet = _MarketingWallet;
        emit SetFeeReceiver(DevWallet);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        require(_amount >= 1, "Can't set SwapThreshold to ZERO");
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit SetSwapBackSettings(swapEnabled, swapThreshold);
    }

    function initSwapBack() public onlyOwner {

        swapBack();

    }

// Stuck Balance Function

    function ClearStuckBalance() external {

        require(DevWallet == msg.sender, 'not dev wallet');

        uint256 _bal = _balances[address(this)];
        if (_bal > 0) {
            _balances[DevWallet] = _balances[DevWallet] + _bal;
            _balances[address(this)] = 0;
            emit Transfer(address(this), DevWallet, _bal);
        }

        uint256 _ethBal = address(this).balance;

        if (_ethBal > 0) {
            payable(DevWallet).transfer(_ethBal);
            emit StuckBalanceSent(_ethBal, DevWallet);        
        }

    }

    function withdrawToken(address _token) public {
        ERC20(_token).transfer(DevWallet, ERC20(_token).balanceOf(address(this)));
    }

    function getSelfAddress() public view returns(address) {
        return address(this);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dev","type":"address"},{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_dist","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"DevWallet","type":"address"}],"name":"SetFeeReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"DevFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletToken","type":"uint256"}],"name":"SetMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold","type":"uint256"}],"name":"SetSwapBackSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"StuckBalanceSent","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":"ClearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DevFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Liq","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":"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":[],"name":"dist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getSelfAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","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":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceTradingEnablerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_DevWallet","type":"address"},{"internalType":"address","name":"_MarketingWallet","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_DevFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_DevFeeSell","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeSell","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeSell","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":"bool","name":"_isTradingEnabled","type":"bool"}],"name":"setIsTradingEnabled","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":"_maxWalletSize_","type":"uint256"},{"internalType":"uint256","name":"_maxTxSize_","type":"uint256"}],"name":"setMaxWalletAndTx","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":[],"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":"tradingEnablerRole","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a6200043a565b6200002290633b9aca0062000452565b6007556103e8600754600f62000039919062000452565b62000045919062000474565b6008556103e8600754600f6200005c919062000452565b62000068919062000474565b600955600f600a818155600b829055600c819055600d829055600e8290558082559081908062000099818062000497565b620000a5919062000497565b620000b1919062000497565b620000bd919062000497565b620000c9919062000497565b601055601580546001600160a01b03191673ff970a61a04b1ca14834a43f5de4533ebddb5cc81790556016805460ff60a01b1916600160a01b17905560075462000117906127109062000474565b6200012490600362000452565b6017556018805460ff191690553480156200013e57600080fd5b5060405162002659380380620026598339810160408190526200016191620004cf565b60008054336001600160a01b031991821617825560138054731b02da8cb0d097eb8d57a175b88c7d8b479975069083168117909155308352600460209081526040808520928552918152818420600019905583546011805485166001600160a01b038a811691909117909155601280548616898316178155601680549096168883161786559181168087526005808552858820805460ff1990811660019081179092556006808852888b208054831684179055865486168b52838852888b208054831684179055955485168a52858752878a208054821683179055885485168a529186528689208054831682179055965490921687529190925291909320805490931690911790915560188054610100600160a81b03191661010083021790554260195560075460649062000297908262000452565b620002a3919062000474565b601180546001600160a01b039081166000908152600360205260408120939093559054600754911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90606490620002fe908262000452565b6200030a919062000474565b60405190815260200160405180910390a35050505062000519565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200037c57816000190482111562000360576200036062000325565b808516156200036e57918102915b93841c939080029062000340565b509250929050565b600082620003955750600162000434565b81620003a45750600062000434565b8160018114620003bd5760028114620003c857620003e8565b600191505062000434565b60ff841115620003dc57620003dc62000325565b50506001821b62000434565b5060208310610133831016604e8410600b84101617156200040d575081810a62000434565b6200041983836200033b565b806000190482111562000430576200043062000325565b0290505b92915050565b60006200044b60ff84168362000384565b9392505050565b60008160001904831182151516156200046f576200046f62000325565b500290565b6000826200049257634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620004ad57620004ad62000325565b500190565b80516001600160a01b0381168114620004ca57600080fd5b919050565b600080600060608486031215620004e557600080fd5b620004f084620004b2565b92506200050060208501620004b2565b91506200051060408501620004b2565b90509250925092565b61213080620005296000396000f3fe6080604052600436106102975760003560e01c806386f6c3c11161015a578063b1be4271116100c1578063e66db25e1161007a578063e66db25e1461080b578063f2fde38b1461082b578063f556fcdb1461084b578063f84ba65d1461085e578063f887ea401461087e578063fe7369a81461089e57600080fd5b8063b1be42711461073f578063c1f1b1b514610755578063cbdcfd811461076a578063da2354591461078f578063dd62ed3e146107a5578063df20fd49146107eb57600080fd5b806395d89b411161011357806395d89b411461067b57806399ab04a7146106aa578063a2d57df1146106bf578063a8aa1b31146106df578063a9059cbb146106ff578063b115e4df1461071f57600080fd5b806386f6c3c1146105c2578063893d20e8146105e257806389476069146106005780638b42507f146106205780638f9a55c01461065057806390a9ac3f1461066657600080fd5b806340c39c09116101fe5780636295c649116101b75780636295c649146104ff5780636540648114610515578063658d4b7f146105355780636ddd17131461055557806370a0823114610576578063769b3fdd146105ac57600080fd5b806340c39c09146104675780634cea44b51461047d578063511b5f6114610493578063559ef225146104a9578063571ac8b0146104c95780635be0499b146104e957600080fd5b806325348b051161025057806325348b05146103875780632598cdb21461039e5780632f54bf6e146103d65780632fe76bc214610405578063313ce5671461041b5780633f4218e01461043757600080fd5b80630445b667146102a3578063064a59d0146102cc57806306fdde03146102f6578063095ea7b31461033257806318160ddd1461035257806323b872dd1461036757600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102b960175481565b6040519081526020015b60405180910390f35b3480156102d857600080fd5b506018546102e69060ff1681565b60405190151581526020016102c3565b34801561030257600080fd5b5060408051808201909152600a8152694e6974726f536869626160b01b60208201525b6040516102c39190611d4b565b34801561033e57600080fd5b506102e661034d366004611db8565b6108be565b34801561035e57600080fd5b506007546102b9565b34801561037357600080fd5b506102e6610382366004611de4565b61092a565b34801561039357600080fd5b5061039c6109bf565b005b3480156103aa57600080fd5b506012546103be906001600160a01b031681565b6040516001600160a01b0390911681526020016102c3565b3480156103e257600080fd5b506102e66103f1366004611e25565b6000546001600160a01b0391821691161490565b34801561041157600080fd5b506102b9600f5481565b34801561042757600080fd5b50604051601281526020016102c3565b34801561044357600080fd5b506102e6610452366004611e25565b60056020526000908152604090205460ff1681565b34801561047357600080fd5b506102b960195481565b34801561048957600080fd5b506102b9600b5481565b34801561049f57600080fd5b506102b960095481565b3480156104b557600080fd5b5061039c6104c4366004611e50565b610b32565b3480156104d557600080fd5b506102e66104e4366004611e25565b610b9d565b3480156104f557600080fd5b506102b960105481565b34801561050b57600080fd5b506102b9600d5481565b34801561052157600080fd5b5061039c610530366004611e6d565b610bb1565b34801561054157600080fd5b5061039c610550366004611e8f565b610c9b565b34801561056157600080fd5b506016546102e690600160a01b900460ff1681565b34801561058257600080fd5b506102b9610591366004611e25565b6001600160a01b031660009081526003602052604090205490565b3480156105b857600080fd5b506102b9600c5481565b3480156105ce57600080fd5b5061039c6105dd366004611ec8565b610d21565b3480156105ee57600080fd5b506000546001600160a01b03166103be565b34801561060c57600080fd5b5061039c61061b366004611e25565b610e7d565b34801561062c57600080fd5b506102e661063b366004611e25565b60066020526000908152604090205460ff1681565b34801561065c57600080fd5b506102b960085481565b34801561067257600080fd5b5061039c610f81565b34801561068757600080fd5b506040805180820190915260068152652724a9a424a160d11b6020820152610325565b3480156106b657600080fd5b5061039c610fb5565b3480156106cb57600080fd5b506016546103be906001600160a01b031681565b3480156106eb57600080fd5b506014546103be906001600160a01b031681565b34801561070b57600080fd5b506102e661071a366004611db8565b61101c565b34801561072b57600080fd5b506011546103be906001600160a01b031681565b34801561074b57600080fd5b506102b9600e5481565b34801561076157600080fd5b5061039c611029565b34801561077657600080fd5b506018546103be9061010090046001600160a01b031681565b34801561079b57600080fd5b506102b9600a5481565b3480156107b157600080fd5b506102b96107c0366004611f0b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156107f757600080fd5b5061039c610806366004611f39565b6112aa565b34801561081757600080fd5b5061039c610826366004611f0b565b611388565b34801561083757600080fd5b5061039c610846366004611e25565b611410565b34801561085757600080fd5b50306103be565b34801561086a57600080fd5b5061039c610879366004611e8f565b6114fa565b34801561088a57600080fd5b506013546103be906001600160a01b031681565b3480156108aa57600080fd5b506015546103be906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109199086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146109aa576001600160a01b0384166000908152600460209081526040808320338452909152902054610985908390611f6d565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6109b5848484611580565b90505b9392505050565b6011546001600160a01b03163314610a0f5760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd0819195d881dd85b1b195d60921b60448201526064015b60405180910390fd5b306000908152600360205260409020548015610aa5576011546001600160a01b0316600090815260036020526040902054610a4b908290611f84565b601180546001600160a01b03908116600090815260036020526040808220949094553080825284822091909155915492519216916000805160206120db83398151915290610a9c9085815260200190565b60405180910390a35b478015610b2e576011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ae6573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e976791015b60405180910390a15b5050565b60185461010090046001600160a01b03163314610b865760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a06565b6018805460ff191691151591909117905542601955565b6000610bab826000196108be565b92915050565b6000546001600160a01b03163314610bdb5760405162461bcd60e51b8152600401610a0690611f9c565b6103e8600754610beb9190611fbf565b8210158015610c0957506103e8600754610c059190611fbf565b8110155b610c615760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610a06565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf63618690602001610b25565b6000546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610a0690611f9c565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610b25565b6000546001600160a01b03163314610d4b5760405162461bcd60e51b8152600401610a0690611f9c565b61014a84610d598789611f84565b610d639190611f84565b11158015610d87575061014a81610d7a8486611f84565b610d849190611f84565b11155b610de85760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610a06565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610e14878b611f84565b610e1e9190611f84565b610e289190611f84565b610e329190611f84565b610e3c9190611f84565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6011546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b158015610ecb57600080fd5b505afa158015610edf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f039190611fe1565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e9190611ffa565b6000546001600160a01b03163314610fab5760405162461bcd60e51b8152600401610a0690611f9c565b610fb3611889565b565b60185461010090046001600160a01b031633146110095760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a06565b60188054610100600160a81b0319169055565b60006109b8338484611580565b6000546001600160a01b031633146110535760405162461bcd60e51b8152600401610a0690611f9c565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a157600080fd5b505afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190612017565b60155460405163e6a4390560e01b81523060048201526001600160a01b03918216602482015291169063e6a439059060440160206040518083038186803b15801561112357600080fd5b505afa158015611137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115b9190612017565b601480546001600160a01b0319166001600160a01b03929092169182179055610fb357601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111cc57600080fd5b505afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112049190612017565b6015546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c6539690604401602060405180830381600087803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112889190612017565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112d45760405162461bcd60e51b8152600401610a0690611f9c565b60018110156113255760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610a06565b6016805460ff60a01b1916600160a01b8415158102919091179182905560178390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610b25565b6000546001600160a01b031633146113b25760405162461bcd60e51b8152600401610a0690611f9c565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610b25565b6000546001600160a01b0316331461143a5760405162461bcd60e51b8152600401610a0690611f9c565b6001600160a01b03811661149f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a06565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115245760405162461bcd60e51b8152600401610a0690611f9c565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610b25565b601a5460009060ff16156115a057611599848484611afc565b90506109b8565b6001600160a01b03841660009081526005602052604090205460ff16806115df57506001600160a01b03831660009081526005602052604090205460ff165b806115ec575060185460ff165b6116385760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610a06565b6000546001600160a01b0385811691161480159061166457506012546001600160a01b03858116911614155b801561167e57506000546001600160a01b03848116911614155b801561169557506001600160a01b03831661dead14155b80156116af57506014546001600160a01b03848116911614155b1561176d576001600160a01b03831660009081526006602052604090205460ff168061170d5750600954821115801561170d57506008546001600160a01b03841660009081526003602052604090205461170a908490611f84565b11155b61176d5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865204d61785760448201526a30b63632ba1039b4bd329760a91b6064820152608401610a06565b611775611ba4565b1561178257611782611889565b6001600160a01b0384166000908152600360205260409020546117a6908390611f6d565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff161515806117f757506001600160a01b03841660009081526005602052604090205460ff1615155b61180b57611806858585611bfc565b61180d565b825b6001600160a01b038516600090815260036020526040902054909150611834908290611f84565b6001600160a01b0380861660008181526003602052604090819020939093559151908716906000805160206120db833981519152906118769085815260200190565b60405180910390a3506001949350505050565b601a805460ff191660011790556010546000906118a7906002612034565b600f54600c546118b79190611f84565b306000908152600360205260409020546118d19190612034565b6118db9190611fbf565b30600090815260036020526040812054919250906118fa908390611f6d565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061193457611934612053565b6001600160a01b03928316602091820292909201015260155482519116908290600190811061196557611965612053565b6001600160a01b03928316602091820292909201015260135460165490821691635c11d79591859160009186911661199f4261012c611f84565b6040518663ffffffff1660e01b81526004016119bf959493929190612069565b600060405180830381600087803b1580156119d957600080fd5b505af11580156119ed573d6000803e3d6000fd5b505030600090815260036020526040902054611a0c9250859150611f6d565b30600090815260036020526040808220929092556016546001600160a01b031681522054611a3b908490611f84565b601680546001600160a01b03908116600090815260036020908152604091829020949094559154915186815291169130916000805160206120db833981519152910160405180910390a3601660009054906101000a90046001600160a01b03166001600160a01b0316638119c0656040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ad557600080fd5b505af1158015611ae9573d6000803e3d6000fd5b5050601a805460ff191690555050505050565b6001600160a01b038316600090815260036020526040812054611b20908390611f6d565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611b50908390611f84565b6001600160a01b0380851660008181526003602052604090819020939093559151908616906000805160206120db83398151915290611b929086815260200190565b60405180910390a35060019392505050565b6014546000906001600160a01b03163314801590611bc55750601a5460ff16155b8015611bda5750601654600160a01b900460ff165b8015611bf757506017543060009081526003602052604090205410155b905090565b60145460009081906001600160a01b038681169116148015611c2c57506014546001600160a01b03858116911614155b15611c68576103e8600c54600b54600a54611c479190611f84565b611c519190611f84565b611c5b9085612034565b611c659190611fbf565b90505b6014546001600160a01b03868116911614801590611c9357506014546001600160a01b038581169116145b15611ccf576103e8600f54600e54600d54611cae9190611f84565b611cb89190611f84565b611cc29085612034565b611ccc9190611fbf565b90505b8015611d385730600090815260036020526040902054611cf0908290611f84565b30600081815260036020526040908190209290925590516001600160a01b038716906000805160206120db83398151915290611d2f9085815260200190565b60405180910390a35b611d428184611f6d565b95945050505050565b600060208083528351808285015260005b81811015611d7857858101830151858201604001528201611d5c565b81811115611d8a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611db557600080fd5b50565b60008060408385031215611dcb57600080fd5b8235611dd681611da0565b946020939093013593505050565b600080600060608486031215611df957600080fd5b8335611e0481611da0565b92506020840135611e1481611da0565b929592945050506040919091013590565b600060208284031215611e3757600080fd5b81356109b881611da0565b8015158114611db557600080fd5b600060208284031215611e6257600080fd5b81356109b881611e42565b60008060408385031215611e8057600080fd5b50508035926020909101359150565b60008060408385031215611ea257600080fd5b8235611ead81611da0565b91506020830135611ebd81611e42565b809150509250929050565b60008060008060008060c08789031215611ee157600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611f1e57600080fd5b8235611f2981611da0565b91506020830135611ebd81611da0565b60008060408385031215611f4c57600080fd5b8235611dd681611e42565b634e487b7160e01b600052601160045260246000fd5b600082821015611f7f57611f7f611f57565b500390565b60008219821115611f9757611f97611f57565b500190565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600082611fdc57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611ff357600080fd5b5051919050565b60006020828403121561200c57600080fd5b81516109b881611e42565b60006020828403121561202957600080fd5b81516109b881611da0565b600081600019048311821515161561204e5761204e611f57565b500290565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120b95784516001600160a01b031683529383019391830191600101612094565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122086485b3900cee08556438875dc3df1ba549601ac5cb4dbead8f1ecb823e02a4364736f6c63430008090033000000000000000000000000020966d47d4cf21967ea56d533679aef1da4216100000000000000000000000065d7d85287d3daa98de829b0223b30a259b7105b000000000000000000000000256e4c3671b15d63b3933f36b56b5ae3d5fe1b72

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

000000000000000000000000020966d47d4cf21967ea56d533679aef1da4216100000000000000000000000065d7d85287d3daa98de829b0223b30a259b7105b000000000000000000000000256e4c3671b15d63b3933f36b56b5ae3d5fe1b72

-----Decoded View---------------
Arg [0] : _dev (address): 0x020966d47d4cf21967ea56d533679aef1da42161
Arg [1] : _marketing (address): 0x65d7d85287d3daa98de829b0223b30a259b7105b
Arg [2] : _dist (address): 0x256e4c3671b15d63b3933f36b56b5ae3d5fe1b72

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000020966d47d4cf21967ea56d533679aef1da42161
Arg [1] : 00000000000000000000000065d7d85287d3daa98de829b0223b30a259b7105b
Arg [2] : 000000000000000000000000256e4c3671b15d63b3933f36b56b5ae3d5fe1b72


Deployed ByteCode Sourcemap

3118:11566:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4966:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4966:55:0;;;;;;;;5039:36;;;;;;;;;;-1:-1:-1;5039:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;5039:36:0;196:187:1;6433:80:0;;;;;;;;;;-1:-1:-1;6505:5:0;;;;;;;;;;;;-1:-1:-1;;;6505:5:0;;;;6433:80;;;;;;;:::i;6855:216::-;;;;;;;;;;-1:-1:-1;6855:216:0;;;;;:::i;:::-;;:::i;6163:88::-;;;;;;;;;;-1:-1:-1;6236:12:0;;6163:88;;7427:345;;;;;;;;;;-1:-1:-1;7427:345:0;;;;;:::i;:::-;;:::i;13856:575::-;;;;;;;;;;;;;:::i;:::-;;4637:30;;;;;;;;;;-1:-1:-1;4637:30:0;;;;-1:-1:-1;;;;;4637:30:0;;;;;;-1:-1:-1;;;;;2071:32:1;;;2053:51;;2041:2;2026:18;4637:30:0;1907:203:1;1578:103:0;;;;;;;;;;-1:-1:-1;1578:103:0;;;;;:::i;:::-;1633:4;1668:5;-1:-1:-1;;;;;1657:16:0;;;1668:5;;1657:16;;1578:103;4394:36;;;;;;;;;;;;;;;;6257:80;;;;;;;;;;-1:-1:-1;6257:80:0;;3944:2;2509:36:1;;2497:2;2482:18;6257:80:0;2367:184:1;3697:44:0;;;;;;;;;;-1:-1:-1;3697:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5122:31;;;;;;;;;;;;;;;;4228:35;;;;;;;;;;;;;;;;4104:54;;;;;;;;;;;;;;;;8190:234;;;;;;;;;;-1:-1:-1;8190:234:0;;;;;:::i;:::-;;:::i;7079:122::-;;;;;;;;;;-1:-1:-1;7079:122:0;;;;;:::i;:::-;;:::i;4439:123::-;;;;;;;;;;;;;;;;4314:30;;;;;;;;;;;;;;;;11679:358;;;;;;;;;;-1:-1:-1;11679:358:0;;;;;:::i;:::-;;:::i;12045:165::-;;;;;;;;;;-1:-1:-1;12045:165:0;;;;;:::i;:::-;;:::i;4929:30::-;;;;;;;;;;-1:-1:-1;4929:30:0;;;;-1:-1:-1;;;4929:30:0;;;;;;6603:105;;;;;;;;;;-1:-1:-1;6603:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6687:18:0;6669:7;6687:18;;;:9;:18;;;;;;;6603:105;4270:35;;;;;;;;;;;;;;;;12403:817;;;;;;;;;;-1:-1:-1;12403:817:0;;;;;:::i;:::-;;:::i;6519:78::-;;;;;;;;;;-1:-1:-1;6571:7:0;6589:5;-1:-1:-1;;;;;6589:5:0;6519:78;;14439:138;;;;;;;;;;-1:-1:-1;14439:138:0;;;;;:::i;:::-;;:::i;3748:48::-;;;;;;;;;;-1:-1:-1;3748:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4039:58;;;;;;;;;;;;;;;;13745:74;;;;;;;;;;;;;:::i;6343:84::-;;;;;;;;;;-1:-1:-1;6417:7:0;;;;;;;;;;;;-1:-1:-1;;;6417:7:0;;;;6343:84;;8011:171;;;;;;;;;;;;;:::i;4899:19::-;;;;;;;;;;-1:-1:-1;4899:19:0;;;;-1:-1:-1;;;;;4899:19:0;;;4803;;;;;;;;;;-1:-1:-1;4803:19:0;;;;-1:-1:-1;;;;;4803:19:0;;;7209:156;;;;;;;;;;-1:-1:-1;7209:156:0;;;;;:::i;:::-;;:::i;4606:24::-;;;;;;;;;;-1:-1:-1;4606:24:0;;;;-1:-1:-1;;;;;4606:24:0;;;4351:36;;;;;;;;;;;;;;;;7780:223;;;;;;;;;;;;;:::i;5082:33::-;;;;;;;;;;-1:-1:-1;5082:33:0;;;;;;;-1:-1:-1;;;;;5082:33:0;;;4192:29;;;;;;;;;;;;;;;;6714:133;;;;;;;;;;-1:-1:-1;6714:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6816:19:0;;;6798:7;6816:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6714:133;13452:285;;;;;;;;;;-1:-1:-1;13452:285:0;;;;;:::i;:::-;;:::i;13228:216::-;;;;;;;;;;-1:-1:-1;13228:216:0;;;;;:::i;:::-;;:::i;1689:242::-;;;;;;;;;;-1:-1:-1;1689:242:0;;;;;:::i;:::-;;:::i;14585:94::-;;;;;;;;;;-1:-1:-1;14666:4:0;14585:94;;12218:177;;;;;;;;;;-1:-1:-1;12218:177:0;;;;;:::i;:::-;;:::i;4772:24::-;;;;;;;;;;-1:-1:-1;4772:24:0;;;;-1:-1:-1;;;;;4772:24:0;;;4829:63;;;;;;;;;;-1:-1:-1;4829:63:0;;;;-1:-1:-1;;;;;4829:63:0;;;6855:216;6959:10;6930:4;6947:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6947:32:0;;;;;;;;;;:41;;;7004:37;6930:4;;6947:32;;7004:37;;;;6982:6;160:25:1;;148:2;133:18;;14:177;7004:37:0;;;;;;;;-1:-1:-1;7059:4:0;6855:216;;;;:::o;7427:345::-;-1:-1:-1;;;;;7547:19:0;;7527:4;7547:19;;;:11;:19;;;;;;;;7567:10;7547:31;;;;;;;;-1:-1:-1;;7547:52:0;7544:159;;-1:-1:-1;;;;;7649:19:0;;;;;;:11;:19;;;;;;;;7669:10;7649:31;;;;;;;;:42;;7684:6;;7649:42;:::i;:::-;-1:-1:-1;;;;;7615:19:0;;;;;;:11;:19;;;;;;;;7635:10;7615:31;;;;;;;:76;7544:159;7722:40;7736:6;7744:9;7755:6;7722:13;:40::i;:::-;7715:47;;7427:345;;;;;;:::o;13856:575::-;13915:9;;-1:-1:-1;;;;;13915:9:0;13928:10;13915:23;13907:50;;;;-1:-1:-1;;;13907:50:0;;5490:2:1;13907:50:0;;;5472:21:1;5529:2;5509:18;;;5502:30;-1:-1:-1;;;5548:18:1;;;5541:44;5602:18;;13907:50:0;;;;;;;;;14003:4;13970:12;13985:24;;;:9;:24;;;;;;14024:8;;14020:194;;14082:9;;-1:-1:-1;;;;;14082:9:0;14072:20;;;;:9;:20;;;;;;:27;;14095:4;;14072:27;:::i;:::-;14059:9;;;-1:-1:-1;;;;;14059:9:0;;;14049:20;;;;:9;:20;;;;;;:50;;;;14132:4;14114:24;;;;;;:28;;;;14186:9;;14162:40;;14186:9;;;-1:-1:-1;;;;;;;;;;;14162:40:0;;;14197:4;160:25:1;;148:2;133:18;;14:177;14162:40:0;;;;;;;;14020:194;14244:21;14282:11;;14278:144;;14318:9;;14310:36;;-1:-1:-1;;;;;14318:9:0;;;;14310:36;;;;;14338:7;;14318:9;14310:36;14318:9;14310:36;14338:7;14318:9;14310:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14392:9:0;;14366:36;;;5938:25:1;;;-1:-1:-1;;;;;14392:9:0;;;5994:2:1;5979:18;;5972:60;14366:36:0;;5911:18:1;14366:36:0;;;;;;;;14278:144;13894:537;;13856:575::o;8190:234::-;8269:18;;;;;-1:-1:-1;;;;;8269:18:0;8291:10;8269:32;8261:63;;;;-1:-1:-1;;;8261:63:0;;6245:2:1;8261:63:0;;;6227:21:1;6284:2;6264:18;;;6257:30;-1:-1:-1;;;6303:18:1;;;6296:48;6361:18;;8261:63:0;6043:342:1;8261:63:0;8335:16;:36;;-1:-1:-1;;8335:36:0;;;;;;;;;;8401:15;8382:16;:34;8190:234::o;7079:122::-;7134:4;7158:35;7166:7;-1:-1:-1;;7158:7:0;:35::i;:::-;7151:42;7079:122;-1:-1:-1;;7079:122:0:o;11679:358::-;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;11824:4:::1;11809:12;;:19;;;;:::i;:::-;11790:15;:38;;:76;;;;;11862:4;11847:12;;:19;;;;:::i;:::-;11832:11;:34;;11790:76;11782:125;;;::::0;-1:-1:-1;;;11782:125:0;;7151:2:1;11782:125:0::1;::::0;::::1;7133:21:1::0;7190:2;7170:18;;;7163:30;7229:34;7209:18;;;7202:62;-1:-1:-1;;;7280:18:1;;;7273:34;7324:19;;11782:125:0::1;6949:400:1::0;11782:125:0::1;11918:14;:32:::0;;;11961:10:::1;:24:::0;;;12001:28:::1;::::0;160:25:1;;;12001:28:0::1;::::0;148:2:1;133:18;12001:28:0::1;14:177:1::0;12045:165:0;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12128:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;12128:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12172:30;;7522:51:1;;;7589:18;;;7582:50;12172:30:0::1;::::0;7495:18:1;12172:30:0::1;7354:284:1::0;12403:817:0;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;12677:3:::1;12657:16:::0;12625:29:::1;12638:16:::0;12625:10;:29:::1;:::i;:::-;:48;;;;:::i;:::-;:55;;:117;;;;-1:-1:-1::0;12739:3:0::1;12718:17:::0;12684:31:::1;12698:17:::0;12684:11;:31:::1;:::i;:::-;:51;;;;:::i;:::-;:58;;12625:117;12617:174;;;::::0;-1:-1:-1;;;12617:174:0;;7845:2:1;12617:174:0::1;::::0;::::1;7827:21:1::0;7884:2;7864:18;;;7857:30;7923:34;7903:18;;;7896:62;-1:-1:-1;;;7974:18:1;;;7967:42;8026:19;;12617:174:0::1;7643:408:1::0;12617:174:0::1;12804:9;:22:::0;;;12837:15:::1;:34:::0;;;12882:15:::1;:34:::0;;;12929:10:::1;:24:::0;;;12964:16:::1;:36:::0;;;13011:16:::1;:36:::0;;;13030:17;12900:16;12983:17;12855:16;13072:22:::1;12942:11:::0;12816:10;13072:22:::1;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;:77;;;;:::i;:::-;:96;;;;:::i;:::-;13060:9;:108:::0;13202:9:::1;::::0;13194:18:::1;::::0;160:25:1;;;13194:18:0::1;::::0;148:2:1;133:18;13194::0::1;;;;;;;12403:817:::0;;;;;;:::o;14439:138::-;14519:9;;14530:38;;-1:-1:-1;;;14530:38:0;;14562:4;14530:38;;;2053:51:1;-1:-1:-1;;;;;14496:22:0;;;;;;14519:9;;;14496:22;;14530:23;;2026:18:1;;14530:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14496:73;;-1:-1:-1;;;;;;14496:73:0;;;;;;;-1:-1:-1;;;;;8437:32:1;;;14496:73:0;;;8419:51:1;8486:18;;;8479:34;8392:18;;14496:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13745:74::-;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;13799:10:::1;:8;:10::i;:::-;13745:74::o:0;8011:171::-;8075:18;;;;;-1:-1:-1;;;;;8075:18:0;8097:10;8075:32;8067:63;;;;-1:-1:-1;;;8067:63:0;;6245:2:1;8067:63:0;;;6227:21:1;6284:2;6264:18;;;6257:30;-1:-1:-1;;;6303:18:1;;;6296:48;6361:18;;8067:63:0;6043:342:1;8067:63:0;8141:18;:33;;-1:-1:-1;;;;;;8141:33:0;;;8011:171::o;7209:156::-;7289:4;7313:44;7327:10;7339:9;7350:6;7313:13;:44::i;7780:223::-;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;7846:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7846:6:0::1;-1:-1:-1::0;;;;;7846:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7887:3;::::0;7834:57:::1;::::0;-1:-1:-1;;;7834:57:0;;7880:4:::1;7834:57;::::0;::::1;9242:34:1::0;-1:-1:-1;;;;;7887:3:0;;::::1;9292:18:1::0;;;9285:43;7834:37:0;::::1;::::0;::::1;::::0;9177:18:1;;7834:57:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7827:4;:64:::0;;-1:-1:-1;;;;;;7827:64:0::1;-1:-1:-1::0;;;;;7827:64:0;;;::::1;::::0;;::::1;::::0;;7902:94:::1;;7946:6;;;;;;;;;-1:-1:-1::0;;;;;7946:6:0::1;-1:-1:-1::0;;;;;7946:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7990:3;::::0;7934:60:::1;::::0;-1:-1:-1;;;7934:60:0;;7983:4:::1;7934:60;::::0;::::1;9242:34:1::0;-1:-1:-1;;;;;7990:3:0;;::::1;9292:18:1::0;;;9285:43;7934:40:0;::::1;::::0;::::1;::::0;9177:18:1;;7934:60:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7927:4;:67:::0;;-1:-1:-1;;;;;;7927:67:0::1;-1:-1:-1::0;;;;;7927:67:0;;;::::1;::::0;;;::::1;::::0;;7780:223::o;13452:285::-;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;13562:1:::1;13551:7;:12;;13543:56;;;::::0;-1:-1:-1;;;13543:56:0;;9541:2:1;13543:56:0::1;::::0;::::1;9523:21:1::0;9580:2;9560:18;;;9553:30;9619:33;9599:18;;;9592:61;9670:18;;13543:56:0::1;9339:355:1::0;13543:56:0::1;13610:11;:22:::0;;-1:-1:-1;;;;13610:22:0::1;-1:-1:-1::0;;;13610:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;13643:13:::1;:23:::0;;;13682:47:::1;::::0;;13610:22:::1;13702:11:::0;;;::::1;::::0;;;::::1;9892:14:1::0;9885:22;9867:41;;9939:2;9924:18;;9917:34;;;13682:47:0::1;::::0;9840:18:1;13682:47:0::1;9699:258:1::0;13228:216:0;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;13328:9:::1;:22:::0;;-1:-1:-1;;;;;13328:22:0;;::::1;-1:-1:-1::0;;;;;;13328:22:0;;::::1;::::0;::::1;::::0;;;13361:15:::1;:34:::0;;;;::::1;::::0;;;::::1;;::::0;;13411:25:::1;::::0;2053:51:1;;;13411:25:0::1;::::0;2041:2:1;2026:18;13411:25:0::1;1907:203:1::0;1689:242:0;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1778:22:0;::::1;1770:73;;;::::0;-1:-1:-1;;;1770:73:0;;10164:2:1;1770:73:0::1;::::0;::::1;10146:21:1::0;10203:2;10183:18;;;10176:30;10242:34;10222:18;;;10215:62;-1:-1:-1;;;10293:18:1;;;10286:36;10339:19;;1770:73:0::1;9962:402:1::0;1770:73:0::1;1880:5;::::0;;1859:37:::1;::::0;-1:-1:-1;;;;;1859:37:0;;::::1;::::0;1880:5;::::1;::::0;1859:37:::1;::::0;::::1;1907:5;:16:::0;;-1:-1:-1;;;;;;1907:16:0::1;-1:-1:-1::0;;;;;1907:16:0;;;::::1;::::0;;;::::1;::::0;;1689:242::o;12218:177::-;1530:5;;-1:-1:-1;;;;;1530:5:0;1516:10;:19;1508:41;;;;-1:-1:-1;;;1508:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12305:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;12305:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12353:34;;7522:51:1;;;7589:18;;;7582:50;12353:34:0::1;::::0;7495:18:1;12353:34:0::1;7354:284:1::0;8432:1148:0;8546:6;;8524:4;;8546:6;;8543:62;;;8562:41;8577:6;8585:9;8596:6;8562:14;:41::i;:::-;8555:48;;;;8543:62;-1:-1:-1;;;;;8641:19:0;;;;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8664:22:0;;;;;;:11;:22;;;;;;;;8641:45;:65;;;-1:-1:-1;8690:16:0;;;;8641:65;8633:105;;;;-1:-1:-1;;;8633:105:0;;10571:2:1;8633:105:0;;;10553:21:1;10610:2;10590:18;;;10583:30;10649:29;10629:18;;;10622:57;10696:18;;8633:105:0;10369:351:1;8633:105:0;8806:5;;-1:-1:-1;;;;;8796:15:0;;;8806:5;;8796:15;;;;:44;;-1:-1:-1;8825:15:0;;-1:-1:-1;;;;;8815:25:0;;;8825:15;;8815:25;;8796:44;:66;;;;-1:-1:-1;8857:5:0;;-1:-1:-1;;;;;8844:18:0;;;8857:5;;8844:18;;8796:66;:87;;;;-1:-1:-1;;;;;;8866:17:0;;4706:42;8866:17;;8796:87;:108;;;;-1:-1:-1;8900:4:0;;-1:-1:-1;;;;;8887:17:0;;;8900:4;;8887:17;;8796:108;8792:311;;;-1:-1:-1;;;;;8940:26:0;;;;;;:15;:26;;;;;;;;;:103;;;8981:10;;8971:6;:20;;:71;;;;-1:-1:-1;9028:14:0;;-1:-1:-1;;;;;8995:20:0;;;;;;:9;:20;;;;;;:29;;9018:6;;8995:29;:::i;:::-;:47;;8971:71;8932:159;;;;-1:-1:-1;;;8932:159:0;;10927:2:1;8932:159:0;;;10909:21:1;10966:2;10946:18;;;10939:30;11005:34;10985:18;;;10978:62;-1:-1:-1;;;11056:18:1;;;11049:41;11107:19;;8932:159:0;10725:407:1;8932:159:0;9153:16;:14;:16::i;:::-;9150:33;;;9171:10;:8;:10::i;:::-;-1:-1:-1;;;;;9215:17:0;;;;;;:9;:17;;;;;;:26;;9235:6;;9215:26;:::i;:::-;-1:-1:-1;;;;;9195:17:0;;;;;;:9;:17;;;;;;;;:46;;;;10012:11;:19;;;;;;;;10011:20;9316:22;:51;;;-1:-1:-1;;;;;;10012:19:0;;9987:4;10012:19;;;:11;:19;;;;;;;;10011:20;9342:25;9316:51;9315:99;;9380:34;9388:6;9396:9;9407:6;9380:7;:34::i;:::-;9315:99;;;9371:6;9315:99;-1:-1:-1;;;;;9448:20:0;;;;;;:9;:20;;;;;;9290:124;;-1:-1:-1;9448:39:0;;9290:124;;9448:39;:::i;:::-;-1:-1:-1;;;;;9425:20:0;;;;;;;:9;:20;;;;;;;:62;;;;9505:43;;;;;;-1:-1:-1;;;;;;;;;;;9505:43:0;;;9533:14;160:25:1;;148:2;133:18;;14:177;9505:43:0;;;;;;;;-1:-1:-1;9568:4:0;;8432:1148;-1:-1:-1;;;;8432:1148:0:o;10939:706::-;5202:6;:13;;-1:-1:-1;;5202:13:0;5211:4;5202:13;;;11083:9:::1;::::0;5202:6;;11079:13:::1;::::0;:1:::1;:13;:::i;:::-;11058:16;;11040:15;;:34;;;;:::i;:::-;11030:4;6669:7:::0;6687:18;;;:9;:18;;;;;;11012:63:::1;;;;:::i;:::-;:81;;;;:::i;:::-;11145:4;11104:20;6687:18:::0;;;:9;:18;;;;;;10990:103;;-1:-1:-1;11104:20:0;11127:38:::1;::::0;10990:103;;11127:38:::1;:::i;:::-;11202:16;::::0;;11216:1:::1;11202:16:::0;;;;;::::1;::::0;;11104:61;;-1:-1:-1;11178:21:0::1;::::0;11202:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11202:16:0::1;11178:40;;11247:4;11229;11234:1;11229:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11229:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11273:3:::1;::::0;11263:7;;11273:3;::::1;::::0;11263:4;;11273:3;;11263:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;11263:13:0;;::::1;:7;::::0;;::::1;::::0;;;;;:13;11289:6:::1;::::0;11373:4:::1;::::0;11289:6;;::::1;::::0;:60:::1;::::0;11350:12;;11289:6:::1;::::0;11367:4;;11373::::1;11379:27;:15;11397:9;11379:27;:::i;:::-;11289:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11465:4:0::1;11447:24;::::0;;;:9:::1;:24;::::0;;;;;:38:::1;::::0;-1:-1:-1;11474:11:0;;-1:-1:-1;11447:38:0::1;:::i;:::-;11438:4;11420:24;::::0;;;:9:::1;:24;::::0;;;;;:65;;;;11524:4:::1;::::0;-1:-1:-1;;;;;11524:4:0::1;11514:15:::0;;;;:29:::1;::::0;11532:11;;11514:29:::1;:::i;:::-;11506:4;::::0;;-1:-1:-1;;;;;11506:4:0;;::::1;11496:15;::::0;;;:9:::1;:15;::::0;;;;;;;;:47;;;;11583:4;;11559:42;;160:25:1;;;11583:4:0;::::1;::::0;11576::::1;::::0;-1:-1:-1;;;;;;;;;;;11559:42:0;133:18:1;11559:42:0::1;;;;;;;11619:4;;;;;;;;;-1:-1:-1::0;;;;;11619:4:0::1;-1:-1:-1::0;;;;;11614:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5220:6:0;:14;;-1:-1:-1;;5220:14:0;;;-1:-1:-1;;;;;10939:706:0:o;9592:300::-;-1:-1:-1;;;;;9722:17:0;;9685:4;9722:17;;;:9;:17;;;;;;:26;;9742:6;;9722:26;:::i;:::-;-1:-1:-1;;;;;9702:17:0;;;;;;;:9;:17;;;;;;:46;;;;9782:20;;;;;;;:29;;9805:6;;9782:29;:::i;:::-;-1:-1:-1;;;;;9759:20:0;;;;;;;:9;:20;;;;;;;:52;;;;9827:35;;;;;;-1:-1:-1;;;;;;;;;;;9827:35:0;;;9855:6;160:25:1;;148:2;133:18;;14:177;9827:35:0;;;;;;;;-1:-1:-1;9880:4:0;9592:300;;;;;:::o;10734:197::-;10821:4;;10783;;-1:-1:-1;;;;;10821:4:0;10807:10;:18;;;;:38;;-1:-1:-1;10839:6:0;;;;10838:7;10807:38;:62;;;;-1:-1:-1;10858:11:0;;-1:-1:-1;;;10858:11:0;;;;10807:62;:116;;;;-1:-1:-1;10910:13:0;;10900:4;10882:24;;;;:9;:24;;;;;;:41;;10807:116;10800:123;;10734:197;:::o;10047:679::-;10206:4;;10133:7;;;;-1:-1:-1;;;;;10196:14:0;;;10206:4;;10196:14;:35;;;;-1:-1:-1;10227:4:0;;-1:-1:-1;;;;;10214:17:0;;;10227:4;;10214:17;;10196:35;10192:143;;;10319:4;10300:15;;10282;;10270:9;;:27;;;;:::i;:::-;:45;;;;:::i;:::-;10260:56;;:6;:56;:::i;:::-;:63;;;;:::i;:::-;10248:75;;10192:143;10350:4;;-1:-1:-1;;;;;10340:14:0;;;10350:4;;10340:14;;;;:35;;-1:-1:-1;10371:4:0;;-1:-1:-1;;;;;10358:17:0;;;10371:4;;10358:17;10340:35;10336:146;;;10466:4;10446:16;;10427;;10414:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;10404:59;;:6;:59;:::i;:::-;:66;;;;:::i;:::-;10392:78;;10336:146;10498:13;;10494:185;;10573:4;10555:24;;;;:9;:24;;;;;;:38;;10583:9;;10555:38;:::i;:::-;10546:4;10528:24;;;;:9;:24;;;;;;;:65;;;;10613:42;;-1:-1:-1;;;;;10613:42:0;;;-1:-1:-1;;;;;;;;;;;10613:42:0;;;10645:9;160:25:1;;148:2;133:18;;14:177;10613:42:0;;;;;;;;10494:185;10698:20;10708:9;10698:6;:20;:::i;:::-;10691:27;10047:679;-1:-1:-1;;;;;10047:679:0:o;388:597:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;826:6;823:1;820:13;817:91;;;896:1;891:2;882:6;871:9;867:22;863:31;856:42;817:91;-1:-1:-1;969:2:1;948:15;-1:-1:-1;;944:29:1;929:45;;;;976:2;925:54;;388:597;-1:-1:-1;;;388:597:1:o;990:131::-;-1:-1:-1;;;;;1065:31:1;;1055:42;;1045:70;;1111:1;1108;1101:12;1045:70;990:131;:::o;1126:315::-;1194:6;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:31;1354:5;1329:31;:::i;:::-;1379:5;1431:2;1416:18;;;;1403:32;;-1:-1:-1;;;1126:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2115:247::-;2174:6;2227:2;2215:9;2206:7;2202:23;2198:32;2195:52;;;2243:1;2240;2233:12;2195:52;2282:9;2269:23;2301:31;2326:5;2301:31;:::i;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:241;2735:6;2788:2;2776:9;2767:7;2763:23;2759:32;2756:52;;;2804:1;2801;2794:12;2756:52;2843:9;2830:23;2862:28;2884:5;2862:28;:::i;2925:248::-;2993:6;3001;3054:2;3042:9;3033:7;3029:23;3025:32;3022:52;;;3070:1;3067;3060:12;3022:52;-1:-1:-1;;3093:23:1;;;3163:2;3148:18;;;3135:32;;-1:-1:-1;2925:248:1:o;3178:382::-;3243:6;3251;3304:2;3292:9;3283:7;3279:23;3275:32;3272:52;;;3320:1;3317;3310:12;3272:52;3359:9;3346:23;3378:31;3403:5;3378:31;:::i;:::-;3428:5;-1:-1:-1;3485:2:1;3470:18;;3457:32;3498:30;3457:32;3498:30;:::i;:::-;3547:7;3537:17;;;3178:382;;;;;:::o;3565:523::-;3669:6;3677;3685;3693;3701;3709;3762:3;3750:9;3741:7;3737:23;3733:33;3730:53;;;3779:1;3776;3769:12;3730:53;-1:-1:-1;;3802:23:1;;;3872:2;3857:18;;3844:32;;-1:-1:-1;3923:2:1;3908:18;;3895:32;;3974:2;3959:18;;3946:32;;-1:-1:-1;4025:3:1;4010:19;;3997:33;;-1:-1:-1;4077:3:1;4062:19;4049:33;;-1:-1:-1;3565:523:1;-1:-1:-1;3565:523:1:o;4093:388::-;4161:6;4169;4222:2;4210:9;4201:7;4197:23;4193:32;4190:52;;;4238:1;4235;4228:12;4190:52;4277:9;4264:23;4296:31;4321:5;4296:31;:::i;:::-;4346:5;-1:-1:-1;4403:2:1;4388:18;;4375:32;4416:33;4375:32;4416:33;:::i;4486:309::-;4551:6;4559;4612:2;4600:9;4591:7;4587:23;4583:32;4580:52;;;4628:1;4625;4618:12;4580:52;4667:9;4654:23;4686:28;4708:5;4686:28;:::i;5026:127::-;5087:10;5082:3;5078:20;5075:1;5068:31;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:125;5198:4;5226:1;5223;5220:8;5217:34;;;5231:18;;:::i;:::-;-1:-1:-1;5268:9:1;;5158:125::o;5631:128::-;5671:3;5702:1;5698:6;5695:1;5692:13;5689:39;;;5708:18;;:::i;:::-;-1:-1:-1;5744:9:1;;5631:128::o;6390:332::-;6592:2;6574:21;;;6631:1;6611:18;;;6604:29;-1:-1:-1;;;6664:2:1;6649:18;;6642:39;6713:2;6698:18;;6390:332::o;6727:217::-;6767:1;6793;6783:132;;6837:10;6832:3;6828:20;6825:1;6818:31;6872:4;6869:1;6862:15;6900:4;6897:1;6890:15;6783:132;-1:-1:-1;6929:9:1;;6727:217::o;8056:184::-;8126:6;8179:2;8167:9;8158:7;8154:23;8150:32;8147:52;;;8195:1;8192;8185:12;8147:52;-1:-1:-1;8218:16:1;;8056:184;-1:-1:-1;8056:184:1:o;8524:245::-;8591:6;8644:2;8632:9;8623:7;8619:23;8615:32;8612:52;;;8660:1;8657;8650:12;8612:52;8692:9;8686:16;8711:28;8733:5;8711:28;:::i;8774:251::-;8844:6;8897:2;8885:9;8876:7;8872:23;8868:32;8865:52;;;8913:1;8910;8903:12;8865:52;8945:9;8939:16;8964:31;8989:5;8964:31;:::i;11137:168::-;11177:7;11243:1;11239;11235:6;11231:14;11228:1;11225:21;11220:1;11213:9;11206:17;11202:45;11199:71;;;11250:18;;:::i;:::-;-1:-1:-1;11290:9:1;;11137:168::o;11442:127::-;11503:10;11498:3;11494:20;11491:1;11484:31;11534:4;11531:1;11524:15;11558:4;11555:1;11548:15;11574:980;11836:4;11884:3;11873:9;11869:19;11915:6;11904:9;11897:25;11941:2;11979:6;11974:2;11963:9;11959:18;11952:34;12022:3;12017:2;12006:9;12002:18;11995:31;12046:6;12081;12075:13;12112:6;12104;12097:22;12150:3;12139:9;12135:19;12128:26;;12189:2;12181:6;12177:15;12163:29;;12210:1;12220:195;12234:6;12231:1;12228:13;12220:195;;;12299:13;;-1:-1:-1;;;;;12295:39:1;12283:52;;12390:15;;;;12355:12;;;;12331:1;12249:9;12220:195;;;-1:-1:-1;;;;;;;12471:32:1;;;;12466:2;12451:18;;12444:60;-1:-1:-1;;;12535:3:1;12520:19;12513:35;12432:3;11574:980;-1:-1:-1;;;11574:980:1:o

Metadata Hash

ipfs://86485b3900cee08556438875dc3df1ba549601ac5cb4dbead8f1ecb823e02a43
Loading