ETH Price: $3,331.05 (-1.86%)

Token

PEPEP (PEPEP)
 

Overview

Max Total Supply

420,690,000,000,000 PEPEP

Holders

1,053

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
107,043,986,671.991752832520548312 PEPEP

Value
$0.00
0x223cf0208a471028a8f2a853a56d3a8927ab16ee
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.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-17
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;


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

interface IUniswapRouter {

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

}

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 private MarketingWallet;

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

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

    IUniswapRouter public _uniswapRouter;

    mapping (address => bool) private bots;

    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 = "PEPEP";
        _symbol = "PEPEP";
        _decimals = 18;
        uint256 Supply = 420_690_000_000_000;

        _totalSupply = Supply * 10 ** _decimals;

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

        MarketingWallet = payable(msg.sender);
        _walletMAX = _totalSupply * 2 / 100;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[MarketingWallet] = 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 payable newAddr
    ) public onlyOwner{
        MarketingWallet = 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=0;
    uint256 private _initialSellTax=0;
    uint256 private _finalBuyTax=30;
    uint256 private _finalSellTax=31;
    uint256 private _reduceBuyTaxAt=0;
    uint256 private _reduceSellTaxAt=0;
    uint256 private _preventSwapBefore=0;

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

    uint256 public _walletMAX;

    function setWalletMax(uint8 percentage) public onlyOwner{
        _walletMAX = totalSupply() * percentage / 100;
    }

    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);
            require(!bots[from]);
            takeFee = true;
            
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
                require(balanceOf(to) + amount <= _walletMAX,"walletlimit");
            }

            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() public onlyOwner {
        startTradeBlock = block.number;
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    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){
            MarketingWallet.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":[],"name":"_walletMAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","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 payable","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"percentage","type":"uint8"}],"name":"setWalletMax","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"}]

