ETH Price: $3,898.60 (+0.21%)

Token

ERC-20: The first elephant on YouTube (SHABA)
 

Overview

Max Total Supply

100,000,000,000 SHABA

Holders

380

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
26,484,171.937553755 SHABA

Value
$0.00
0x4692c87c62c71fc9a2b58f39b99d1304f7f033b6
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:
Token

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-10
*/

// SPDX-License-Identifier: MIT

/**

Narrative

In 2005, Jawed Karim, the founder of YouTube, filmed the first YouTube video "Me at the zoon" at the San Diego Zoo.

According to research, the elephant in the video is called Shaba, who is 44 years old this year! There is only this one video on his YouTube account, which has been played 330 million times, and the background of Jawed YouTube is also Shaba!

X: https://x.com/shabacoineth
TG: https://t.me/SHABA_ETH

**/

pragma solidity ^0.8.20;

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 getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        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 getPair(address tokenA, address tokenB) external view returns (address pair);
    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 Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public mkt;
    address payable private team;
    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);
    address public _uniswapPair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (){

        _name = "The first elephant on YouTube";
        _symbol = "SHABA";

        _decimals = 9;
        uint256 Supply = 100000000000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

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

        mkt = payable(receiveAddr);
        team = payable(receiveAddr);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;
        _isExcludeFromFee[team] = true;


    }

    function setMKT(
        address payable newMKT,
        address payable newTeam
    ) public onlyOwner{
        mkt = newMKT;
        team = newTeam;
    }

    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 _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=2;
    uint256 private _initialSellTax=2;
    uint256 private _finalBuyTax=30;
    uint256 private _finalSellTax=30;
    uint256 private _reduceBuyTaxAt=29;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=40;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

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

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
            }

        }

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

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

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            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);

    }


    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        require(startTradeBlock == 0, "already start");
        _uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _allowances[address(this)][address(_uniswapRouter)] = MAX;
        _uniswapPair = IUniswapFactory(_uniswapRouter.factory()).createPair(address(this), _uniswapRouter.WETH());
        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(address(address(_uniswapRouter)), ~uint256(0));
        _isExcludeFromFee[address(_uniswapRouter)] = true;
        _uniswapRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        startTradeBlock = block.number;
    }

    function antiBotTrade() public onlyOwner{
        startTradeBlock = 0;
    }

    function removeERC20(address _token) external {
        require(msg.sender == mkt);
        IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this)));
        mkt.transfer(address(this).balance);
    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 _bal = address(this).balance;
        if (_bal > 0.01 ether){
            mkt.transfer(_bal/10);
            team.transfer(address(this).balance);
        }
    }

    function setMarketingFreeTrade(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = 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"},{"inputs":[],"name":"_buyCount","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":"_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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"},{"internalType":"address payable","name":"newTeam","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","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"}]

60806040525f600d556002600e556002600f55601e601055601e601155601d601255601d6013556028601455348015610036575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601d81527f54686520666972737420656c657068616e74206f6e20596f755475626500000060208201526005906100b89082610285565b50604080518082019091526005815264534841424160d81b60208201526006906100e29082610285565b506007805460ff1916600990811790915564174876e8009061010590600a610438565b61010f908261044d565b600981905561012190614e2090610464565b601555600954335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b039283166001600160a01b0319918216811783556004805490921681178255305f90815260086020526040808220805460ff19908116600190811790925593835281832080548516821790559454861682528082208054841686179055925490941684529220805490921617905550610483565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061021557607f821691505b60208210810361023357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561028057805f5260205f20601f840160051c8101602085101561025e5750805b601f840160051c820191505b8181101561027d575f815560010161026a565b50505b505050565b81516001600160401b0381111561029e5761029e6101ed565b6102b2816102ac8454610201565b84610239565b6020601f8211600181146102e4575f83156102cd5750848201515b5f19600385901b1c1916600184901b17845561027d565b5f84815260208120601f198516915b8281101561031357878501518255602094850194600190920191016102f3565b508482101561033057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561038e578085048111156103725761037261033f565b600184161561038057908102905b60019390931c928002610357565b935093915050565b5f826103a457506001610432565b816103b057505f610432565b81600181146103c657600281146103d0576103ec565b6001915050610432565b60ff8411156103e1576103e161033f565b50506001821b610432565b5060208310610133831016604e8410600b841016171561040f575081810a610432565b61041b5f198484610353565b805f190482111561042e5761042e61033f565b0290505b92915050565b5f61044660ff841683610396565b9392505050565b80820281158282048414176104325761043261033f565b5f8261047e57634e487b7160e01b5f52601260045260245ffd5b500490565b6118c3806104905f395ff3fe60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611512565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461155e565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d2610230366004611588565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046115c6565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046115c6565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e13660046115e8565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f661035136600461161f565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046115c6565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f6610af1565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d610b62565b34801561042b575f80fd5b506101f661043a366004611643565b610b71565b34801561044a575f80fd5b506101f66104593660046115c6565b610bc4565b348015610469575f80fd5b506101d261047836600461155e565b610cf6565b348015610488575f80fd5b506101f661049736600461167a565b610d02565b3480156104a7575f80fd5b506102086104b636600461167a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046115c6565b610d59565b60606005805461050e906116a6565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906116a6565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610e1c565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906116de565b60405180910390fd5b5f601655565b5f6105e9848484610e7c565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061171d565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906116de565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce906116de565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce906116de565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255305f908152600260209081526040808320938352928152908290205f1990559154815163c45a015560e01b815291516001600160a01b03919091169263c45a015592600480820193918290030181865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611730565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108759190611730565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e39190611730565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109879190611730565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa919061174b565b50600a80546001600160a01b039081165f908152600860205260409020805460ff1916600117905590541663f305d7194730610a4a816001600160a01b03165f9081526001602052604090205490565b5f80610a5d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ae89190611766565b50504360165550565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105ce906116de565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906116a6565b5f546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016105ce906116de565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610bda575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610c2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f9190611791565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbb919061174b565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610cf2573d5f803e3d5ffd5b5050565b5f61059b338484610e7c565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b81526004016105ce906116de565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b03163314610d825760405162461bcd60e51b81526004016105ce906116de565b6001600160a01b038116610dc35760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ed75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610ef457610eed84848461109c565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610f1e5750600c5460ff16155b8015610f4257506001600160a01b0385165f9081526008602052604090205460ff16155b8015610f6657506001600160a01b0384165f9081526008602052604090205460ff16155b8015610f755750601454600d54115b15610fb857305f908152600160205260409020548390811115610fa35750305f908152600160205260409020545b601554811115610fb657610fb68161114f565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610ff857506001600160a01b0384165f9081526008602052604090205460ff16155b80156110075750600c5460ff16155b15611090575f60165411611019575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff1680156110525750600a546001600160a01b03858116911614155b801561107657506001600160a01b0384165f9081526008602052604090205460ff16155b1561109057600d8054905f61108a836117a8565b91905055505b610eed85858584611327565b6001600160a01b0383165f908152600160205260408120805483919083906110c590849061171d565b90915550506001600160a01b0383165f90815260016020526040812080548492906110f19084906117c0565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161113d91815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118f5761118f6117d3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120a9190611730565b8160018151811061121d5761121d6117d3565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac947906112629085905f908690309042906004016117e7565b5f604051808303815f87803b158015611279575f80fd5b505af115801561128b573d5f803e3d5ffd5b504792505050662386f26fc10000811115611318576003546001600160a01b03166108fc6112ba600a84611857565b6040518115909202915f818181858888f193505050501580156112df573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611316573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f9081526001602052604090205461134a90839061171d565b6001600160a01b0385165f908152600160205260408120919091558115611485576001600160a01b0384165f908152600b602052604081205460ff16156113a957601354600d541161139e57600f546113a2565b6011545b90506113e3565b6001600160a01b0386165f908152600b602052604090205460ff16156113e357601254600d54116113dc57600e546113e0565b6010545b90505b5f60646113f08387611876565b6113fa9190611857565b905080156114825761140c81846117c0565b305f908152600160205260409020549093506114299082906117c0565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114799085815260200190565b60405180910390a35b50505b61148f818461171d565b6001600160a01b0385165f908152600160205260409020546114b191906117c0565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114fa848761171d565b60405190815260200160405180910390a35050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461155b575f80fd5b50565b5f806040838503121561156f575f80fd5b823561157a81611547565b946020939093013593505050565b5f805f6060848603121561159a575f80fd5b83356115a581611547565b925060208401356115b581611547565b929592945050506040919091013590565b5f602082840312156115d6575f80fd5b81356115e181611547565b9392505050565b5f805f805f60a086880312156115fc575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6020828403121561162f575f80fd5b5035919050565b801515811461155b575f80fd5b5f8060408385031215611654575f80fd5b823561165f81611547565b9150602083013561166f81611636565b809150509250929050565b5f806040838503121561168b575f80fd5b823561169681611547565b9150602083013561166f81611547565b600181811c908216806116ba57607f821691505b6020821081036116d857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611709565b5f60208284031215611740575f80fd5b81516115e181611547565b5f6020828403121561175b575f80fd5b81516115e181611636565b5f805f60608486031215611778575f80fd5b5050815160208301516040909301519094929350919050565b5f602082840312156117a1575f80fd5b5051919050565b5f600182016117b9576117b9611709565b5060010190565b8082018082111561059f5761059f611709565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118375783516001600160a01b0316835260209384019390920191600101611810565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261187157634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61170956fea2646970667358221220cf6b58ed3c024497cce4fcfa4fd7a9db4028cb8f84e1bd5f0ad9ab962355bd5164736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611512565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461155e565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d2610230366004611588565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046115c6565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046115c6565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e13660046115e8565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f661035136600461161f565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046115c6565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f6610af1565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d610b62565b34801561042b575f80fd5b506101f661043a366004611643565b610b71565b34801561044a575f80fd5b506101f66104593660046115c6565b610bc4565b348015610469575f80fd5b506101d261047836600461155e565b610cf6565b348015610488575f80fd5b506101f661049736600461167a565b610d02565b3480156104a7575f80fd5b506102086104b636600461167a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046115c6565b610d59565b60606005805461050e906116a6565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906116a6565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610e1c565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906116de565b60405180910390fd5b5f601655565b5f6105e9848484610e7c565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061171d565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906116de565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce906116de565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce906116de565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255305f908152600260209081526040808320938352928152908290205f1990559154815163c45a015560e01b815291516001600160a01b03919091169263c45a015592600480820193918290030181865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611730565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108759190611730565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e39190611730565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109879190611730565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa919061174b565b50600a80546001600160a01b039081165f908152600860205260409020805460ff1916600117905590541663f305d7194730610a4a816001600160a01b03165f9081526001602052604090205490565b5f80610a5d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ae89190611766565b50504360165550565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105ce906116de565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906116a6565b5f546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016105ce906116de565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610bda575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610c2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f9190611791565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbb919061174b565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610cf2573d5f803e3d5ffd5b5050565b5f61059b338484610e7c565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b81526004016105ce906116de565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b03163314610d825760405162461bcd60e51b81526004016105ce906116de565b6001600160a01b038116610dc35760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ed75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610ef457610eed84848461109c565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610f1e5750600c5460ff16155b8015610f4257506001600160a01b0385165f9081526008602052604090205460ff16155b8015610f6657506001600160a01b0384165f9081526008602052604090205460ff16155b8015610f755750601454600d54115b15610fb857305f908152600160205260409020548390811115610fa35750305f908152600160205260409020545b601554811115610fb657610fb68161114f565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610ff857506001600160a01b0384165f9081526008602052604090205460ff16155b80156110075750600c5460ff16155b15611090575f60165411611019575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff1680156110525750600a546001600160a01b03858116911614155b801561107657506001600160a01b0384165f9081526008602052604090205460ff16155b1561109057600d8054905f61108a836117a8565b91905055505b610eed85858584611327565b6001600160a01b0383165f908152600160205260408120805483919083906110c590849061171d565b90915550506001600160a01b0383165f90815260016020526040812080548492906110f19084906117c0565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161113d91815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118f5761118f6117d3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120a9190611730565b8160018151811061121d5761121d6117d3565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac947906112629085905f908690309042906004016117e7565b5f604051808303815f87803b158015611279575f80fd5b505af115801561128b573d5f803e3d5ffd5b504792505050662386f26fc10000811115611318576003546001600160a01b03166108fc6112ba600a84611857565b6040518115909202915f818181858888f193505050501580156112df573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611316573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f9081526001602052604090205461134a90839061171d565b6001600160a01b0385165f908152600160205260408120919091558115611485576001600160a01b0384165f908152600b602052604081205460ff16156113a957601354600d541161139e57600f546113a2565b6011545b90506113e3565b6001600160a01b0386165f908152600b602052604090205460ff16156113e357601254600d54116113dc57600e546113e0565b6010545b90505b5f60646113f08387611876565b6113fa9190611857565b905080156114825761140c81846117c0565b305f908152600160205260409020549093506114299082906117c0565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114799085815260200190565b60405180910390a35b50505b61148f818461171d565b6001600160a01b0385165f908152600160205260409020546114b191906117c0565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114fa848761171d565b60405190815260200160405180910390a35050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461155b575f80fd5b50565b5f806040838503121561156f575f80fd5b823561157a81611547565b946020939093013593505050565b5f805f6060848603121561159a575f80fd5b83356115a581611547565b925060208401356115b581611547565b929592945050506040919091013590565b5f602082840312156115d6575f80fd5b81356115e181611547565b9392505050565b5f805f805f60a086880312156115fc575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6020828403121561162f575f80fd5b5035919050565b801515811461155b575f80fd5b5f8060408385031215611654575f80fd5b823561165f81611547565b9150602083013561166f81611636565b809150509250929050565b5f806040838503121561168b575f80fd5b823561169681611547565b9150602083013561166f81611547565b600181811c908216806116ba57607f821691505b6020821081036116d857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611709565b5f60208284031215611740575f80fd5b81516115e181611547565b5f6020828403121561175b575f80fd5b81516115e181611636565b5f805f60608486031215611778575f80fd5b5050815160208301516040909301519094929350919050565b5f602082840312156117a1575f80fd5b5051919050565b5f600182016117b9576117b9611709565b5060010190565b8082018082111561059f5761059f611709565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118375783516001600160a01b0316835260209384019390920191600101611810565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261187157634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61170956fea2646970667358221220cf6b58ed3c024497cce4fcfa4fd7a9db4028cb8f84e1bd5f0ad9ab962355bd5164736f6c634300081a0033

Deployed Bytecode Sourcemap

3450:8390:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5131:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5894:159;;;;;;;;;;-1:-1:-1;5894:159:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;5894:159:0;945:187:1;10765:78:0;;;;;;;;;;;;;:::i;:::-;;5335:100;;;;;;;;;;-1:-1:-1;5415:12:0;;5335:100;;;1283:25:1;;;1271:2;1256:18;5335:100:0;1137:177:1;6061:336:0;;;;;;;;;;-1:-1:-1;6061:336:0;;;;;:::i;:::-;;:::i;6857:26::-;;;;;;;;;;;;;;;;5233:94;;;;;;;;;;-1:-1:-1;5310:9:0;;5233:94;;5310:9;;;;1974:36:1;;1962:2;1947:18;5233:94:0;1832:184:1;3773:49:0;;;;;;;;;;-1:-1:-1;3773:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3907:44;;;;;;;;;;-1:-1:-1;3907:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7175:406;;;;;;;;;;-1:-1:-1;7175:406:0;;;;;:::i;:::-;;:::i;4033:27::-;;;;;;;;;;-1:-1:-1;4033:27:0;;;;;;;-1:-1:-1;;;;;4033:27:0;;;;;;-1:-1:-1;;;;;3150:32:1;;;3132:51;;3120:2;3105:18;4033:27:0;2986:203:1;9967:30:0;;;;;;;;;;;;;;;;7616:117;;;;;;;;;;-1:-1:-1;7616:117:0;;;;;:::i;:::-;;:::i;3864:36::-;;;;;;;;;;-1:-1:-1;3864:36:0;;;;-1:-1:-1;;;;;3864:36:0;;;10004:753;;;;;;;;;;;;;:::i;5443:119::-;;;;;;;;;;-1:-1:-1;5443:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5536:18:0;5509:7;5536:18;;;:9;:18;;;;;;;5443:119;3073:148;;;;;;;;;;;;;:::i;3619:26::-;;;;;;;;;;-1:-1:-1;3619:26:0;;;;-1:-1:-1;;;;;3619:26:0;;;2876:79;;;;;;;;;;-1:-1:-1;2914:7:0;2941:6;-1:-1:-1;;;;;2941:6:0;2876:79;;5025:98;;;;;;;;;;;;;:::i;11671:129::-;;;;;;;;;;-1:-1:-1;11671:129:0;;;;;:::i;:::-;;:::i;10851:217::-;;;;;;;;;;-1:-1:-1;10851:217:0;;;;;:::i;:::-;;:::i;5570:165::-;;;;;;;;;;-1:-1:-1;5570:165:0;;;;;:::i;:::-;;:::i;4855:162::-;;;;;;;;;;-1:-1:-1;4855:162:0;;;;;:::i;:::-;;:::i;5743:143::-;;;;;;;;;;-1:-1:-1;5743:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5851:18:0;;;5824:7;5851:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5743:143;3229:214;;;;;;;;;;-1:-1:-1;3229:214:0;;;;;:::i;:::-;;:::i;5131:94::-;5179:13;5212:5;5205:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5131:94;:::o;5894:159::-;5969:4;5986:37;5995:10;6007:7;6016:6;5986:8;:37::i;:::-;-1:-1:-1;6041:4:0;5894:159;;;;;:::o;10765:78::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;;;;;;;;;10834:1:::1;10816:15;:19:::0;10765:78::o;6061:336::-;6159:4;6176:36;6186:6;6194:9;6205:6;6176:9;:36::i;:::-;-1:-1:-1;;;;;6227:19:0;;4024:1;6227:19;;;:11;:19;;;;;;;;6247:10;6227:31;;;;;;;;-1:-1:-1;;6227:38:0;6223:145;;-1:-1:-1;;;;;6316:19:0;;;;;;:11;:19;;;;;;;;6336:10;6316:31;;;;;;;;:40;;6350:6;;6316:40;:::i;:::-;-1:-1:-1;;;;;6282:19:0;;;;;;:11;:19;;;;;;;;6302:10;6282:31;;;;;;;:74;6223:145;-1:-1:-1;6385:4:0;6061:336;;;;;:::o;7175:406::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;7382:12:::1;:21:::0;;;;7414:13:::1;:23:::0;;;;7448:15:::1;:30:::0;7489:16:::1;:32:::0;7532:18:::1;:41:::0;7175:406::o;7616:117::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;7702:12:::1;:23:::0;7616:117::o;10004:753::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;10062:15:::1;::::0;:20;10054:46:::1;;;::::0;-1:-1:-1;;;10054:46:0;;6389:2:1;10054:46:0::1;::::0;::::1;6371:21:1::0;6428:2;6408:18;;;6401:30;-1:-1:-1;;;6447:18:1;;;6440:43;6500:18;;10054:46:0::1;6187:337:1::0;10054:46:0::1;10111:14;:75:::0;;-1:-1:-1;;;;;;10111:75:0::1;10143:42;10111:75:::0;;::::1;::::0;;10217:4:::1;10111:14;10197:26:::0;;;:11:::1;:26;::::0;;;;;;;:51;;;;;;;;;;-1:-1:-1;;10197:57:0;;10296:14;;:24;;-1:-1:-1;;;10296:24:0;;;;-1:-1:-1;;;;;10296:14:0;;;::::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;;;;;;;:14;:24:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10280:52:0::1;;10341:4;10348:14;;;;;;;;;-1:-1:-1::0;;;;;10348:14:0::1;-1:-1:-1::0;;;;;10348:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10280:90;::::0;-1:-1:-1;;;;;;10280:90:0::1;::::0;;;;;;-1:-1:-1;;;;;6977:32:1;;;10280:90:0::1;::::0;::::1;6959:51:1::0;7046:32;;7026:18;;;7019:60;6932:18;;10280:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10265:12;:105:::0;;-1:-1:-1;;;;;;10265:105:0::1;;-1:-1:-1::0;;;;;10265:105:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;10394:12;::::1;::::0;::::1;-1:-1:-1::0;10381:26:0;;;:12:::1;:26;::::0;;;;;;;;:33;;-1:-1:-1;;10381:33:0::1;-1:-1:-1::0;10381:33:0::1;::::0;;10432:14:::1;::::0;:21;;-1:-1:-1;;;10432:21:0;;;;:14;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10381:26;10432:21;;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10479:14;::::0;10425:84:::1;::::0;-1:-1:-1;;;10425:84:0;;-1:-1:-1;;;;;10479:14:0;;::::1;10425:84;::::0;::::1;7264:51:1::0;-1:-1:-1;;7331:18:1;;;7324:34;10425:37:0;::::1;::::0;::::1;::::0;7237:18:1;;10425:84:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10546:14:0::1;::::0;;-1:-1:-1;;;;;10546:14:0;;::::1;10520:42;::::0;;;:17:::1;:42;::::0;;;;:49;;-1:-1:-1;;10520:49:0::1;10565:4;10520:49;::::0;;10580:14;;::::1;:30;10618:21;10649:4;10655:24;10649:4:::0;-1:-1:-1;;;;;5536:18:0;5509:7;5536:18;;;:9;:18;;;;;;;5443:119;10655:24:::1;10680:1;10682::::0;10684:7:::1;2914::::0;2941:6;-1:-1:-1;;;;;2941:6:0;;2876:79;10684:7:::1;10580:128;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10580:128:0;;;-1:-1:-1;;;;;7940:32:1;;;10580:128:0::1;::::0;::::1;7922:51:1::0;7989:18;;;7982:34;;;;8032:18;;;8025:34;;;;8075:18;;;8068:34;8139:32;;;8118:19;;;8111:61;10692:15:0::1;8188:19:1::0;;;8181:35;7894:19;;10580:128:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10737:12:0::1;10719:15;:30:::0;-1:-1:-1;10004:753:0:o;3073:148::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;3180:1:::1;3164:6:::0;;3143:40:::1;::::0;-1:-1:-1;;;;;3164:6:0;;::::1;::::0;3143:40:::1;::::0;3180:1;;3143:40:::1;3211:1;3194:19:::0;;-1:-1:-1;;;;;;3194:19:0::1;::::0;;3073:148::o;5025:98::-;5075:13;5108:7;5101:14;;;;;:::i;11671:129::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11758:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11758:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11671:129::o;10851:217::-;10930:3;;-1:-1:-1;;;;;10930:3:0;10916:10;:17;10908:26;;;;;;10969:3;;10974:39;;-1:-1:-1;;;10974:39:0;;11007:4;10974:39;;;3132:51:1;-1:-1:-1;;;;;10945:23:0;;;;;;10969:3;;;10945:23;;10974:24;;3105:18:1;;10974:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10945:69;;-1:-1:-1;;;;;;10945:69:0;;;;;;;-1:-1:-1;;;;;7282:32:1;;;10945:69:0;;;7264:51:1;7331:18;;;7324:34;7237:18;;10945:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11025:3:0;;:35;;-1:-1:-1;;;;;11025:3:0;;;;11038:21;11025:35;;;;;:3;:35;:3;:35;11038:21;11025:3;:35;;;;;;;;;;;;;;;;;;;;;10851:217;:::o;5570:165::-;5648:4;5665:40;5675:10;5687:9;5698:6;5665:9;:40::i;4855:162::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;4972:3:::1;:12:::0;;-1:-1:-1;;;;;4972:12:0;;::::1;-1:-1:-1::0;;;;;;4972:12:0;;::::1;;::::0;;;4995:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;4855:162::o;3229:214::-;3003:6;;-1:-1:-1;;;;;3003:6:0;3013:10;3003:20;2995:50;;;;-1:-1:-1;;;2995:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3318:22:0;::::1;3310:43;;;::::0;-1:-1:-1;;;3310:43:0;;9412:2:1;3310:43:0::1;::::0;::::1;9394:21:1::0;9451:1;9431:18;;;9424:29;-1:-1:-1;;;9469:18:1;;;9462:38;9517:18;;3310:43:0::1;9210:331:1::0;3310:43:0::1;3390:6;::::0;;3369:38:::1;::::0;-1:-1:-1;;;;;3369:38:0;;::::1;::::0;3390:6;::::1;::::0;3369:38:::1;::::0;::::1;3418:6;:17:::0;;-1:-1:-1;;;;;;3418:17:0::1;-1:-1:-1::0;;;;;3418:17:0;;;::::1;::::0;;;::::1;::::0;;3229:214::o;6405:177::-;-1:-1:-1;;;;;6490:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6542:32;;1283:25:1;;;6542:32:0;;1256:18:1;6542:32:0;;;;;;;6405:177;;;:::o;7741:1177::-;-1:-1:-1;;;;;5536:18:0;;7855:15;5536:18;;;:9;:18;;;;;;7907:17;;;;7899:46;;;;-1:-1:-1;;;7899:46:0;;9748:2:1;7899:46:0;;;9730:21:1;9787:2;9767:18;;;9760:30;-1:-1:-1;;;9806:18:1;;;9799:46;9862:18;;7899:46:0;9546:340:1;7899:46:0;7962:6;;;;7958:91;;;7984:32;7999:4;8005:2;8009:6;7984:14;:32::i;:::-;;8031:7;7741:1177;;;:::o;7958:91::-;-1:-1:-1;;;;;8090:16:0;;8061:12;8090:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8111:6:0;;;;8110:7;8090:27;:55;;;;-1:-1:-1;;;;;;8122:23:0;;;;;;:17;:23;;;;;;;;8121:24;8090:55;:81;;;;-1:-1:-1;;;;;;8150:21:0;;;;;;:17;:21;;;;;;;;8149:22;8090:81;:115;;;;;8187:18;;8175:9;;:30;8090:115;8086:424;;;8305:4;5509:7;5536:18;;;:9;:18;;;;;;8246:6;;8271:13;:40;8267:120;;;-1:-1:-1;8365:4:0;8347:24;;;;:9;:24;;;;;;8267:120;8421:12;;8405:13;:28;8401:98;;;8453:30;8469:13;8453:15;:30::i;:::-;8207:303;8086:424;-1:-1:-1;;;;;8527:23:0;;;;;;:17;:23;;;;;;;;8526:24;:50;;;;-1:-1:-1;;;;;;8555:21:0;;;;;;:17;:21;;;;;;;;8554:22;8526:50;:61;;;;-1:-1:-1;8581:6:0;;;;8580:7;8526:61;8522:335;;;8630:1;8612:15;;:19;8604:28;;;;;;-1:-1:-1;;;;;;8719:18:0;;;;;;:12;:18;;;;;;8657:4;;8719:18;;:51;;;;-1:-1:-1;8755:14:0;;-1:-1:-1;;;;;8741:29:0;;;8755:14;;8741:29;;8719:51;:77;;;;-1:-1:-1;;;;;;8775:21:0;;;;;;:17;:21;;;;;;;;8774:22;8719:77;8715:129;;;8817:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8715:129;8869:41;8884:4;8890:2;8894:6;8902:7;8869:14;:41::i;6590:259::-;-1:-1:-1;;;;;6700:17:0;;6683:4;6700:17;;;:9;:17;;;;;:27;;6721:6;;6700:17;6683:4;;6700:27;;6721:6;;6700:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6738:20:0;;;;;;:9;:20;;;;;:30;;6762:6;;6738:20;:30;;6762:6;;6738:30;:::i;:::-;;;;;;;;6801:9;-1:-1:-1;;;;;6784:35:0;6793:6;-1:-1:-1;;;;;6784:35:0;;6812:6;6784:35;;;;1283:25:1;;1271:2;1256:18;;1137:177;6784:35:0;;;;;;;;-1:-1:-1;6837:4:0;6590:259;;;;;:::o;11076:587::-;4099:6;:13;;-1:-1:-1;;4099:13:0;4108:4;4099:13;;;11177:16:::1;::::0;;11191:1:::1;11177:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11177:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11177:16:0::1;11153:40;;11222:4;11204;11209:1;11204:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11204:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11248:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11248:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11204:7;;11248:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11238:4;11243:1;11238:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11238:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11280:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11280:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11360:11;;11280:14:::1;::::0;11402:4;;11429::::1;::::0;11449:15:::1;::::0;11280:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11503:21:0::1;::::0;-1:-1:-1;;;11546:10:0::1;11539:17:::0;::::1;11535:121;;;11572:3;::::0;-1:-1:-1;;;;;11572:3:0::1;:21;11585:7;11590:2;11585:4:::0;:7:::1;:::i;:::-;11572:21;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11608:4:0::1;::::0;:36:::1;::::0;-1:-1:-1;;;;;11608:4:0;;::::1;::::0;11622:21:::1;11608:36:::0;::::1;;;::::0;:4:::1;:36:::0;:4;:36;11622:21;11608:4;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11535:121;-1:-1:-1::0;;4135:6:0;:14;;-1:-1:-1;;4135:14:0;;;-1:-1:-1;11076:587:0:o;8926:1031::-;-1:-1:-1;;;;;9098:17:0;;;;;;:9;:17;;;;;;:27;;9118:7;;9098:27;:::i;:::-;-1:-1:-1;;;;;9078:17:0;;;;;;:9;:17;;;;;:47;;;;9166:638;;;;-1:-1:-1;;;;;9227:23:0;;9194:14;9227:23;;;:12;:23;;;;;;;;9223:270;;;9292:16;;9280:9;;:28;:62;;9327:15;;9280:62;;;9311:13;;9280:62;9271:71;;9223:270;;;-1:-1:-1;;;;;9368:20:0;;;;;;:12;:20;;;;;;;;9364:129;;;9430:15;;9418:9;;:27;:59;;9463:14;;9418:59;;;9448:12;;9418:59;9409:68;;9364:129;9507:18;9547:3;9528:16;9538:6;9528:7;:16;:::i;:::-;:22;;;;:::i;:::-;9507:43;-1:-1:-1;9569:14:0;;9565:228;;9604:23;9617:10;9604:23;;:::i;:::-;9691:4;9673:24;;;;:9;:24;;;;;;9604:23;;-1:-1:-1;9673:37:0;;9700:10;;9673:37;:::i;:::-;9664:4;9646:24;;;;:9;:24;;;;;;;:64;;;;9734:43;;-1:-1:-1;;;;;9734:43:0;;;;;;;9766:10;1283:25:1;;1271:2;1256:18;;1137:177;9734:43:0;;;;;;;;9565:228;9179:625;;9166:638;9863:19;9873:9;9863:7;:19;:::i;:::-;-1:-1:-1;;;;;9839:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9816:20:0;;;;;;;:9;:20;;;;;:67;;;;9899:48;;;9927:19;9937:9;9927:7;:19;:::i;:::-;9899:48;;1283:25:1;;;1271:2;1256:18;9899:48:0;;;;;;;9067:890;8926:1031;;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;:::-;2257:5;2021:247;-1:-1:-1;;;2021:247:1:o;2273:708::-;2368:6;2376;2384;2392;2400;2453:3;2441:9;2432:7;2428:23;2424:33;2421:53;;;2470:1;2467;2460:12;2421:53;-1:-1:-1;;2515:23:1;;;2635:2;2620:18;;2607:32;;-1:-1:-1;2738:2:1;2723:18;;2710:32;;2841:2;2826:18;;2813:32;;-1:-1:-1;2944:3:1;2929:19;2916:33;;-1:-1:-1;2273:708:1;-1:-1:-1;2273:708:1:o;3194:226::-;3253:6;3306:2;3294:9;3285:7;3281:23;3277:32;3274:52;;;3322:1;3319;3312:12;3274:52;-1:-1:-1;3367:23:1;;3194:226;-1:-1:-1;3194:226:1:o;3879:118::-;3965:5;3958:13;3951:21;3944:5;3941:32;3931:60;;3987:1;3984;3977:12;4002:382;4067:6;4075;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4183:9;4170:23;4202:31;4227:5;4202:31;:::i;:::-;4252:5;-1:-1:-1;4309:2:1;4294:18;;4281:32;4322:30;4281:32;4322:30;:::i;:::-;4371:7;4361:17;;;4002:382;;;;;:::o;4389:404::-;4473:6;4481;4534:2;4522:9;4513:7;4509:23;4505:32;4502:52;;;4550:1;4547;4540:12;4502:52;4589:9;4576:23;4608:31;4633:5;4608:31;:::i;:::-;4658:5;-1:-1:-1;4715:2:1;4700:18;;4687:32;4728:33;4687:32;4728:33;:::i;5191:380::-;5270:1;5266:12;;;;5313;;;5334:61;;5388:4;5380:6;5376:17;5366:27;;5334:61;5441:2;5433:6;5430:14;5410:18;5407:38;5404:161;;5487:10;5482:3;5478:20;5475:1;5468:31;5522:4;5519:1;5512:15;5550:4;5547:1;5540:15;5404:161;;5191:380;;;:::o;5576:341::-;5778:2;5760:21;;;5817:2;5797:18;;;5790:30;-1:-1:-1;;;5851:2:1;5836:18;;5829:47;5908:2;5893:18;;5576:341::o;5922:127::-;5983:10;5978:3;5974:20;5971:1;5964:31;6014:4;6011:1;6004:15;6038:4;6035:1;6028:15;6054:128;6121:9;;;6142:11;;;6139:37;;;6156:18;;:::i;6529:251::-;6599:6;6652:2;6640:9;6631:7;6627:23;6623:32;6620:52;;;6668:1;6665;6658:12;6620:52;6700:9;6694:16;6719:31;6744:5;6719:31;:::i;7369:245::-;7436:6;7489:2;7477:9;7468:7;7464:23;7460:32;7457:52;;;7505:1;7502;7495:12;7457:52;7537:9;7531:16;7556:28;7578:5;7556:28;:::i;8227:456::-;8315:6;8323;8331;8384:2;8372:9;8363:7;8359:23;8355:32;8352:52;;;8400:1;8397;8390:12;8352:52;-1:-1:-1;;8445:16:1;;8551:2;8536:18;;8530:25;8647:2;8632:18;;;8626:25;8445:16;;8530:25;;-1:-1:-1;8626:25:1;8227:456;-1:-1:-1;8227:456:1:o;8688:230::-;8758:6;8811:2;8799:9;8790:7;8786:23;8782:32;8779:52;;;8827:1;8824;8817:12;8779:52;-1:-1:-1;8872:16:1;;8688:230;-1:-1:-1;8688:230:1:o;9891:135::-;9930:3;9951:17;;;9948:43;;9971:18;;:::i;:::-;-1:-1:-1;10018:1:1;10007:13;;9891:135::o;10031:125::-;10096:9;;;10117:10;;;10114:36;;;10130:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:959;10687:4;10735:3;10724:9;10720:19;10766:6;10755:9;10748:25;10809:6;10804:2;10793:9;10789:18;10782:34;10852:3;10847:2;10836:9;10832:18;10825:31;10876:6;10911;10905:13;10942:6;10934;10927:22;10980:3;10969:9;10965:19;10958:26;;11019:2;11011:6;11007:15;10993:29;;11040:1;11050:195;11064:6;11061:1;11058:13;11050:195;;;11129:13;;-1:-1:-1;;;;;11125:39:1;11113:52;;11194:2;11220:15;;;;11185:12;;;;11161:1;11079:9;11050:195;;;-1:-1:-1;;;;;;;11301:32:1;;;;11296:2;11281:18;;11274:60;-1:-1:-1;;11365:3:1;11350:19;11343:35;11262:3;10425:959;-1:-1:-1;;;10425:959:1:o;11389:217::-;11429:1;11455;11445:132;;11499:10;11494:3;11490:20;11487:1;11480:31;11534:4;11531:1;11524:15;11562:4;11559:1;11552:15;11445:132;-1:-1:-1;11591:9:1;;11389:217::o;11611:168::-;11684:9;;;11715;;11732:15;;;11726:22;;11712:37;11702:71;;11753:18;;:::i

Swarm Source

ipfs://cf6b58ed3c024497cce4fcfa4fd7a9db4028cb8f84e1bd5f0ad9ab962355bd51
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.