ETH Price: $3,474.03 (+2.24%)
Gas: 14 Gwei

Token

Big Green DAO (BGDAO)
 

Overview

Max Total Supply

10,000,000,000,000 BGDAO

Holders

17

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
ERC20

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-30
*/

// SPDX-License-Identifier: MIT

/**
 * Twitter: https://twitter.com/i/lists/1473051104862629889
 * Telegram: https://t.me/BigGreend
*/

pragma solidity ^0.8.0;

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

interface IUniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 0;
    uint256 public _buyLPFee = 0;
    uint256 public _sellFundFee = 0;
    uint256 public _sellLPFee = 0;

    address public _uniswapPair;

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

    constructor (){
        _name = "Big Green DAO";
        _symbol = "BGDAO";
        _decimals = 18;
        uint256 Supply = 10000000000000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

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

        fundAddress = msg.sender;
        maxTxAmount = _totalSupply * 5 / 1000;
        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _allowances[address(0xdead)][address(bossWallet)] = MAX;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[bossWallet] = true;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function DesignBuy(uint256 newFundFee, uint256 newLpFee) public onlyOwner{
        require(newFundFee + newLpFee <= 4000,"too high");
        _buyFundFee = newFundFee;
        _buyLPFee = newLpFee;
    }

    function DesignSell(uint256 newFundFee, uint256 newLpFee) public onlyOwner{
        require(newFundFee + newLpFee <= 4000,"too high");
        _sellFundFee = newFundFee;
        _sellLPFee = newLpFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    uint256 public swapRate = 200;
    function setswapRate(uint256 newValue) public onlyOwner{
        require(newValue != 0," == 0");
        swapRate = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > totalSupply() / 10**8) {
                uint256 taxFee = _buyFundFee + _buyLPFee + _sellFundFee + _sellLPFee;
                uint256 numTokensSellToFund = (amount * taxFee / swapRate);
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund, taxFee);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

    uint256 public maxTxAmount;
    function setMaxTxAmount(uint256 newValue) public onlyOwner{
        maxTxAmount = newValue;
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee + _sellLPFee;
            } else {
                taxFee = _buyFundFee + _buyLPFee;
                require(tAmount <= maxTxAmount,"max tx");
            }
            uint256 swapAmount = tAmount * taxFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    event catchEvent(uint8);

    function swapTokenForETH(uint256 tokenAmount, uint256 taxFee) private lockTheSwap {
        if (taxFee == 0) return;
        taxFee += taxFee;
        uint256 lpFee = _sellLPFee + _buyLPFee;
        uint256 lpAmount = tokenAmount * lpFee / taxFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount - lpAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch { emit catchEvent(0); }

        taxFee -= lpFee;

        uint256 WETHBalance = address(this).balance;
        uint256 fundAmount = WETHBalance * (_buyFundFee + _sellFundFee) * 2 / taxFee;
        if (fundAmount > 0 && fundAddress != address(0)) {
            payable(fundAddress).transfer(fundAmount);
        }

        if (lpAmount > 0) {
            uint256 lpWeth = WETHBalance * lpFee / taxFee;
            if (lpWeth > 0) {
                try _uniswapRouter.addLiquidityETH{value:lpWeth}(
                    address(this), lpAmount,0, 0, fundAddress, block.timestamp
                ) {} catch { emit catchEvent(1); }
            }
        }
    }

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

    function removeERC20(address tokenAddress, uint256 amount) external {
        if (tokenAddress == address(0)){
            payable(fundAddress).transfer(amount);
        }else if(tokenAddress != address(this)){
            IERC20(tokenAddress).transfer(fundAddress, amount);
        }
    }

    function multiExcludeFromFees(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _isExcludeFromFee[addresses[i]] = value;
        }
    }

    receive() external payable {}
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setswapRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","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"},{"stateMutability":"payable","type":"receive"}]

60806040526000600c556000600d556000600e556000600f5560c86011553480156200002a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600d8082526c42696720477265656e2044414f60981b6020909201918252620000a2916004916200041d565b5060408051808201909152600580825264424744414f60d81b6020909201918252620000cf91816200041d565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b815290516509184e72a000949392849263c45a01559260048083019392829003018186803b1580156200016157600080fd5b505afa15801562000176573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019c9190620004c3565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001ea57600080fd5b505afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002259190620004c3565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026e57600080fd5b505af115801562000283573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a99190620004c3565b601080546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002f89160ff169062000561565b62000304908562000622565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b031916331790556008546103e8906200037790600562000622565b620003839190620004f5565b6012553060009081526007602081815260408084208054600160ff1991821681179092556001600160a01b03998a1686528286208054821683179055959098168085527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc83528185206000199055338552929091528083208054851688179055908252902080549091169093179092555062000697915050565b8280546200042b9062000644565b90600052602060002090601f0160209004810192826200044f57600085556200049a565b82601f106200046a57805160ff19168380011785556200049a565b828001600101855582156200049a579182015b828111156200049a5782518255916020019190600101906200047d565b50620004a8929150620004ac565b5090565b5b80821115620004a85760008155600101620004ad565b600060208284031215620004d657600080fd5b81516001600160a01b0381168114620004ee57600080fd5b9392505050565b6000826200051357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620005595781600019048211156200053d576200053d62000681565b808516156200054b57918102915b93841c93908002906200051d565b509250929050565b6000620004ee60ff8416836000826200057d575060016200061c565b816200058c575060006200061c565b8160018114620005a55760028114620005b057620005d0565b60019150506200061c565b60ff841115620005c457620005c462000681565b50506001821b6200061c565b5060208310610133831016604e8410600b8410161715620005f5575081810a6200061c565b62000601838362000518565b806000190482111562000618576200061862000681565b0290505b92915050565b60008160001904831182151516156200063f576200063f62000681565b500290565b600181811c908216806200065957607f821691505b602082108114156200067b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61177780620006a76000396000f3fe6080604052600436106101c65760003560e01c80638637b069116100f7578063bceaaf1e11610095578063e82bef2911610064578063e82bef2914610530578063ec28438a14610550578063f107b98914610570578063f2fde38b1461059057600080fd5b8063bceaaf1e14610494578063ce0192f9146104b4578063dd62ed3e146104ca578063e5615dd11461051057600080fd5b806395d89b41116100d157806395d89b4114610433578063a9059cbb14610448578063adc7955d14610468578063b9fbc49d1461047e57600080fd5b80638637b069146103df5780638c0b5e22146103ff5780638da5cb5b1461041557600080fd5b80633db021031161016457806365b61b771161013e57806365b61b771461035e578063698518e51461037e57806370a0823114610394578063715018a6146103ca57600080fd5b80633db02103146102d45780633ecad271146102f65780634bf28fd01461032657600080fd5b806323b872dd116101a057806323b872dd1461024c578063313ce5671461026c57806336b2e0271461028e5780633bfe62ca146102be57600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105b0565b6040516101f49190611538565b60405180910390f35b34801561020957600080fd5b5061021d610218366004611400565b610642565b60405190151581526020016101f4565b34801561023957600080fd5b506008545b6040519081526020016101f4565b34801561025857600080fd5b5061021d6102673660046113bf565b610658565b34801561027857600080fd5b5060065460405160ff90911681526020016101f4565b34801561029a57600080fd5b5061021d6102a9366004611345565b60076020526000908152604090205460ff1681565b3480156102ca57600080fd5b5061023e600e5481565b3480156102e057600080fd5b506102f46102ef3660046114e8565b6106ef565b005b34801561030257600080fd5b5061021d610311366004611345565b600a6020526000908152604090205460ff1681565b34801561033257600080fd5b50601054610346906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b34801561036a57600080fd5b50600954610346906001600160a01b031681565b34801561038a57600080fd5b5061023e60115481565b3480156103a057600080fd5b5061023e6103af366004611345565b6001600160a01b031660009081526001602052604090205490565b3480156103d657600080fd5b506102f4610773565b3480156103eb57600080fd5b506102f46103fa366004611400565b6107e7565b34801561040b57600080fd5b5061023e60125481565b34801561042157600080fd5b506000546001600160a01b0316610346565b34801561043f57600080fd5b506101e76108ce565b34801561045457600080fd5b5061021d610463366004611400565b6108dd565b34801561047457600080fd5b5061023e600f5481565b34801561048a57600080fd5b5061023e600d5481565b3480156104a057600080fd5b506102f46104af36600461142c565b6108ea565b3480156104c057600080fd5b5061023e600c5481565b3480156104d657600080fd5b5061023e6104e5366004611386565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561051c57600080fd5b506102f461052b3660046114e8565b610996565b34801561053c57600080fd5b50600354610346906001600160a01b031681565b34801561055c57600080fd5b506102f461056b3660046114cf565b610a11565b34801561057c57600080fd5b506102f461058b3660046114cf565b610a40565b34801561059c57600080fd5b506102f46105ab366004611345565b610aa4565b6060600480546105bf90611699565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90611699565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050905090565b600061064f338484610b6a565b50600192915050565b6000610665848484610bcb565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106e5576001600160a01b03841660009081526002602090815260408083203384529091529020546106c0908390611682565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107225760405162461bcd60e51b81526004016107199061158d565b60405180910390fd5b610fa061072f8284611629565b11156107685760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610719565b600e91909155600f55565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016107199061158d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b038216610834576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561082f573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108ca5760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f91906114b2565b5050565b6060600580546105bf90611699565b600061064f338484610bcb565b6000546001600160a01b031633146109145760405162461bcd60e51b81526004016107199061158d565b60c9821061092157600080fd5b60005b8281101561099057816007600086868581811061094357610943611705565b90506020020160208101906109589190611345565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610989816116d4565b9050610924565b50505050565b6000546001600160a01b031633146109c05760405162461bcd60e51b81526004016107199061158d565b610fa06109cd8284611629565b1115610a065760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610719565b600c91909155600d55565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b81526004016107199061158d565b601255565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b81526004016107199061158d565b80610a9f5760405162461bcd60e51b81526020600482015260056024820152640203d3d20360dc1b6044820152606401610719565b601155565b6000546001600160a01b03163314610ace5760405162461bcd60e51b81526004016107199061158d565b6001600160a01b038116610b0f5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610719565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610c275760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610719565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610c545750600b5460ff16155b8015610c7957506001600160a01b03861660009081526007602052604090205460ff16155b8015610c9e57506001600160a01b03851660009081526007602052604090205460ff16155b15610d375730600090815260016020526040902054600854610cc5906305f5e10090611641565b811115610d35576000600f54600e54600d54600c54610ce49190611629565b610cee9190611629565b610cf89190611629565b905060006011548288610d0b9190611663565b610d159190611641565b9050828111610d245780610d26565b825b9050610d328183610dcc565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610d7957506001600160a01b03851660009081526007602052604090205460ff16155b8015610d885750600b5460ff16155b15610d9257600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610db7575060015b610dc4868686858561115d565b505050505050565b600b805460ff1916600117905580610de35761114f565b610ded8180611629565b90506000600d54600f54610e019190611629565b9050600082610e108386611663565b610e1a9190611641565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e5457610e54611705565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ea857600080fd5b505afa158015610ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee09190611369565b81600181518110610ef357610ef3611705565b6001600160a01b0392831660209182029290920101526009541663791ac947610f1c8488611682565b60008430426040518663ffffffff1660e01b8152600401610f419594939291906115b8565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b610fa557604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610faf8385611682565b93506000479050600085600e54600c54610fc99190611629565b610fd39084611663565b610fde906002611663565b610fe89190611641565b905060008111801561100457506003546001600160a01b031615155b15611045576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611043573d6000803e3d6000fd5b505b8315611149576000866110588785611663565b6110629190611641565b905080156111475760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156110d557600080fd5b505af193505050508015611106575060408051601f3d908101601f191682019092526111039181019061150a565b60015b61114357604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a1611147565b5050505b505b50505050505b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054611181908490611682565b6001600160a01b03861660009081526001602052604081209190915582156112b557600082156111c257600f54600e546111bb9190611629565b905061120f565b600d54600c546111d29190611629565b905060125485111561120f5760405162461bcd60e51b81526020600482015260066024820152650dac2f040e8f60d31b6044820152606401610719565b600061271061121e8388611663565b6112289190611641565b905080156112b25761123a8184611629565b30600090815260016020526040902054909350611258908290611629565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112a99085815260200190565b60405180910390a35b50505b6112bf8185611682565b6001600160a01b0386166000908152600160205260409020546112e29190611629565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61132c8488611682565b60405190815260200160405180910390a3505050505050565b60006020828403121561135757600080fd5b81356113628161171b565b9392505050565b60006020828403121561137b57600080fd5b81516113628161171b565b6000806040838503121561139957600080fd5b82356113a48161171b565b915060208301356113b48161171b565b809150509250929050565b6000806000606084860312156113d457600080fd5b83356113df8161171b565b925060208401356113ef8161171b565b929592945050506040919091013590565b6000806040838503121561141357600080fd5b823561141e8161171b565b946020939093013593505050565b60008060006040848603121561144157600080fd5b833567ffffffffffffffff8082111561145957600080fd5b818601915086601f83011261146d57600080fd5b81358181111561147c57600080fd5b8760208260051b850101111561149157600080fd5b602092830195509350508401356114a781611733565b809150509250925092565b6000602082840312156114c457600080fd5b815161136281611733565b6000602082840312156114e157600080fd5b5035919050565b600080604083850312156114fb57600080fd5b50508035926020909101359150565b60008060006060848603121561151f57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561156557858101830151858201604001528201611549565b81811115611577576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116085784516001600160a01b0316835293830193918301916001016115e3565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561163c5761163c6116ef565b500190565b60008261165e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561167d5761167d6116ef565b500290565b600082821015611694576116946116ef565b500390565b600181811c908216806116ad57607f821691505b602082108114156116ce57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156116e8576116e86116ef565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461173057600080fd5b50565b801515811461173057600080fdfea26469706673582212203207efadb7dd0920acaa5cdf7c96672418856a852d0c7ff651c271d198fe3cbf64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80638637b069116100f7578063bceaaf1e11610095578063e82bef2911610064578063e82bef2914610530578063ec28438a14610550578063f107b98914610570578063f2fde38b1461059057600080fd5b8063bceaaf1e14610494578063ce0192f9146104b4578063dd62ed3e146104ca578063e5615dd11461051057600080fd5b806395d89b41116100d157806395d89b4114610433578063a9059cbb14610448578063adc7955d14610468578063b9fbc49d1461047e57600080fd5b80638637b069146103df5780638c0b5e22146103ff5780638da5cb5b1461041557600080fd5b80633db021031161016457806365b61b771161013e57806365b61b771461035e578063698518e51461037e57806370a0823114610394578063715018a6146103ca57600080fd5b80633db02103146102d45780633ecad271146102f65780634bf28fd01461032657600080fd5b806323b872dd116101a057806323b872dd1461024c578063313ce5671461026c57806336b2e0271461028e5780633bfe62ca146102be57600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105b0565b6040516101f49190611538565b60405180910390f35b34801561020957600080fd5b5061021d610218366004611400565b610642565b60405190151581526020016101f4565b34801561023957600080fd5b506008545b6040519081526020016101f4565b34801561025857600080fd5b5061021d6102673660046113bf565b610658565b34801561027857600080fd5b5060065460405160ff90911681526020016101f4565b34801561029a57600080fd5b5061021d6102a9366004611345565b60076020526000908152604090205460ff1681565b3480156102ca57600080fd5b5061023e600e5481565b3480156102e057600080fd5b506102f46102ef3660046114e8565b6106ef565b005b34801561030257600080fd5b5061021d610311366004611345565b600a6020526000908152604090205460ff1681565b34801561033257600080fd5b50601054610346906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b34801561036a57600080fd5b50600954610346906001600160a01b031681565b34801561038a57600080fd5b5061023e60115481565b3480156103a057600080fd5b5061023e6103af366004611345565b6001600160a01b031660009081526001602052604090205490565b3480156103d657600080fd5b506102f4610773565b3480156103eb57600080fd5b506102f46103fa366004611400565b6107e7565b34801561040b57600080fd5b5061023e60125481565b34801561042157600080fd5b506000546001600160a01b0316610346565b34801561043f57600080fd5b506101e76108ce565b34801561045457600080fd5b5061021d610463366004611400565b6108dd565b34801561047457600080fd5b5061023e600f5481565b34801561048a57600080fd5b5061023e600d5481565b3480156104a057600080fd5b506102f46104af36600461142c565b6108ea565b3480156104c057600080fd5b5061023e600c5481565b3480156104d657600080fd5b5061023e6104e5366004611386565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561051c57600080fd5b506102f461052b3660046114e8565b610996565b34801561053c57600080fd5b50600354610346906001600160a01b031681565b34801561055c57600080fd5b506102f461056b3660046114cf565b610a11565b34801561057c57600080fd5b506102f461058b3660046114cf565b610a40565b34801561059c57600080fd5b506102f46105ab366004611345565b610aa4565b6060600480546105bf90611699565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90611699565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050905090565b600061064f338484610b6a565b50600192915050565b6000610665848484610bcb565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106e5576001600160a01b03841660009081526002602090815260408083203384529091529020546106c0908390611682565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107225760405162461bcd60e51b81526004016107199061158d565b60405180910390fd5b610fa061072f8284611629565b11156107685760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610719565b600e91909155600f55565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016107199061158d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b038216610834576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561082f573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108ca5760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f91906114b2565b5050565b6060600580546105bf90611699565b600061064f338484610bcb565b6000546001600160a01b031633146109145760405162461bcd60e51b81526004016107199061158d565b60c9821061092157600080fd5b60005b8281101561099057816007600086868581811061094357610943611705565b90506020020160208101906109589190611345565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610989816116d4565b9050610924565b50505050565b6000546001600160a01b031633146109c05760405162461bcd60e51b81526004016107199061158d565b610fa06109cd8284611629565b1115610a065760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610719565b600c91909155600d55565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b81526004016107199061158d565b601255565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b81526004016107199061158d565b80610a9f5760405162461bcd60e51b81526020600482015260056024820152640203d3d20360dc1b6044820152606401610719565b601155565b6000546001600160a01b03163314610ace5760405162461bcd60e51b81526004016107199061158d565b6001600160a01b038116610b0f5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610719565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610c275760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610719565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610c545750600b5460ff16155b8015610c7957506001600160a01b03861660009081526007602052604090205460ff16155b8015610c9e57506001600160a01b03851660009081526007602052604090205460ff16155b15610d375730600090815260016020526040902054600854610cc5906305f5e10090611641565b811115610d35576000600f54600e54600d54600c54610ce49190611629565b610cee9190611629565b610cf89190611629565b905060006011548288610d0b9190611663565b610d159190611641565b9050828111610d245780610d26565b825b9050610d328183610dcc565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610d7957506001600160a01b03851660009081526007602052604090205460ff16155b8015610d885750600b5460ff16155b15610d9257600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610db7575060015b610dc4868686858561115d565b505050505050565b600b805460ff1916600117905580610de35761114f565b610ded8180611629565b90506000600d54600f54610e019190611629565b9050600082610e108386611663565b610e1a9190611641565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e5457610e54611705565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ea857600080fd5b505afa158015610ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee09190611369565b81600181518110610ef357610ef3611705565b6001600160a01b0392831660209182029290920101526009541663791ac947610f1c8488611682565b60008430426040518663ffffffff1660e01b8152600401610f419594939291906115b8565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b610fa557604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610faf8385611682565b93506000479050600085600e54600c54610fc99190611629565b610fd39084611663565b610fde906002611663565b610fe89190611641565b905060008111801561100457506003546001600160a01b031615155b15611045576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611043573d6000803e3d6000fd5b505b8315611149576000866110588785611663565b6110629190611641565b905080156111475760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156110d557600080fd5b505af193505050508015611106575060408051601f3d908101601f191682019092526111039181019061150a565b60015b61114357604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a1611147565b5050505b505b50505050505b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054611181908490611682565b6001600160a01b03861660009081526001602052604081209190915582156112b557600082156111c257600f54600e546111bb9190611629565b905061120f565b600d54600c546111d29190611629565b905060125485111561120f5760405162461bcd60e51b81526020600482015260066024820152650dac2f040e8f60d31b6044820152606401610719565b600061271061121e8388611663565b6112289190611641565b905080156112b25761123a8184611629565b30600090815260016020526040902054909350611258908290611629565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112a99085815260200190565b60405180910390a35b50505b6112bf8185611682565b6001600160a01b0386166000908152600160205260409020546112e29190611629565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61132c8488611682565b60405190815260200160405180910390a3505050505050565b60006020828403121561135757600080fd5b81356113628161171b565b9392505050565b60006020828403121561137b57600080fd5b81516113628161171b565b6000806040838503121561139957600080fd5b82356113a48161171b565b915060208301356113b48161171b565b809150509250929050565b6000806000606084860312156113d457600080fd5b83356113df8161171b565b925060208401356113ef8161171b565b929592945050506040919091013590565b6000806040838503121561141357600080fd5b823561141e8161171b565b946020939093013593505050565b60008060006040848603121561144157600080fd5b833567ffffffffffffffff8082111561145957600080fd5b818601915086601f83011261146d57600080fd5b81358181111561147c57600080fd5b8760208260051b850101111561149157600080fd5b602092830195509350508401356114a781611733565b809150509250925092565b6000602082840312156114c457600080fd5b815161136281611733565b6000602082840312156114e157600080fd5b5035919050565b600080604083850312156114fb57600080fd5b50508035926020909101359150565b60008060006060848603121561151f57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561156557858101830151858201604001528201611549565b81811115611577576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116085784516001600160a01b0316835293830193918301916001016115e3565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561163c5761163c6116ef565b500190565b60008261165e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561167d5761167d6116ef565b500290565b600082821015611694576116946116ef565b500390565b600181811c908216806116ad57607f821691505b602082108114156116ce57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156116e8576116e86116ef565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461173057600080fd5b50565b801515811461173057600080fdfea26469706673582212203207efadb7dd0920acaa5cdf7c96672418856a852d0c7ff651c271d198fe3cbf64736f6c63430008070033

Deployed Bytecode Sourcemap

2679:8710:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4791:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5554:159;;;;;;;;;;-1:-1:-1;5554:159:0;;;;;:::i;:::-;;:::i;:::-;;;4714:14:1;;4707:22;4689:41;;4677:2;4662:18;5554:159:0;4549:187:1;4995:100:0;;;;;;;;;;-1:-1:-1;5075:12:0;;4995:100;;;8147:25:1;;;8135:2;8120:18;4995:100:0;8001:177:1;5721:336:0;;;;;;;;;;-1:-1:-1;5721:336:0;;;;;:::i;:::-;;:::i;4893:94::-;;;;;;;;;;-1:-1:-1;4970:9:0;;4893:94;;4970:9;;;;5123:36:1;;5111:2;5096:18;4893:94:0;4971:194:1;2971:49:0;;;;;;;;;;-1:-1:-1;2971:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3317:31;;;;;;;;;;;;;;;;6280:210;;;;;;;;;;-1:-1:-1;6280:210:0;;;;;:::i;:::-;;:::i;:::-;;3115:44;;;;;;;;;;-1:-1:-1;3115:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3393:27;;;;;;;;;;-1:-1:-1;3393:27:0;;;;-1:-1:-1;;;;;3393:27:0;;;;;;-1:-1:-1;;;;;3614:32:1;;;3596:51;;3584:2;3569:18;3393:27:0;3450:203:1;3070:36:0;;;;;;;;;;-1:-1:-1;3070:36:0;;;;-1:-1:-1;;;;;3070:36:0;;;6683:29;;;;;;;;;;;;;;;;5103:119;;;;;;;;;;-1:-1:-1;5103:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5196:18:0;5169:7;5196:18;;;:9;:18;;;;;;;5103:119;2302:148;;;;;;;;;;;;;:::i;10788:296::-;;;;;;;;;;-1:-1:-1;10788:296:0;;;;;:::i;:::-;;:::i;8044:26::-;;;;;;;;;;;;;;;;2105:79;;;;;;;;;;-1:-1:-1;2143:7:0;2170:6;-1:-1:-1;;;;;2170:6:0;2105:79;;4685:98;;;;;;;;;;;;;:::i;5230:165::-;;;;;;;;;;-1:-1:-1;5230:165:0;;;;;:::i;:::-;;:::i;3355:29::-;;;;;;;;;;;;;;;;3282:28;;;;;;;;;;;;;;;;11092:257;;;;;;;;;;-1:-1:-1;11092:257:0;;;;;:::i;:::-;;:::i;3245:30::-;;;;;;;;;;;;;;;;5403:143;;;;;;;;;;-1:-1:-1;5403:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5511:18:0;;;5484:7;5511:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5403:143;6065:207;;;;;;;;;;-1:-1:-1;6065:207:0;;;;;:::i;:::-;;:::i;2848:26::-;;;;;;;;;;-1:-1:-1;2848:26:0;;;;-1:-1:-1;;;;;2848:26:0;;;8077:99;;;;;;;;;;-1:-1:-1;8077:99:0;;;;;:::i;:::-;;:::i;6719:134::-;;;;;;;;;;-1:-1:-1;6719:134:0;;;;;:::i;:::-;;:::i;2458:214::-;;;;;;;;;;-1:-1:-1;2458:214:0;;;;;:::i;:::-;;:::i;4791:94::-;4839:13;4872:5;4865:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4791:94;:::o;5554:159::-;5629:4;5646:37;5655:10;5667:7;5676:6;5646:8;:37::i;:::-;-1:-1:-1;5701:4:0;5554:159;;;;:::o;5721:336::-;5819:4;5836:36;5846:6;5854:9;5865:6;5836:9;:36::i;:::-;-1:-1:-1;;;;;5887:19:0;;3234:1;5887:19;;;:11;:19;;;;;;;;5907:10;5887:31;;;;;;;;-1:-1:-1;;5887:38:0;5883:145;;-1:-1:-1;;;;;5976:19:0;;;;;;:11;:19;;;;;;;;5996:10;5976:31;;;;;;;;:40;;6010:6;;5976:40;:::i;:::-;-1:-1:-1;;;;;5942:19:0;;;;;;:11;:19;;;;;;;;5962:10;5942:31;;;;;;;:74;5883:145;-1:-1:-1;6045:4:0;5721:336;;;;;:::o;6280:210::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;;;;;;;;;6398:4:::1;6373:21;6386:8:::0;6373:10;:21:::1;:::i;:::-;:29;;6365:49;;;::::0;-1:-1:-1;;;6365:49:0;;6851:2:1;6365:49:0::1;::::0;::::1;6833:21:1::0;6890:1;6870:18;;;6863:29;-1:-1:-1;;;6908:18:1;;;6901:38;6956:18;;6365:49:0::1;6649:331:1::0;6365:49:0::1;6425:12;:25:::0;;;;6461:10:::1;:21:::0;6280:210::o;2302:148::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;2409:1:::1;2393:6:::0;;2372:40:::1;::::0;-1:-1:-1;;;;;2393:6:0;;::::1;::::0;2372:40:::1;::::0;2409:1;;2372:40:::1;2440:1;2423:19:::0;;-1:-1:-1;;;;;;2423:19:0::1;::::0;;2302:148::o;10788:296::-;-1:-1:-1;;;;;10871:26:0;;10867:210;;10921:11;;10913:37;;-1:-1:-1;;;;;10921:11:0;;;;10913:37;;;;;10943:6;;10921:11;10913:37;10921:11;10913:37;10943:6;10921:11;10913:37;;;;;;;;;;;;;;;;;;;;;10788:296;;:::o;10867:210::-;-1:-1:-1;;;;;10970:29:0;;10994:4;10970:29;10967:110;;11045:11;;11015:50;;-1:-1:-1;;;11015:50:0;;-1:-1:-1;;;;;11045:11:0;;;11015:50;;;3832:51:1;3899:18;;;3892:34;;;11015:29:0;;;;;;3805:18:1;;11015:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10967:110::-;10788:296;;:::o;4685:98::-;4735:13;4768:7;4761:14;;;;;:::i;5230:165::-;5308:4;5325:40;5335:10;5347:9;5358:6;5325:9;:40::i;11092:257::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;11218:3:::1;11199:22:::0;::::1;11191:31;;;::::0;::::1;;11238:9;11233:109;11249:20:::0;;::::1;11233:109;;;11325:5;11291:17;:31;11309:9;;11319:1;11309:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11291:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11291:31:0;:39;;-1:-1:-1;;11291:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11271:3:::1;::::0;::::1;:::i;:::-;;;11233:109;;;;11092:257:::0;;;:::o;6065:207::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;6182:4:::1;6157:21;6170:8:::0;6157:10;:21:::1;:::i;:::-;:29;;6149:49;;;::::0;-1:-1:-1;;;6149:49:0;;6851:2:1;6149:49:0::1;::::0;::::1;6833:21:1::0;6890:1;6870:18;;;6863:29;-1:-1:-1;;;6908:18:1;;;6901:38;6956:18;;6149:49:0::1;6649:331:1::0;6149:49:0::1;6209:11;:24:::0;;;;6244:9:::1;:20:::0;6065:207::o;8077:99::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;8146:11:::1;:22:::0;8077:99::o;6719:134::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;6793:13;6785:30:::1;;;::::0;-1:-1:-1;;;6785:30:0;;6518:2:1;6785:30:0::1;::::0;::::1;6500:21:1::0;6557:1;6537:18;;;6530:29;-1:-1:-1;;;6575:18:1;;;6568:35;6620:18;;6785:30:0::1;6316:328:1::0;6785:30:0::1;6826:8;:19:::0;6719:134::o;2458:214::-;2232:6;;-1:-1:-1;;;;;2232:6:0;2242:10;2232:20;2224:50;;;;-1:-1:-1;;;2224:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2547:22:0;::::1;2539:43;;;::::0;-1:-1:-1;;;2539:43:0;;7187:2:1;2539:43:0::1;::::0;::::1;7169:21:1::0;7226:1;7206:18;;;7199:29;-1:-1:-1;;;7244:18:1;;;7237:38;7292:18;;2539:43:0::1;6985:331:1::0;2539:43:0::1;2619:6;::::0;;2598:38:::1;::::0;-1:-1:-1;;;;;2598:38:0;;::::1;::::0;2619:6;::::1;::::0;2598:38:::1;::::0;::::1;2647:6;:17:::0;;-1:-1:-1;;;;;;2647:17:0::1;-1:-1:-1::0;;;;;2647:17:0;;;::::1;::::0;;;::::1;::::0;;2458:214::o;6498:177::-;-1:-1:-1;;;;;6583:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6635:32;;8147:25:1;;;6635:32:0;;8120:18:1;6635:32:0;;;;;;;6498:177;;;:::o;6861:1175::-;-1:-1:-1;;;;;5196:18:0;;6975:15;5196:18;;;:9;:18;;;;;;7027:17;;;;7019:46;;;;-1:-1:-1;;;7019:46:0;;6173:2:1;7019:46:0;;;6155:21:1;6212:2;6192:18;;;6185:30;-1:-1:-1;;;6231:18:1;;;6224:46;6287:18;;7019:46:0;5971:340:1;7019:46:0;-1:-1:-1;;;;;7131:16:0;;7078:12;7131:16;;;:12;:16;;;;;;7078:12;;7131:16;;:27;;;;-1:-1:-1;7152:6:0;;;;7151:7;7131:27;:55;;;;-1:-1:-1;;;;;;7163:23:0;;;;;;:17;:23;;;;;;;;7162:24;7131:55;:81;;;;-1:-1:-1;;;;;;7191:21:0;;;;;;:17;:21;;;;;;;;7190:22;7131:81;7127:664;;;7278:4;7229:28;5196:18;;;:9;:18;;;;;;5075:12;;7326:21;;7342:5;;7326:21;:::i;:::-;7303:20;:44;7299:481;;;7368:14;7426:10;;7411:12;;7399:9;;7385:11;;:23;;;;:::i;:::-;:38;;;;:::i;:::-;:51;;;;:::i;:::-;7368:68;;7455:27;7504:8;;7495:6;7486;:15;;;;:::i;:::-;:26;;;;:::i;:::-;7455:58;;7576:20;7554:19;:42;:147;;7682:19;7554:147;;;7661:20;7554:147;7532:169;;7720:44;7736:19;7757:6;7720:15;:44::i;:::-;7349:431;;7299:481;7214:577;7127:664;-1:-1:-1;;;;;7808:23:0;;;;;;:17;:23;;;;;;;;7807:24;:50;;;;-1:-1:-1;;;;;;7836:21:0;;;;;;:17;:21;;;;;;;;7835:22;7807:50;:61;;;;-1:-1:-1;7862:6:0;;;;7861:7;7807:61;7803:108;;;7895:4;7885:14;;7803:108;-1:-1:-1;;;;;7927:16:0;;;;;;:12;:16;;;;;;;;7923:42;;;-1:-1:-1;7958:4:0;7923:42;7977:51;7992:4;7998:2;8002:6;8010:7;8019:8;7977:14;:51::i;:::-;6964:1072;;;6861:1175;;;:::o;9228:1285::-;3461:6;:13;;-1:-1:-1;;3461:13:0;3470:4;3461:13;;;9325:11;9321:24:::1;;9338:7;;9321:24;9355:16;9365:6:::0;;9355:16:::1;:::i;:::-;;;9382:13;9411:9;;9398:10;;:22;;;;:::i;:::-;9382:38:::0;-1:-1:-1;9431:16:0::1;9472:6:::0;9450:19:::1;9382:38:::0;9450:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;9515:16;::::0;;9529:1:::1;9515:16:::0;;;;;::::1;::::0;;9431:47;;-1:-1:-1;9491:21:0::1;::::0;9515:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9515:16:0::1;9491:40;;9560:4;9542;9547:1;9542:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9542:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9586:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;9586:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9542:7;;9586:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9576:4;9581:1;9576:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9576:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9622:14:::1;::::0;::::1;:65;9702:22;9716:8:::0;9702:11;:22:::1;:::i;:::-;9739:1;9755:4;9782;9802:15;9622:206;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9618:243;;9845:13;::::0;9856:1:::1;5123:36:1::0;;9845:13:0::1;::::0;5111:2:1;5096:18;9845:13:0::1;;;;;;;9618:243;9873:15;9883:5:::0;9873:15;::::1;:::i;:::-;;;9901:19;9923:21;9901:43;;9955:18;10025:6;10005:12;;9991:11;;:26;;;;:::i;:::-;9976:42;::::0;:11;:42:::1;:::i;:::-;:46;::::0;10021:1:::1;9976:46;:::i;:::-;:55;;;;:::i;:::-;9955:76;;10059:1;10046:10;:14;:43;;;;-1:-1:-1::0;10064:11:0::1;::::0;-1:-1:-1;;;;;10064:11:0::1;:25:::0;::::1;10046:43;10042:117;;;10114:11;::::0;10106:41:::1;::::0;-1:-1:-1;;;;;10114:11:0;;::::1;::::0;10106:41;::::1;;;::::0;10136:10;;10114:11:::1;10106:41:::0;10114:11;10106:41;10136:10;10114:11;10106:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10042:117;10175:12:::0;;10171:335:::1;;10204:14;10243:6:::0;10221:19:::1;10235:5:::0;10221:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;10204:45:::0;-1:-1:-1;10268:10:0;;10264:231:::1;;10303:14;::::0;10400:11:::1;::::0;10303:144:::1;::::0;-1:-1:-1;;;10303:144:0;;10378:4:::1;10303:144;::::0;::::1;4278:34:1::0;4328:18;;;4321:34;;;10303:14:0::1;4371:18:1::0;;;4364:34;;;4414:18;;;4407:34;-1:-1:-1;;;;;10400:11:0;;::::1;4457:19:1::0;;;4450:44;10413:15:0::1;4510:19:1::0;;;4503:35;10303:14:0;::::1;::::0;:30:::1;::::0;10340:6;;4212:19:1;;10303:144:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;-1:-1:-1::0;10303:144:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;10303:144:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;10299:181;;10464:13;::::0;10475:1:::1;5123:36:1::0;;10464:13:0::1;::::0;5111:2:1;5096:18;10464:13:0::1;;;;;;;10299:181;;;;;;;10189:317;10171:335;9310:1203;;;;;3485:1;-1:-1:-1::0;;3497:6:0;:14;;-1:-1:-1;;3497:14:0;;;9228:1285::o;8184:1004::-;-1:-1:-1;;;;;8380:17:0;;;;;;:9;:17;;;;;;:27;;8400:7;;8380:27;:::i;:::-;-1:-1:-1;;;;;8360:17:0;;;;;;:9;:17;;;;;:47;;;;8448:587;;;;8476:14;8511:8;8507:215;;;8564:10;;8549:12;;:25;;;;:::i;:::-;8540:34;;8507:215;;;8638:9;;8624:11;;:23;;;;:::i;:::-;8615:32;;8685:11;;8674:7;:22;;8666:40;;;;-1:-1:-1;;;8666:40:0;;7869:2:1;8666:40:0;;;7851:21:1;7908:1;7888:18;;;7881:29;-1:-1:-1;;;7926:18:1;;;7919:36;7972:18;;8666:40:0;7667:329:1;8666:40:0;8736:18;8776:5;8757:16;8767:6;8757:7;:16;:::i;:::-;:24;;;;:::i;:::-;8736:45;-1:-1:-1;8800:14:0;;8796:228;;8835:23;8848:10;8835:23;;:::i;:::-;8922:4;8904:24;;;;:9;:24;;;;;;8835:23;;-1:-1:-1;8904:37:0;;8931:10;;8904:37;:::i;:::-;8895:4;8877:24;;;;:9;:24;;;;;;;:64;;;;8965:43;;-1:-1:-1;;;;;8965:43:0;;;;;;;8997:10;8147:25:1;;8135:2;8120:18;;8001:177;8965:43:0;;;;;;;;8796:228;8461:574;;8448:587;9094:19;9104:9;9094:7;:19;:::i;:::-;-1:-1:-1;;;;;9070:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9047:20:0;;;;;;;:9;:20;;;;;:67;;;;9130:48;;;9158:19;9168:9;9158:7;:19;:::i;:::-;9130:48;;8147:25:1;;;8135:2;8120:18;9130:48:0;;;;;;;8349:839;8184:1004;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:750::-;1788:6;1796;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1913:9;1900:23;1942:18;1983:2;1975:6;1972:14;1969:34;;;1999:1;1996;1989:12;1969:34;2037:6;2026:9;2022:22;2012:32;;2082:7;2075:4;2071:2;2067:13;2063:27;2053:55;;2104:1;2101;2094:12;2053:55;2144:2;2131:16;2170:2;2162:6;2159:14;2156:34;;;2186:1;2183;2176:12;2156:34;2241:7;2234:4;2224:6;2221:1;2217:14;2213:2;2209:23;2205:34;2202:47;2199:67;;;2262:1;2259;2252:12;2199:67;2293:4;2285:13;;;;-1:-1:-1;2317:6:1;-1:-1:-1;;2358:20:1;;2345:34;2388:28;2345:34;2388:28;:::i;:::-;2435:5;2425:15;;;1696:750;;;;;:::o;2451:245::-;2518:6;2571:2;2559:9;2550:7;2546:23;2542:32;2539:52;;;2587:1;2584;2577:12;2539:52;2619:9;2613:16;2638:28;2660:5;2638:28;:::i;2701:180::-;2760:6;2813:2;2801:9;2792:7;2788:23;2784:32;2781:52;;;2829:1;2826;2819:12;2781:52;-1:-1:-1;2852:23:1;;2701:180;-1:-1:-1;2701:180:1:o;2886:248::-;2954:6;2962;3015:2;3003:9;2994:7;2990:23;2986:32;2983:52;;;3031:1;3028;3021:12;2983:52;-1:-1:-1;;3054:23:1;;;3124:2;3109:18;;;3096:32;;-1:-1:-1;2886:248:1:o;3139:306::-;3227:6;3235;3243;3296:2;3284:9;3275:7;3271:23;3267:32;3264:52;;;3312:1;3309;3302:12;3264:52;3341:9;3335:16;3325:26;;3391:2;3380:9;3376:18;3370:25;3360:35;;3435:2;3424:9;3420:18;3414:25;3404:35;;3139:306;;;;;:::o;5369:597::-;5481:4;5510:2;5539;5528:9;5521:21;5571:6;5565:13;5614:6;5609:2;5598:9;5594:18;5587:34;5639:1;5649:140;5663:6;5660:1;5657:13;5649:140;;;5758:14;;;5754:23;;5748:30;5724:17;;;5743:2;5720:26;5713:66;5678:10;;5649:140;;;5807:6;5804:1;5801:13;5798:91;;;5877:1;5872:2;5863:6;5852:9;5848:22;5844:31;5837:42;5798:91;-1:-1:-1;5950:2:1;5929:15;-1:-1:-1;;5925:29:1;5910:45;;;;5957:2;5906:54;;5369:597;-1:-1:-1;;;5369:597:1:o;7321:341::-;7523:2;7505:21;;;7562:2;7542:18;;;7535:30;-1:-1:-1;;;7596:2:1;7581:18;;7574:47;7653:2;7638:18;;7321:341::o;8183:980::-;8445:4;8493:3;8482:9;8478:19;8524:6;8513:9;8506:25;8550:2;8588:6;8583:2;8572:9;8568:18;8561:34;8631:3;8626:2;8615:9;8611:18;8604:31;8655:6;8690;8684:13;8721:6;8713;8706:22;8759:3;8748:9;8744:19;8737:26;;8798:2;8790:6;8786:15;8772:29;;8819:1;8829:195;8843:6;8840:1;8837:13;8829:195;;;8908:13;;-1:-1:-1;;;;;8904:39:1;8892:52;;8999:15;;;;8964:12;;;;8940:1;8858:9;8829:195;;;-1:-1:-1;;;;;;;9080:32:1;;;;9075:2;9060:18;;9053:60;-1:-1:-1;;;9144:3:1;9129:19;9122:35;9041:3;8183:980;-1:-1:-1;;;8183:980:1:o;9357:128::-;9397:3;9428:1;9424:6;9421:1;9418:13;9415:39;;;9434:18;;:::i;:::-;-1:-1:-1;9470:9:1;;9357:128::o;9490:217::-;9530:1;9556;9546:132;;9600:10;9595:3;9591:20;9588:1;9581:31;9635:4;9632:1;9625:15;9663:4;9660:1;9653:15;9546:132;-1:-1:-1;9692:9:1;;9490:217::o;9712:168::-;9752:7;9818:1;9814;9810:6;9806:14;9803:1;9800:21;9795:1;9788:9;9781:17;9777:45;9774:71;;;9825:18;;:::i;:::-;-1:-1:-1;9865:9:1;;9712:168::o;9885:125::-;9925:4;9953:1;9950;9947:8;9944:34;;;9958:18;;:::i;:::-;-1:-1:-1;9995:9:1;;9885:125::o;10015:380::-;10094:1;10090:12;;;;10137;;;10158:61;;10212:4;10204:6;10200:17;10190:27;;10158:61;10265:2;10257:6;10254:14;10234:18;10231:38;10228:161;;;10311:10;10306:3;10302:20;10299:1;10292:31;10346:4;10343:1;10336:15;10374:4;10371:1;10364:15;10228:161;;10015:380;;;:::o;10400:135::-;10439:3;-1:-1:-1;;10460:17:1;;10457:43;;;10480:18;;:::i;:::-;-1:-1:-1;10527:1:1;10516:13;;10400:135::o;10540:127::-;10601:10;10596:3;10592:20;10589:1;10582:31;10632:4;10629:1;10622:15;10656:4;10653:1;10646:15;10672:127;10733:10;10728:3;10724:20;10721:1;10714:31;10764:4;10761:1;10754:15;10788:4;10785:1;10778:15;10936:131;-1:-1:-1;;;;;11011:31:1;;11001:42;;10991:70;;11057:1;11054;11047:12;10991:70;10936:131;:::o;11072:118::-;11158:5;11151:13;11144:21;11137:5;11134:32;11124:60;;11180:1;11177;11170:12

Swarm Source

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