60806040526000600d819055600e819055600f819055601e601055601f601155601281905560138190556014556015805460ff191660011790553480156200004657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600580825264050455045560dc1b6020909201918252620000b6916004916200050d565b5060408051808201909152600580825264050455045560dc1b6020909201918252620000e391816200050d565b506006805460ff1916601290811790915566017e9d8602b400906200010a90600a62000675565b62000116908262000736565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b031916331790556008546064906200018890600262000736565b62000194919062000609565b601655306000818152600760209081526040808320805460ff1990811660019081179092556001600160a01b038781168652838620805483168417905560035416855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559383526002825280832084845282528083206000199055805163c45a015560e01b81529051849263c45a01559260048082019391829003018186803b1580156200025657600080fd5b505afa1580156200026b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002919190620005b3565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002dd57600080fd5b505afa158015620002f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003189190620005b3565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200036157600080fd5b505af115801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c9190620005b3565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600b6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b1580156200041b57600080fd5b505afa15801562000430573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004569190620005b3565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015620004a557600080fd5b505af1158015620004ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e09190620005e5565b50506001600160a01b03166000908152600760205260409020805460ff1916600117905550620007ab9050565b8280546200051b9062000758565b90600052602060002090601f0160209004810192826200053f57600085556200058a565b82601f106200055a57805160ff19168380011785556200058a565b828001600101855582156200058a579182015b828111156200058a5782518255916020019190600101906200056d565b50620005989291506200059c565b5090565b5b808211156200059857600081556001016200059d565b600060208284031215620005c657600080fd5b81516001600160a01b0381168114620005de57600080fd5b9392505050565b600060208284031215620005f857600080fd5b81518015158114620005de57600080fd5b6000826200062757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200066d57816000190482111562000651576200065162000795565b808516156200065f57918102915b93841c939080029062000631565b509250929050565b6000620005de60ff841683600082620006915750600162000730565b81620006a05750600062000730565b8160018114620006b95760028114620006c457620006e4565b600191505062000730565b60ff841115620006d857620006d862000795565b50506001821b62000730565b5060208310610133831016604e8410600b841016171562000709575081810a62000730565b6200071583836200062c565b80600019048211156200072c576200072c62000795565b0290505b92915050565b600081600019048311821515161562000753576200075362000795565b500290565b600181811c908216806200076d57607f821691505b602082108114156200078f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6118ed80620007bb6000396000f3fe6080604052600436106101c65760003560e01c806365b61b77116100f757806395d89b4111610095578063cefab2af11610064578063cefab2af14610517578063d34628cc14610531578063dd62ed3e14610551578063f2fde38b1461059757600080fd5b806395d89b41146104ad578063a67755c2146104c2578063a9059cbb146104e2578063bc76c0521461050257600080fd5b806370a08231116100d157806370a0823114610424578063715018a61461045a5780638da5cb5b1461046f578063936c044b1461048d57600080fd5b806365b61b77146103cf5780636c580801146103ef5780636f39cfcd1461040457600080fd5b8063319c2f64116101645780633ecad2711161013e5780633ecad2711461032c5780633f80b6d71461035c5780634bf28fd01461037c578063553193ca146103b957600080fd5b8063319c2f64146102ba57806331c2d847146102dc57806336b2e027146102fc57600080fd5b80631b583749116101a05780631b5837491461024c57806323b872dd1461026257806327b1a8e914610282578063313ce5671461029857600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105b7565b6040516101f4919061169b565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461150f565b610649565b60405190151581526020016101f4565b34801561023957600080fd5b506008545b6040519081526020016101f4565b34801561025857600080fd5b5061023e60165481565b34801561026e57600080fd5b5061021d61027d3660046114a0565b61065f565b34801561028e57600080fd5b5061023e600d5481565b3480156102a457600080fd5b5060065460405160ff90911681526020016101f4565b3480156102c657600080fd5b506102da6102d5366004611678565b6106f6565b005b3480156102e857600080fd5b506102da6102f736600461153b565b610752565b34801561030857600080fd5b5061021d610317366004611426565b60076020526000908152604090205460ff1681565b34801561033857600080fd5b5061021d610347366004611426565b600b6020526000908152604090205460ff1681565b34801561036857600080fd5b506102da61037736600461163d565b6107e8565b34801561038857600080fd5b50600c546103a19061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b3480156103c557600080fd5b5061023e60175481565b3480156103db57600080fd5b506009546103a1906001600160a01b031681565b3480156103fb57600080fd5b506102da610829565b34801561041057600080fd5b506102da61041f366004611426565b610859565b34801561043057600080fd5b5061023e61043f366004611426565b6001600160a01b031660009081526001602052604090205490565b34801561046657600080fd5b506102da6108a5565b34801561047b57600080fd5b506000546001600160a01b03166103a1565b34801561049957600080fd5b506102da6104a83660046114e1565b610919565b3480156104b957600080fd5b506101e761096e565b3480156104ce57600080fd5b506102da6104dd366004611426565b61097d565b3480156104ee57600080fd5b5061021d6104fd36600461150f565b610ace565b34801561050e57600080fd5b506102da610adb565b34801561052357600080fd5b5060155461021d9060ff1681565b34801561053d57600080fd5b506102da61054c36600461153b565b610b19565b34801561055d57600080fd5b5061023e61056c366004611467565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506102da6105b2366004611426565b610bab565b6060600480546105c6906117fc565b80601f01602080910402602001604051908101604052809291908181526020018280546105f2906117fc565b801561063f5780601f106106145761010080835404028352916020019161063f565b820191906000526020600020905b81548152906001019060200180831161062257829003601f168201915b5050505050905090565b6000610656338484610c71565b50600192915050565b600061066c848484610cd2565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106ec576001600160a01b03841660009081526002602090815260408083203384529091529020546106c79083906117e5565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107295760405162461bcd60e51b8152600401610720906116f0565b60405180910390fd5b60648160ff1661073860085490565b61074291906117c6565b61074c91906117a4565b60165550565b6000546001600160a01b0316331461077c5760405162461bcd60e51b8152600401610720906116f0565b60005b81518110156107e4576000600a60008484815181106107a0576107a0611868565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107dc81611837565b91505061077f565b5050565b6000546001600160a01b031633146108125760405162461bcd60e51b8152600401610720906116f0565b601094909455601192909255601255601355601455565b6000546001600160a01b031633146108535760405162461bcd60e51b8152600401610720906116f0565b43601755565b6000546001600160a01b031633146108835760405162461bcd60e51b8152600401610720906116f0565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108cf5760405162461bcd60e51b8152600401610720906116f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109435760405162461bcd60e51b8152600401610720906116f0565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105c6906117fc565b6001600160a01b0381163014610acb576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611624565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610a5957600080fd5b505af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611607565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156107e4573d6000803e3d6000fd5b50565b6000610656338484610cd2565b6000546001600160a01b03163314610b055760405162461bcd60e51b8152600401610720906116f0565b6015805460ff19811660ff90911615179055565b6000546001600160a01b03163314610b435760405162461bcd60e51b8152600401610720906116f0565b60005b81518110156107e4576001600a6000848481518110610b6757610b67611868565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba381611837565b915050610b46565b6000546001600160a01b03163314610bd55760405162461bcd60e51b8152600401610720906116f0565b6001600160a01b038116610c165760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610720565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610d2e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610720565b600c5460ff1615610d4b57610d44848484610fb8565b5050505050565b6001600160a01b0383166000908152600b602052604081205460ff168015610d765750600c5460ff16155b8015610d9b57506001600160a01b03851660009081526007602052604090205460ff16155b8015610dc057506001600160a01b03841660009081526007602052604090205460ff16155b8015610dcf5750601454600d54115b15610e1057306000908152600160205260409020548390811115610dff5750306000908152600160205260409020545b8015610e0e57610e0e8161106d565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610e5257506001600160a01b03841660009081526007602052604090205460ff16155b8015610e615750600c5460ff16155b15610fac57600060175411610e7557600080fd5b6001600160a01b0385166000908152600a602052604090205460ff1615610e9b57600080fd5b506001600160a01b0384166000908152600b602052604090205460019060ff168015610ed557506009546001600160a01b03858116911614155b8015610efa57506001600160a01b03841660009081526007602052604090205460ff16155b15610f7d57600d8054906000610f0f83611837565b919050555060165483610f37866001600160a01b031660009081526001602052604090205490565b610f41919061178c565b1115610f7d5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b6044820152606401610720565b60155460ff168015610f8e57508183145b15610fac57610f9f612710846117a4565b610fa990846117e5565b92505b610d4485858584611222565b6001600160a01b038316600090815260016020526040812080548391908390610fe29084906117e5565b90915550506001600160a01b0383166000908152600160205260408120805484929061100f90849061178c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161105b91815260200190565b60405180910390a35060019392505050565b600c805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110af576110af611868565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b919061144a565b8160018151811061114e5761114e611868565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac9479061119490859060009086903090429060040161171b565b600060405180830381600087803b1580156111ae57600080fd5b505af11580156111c2573d6000803e3d6000fd5b504792505050662386f26fc10000811115611213576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611211573d6000803e3d6000fd5b505b5050600c805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546112469083906117e5565b6001600160a01b0385166000908152600160205260408120919091558115611387576001600160a01b0384166000908152600b602052604081205460ff16156112a757601354600d541161129c57600f546112a0565b6011545b90506112e2565b6001600160a01b0386166000908152600b602052604090205460ff16156112e257601254600d54116112db57600e546112df565b6010545b90505b600060646112f083876117c6565b6112fa91906117a4565b905080156113845761130c818461178c565b3060009081526001602052604090205490935061132a90829061178c565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061137b9085815260200190565b60405180910390a35b50505b61139181846117e5565b6001600160a01b0385166000908152600160205260409020546113b4919061178c565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113fe84876117e5565b60405190815260200160405180910390a35050505050565b803561142181611894565b919050565b60006020828403121561143857600080fd5b813561144381611894565b9392505050565b60006020828403121561145c57600080fd5b815161144381611894565b6000806040838503121561147a57600080fd5b823561148581611894565b9150602083013561149581611894565b809150509250929050565b6000806000606084860312156114b557600080fd5b83356114c081611894565b925060208401356114d081611894565b929592945050506040919091013590565b600080604083850312156114f457600080fd5b82356114ff81611894565b91506020830135611495816118a9565b6000806040838503121561152257600080fd5b823561152d81611894565b946020939093013593505050565b6000602080838503121561154e57600080fd5b823567ffffffffffffffff8082111561156657600080fd5b818501915085601f83011261157a57600080fd5b81358181111561158c5761158c61187e565b8060051b604051601f19603f830116810181811085821117156115b1576115b161187e565b604052828152858101935084860182860187018a10156115d057600080fd5b600095505b838610156115fa576115e681611416565b8552600195909501949386019386016115d5565b5098975050505050505050565b60006020828403121561161957600080fd5b8151611443816118a9565b60006020828403121561163657600080fd5b5051919050565b600080600080600060a0868803121561165557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60006020828403121561168a57600080fd5b813560ff8116811461144357600080fd5b600060208083528351808285015260005b818110156116c8578581018301518582016040015282016116ac565b818111156116da576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561176b5784516001600160a01b031683529383019391830191600101611746565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561179f5761179f611852565b500190565b6000826117c157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156117e0576117e0611852565b500290565b6000828210156117f7576117f7611852565b500390565b600181811c9082168061181057607f821691505b6020821081141561183157634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561184b5761184b611852565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610acb57600080fd5b8015158114610acb57600080fdfea264697066735822122061944e5c0c20ee921b4699934cd94a5c31f29352723b0e6f0411eb5f5ef3e23964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806365b61b77116100f757806395d89b4111610095578063cefab2af11610064578063cefab2af14610517578063d34628cc14610531578063dd62ed3e14610551578063f2fde38b1461059757600080fd5b806395d89b41146104ad578063a67755c2146104c2578063a9059cbb146104e2578063bc76c0521461050257600080fd5b806370a08231116100d157806370a0823114610424578063715018a61461045a5780638da5cb5b1461046f578063936c044b1461048d57600080fd5b806365b61b77146103cf5780636c580801146103ef5780636f39cfcd1461040457600080fd5b8063319c2f64116101645780633ecad2711161013e5780633ecad2711461032c5780633f80b6d71461035c5780634bf28fd01461037c578063553193ca146103b957600080fd5b8063319c2f64146102ba57806331c2d847146102dc57806336b2e027146102fc57600080fd5b80631b583749116101a05780631b5837491461024c57806323b872dd1461026257806327b1a8e914610282578063313ce5671461029857600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76105b7565b6040516101f4919061169b565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461150f565b610649565b60405190151581526020016101f4565b34801561023957600080fd5b506008545b6040519081526020016101f4565b34801561025857600080fd5b5061023e60165481565b34801561026e57600080fd5b5061021d61027d3660046114a0565b61065f565b34801561028e57600080fd5b5061023e600d5481565b3480156102a457600080fd5b5060065460405160ff90911681526020016101f4565b3480156102c657600080fd5b506102da6102d5366004611678565b6106f6565b005b3480156102e857600080fd5b506102da6102f736600461153b565b610752565b34801561030857600080fd5b5061021d610317366004611426565b60076020526000908152604090205460ff1681565b34801561033857600080fd5b5061021d610347366004611426565b600b6020526000908152604090205460ff1681565b34801561036857600080fd5b506102da61037736600461163d565b6107e8565b34801561038857600080fd5b50600c546103a19061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b3480156103c557600080fd5b5061023e60175481565b3480156103db57600080fd5b506009546103a1906001600160a01b031681565b3480156103fb57600080fd5b506102da610829565b34801561041057600080fd5b506102da61041f366004611426565b610859565b34801561043057600080fd5b5061023e61043f366004611426565b6001600160a01b031660009081526001602052604090205490565b34801561046657600080fd5b506102da6108a5565b34801561047b57600080fd5b506000546001600160a01b03166103a1565b34801561049957600080fd5b506102da6104a83660046114e1565b610919565b3480156104b957600080fd5b506101e761096e565b3480156104ce57600080fd5b506102da6104dd366004611426565b61097d565b3480156104ee57600080fd5b5061021d6104fd36600461150f565b610ace565b34801561050e57600080fd5b506102da610adb565b34801561052357600080fd5b5060155461021d9060ff1681565b34801561053d57600080fd5b506102da61054c36600461153b565b610b19565b34801561055d57600080fd5b5061023e61056c366004611467565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506102da6105b2366004611426565b610bab565b6060600480546105c6906117fc565b80601f01602080910402602001604051908101604052809291908181526020018280546105f2906117fc565b801561063f5780601f106106145761010080835404028352916020019161063f565b820191906000526020600020905b81548152906001019060200180831161062257829003601f168201915b5050505050905090565b6000610656338484610c71565b50600192915050565b600061066c848484610cd2565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106ec576001600160a01b03841660009081526002602090815260408083203384529091529020546106c79083906117e5565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107295760405162461bcd60e51b8152600401610720906116f0565b60405180910390fd5b60648160ff1661073860085490565b61074291906117c6565b61074c91906117a4565b60165550565b6000546001600160a01b0316331461077c5760405162461bcd60e51b8152600401610720906116f0565b60005b81518110156107e4576000600a60008484815181106107a0576107a0611868565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107dc81611837565b91505061077f565b5050565b6000546001600160a01b031633146108125760405162461bcd60e51b8152600401610720906116f0565b601094909455601192909255601255601355601455565b6000546001600160a01b031633146108535760405162461bcd60e51b8152600401610720906116f0565b43601755565b6000546001600160a01b031633146108835760405162461bcd60e51b8152600401610720906116f0565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108cf5760405162461bcd60e51b8152600401610720906116f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109435760405162461bcd60e51b8152600401610720906116f0565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105c6906117fc565b6001600160a01b0381163014610acb576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611624565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610a5957600080fd5b505af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611607565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156107e4573d6000803e3d6000fd5b50565b6000610656338484610cd2565b6000546001600160a01b03163314610b055760405162461bcd60e51b8152600401610720906116f0565b6015805460ff19811660ff90911615179055565b6000546001600160a01b03163314610b435760405162461bcd60e51b8152600401610720906116f0565b60005b81518110156107e4576001600a6000848481518110610b6757610b67611868565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba381611837565b915050610b46565b6000546001600160a01b03163314610bd55760405162461bcd60e51b8152600401610720906116f0565b6001600160a01b038116610c165760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610720565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610d2e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610720565b600c5460ff1615610d4b57610d44848484610fb8565b5050505050565b6001600160a01b0383166000908152600b602052604081205460ff168015610d765750600c5460ff16155b8015610d9b57506001600160a01b03851660009081526007602052604090205460ff16155b8015610dc057506001600160a01b03841660009081526007602052604090205460ff16155b8015610dcf5750601454600d54115b15610e1057306000908152600160205260409020548390811115610dff5750306000908152600160205260409020545b8015610e0e57610e0e8161106d565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610e5257506001600160a01b03841660009081526007602052604090205460ff16155b8015610e615750600c5460ff16155b15610fac57600060175411610e7557600080fd5b6001600160a01b0385166000908152600a602052604090205460ff1615610e9b57600080fd5b506001600160a01b0384166000908152600b602052604090205460019060ff168015610ed557506009546001600160a01b03858116911614155b8015610efa57506001600160a01b03841660009081526007602052604090205460ff16155b15610f7d57600d8054906000610f0f83611837565b919050555060165483610f37866001600160a01b031660009081526001602052604090205490565b610f41919061178c565b1115610f7d5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b6044820152606401610720565b60155460ff168015610f8e57508183145b15610fac57610f9f612710846117a4565b610fa990846117e5565b92505b610d4485858584611222565b6001600160a01b038316600090815260016020526040812080548391908390610fe29084906117e5565b90915550506001600160a01b0383166000908152600160205260408120805484929061100f90849061178c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161105b91815260200190565b60405180910390a35060019392505050565b600c805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110af576110af611868565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561110357600080fd5b505afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b919061144a565b8160018151811061114e5761114e611868565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac9479061119490859060009086903090429060040161171b565b600060405180830381600087803b1580156111ae57600080fd5b505af11580156111c2573d6000803e3d6000fd5b504792505050662386f26fc10000811115611213576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611211573d6000803e3d6000fd5b505b5050600c805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546112469083906117e5565b6001600160a01b0385166000908152600160205260408120919091558115611387576001600160a01b0384166000908152600b602052604081205460ff16156112a757601354600d541161129c57600f546112a0565b6011545b90506112e2565b6001600160a01b0386166000908152600b602052604090205460ff16156112e257601254600d54116112db57600e546112df565b6010545b90505b600060646112f083876117c6565b6112fa91906117a4565b905080156113845761130c818461178c565b3060009081526001602052604090205490935061132a90829061178c565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061137b9085815260200190565b60405180910390a35b50505b61139181846117e5565b6001600160a01b0385166000908152600160205260409020546113b4919061178c565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113fe84876117e5565b60405190815260200160405180910390a35050505050565b803561142181611894565b919050565b60006020828403121561143857600080fd5b813561144381611894565b9392505050565b60006020828403121561145c57600080fd5b815161144381611894565b6000806040838503121561147a57600080fd5b823561148581611894565b9150602083013561149581611894565b809150509250929050565b6000806000606084860312156114b557600080fd5b83356114c081611894565b925060208401356114d081611894565b929592945050506040919091013590565b600080604083850312156114f457600080fd5b82356114ff81611894565b91506020830135611495816118a9565b6000806040838503121561152257600080fd5b823561152d81611894565b946020939093013593505050565b6000602080838503121561154e57600080fd5b823567ffffffffffffffff8082111561156657600080fd5b818501915085601f83011261157a57600080fd5b81358181111561158c5761158c61187e565b8060051b604051601f19603f830116810181811085821117156115b1576115b161187e565b604052828152858101935084860182860187018a10156115d057600080fd5b600095505b838610156115fa576115e681611416565b8552600195909501949386019386016115d5565b5098975050505050505050565b60006020828403121561161957600080fd5b8151611443816118a9565b60006020828403121561163657600080fd5b5051919050565b600080600080600060a0868803121561165557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60006020828403121561168a57600080fd5b813560ff8116811461144357600080fd5b600060208083528351808285015260005b818110156116c8578581018301518582016040015282016116ac565b818111156116da576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561176b5784516001600160a01b031683529383019391830191600101611746565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561179f5761179f611852565b500190565b6000826117c157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156117e0576117e0611852565b500290565b6000828210156117f7576117f7611852565b500390565b600181811c9082168061181057607f821691505b6020821081141561183157634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561184b5761184b611852565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610acb57600080fd5b8015158114610acb57600080fdfea264697066735822122061944e5c0c20ee921b4699934cd94a5c31f29352723b0e6f0411eb5f5ef3e23964736f6c63430008070033

Deployed Bytecode Sourcemap

2506:8842:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5478:159;;;;;;;;;;-1:-1:-1;5478:159:0;;;;;:::i;:::-;;:::i;:::-;;;5451:14:1;;5444:22;5426:41;;5414:2;5399:18;5478:159:0;5286:187:1;4919:100:0;;;;;;;;;;-1:-1:-1;4999:12:0;;4919:100;;;7823:25:1;;;7811:2;7796:18;4919:100:0;7677:177:1;7303:25:0;;;;;;;;;;;;;;;;5645:336;;;;;;;;;;-1:-1:-1;5645:336:0;;;;;:::i;:::-;;:::i;6441:26::-;;;;;;;;;;;;;;;;4817:94;;;;;;;;;;-1:-1:-1;4894:9:0;;4817:94;;4894:9;;;;8986:36:1;;8974:2;8959:18;4817:94:0;8844:184:1;7337:120:0;;;;;;;;;;-1:-1:-1;7337:120:0;;;;;:::i;:::-;;:::i;:::-;;10464:162;;;;;;;;;;-1:-1:-1;10464:162:0;;;;;:::i;:::-;;:::i;2811:49::-;;;;;;;;;;-1:-1:-1;2811:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3002:44;;;;;;;;;;-1:-1:-1;3002:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6756:406;;;;;;;;;;-1:-1:-1;6756:406:0;;;;;:::i;:::-;;:::i;3132:27::-;;;;;;;;;;-1:-1:-1;3132:27:0;;;;;;;-1:-1:-1;;;;;3132:27:0;;;;;;-1:-1:-1;;;;;4955:32:1;;;4937:51;;4925:2;4910:18;3132:27:0;4791:203:1;9890:30:0;;;;;;;;;;;;;;;;2910:36;;;;;;;;;;-1:-1:-1;2910:36:0;;;;-1:-1:-1;;;;;2910:36:0;;;9927:88;;;;;;;;;;;;;:::i;4479:122::-;;;;;;;;;;-1:-1:-1;4479:122:0;;;;;:::i;:::-;;:::i;5027:119::-;;;;;;;;;;-1:-1:-1;5027:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5120:18:0;5093:7;5120:18;;;:9;:18;;;;;;;5027:119;2129:148;;;;;;;;;;;;;:::i;1932:79::-;;;;;;;;;;-1:-1:-1;1970:7:0;1997:6;-1:-1:-1;;;;;1997:6:0;1932:79;;11187:121;;;;;;;;;;-1:-1:-1;11187:121:0;;;;;:::i;:::-;;:::i;4609:98::-;;;;;;;;;;;;;:::i;10023:261::-;;;;;;;;;;-1:-1:-1;10023:261:0;;;;;:::i;:::-;;:::i;5154:165::-;;;;;;;;;;-1:-1:-1;5154:165:0;;;;;:::i;:::-;;:::i;7208:87::-;;;;;;;;;;;;;:::i;7170:31::-;;;;;;;;;;-1:-1:-1;7170:31:0;;;;;;;;10292:164;;;;;;;;;;-1:-1:-1;10292:164:0;;;;;:::i;:::-;;:::i;5327:143::-;;;;;;;;;;-1:-1:-1;5327:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5435:18:0;;;5408:7;5435:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5327:143;2285:214;;;;;;;;;;-1:-1:-1;2285:214:0;;;;;:::i;:::-;;:::i;4715:94::-;4763:13;4796:5;4789:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:94;:::o;5478:159::-;5553:4;5570:37;5579:10;5591:7;5600:6;5570:8;:37::i;:::-;-1:-1:-1;5625:4:0;5478:159;;;;:::o;5645:336::-;5743:4;5760:36;5770:6;5778:9;5789:6;5760:9;:36::i;:::-;-1:-1:-1;;;;;5811:19:0;;3121:1;5811:19;;;:11;:19;;;;;;;;5831:10;5811:31;;;;;;;;-1:-1:-1;;5811:38:0;5807:145;;-1:-1:-1;;;;;5900:19:0;;;;;;:11;:19;;;;;;;;5920:10;5900:31;;;;;;;;:40;;5934:6;;5900:40;:::i;:::-;-1:-1:-1;;;;;5866:19:0;;;;;;:11;:19;;;;;;;;5886:10;5866:31;;;;;;;:74;5807:145;-1:-1:-1;5969:4:0;5645:336;;;;;:::o;7337:120::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;;;;;;;;;7446:3:::1;7433:10;7417:26;;:13;4999:12:::0;;;4919:100;7417:13:::1;:26;;;;:::i;:::-;:32;;;;:::i;:::-;7404:10;:45:::0;-1:-1:-1;7337:120:0:o;10464:162::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;10537:6:::1;10532:87;10553:6;:13;10549:1;:17;10532:87;;;10604:5;10586:4;:15;10591:6;10598:1;10591:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10586:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10586:15:0;:23;;-1:-1:-1;;10586:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10568:3;::::1;::::0;::::1;:::i;:::-;;;;10532:87;;;;10464:162:::0;:::o;6756:406::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;6963:12:::1;:21:::0;;;;6995:13:::1;:23:::0;;;;7029:15:::1;:30:::0;7070:16:::1;:32:::0;7113:18:::1;:41:::0;6756:406::o;9927:88::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;9995:12:::1;9977:15;:30:::0;9927:88::o;4479:122::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;4568:15:::1;:25:::0;;-1:-1:-1;;;;;;4568:25:0::1;-1:-1:-1::0;;;;;4568:25:0;;;::::1;::::0;;;::::1;::::0;;4479:122::o;2129:148::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;2236:1:::1;2220:6:::0;;2199:40:::1;::::0;-1:-1:-1;;;;;2220:6:0;;::::1;::::0;2199:40:::1;::::0;2236:1;;2199:40:::1;2267:1;2250:19:::0;;-1:-1:-1;;;;;;2250:19:0::1;::::0;;2129:148::o;11187:121::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11266:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11266:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11187:121::o;4609:98::-;4659:13;4692:7;4685:14;;;;;:::i;10023:261::-;-1:-1:-1;;;;;10083:23:0;;10101:4;10083:23;10080:197;;10146:15;;10163:39;;-1:-1:-1;;;10163:39:0;;10196:4;10163:39;;;4937:51:1;-1:-1:-1;;;;;10122:23:0;;;;;;10146:15;;;10122:23;;10163:24;;4910:18:1;;10163:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10122:81;;-1:-1:-1;;;;;;10122:81:0;;;;;;;-1:-1:-1;;;;;5199:32:1;;;10122:81:0;;;5181:51:1;5248:18;;;5241:34;5154:18;;10122:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10218:15:0;;:47;;-1:-1:-1;;;;;10218:15:0;;;;10243:21;10218:47;;;;;:15;:47;:15;:47;10243:21;10218:15;:47;;;;;;;;;;;;;;;;;;;10080:197;10023:261;:::o;5154:165::-;5232:4;5249:40;5259:10;5271:9;5282:6;5249:9;:40::i;7208:87::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;7275:12:::1;::::0;;-1:-1:-1;;7259:28:0;::::1;7275:12;::::0;;::::1;7274:13;7259:28;::::0;;7208:87::o;10292:164::-;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;10366:6:::1;10361:88;10382:5;:12;10378:1;:16;10361:88;;;10433:4;10416;:14;10421:5;10427:1;10421:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10416:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10416:14:0;:21;;-1:-1:-1;;10416:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10396:3;::::1;::::0;::::1;:::i;:::-;;;;10361:88;;2285:214:::0;2059:6;;-1:-1:-1;;;;;2059:6:0;2069:10;2059:20;2051:50;;;;-1:-1:-1;;;2051:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2374:22:0;::::1;2366:43;;;::::0;-1:-1:-1;;;2366:43:0;;6857:2:1;2366:43:0::1;::::0;::::1;6839:21:1::0;6896:1;6876:18;;;6869:29;-1:-1:-1;;;6914:18:1;;;6907:38;6962:18;;2366:43:0::1;6655:331:1::0;2366:43:0::1;2446:6;::::0;;2425:38:::1;::::0;-1:-1:-1;;;;;2425:38:0;;::::1;::::0;2446:6;::::1;::::0;2425:38:::1;::::0;::::1;2474:6;:17:::0;;-1:-1:-1;;;;;;2474:17:0::1;-1:-1:-1::0;;;;;2474:17:0;;;::::1;::::0;;;::::1;::::0;;2285:214::o;5989:177::-;-1:-1:-1;;;;;6074:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6126:32;;7823:25:1;;;6126:32:0;;7796:18:1;6126:32:0;;;;;;;5989:177;;;:::o;7465:1378::-;-1:-1:-1;;;;;5120:18:0;;7579:15;5120:18;;;:9;:18;;;;;;7631:17;;;;7623:46;;;;-1:-1:-1;;;7623:46:0;;6512:2:1;7623:46:0;;;6494:21:1;6551:2;6531:18;;;6524:30;-1:-1:-1;;;6570:18:1;;;6563:46;6626:18;;7623:46:0;6310:340:1;7623:46:0;7686:6;;;;7682:91;;;7708:32;7723:4;7729:2;7733:6;7708:14;:32::i;:::-;;7755:7;7465:1378;;;:::o;7682:91::-;-1:-1:-1;;;;;7814:16:0;;7785:12;7814:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7835:6:0;;;;7834:7;7814:27;:55;;;;-1:-1:-1;;;;;;7846:23:0;;;;;;:17;:23;;;;;;;;7845:24;7814:55;:81;;;;-1:-1:-1;;;;;;7874:21:0;;;;;;:17;:21;;;;;;;;7873:22;7814:81;:115;;;;;7911:18;;7899:9;;:30;7814:115;7810:413;;;8029:4;5093:7;5120:18;;;:9;:18;;;;;;7970:6;;7995:13;:40;7991:120;;;-1:-1:-1;8089:4:0;8071:24;;;;:9;:24;;;;;;7991:120;8129:17;;8125:87;;8166:30;8182:13;8166:15;:30::i;:::-;7931:292;7810:413;-1:-1:-1;;;;;8240:23:0;;;;;;:17;:23;;;;;;;;8239:24;:50;;;;-1:-1:-1;;;;;;8268:21:0;;;;;;:17;:21;;;;;;;;8267:22;8239:50;:61;;;;-1:-1:-1;8294:6:0;;;;8293:7;8239:61;8235:547;;;8343:1;8325:15;;:19;8317:28;;;;;;-1:-1:-1;;;;;8369:10:0;;;;;;:4;:10;;;;;;;;8368:11;8360:20;;;;;;-1:-1:-1;;;;;;8442:18:0;;;;;;:12;:18;;;;;;8405:4;;8442:18;;:51;;;;-1:-1:-1;8478:14:0;;-1:-1:-1;;;;;8464:29:0;;;8478:14;;8464:29;;8442:51;:77;;;;-1:-1:-1;;;;;;8498:21:0;;;;;;:17;:21;;;;;;;;8497:22;8442:77;8438:207;;;8540:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8604:10;;8594:6;8578:13;8588:2;-1:-1:-1;;;;;5120:18:0;5093:7;5120:18;;;:9;:18;;;;;;;5027:119;8578:13;:22;;;;:::i;:::-;:36;;8570:59;;;;-1:-1:-1;;;8570:59:0;;7193:2:1;8570:59:0;;;7175:21:1;7232:2;7212:18;;;7205:30;-1:-1:-1;;;7251:18:1;;;7244:41;7302:18;;8570:59:0;6991:335:1;8570:59:0;8665:12;;;;:33;;;;;8691:7;8681:6;:17;8665:33;8661:108;;;8738:14;8747:5;8738:6;:14;:::i;:::-;8728:25;;:6;:25;:::i;:::-;8719:34;;8661:108;8794:41;8809:4;8815:2;8819:6;8827:7;8794:14;:41::i;6174:259::-;-1:-1:-1;;;;;6284:17:0;;6267:4;6284:17;;;:9;:17;;;;;:27;;6305:6;;6284:17;6267:4;;6284:27;;6305:6;;6284:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6322:20:0;;;;;;:9;:20;;;;;:30;;6346:6;;6322:20;:30;;6346:6;;6322:30;:::i;:::-;;;;;;;;6385:9;-1:-1:-1;;;;;6368:35:0;6377:6;-1:-1:-1;;;;;6368:35:0;;6396:6;6368:35;;;;7823:25:1;;7811:2;7796:18;;7677:177;6368:35:0;;;;;;;;-1:-1:-1;6421:4:0;6174:259;;;;;:::o;10634:545::-;3200:6;:13;;-1:-1:-1;;3200:13:0;3209:4;3200:13;;;10735:16:::1;::::0;;10749:1:::1;10735:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10735:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10735:16:0::1;10711:40;;10780:4;10762;10767:1;10762:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10762:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10806:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10806:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10762:7;;10806:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10796:4;10801:1;10796:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10796:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10838:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10838:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;10918:11;;10838:14:::1;::::0;10960:4;;10987::::1;::::0;11007:15:::1;::::0;10838:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11061:21:0::1;::::0;-1:-1:-1;;;11104:10:0::1;11097:17:::0;::::1;11093:79;;;11130:15;::::0;:30:::1;::::0;-1:-1:-1;;;;;11130:15:0;;::::1;::::0;:30;::::1;;;::::0;11155:4;;11130:15:::1;:30:::0;:15;:30;11155:4;11130:15;:30;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11093:79;-1:-1:-1::0;;3236:6:0;:14;;-1:-1:-1;;3236:14:0;;;-1:-1:-1;10634:545:0:o;8851:1031::-;-1:-1:-1;;;;;9023:17:0;;;;;;:9;:17;;;;;;:27;;9043:7;;9023:27;:::i;:::-;-1:-1:-1;;;;;9003:17:0;;;;;;:9;:17;;;;;:47;;;;9091:638;;;;-1:-1:-1;;;;;9152:23:0;;9119:14;9152:23;;;:12;:23;;;;;;;;9148:270;;;9217:16;;9205:9;;:28;:62;;9252:15;;9205:62;;;9236:13;;9205:62;9196:71;;9148:270;;;-1:-1:-1;;;;;9293:20:0;;;;;;:12;:20;;;;;;;;9289:129;;;9355:15;;9343:9;;:27;:59;;9388:14;;9343:59;;;9373:12;;9343:59;9334:68;;9289:129;9432:18;9472:3;9453:16;9463:6;9453:7;:16;:::i;:::-;:22;;;;:::i;:::-;9432:43;-1:-1:-1;9494:14:0;;9490:228;;9529:23;9542:10;9529:23;;:::i;:::-;9616:4;9598:24;;;;:9;:24;;;;;;9529:23;;-1:-1:-1;9598:37:0;;9625:10;;9598:37;:::i;:::-;9589:4;9571:24;;;;:9;:24;;;;;;;:64;;;;9659:43;;-1:-1:-1;;;;;9659:43:0;;;;;;;9691:10;7823:25:1;;7811:2;7796:18;;7677:177;9659:43:0;;;;;;;;9490:228;9104:625;;9091:638;9788:19;9798:9;9788:7;:19;:::i;:::-;-1:-1:-1;;;;;9764:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9741:20:0;;;;;;;:9;:20;;;;;:67;;;;9824:48;;;9852:19;9862:9;9852:7;:19;:::i;:::-;9824:48;;7823:25:1;;;7811:2;7796:18;9824:48:0;;;;;;;8992:890;8851:1031;;;;:::o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;:::-;389:5;153:247;-1:-1:-1;;;153:247:1:o;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;921:388::-;989:6;997;1050:2;1038:9;1029:7;1025:23;1021:32;1018:52;;;1066:1;1063;1056:12;1018:52;1105:9;1092:23;1124:31;1149:5;1124:31;:::i;:::-;1174:5;-1:-1:-1;1231:2:1;1216:18;;1203:32;1244:33;1203:32;1244:33;:::i;:::-;1296:7;1286:17;;;921:388;;;;;:::o;1314:456::-;1391:6;1399;1407;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;1515:9;1502:23;1534:31;1559:5;1534:31;:::i;:::-;1584:5;-1:-1:-1;1641:2:1;1626:18;;1613:32;1654:33;1613:32;1654:33;:::i;:::-;1314:456;;1706:7;;-1:-1:-1;;;1760:2:1;1745:18;;;;1732:32;;1314:456::o;1775:382::-;1840:6;1848;1901:2;1889:9;1880:7;1876:23;1872:32;1869:52;;;1917:1;1914;1907:12;1869:52;1956:9;1943:23;1975:31;2000:5;1975:31;:::i;:::-;2025:5;-1:-1:-1;2082:2:1;2067:18;;2054:32;2095:30;2054:32;2095:30;:::i;2162:315::-;2230:6;2238;2291:2;2279:9;2270:7;2266:23;2262:32;2259:52;;;2307:1;2304;2297:12;2259:52;2346:9;2333:23;2365:31;2390:5;2365:31;:::i;:::-;2415:5;2467:2;2452:18;;;;2439:32;;-1:-1:-1;;;2162:315:1:o;2482:1132::-;2566:6;2597:2;2640;2628:9;2619:7;2615:23;2611:32;2608:52;;;2656:1;2653;2646:12;2608:52;2696:9;2683:23;2725:18;2766:2;2758:6;2755:14;2752:34;;;2782:1;2779;2772:12;2752:34;2820:6;2809:9;2805:22;2795:32;;2865:7;2858:4;2854:2;2850:13;2846:27;2836:55;;2887:1;2884;2877:12;2836:55;2923:2;2910:16;2945:2;2941;2938:10;2935:36;;;2951:18;;:::i;:::-;2997:2;2994:1;2990:10;3029:2;3023:9;3092:2;3088:7;3083:2;3079;3075:11;3071:25;3063:6;3059:38;3147:6;3135:10;3132:22;3127:2;3115:10;3112:18;3109:46;3106:72;;;3158:18;;:::i;:::-;3194:2;3187:22;3244:18;;;3278:15;;;;-1:-1:-1;3313:11:1;;;3343;;;3339:20;;3336:33;-1:-1:-1;3333:53:1;;;3382:1;3379;3372:12;3333:53;3404:1;3395:10;;3414:169;3428:2;3425:1;3422:9;3414:169;;;3485:23;3504:3;3485:23;:::i;:::-;3473:36;;3446:1;3439:9;;;;;3529:12;;;;3561;;3414:169;;;-1:-1:-1;3602:6:1;2482:1132;-1:-1:-1;;;;;;;;2482:1132:1:o;3619:245::-;3686:6;3739:2;3727:9;3718:7;3714:23;3710:32;3707:52;;;3755:1;3752;3745:12;3707:52;3787:9;3781:16;3806:28;3828:5;3806:28;:::i;3869:184::-;3939:6;3992:2;3980:9;3971:7;3967:23;3963:32;3960:52;;;4008:1;4005;3998:12;3960:52;-1:-1:-1;4031:16:1;;3869:184;-1:-1:-1;3869:184:1:o;4058:454::-;4153:6;4161;4169;4177;4185;4238:3;4226:9;4217:7;4213:23;4209:33;4206:53;;;4255:1;4252;4245:12;4206:53;-1:-1:-1;;4278:23:1;;;4348:2;4333:18;;4320:32;;-1:-1:-1;4399:2:1;4384:18;;4371:32;;4450:2;4435:18;;4422:32;;-1:-1:-1;4501:3:1;4486:19;4473:33;;-1:-1:-1;4058:454:1;-1:-1:-1;4058:454:1:o;4517:269::-;4574:6;4627:2;4615:9;4606:7;4602:23;4598:32;4595:52;;;4643:1;4640;4633:12;4595:52;4682:9;4669:23;4732:4;4725:5;4721:16;4714:5;4711:27;4701:55;;4752:1;4749;4742:12;5708:597;5820:4;5849:2;5878;5867:9;5860:21;5910:6;5904:13;5953:6;5948:2;5937:9;5933:18;5926:34;5978:1;5988:140;6002:6;5999:1;5996:13;5988:140;;;6097:14;;;6093:23;;6087:30;6063:17;;;6082:2;6059:26;6052:66;6017:10;;5988:140;;;6146:6;6143:1;6140:13;6137:91;;;6216:1;6211:2;6202:6;6191:9;6187:22;6183:31;6176:42;6137:91;-1:-1:-1;6289:2:1;6268:15;-1:-1:-1;;6264:29:1;6249:45;;;;6296:2;6245:54;;5708:597;-1:-1:-1;;;5708:597:1:o;7331:341::-;7533:2;7515:21;;;7572:2;7552:18;;;7545:30;-1:-1:-1;;;7606:2:1;7591:18;;7584:47;7663:2;7648:18;;7331:341::o;7859:980::-;8121:4;8169:3;8158:9;8154:19;8200:6;8189:9;8182:25;8226:2;8264:6;8259:2;8248:9;8244:18;8237:34;8307:3;8302:2;8291:9;8287:18;8280:31;8331:6;8366;8360:13;8397:6;8389;8382:22;8435:3;8424:9;8420:19;8413:26;;8474:2;8466:6;8462:15;8448:29;;8495:1;8505:195;8519:6;8516:1;8513:13;8505:195;;;8584:13;;-1:-1:-1;;;;;8580:39:1;8568:52;;8675:15;;;;8640:12;;;;8616:1;8534:9;8505:195;;;-1:-1:-1;;;;;;;8756:32:1;;;;8751:2;8736:18;;8729:60;-1:-1:-1;;;8820:3:1;8805:19;8798:35;8717:3;7859:980;-1:-1:-1;;;7859:980:1:o;9033:128::-;9073:3;9104:1;9100:6;9097:1;9094:13;9091:39;;;9110:18;;:::i;:::-;-1:-1:-1;9146:9:1;;9033:128::o;9166:217::-;9206:1;9232;9222:132;;9276:10;9271:3;9267:20;9264:1;9257:31;9311:4;9308:1;9301:15;9339:4;9336:1;9329:15;9222:132;-1:-1:-1;9368:9:1;;9166:217::o;9388:168::-;9428:7;9494:1;9490;9486:6;9482:14;9479:1;9476:21;9471:1;9464:9;9457:17;9453:45;9450:71;;;9501:18;;:::i;:::-;-1:-1:-1;9541:9:1;;9388:168::o;9561:125::-;9601:4;9629:1;9626;9623:8;9620:34;;;9634:18;;:::i;:::-;-1:-1:-1;9671:9:1;;9561:125::o;9691:380::-;9770:1;9766:12;;;;9813;;;9834:61;;9888:4;9880:6;9876:17;9866:27;;9834:61;9941:2;9933:6;9930:14;9910:18;9907:38;9904:161;;;9987:10;9982:3;9978:20;9975:1;9968:31;10022:4;10019:1;10012:15;10050:4;10047:1;10040:15;9904:161;;9691:380;;;:::o;10076:135::-;10115:3;-1:-1:-1;;10136:17:1;;10133:43;;;10156:18;;:::i;:::-;-1:-1:-1;10203:1:1;10192:13;;10076:135::o;10216:127::-;10277:10;10272:3;10268:20;10265:1;10258:31;10308:4;10305:1;10298:15;10332:4;10329:1;10322:15;10348:127;10409:10;10404:3;10400:20;10397:1;10390:31;10440:4;10437:1;10430:15;10464:4;10461:1;10454:15;10480:127;10541:10;10536:3;10532:20;10529:1;10522:31;10572:4;10569:1;10562:15;10596:4;10593:1;10586:15;10612:131;-1:-1:-1;;;;;10687:31:1;;10677:42;;10667:70;;10733:1;10730;10723:12;10748:118;10834:5;10827:13;10820:21;10813:5;10810:32;10800:60;;10856:1;10853;10846:12

Swarm Source

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