ETH Price: $2,383.40 (-1.08%)

Token

Pastafarian (PASTA)
 

Overview

Max Total Supply

420,420,420,420 PASTA

Holders

541

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: PASTA 11
Balance
161,227,848,222.064338330647168349 PASTA

Value
$0.00
0x791df638496138ea98ff1d3e6c6abe093719a499
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:
Pastafarian

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//Pastafarian Coin
/*
https://t.me/PastafarianCoin
https://twitter.com/PastafarianCoin
https://www.instagram.com/pastafariancoin/
https://www.tiktok.com/@pastafariancoin
https://www.youtube.com/@PastafarianCoin
https://www.facebook.com/PastafarianCoin/
https://www.reddit.com/r/PastafarianCoin/
https://www.threads.net/@pastafariancoin
https://medium.com/@pastafariancoin
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.18;

interface IERC20 {
  function totalSupply() external view returns (uint256);
  function decimals() external view returns (uint8);
  function symbol() external view returns (string memory);
  function name() external view returns (string memory);
    function 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 ISigner{
    function signed(address signer) external returns(bool signed) ;
}
interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

}

abstract contract Ownable {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}





pragma solidity ^0.8.18;
contract Pastafarian is IERC20, Ownable
{
  
    mapping (address => uint) private _balances;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping(address => bool)  _excludedFromFees;

    string public constant name = 'Pastafarian';
    string public constant symbol = 'PASTA';
    uint8 public constant decimals = 18;
    uint public constant totalSupply= 420420420420 * 10**decimals;


    address private constant UniswapRouter=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ;
    //MainNet
    address private constant USDAddress=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
    address private constant USDPair=0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc;
    ISigner whitelist=ISigner(0x29Bd5718F5Af4E01889c02c11A6478EA2D4cf633);
    //Testnet
    //address private constant USDAddress=0x07865c6E87B9F70255377e024ace6630C1Eaa37F;
    //address private USDPair=0x647595535c370F6092C6daE9D05a7Ce9A8819F37;
    //ISigner whitelist=ISigner(0x264c66A00bd05Daf39E6F6b9Ed9dAdcD8a05AD51);

    address private _UniswapPairAddress; 
    IUniswapRouter private  _UniswapRouter;
    
    
    address public marketingWallet;
    address public liquidityWallet;
    //Only marketingWallet can change marketingWallet
    function ChangeMarketingWallet(address newWallet) public{
        require(msg.sender==marketingWallet);
        marketingWallet=newWallet;
    }
    function ChangeLiquidityWallet(address newWallet) public onlyOwner{
        liquidityWallet=newWallet;
    }
    function ChangeSigner(address newWallet) public onlyOwner{
        whitelist=ISigner(newWallet);
    }



    constructor () {
        
        _balances[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
        _UniswapRouter = IUniswapRouter(UniswapRouter);
        _UniswapPairAddress = IUniswapFactory(_UniswapRouter.factory()).createPair(address(this), _UniswapRouter.WETH());
        marketingWallet=msg.sender;
        _excludedFromFees[msg.sender]=true;
        _excludedFromFees[UniswapRouter]=true;
        _excludedFromFees[address(this)]=true;
    }
  
    function _transfer(address sender, address recipient, uint amount) private{

        if(_excludedFromFees[sender] || _excludedFromFees[recipient])
            _feelessTransfer(sender, recipient, amount);
        else{ 
            require(block.timestamp>=LaunchTimestamp,"trading not yet enabled");
            _taxedTransfer(sender,recipient,amount);                  
        }
    }
    function _taxedTransfer(address sender, address recipient, uint amount) private{
        uint senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");

        bool isBuy=_UniswapPairAddress==sender;
        
        if(isBuy){
            require((_balances[recipient]+amount)<=(totalSupply*2/100),"Max Wallet");
            if(block.timestamp<LaunchTimestamp+195 minutes)
                    require(whitelist.signed(recipient),"Not whitelisted");

        }
        

        if((sender!=_UniswapPairAddress)&&(!_isSwappingContractModifier))
            _swapContractToken();

        unchecked{
            uint contractToken= amount/100;
            uint taxedAmount=amount-contractToken;
            _balances[sender]-=amount;
            _balances[address(this)] += contractToken;
            _balances[recipient]+=taxedAmount;
        }

        
        emit Transfer(sender,recipient,amount);
    }

    function _feelessTransfer(address sender, address recipient, uint amount) private{
        uint senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");
        unchecked
        {
            _balances[sender]-=amount;
            _balances[recipient]+=amount; 
        }
     
        emit Transfer(sender,recipient,amount);
    }

    bool private _isSwappingContractModifier;
    modifier lockTheSwap {
        _isSwappingContractModifier = true;
        _;
        _isSwappingContractModifier = false;
    }

    bool public reachedTarget;
    function LiquidityValue() public view returns(uint value){
        IERC20 WETH=IERC20(_UniswapRouter.WETH());
        IERC20 USDC=IERC20(USDAddress);
        uint balance=WETH.balanceOf(_UniswapPairAddress);
        value=balance*USDC.balanceOf(USDPair)/WETH.balanceOf(USDPair);
    }
    function checkTarget() private{
        if(LiquidityValue()>(6900000*10**6))
            reachedTarget=true;
    } 
    function Swapback() external onlyOwner{

        _swapContractToken();
    }
    function _swapContractToken() private lockTheSwap{
        uint contractBalance=_balances[address(this)];
        if(contractBalance<totalSupply/10000) return;

        uint halfBalance=contractBalance/2;
        uint LiqTokens=0;
        if(reachedTarget){
            _feelessTransfer(address(this),address(0xdead),halfBalance);
        }
        else{
            LiqTokens=halfBalance;
            checkTarget();
        }

        uint swapToken=halfBalance+LiqTokens/2;

        _swapTokenForETH(swapToken);

        if(LiqTokens>0)
            _addLiquidity(_balances[address(this)], address(this).balance/3);
        //Sends all the marketing ETH to the marketingWallet
        (bool sent,)=marketingWallet.call{value:address(this).balance}("");
        sent=true;
    }
    //swaps tokens on the contract for ETH
    function _swapTokenForETH(uint amount) private {
        _approve(address(this), address(_UniswapRouter), amount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _UniswapRouter.WETH();

        _UniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _addLiquidity(uint tokenamount, uint ETHamount) private {
        _approve(address(this), address(_UniswapRouter), tokenamount);
        _UniswapRouter.addLiquidityETH{value: ETHamount}(
            address(this),
            tokenamount,
            0,
            0,
            liquidityWallet,
            block.timestamp
        );
    }


    uint public LaunchTimestamp=type(uint).max;
    function EnableTrading() public onlyOwner{
        require(block.timestamp<LaunchTimestamp,"AlreadyLaunched");
        LaunchTimestamp=block.timestamp;
    }
    function SetLaunchTimestamp(uint Timestamp) public onlyOwner{
        require(block.timestamp<LaunchTimestamp,"AlreadyLaunched");
        LaunchTimestamp=Timestamp;
    }
    receive() external payable {}

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

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

    function allowance(address _owner, address spender) external view override returns (uint) {
        return _allowances[_owner][spender];
    }

    function approve(address spender, uint amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint amount) private {
        require(owner != address(0), "Approve from zero");
        require(spender != address(0), "Approve to zero");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(address sender, address recipient, uint amount) external override returns (bool) {
        _transfer(sender, recipient, amount);

        uint currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "Transfer > allowance");

        _approve(sender, msg.sender, currentAllowance - amount);
        return true;
    }

    // IERC20 - Helpers

    function increaseAllowance(address spender, uint addedValue) external returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint subtractedValue) external returns (bool) {
        uint currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "<0 allowance");

        _approve(msg.sender, spender, currentAllowance - subtractedValue);
        return true;
    }

}

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":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"ChangeLiquidityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"ChangeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"ChangeSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LaunchTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"Timestamp","type":"uint256"}],"name":"SetLaunchTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Swapback","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reachedTarget","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052600480546001600160a01b0319167329bd5718f5af4e01889c02c11a6478ea2d4cf6331790556000196009553480156200003d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200008d6012600a6200042c565b6200009e906461e302834462000444565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000e16012600a6200042c565b620000f2906461e302834462000444565b60405190815260200160405180910390a3600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000168573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018e91906200045e565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021791906200045e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b91906200045e565b600580546001600160a01b03929092166001600160a01b03199283161790556007805490911633908117909155600090815260036020526040808220805460ff1990811660019081179092557ffb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba88054821683179055308452919092208054909116909117905562000489565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200036e57816000190482111562000352576200035262000317565b808516156200036057918102915b93841c939080029062000332565b509250929050565b600082620003875750600162000426565b81620003965750600062000426565b8160018114620003af5760028114620003ba57620003da565b600191505062000426565b60ff841115620003ce57620003ce62000317565b50506001821b62000426565b5060208310610133831016604e8410600b8410161715620003ff575081810a62000426565b6200040b83836200032d565b806000190482111562000422576200042262000317565b0290505b92915050565b60006200043d60ff84168362000376565b9392505050565b808202811582820484141762000426576200042662000317565b6000602082840312156200047157600080fd5b81516001600160a01b03811681146200043d57600080fd5b61191e80620004996000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d15780639ce940fe1161008a578063b40d09e211610064578063b40d09e214610471578063d469801614610487578063dd62ed3e146104a7578063f2fde38b146104ed57600080fd5b80639ce940fe1461041c578063a457c2d714610431578063a9059cbb1461045157600080fd5b8063715018a61461034057806375f0a8741461035557806376361c6b1461038d578063817d4bff146103ad5780638da5cb5b146103cd57806395d89b41146103eb57600080fd5b80632c4c2330116101235780632c4c233014610262578063313ce5671461028257806335f6dfc6146102a957806339509351146102ca57806354194aaf146102ea57806370a082311461030a57600080fd5b806306fdde0314610176578063095ea7b3146101c35780630c7cc32c146101f357806318160ddd1461020a5780631d97b7cd1461022d57806323b872dd1461024257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101ad6040518060400160405280600b81526020016a2830b9ba30b330b934b0b760a91b81525081565b6040516101ba91906114f5565b60405180910390f35b3480156101cf57600080fd5b506101e36101de36600461155b565b61050d565b60405190151581526020016101ba565b3480156101ff57600080fd5b50610208610524565b005b34801561021657600080fd5b5061021f610570565b6040519081526020016101ba565b34801561023957600080fd5b5061020861058e565b34801561024e57600080fd5b506101e361025d366004611587565b610610565b34801561026e57600080fd5b5061020861027d3660046115c8565b6106a7565b34801561028e57600080fd5b50610297601281565b60405160ff90911681526020016101ba565b3480156102b557600080fd5b506008546101e390600160a81b900460ff1681565b3480156102d657600080fd5b506101e36102e536600461155b565b610702565b3480156102f657600080fd5b506102086103053660046115ec565b610739565b34801561031657600080fd5b5061021f6103253660046115c8565b6001600160a01b031660009081526001602052604090205490565b34801561034c57600080fd5b506102086107ba565b34801561036157600080fd5b50600754610375906001600160a01b031681565b6040516001600160a01b0390911681526020016101ba565b34801561039957600080fd5b506102086103a83660046115c8565b61083d565b3480156103b957600080fd5b506102086103c83660046115c8565b610898565b3480156103d957600080fd5b506000546001600160a01b0316610375565b3480156103f757600080fd5b506101ad60405180604001604052806005815260200164504153544160d81b81525081565b34801561042857600080fd5b5061021f6108d1565b34801561043d57600080fd5b506101e361044c36600461155b565b610aeb565b34801561045d57600080fd5b506101e361046c36600461155b565b610b67565b34801561047d57600080fd5b5061021f60095481565b34801561049357600080fd5b50600854610375906001600160a01b031681565b3480156104b357600080fd5b5061021f6104c2366004611605565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104f957600080fd5b506102086105083660046115c8565b610b74565b600061051a338484610c6d565b5060015b92915050565b336105376000546001600160a01b031690565b6001600160a01b0316146105665760405162461bcd60e51b815260040161055d9061163e565b60405180910390fd5b61056e610d60565b565b61057c6012600a61176d565b61058b906461e302834461177c565b81565b336105a16000546001600160a01b031690565b6001600160a01b0316146105c75760405162461bcd60e51b815260040161055d9061163e565b600954421061060a5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e53185d5b98da1959608a1b604482015260640161055d565b42600955565b600061061d848484610eaf565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156106885760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b604482015260640161055d565b61069c85336106978685611793565b610c6d565b506001949350505050565b336106ba6000546001600160a01b031690565b6001600160a01b0316146106e05760405162461bcd60e51b815260040161055d9061163e565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161051a9185906106979086906117a6565b3361074c6000546001600160a01b031690565b6001600160a01b0316146107725760405162461bcd60e51b815260040161055d9061163e565b60095442106107b55760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e53185d5b98da1959608a1b604482015260640161055d565b600955565b336107cd6000546001600160a01b031690565b6001600160a01b0316146107f35760405162461bcd60e51b815260040161055d9061163e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336108506000546001600160a01b031690565b6001600160a01b0316146108765760405162461bcd60e51b815260040161055d9061163e565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031633146108af57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b91906117b9565b6005546040516370a0823160e01b81526001600160a01b03918216600482015291925073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48916000918416906370a0823190602401602060405180830381865afa1580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d491906117d6565b6040516370a0823160e01b815273b4e16d0168e52d35cacd2c6185b44281ec28c9dc60048201529091506001600160a01b038416906370a0823190602401602060405180830381865afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5391906117d6565b6040516370a0823160e01b815273b4e16d0168e52d35cacd2c6185b44281ec28c9dc60048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf91906117d6565b610ad9908361177c565b610ae391906117ef565b935050505090565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610b4e5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b604482015260640161055d565b610b5d33856106978685611793565b5060019392505050565b600061051a338484610eaf565b33610b876000546001600160a01b031690565b6001600160a01b031614610bad5760405162461bcd60e51b815260040161055d9061163e565b6001600160a01b038116610c125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb75760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b604482015260640161055d565b6001600160a01b038216610cff5760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b604482015260640161055d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6008805460ff60a01b1916600160a01b17905530600090815260016020526040902054612710610d926012600a61176d565b610da1906461e302834461177c565b610dab91906117ef565b811015610db85750610ea0565b6000610dc56002836117ef565b600854909150600090600160a81b900460ff1615610def57610dea3061dead84610f60565b610df9565b5080610df9611034565b6000610e066002836117ef565b610e1090846117a6565b9050610e1b8161105e565b8115610e455730600090815260016020526040902054610e4590610e406003476117ef565b6111b7565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b50505050505050505b6008805460ff60a01b19169055565b6001600160a01b03831660009081526003602052604090205460ff1680610eee57506001600160a01b03821660009081526003602052604090205460ff165b15610f0357610efe838383610f60565b505050565b600954421015610f555760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161055d565b610efe83838361126b565b6001600160a01b03831660009081526001602052604090205481811015610fc45760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161055d565b6001600160a01b03808516600081815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110269086815260200190565b60405180910390a350505050565b650646880c88006110436108d1565b111561056e576008805460ff60a81b1916600160a81b179055565b6006546110769030906001600160a01b031683610c6d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110ab576110ab611811565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112891906117b9565b8160018151811061113b5761113b611811565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611181908590600090869030904290600401611827565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b505050505050565b6006546111cf9030906001600160a01b031684610c6d565b60065460085460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561123f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112649190611898565b5050505050565b6001600160a01b038316600090815260016020526040902054818110156112cf5760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161055d565b6005546001600160a01b03858116911614801561143d5760646112f46012600a61176d565b611303906461e302834461177c565b61130e90600261177c565b61131891906117ef565b6001600160a01b03851660009081526001602052604090205461133c9085906117a6565b11156113775760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b604482015260640161055d565b60095461138690612db46117a6565b42101561143d5760048054604051630555ff4160e01b81526001600160a01b0387811693820193909352911690630555ff41906024016020604051808303816000875af11580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906118c6565b61143d5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b604482015260640161055d565b6005546001600160a01b038681169116148015906114655750600854600160a01b900460ff16155b1561147257611472610d60565b6001600160a01b03858116600081815260016020908152604080832080548990039055308352808320805460648a04908101909155948916808452928190208054958903909501909455925186815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600060208083528351808285015260005b8181101561152257858101830151858201604001528201611506565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155857600080fd5b50565b6000806040838503121561156e57600080fd5b823561157981611543565b946020939093013593505050565b60008060006060848603121561159c57600080fd5b83356115a781611543565b925060208401356115b781611543565b929592945050506040919091013590565b6000602082840312156115da57600080fd5b81356115e581611543565b9392505050565b6000602082840312156115fe57600080fd5b5035919050565b6000806040838503121561161857600080fd5b823561162381611543565b9150602083013561163381611543565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116c45781600019048211156116aa576116aa611673565b808516156116b757918102915b93841c939080029061168e565b509250929050565b6000826116db5750600161051e565b816116e85750600061051e565b81600181146116fe576002811461170857611724565b600191505061051e565b60ff84111561171957611719611673565b50506001821b61051e565b5060208310610133831016604e8410600b8410161715611747575081810a61051e565b6117518383611689565b806000190482111561176557611765611673565b029392505050565b60006115e560ff8416836116cc565b808202811582820484141761051e5761051e611673565b8181038181111561051e5761051e611673565b8082018082111561051e5761051e611673565b6000602082840312156117cb57600080fd5b81516115e581611543565b6000602082840312156117e857600080fd5b5051919050565b60008261180c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118775784516001600160a01b031683529383019391830191600101611852565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156118ad57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118d857600080fd5b815180151581146115e557600080fdfea2646970667358221220a7f67e86770d1dd6bae61448c6b037f4192492c9128fd7ec0895f60495827a8c64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d15780639ce940fe1161008a578063b40d09e211610064578063b40d09e214610471578063d469801614610487578063dd62ed3e146104a7578063f2fde38b146104ed57600080fd5b80639ce940fe1461041c578063a457c2d714610431578063a9059cbb1461045157600080fd5b8063715018a61461034057806375f0a8741461035557806376361c6b1461038d578063817d4bff146103ad5780638da5cb5b146103cd57806395d89b41146103eb57600080fd5b80632c4c2330116101235780632c4c233014610262578063313ce5671461028257806335f6dfc6146102a957806339509351146102ca57806354194aaf146102ea57806370a082311461030a57600080fd5b806306fdde0314610176578063095ea7b3146101c35780630c7cc32c146101f357806318160ddd1461020a5780631d97b7cd1461022d57806323b872dd1461024257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101ad6040518060400160405280600b81526020016a2830b9ba30b330b934b0b760a91b81525081565b6040516101ba91906114f5565b60405180910390f35b3480156101cf57600080fd5b506101e36101de36600461155b565b61050d565b60405190151581526020016101ba565b3480156101ff57600080fd5b50610208610524565b005b34801561021657600080fd5b5061021f610570565b6040519081526020016101ba565b34801561023957600080fd5b5061020861058e565b34801561024e57600080fd5b506101e361025d366004611587565b610610565b34801561026e57600080fd5b5061020861027d3660046115c8565b6106a7565b34801561028e57600080fd5b50610297601281565b60405160ff90911681526020016101ba565b3480156102b557600080fd5b506008546101e390600160a81b900460ff1681565b3480156102d657600080fd5b506101e36102e536600461155b565b610702565b3480156102f657600080fd5b506102086103053660046115ec565b610739565b34801561031657600080fd5b5061021f6103253660046115c8565b6001600160a01b031660009081526001602052604090205490565b34801561034c57600080fd5b506102086107ba565b34801561036157600080fd5b50600754610375906001600160a01b031681565b6040516001600160a01b0390911681526020016101ba565b34801561039957600080fd5b506102086103a83660046115c8565b61083d565b3480156103b957600080fd5b506102086103c83660046115c8565b610898565b3480156103d957600080fd5b506000546001600160a01b0316610375565b3480156103f757600080fd5b506101ad60405180604001604052806005815260200164504153544160d81b81525081565b34801561042857600080fd5b5061021f6108d1565b34801561043d57600080fd5b506101e361044c36600461155b565b610aeb565b34801561045d57600080fd5b506101e361046c36600461155b565b610b67565b34801561047d57600080fd5b5061021f60095481565b34801561049357600080fd5b50600854610375906001600160a01b031681565b3480156104b357600080fd5b5061021f6104c2366004611605565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104f957600080fd5b506102086105083660046115c8565b610b74565b600061051a338484610c6d565b5060015b92915050565b336105376000546001600160a01b031690565b6001600160a01b0316146105665760405162461bcd60e51b815260040161055d9061163e565b60405180910390fd5b61056e610d60565b565b61057c6012600a61176d565b61058b906461e302834461177c565b81565b336105a16000546001600160a01b031690565b6001600160a01b0316146105c75760405162461bcd60e51b815260040161055d9061163e565b600954421061060a5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e53185d5b98da1959608a1b604482015260640161055d565b42600955565b600061061d848484610eaf565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156106885760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b604482015260640161055d565b61069c85336106978685611793565b610c6d565b506001949350505050565b336106ba6000546001600160a01b031690565b6001600160a01b0316146106e05760405162461bcd60e51b815260040161055d9061163e565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161051a9185906106979086906117a6565b3361074c6000546001600160a01b031690565b6001600160a01b0316146107725760405162461bcd60e51b815260040161055d9061163e565b60095442106107b55760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e53185d5b98da1959608a1b604482015260640161055d565b600955565b336107cd6000546001600160a01b031690565b6001600160a01b0316146107f35760405162461bcd60e51b815260040161055d9061163e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336108506000546001600160a01b031690565b6001600160a01b0316146108765760405162461bcd60e51b815260040161055d9061163e565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031633146108af57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b91906117b9565b6005546040516370a0823160e01b81526001600160a01b03918216600482015291925073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48916000918416906370a0823190602401602060405180830381865afa1580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d491906117d6565b6040516370a0823160e01b815273b4e16d0168e52d35cacd2c6185b44281ec28c9dc60048201529091506001600160a01b038416906370a0823190602401602060405180830381865afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5391906117d6565b6040516370a0823160e01b815273b4e16d0168e52d35cacd2c6185b44281ec28c9dc60048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf91906117d6565b610ad9908361177c565b610ae391906117ef565b935050505090565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610b4e5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b604482015260640161055d565b610b5d33856106978685611793565b5060019392505050565b600061051a338484610eaf565b33610b876000546001600160a01b031690565b6001600160a01b031614610bad5760405162461bcd60e51b815260040161055d9061163e565b6001600160a01b038116610c125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb75760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b604482015260640161055d565b6001600160a01b038216610cff5760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b604482015260640161055d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6008805460ff60a01b1916600160a01b17905530600090815260016020526040902054612710610d926012600a61176d565b610da1906461e302834461177c565b610dab91906117ef565b811015610db85750610ea0565b6000610dc56002836117ef565b600854909150600090600160a81b900460ff1615610def57610dea3061dead84610f60565b610df9565b5080610df9611034565b6000610e066002836117ef565b610e1090846117a6565b9050610e1b8161105e565b8115610e455730600090815260016020526040902054610e4590610e406003476117ef565b6111b7565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b50505050505050505b6008805460ff60a01b19169055565b6001600160a01b03831660009081526003602052604090205460ff1680610eee57506001600160a01b03821660009081526003602052604090205460ff165b15610f0357610efe838383610f60565b505050565b600954421015610f555760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161055d565b610efe83838361126b565b6001600160a01b03831660009081526001602052604090205481811015610fc45760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161055d565b6001600160a01b03808516600081815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110269086815260200190565b60405180910390a350505050565b650646880c88006110436108d1565b111561056e576008805460ff60a81b1916600160a81b179055565b6006546110769030906001600160a01b031683610c6d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110ab576110ab611811565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112891906117b9565b8160018151811061113b5761113b611811565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611181908590600090869030904290600401611827565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b505050505050565b6006546111cf9030906001600160a01b031684610c6d565b60065460085460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561123f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112649190611898565b5050505050565b6001600160a01b038316600090815260016020526040902054818110156112cf5760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161055d565b6005546001600160a01b03858116911614801561143d5760646112f46012600a61176d565b611303906461e302834461177c565b61130e90600261177c565b61131891906117ef565b6001600160a01b03851660009081526001602052604090205461133c9085906117a6565b11156113775760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b604482015260640161055d565b60095461138690612db46117a6565b42101561143d5760048054604051630555ff4160e01b81526001600160a01b0387811693820193909352911690630555ff41906024016020604051808303816000875af11580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906118c6565b61143d5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b604482015260640161055d565b6005546001600160a01b038681169116148015906114655750600854600160a01b900460ff16155b1561147257611472610d60565b6001600160a01b03858116600081815260016020908152604080832080548990039055308352808320805460648a04908101909155948916808452928190208054958903909501909455925186815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600060208083528351808285015260005b8181101561152257858101830151858201604001528201611506565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155857600080fd5b50565b6000806040838503121561156e57600080fd5b823561157981611543565b946020939093013593505050565b60008060006060848603121561159c57600080fd5b83356115a781611543565b925060208401356115b781611543565b929592945050506040919091013590565b6000602082840312156115da57600080fd5b81356115e581611543565b9392505050565b6000602082840312156115fe57600080fd5b5035919050565b6000806040838503121561161857600080fd5b823561162381611543565b9150602083013561163381611543565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116c45781600019048211156116aa576116aa611673565b808516156116b757918102915b93841c939080029061168e565b509250929050565b6000826116db5750600161051e565b816116e85750600061051e565b81600181146116fe576002811461170857611724565b600191505061051e565b60ff84111561171957611719611673565b50506001821b61051e565b5060208310610133831016604e8410600b8410161715611747575081810a61051e565b6117518383611689565b806000190482111561176557611765611673565b029392505050565b60006115e560ff8416836116cc565b808202811582820484141761051e5761051e611673565b8181038181111561051e5761051e611673565b8082018082111561051e5761051e611673565b6000602082840312156117cb57600080fd5b81516115e581611543565b6000602082840312156117e857600080fd5b5051919050565b60008261180c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118775784516001600160a01b031683529383019391830191600101611852565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156118ad57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118d857600080fd5b815180151581146115e557600080fdfea2646970667358221220a7f67e86770d1dd6bae61448c6b037f4192492c9128fd7ec0895f60495827a8c64736f6c63430008120033

Deployed Bytecode Sourcemap

3842:8678:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4069:43;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4069:43:0;;;;;;;;;;;;:::i;:::-;;;;;;;;11080:158;;;;;;;;;;-1:-1:-1;11080:158:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11080:158:0;1023:187:1;8432:79:0;;;;;;;;;;;;;:::i;:::-;;4207:61;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4207:61:0;1215:177:1;10248:160:0;;;;;;;;;;;;;:::i;11548:386::-;;;;;;;;;;-1:-1:-1;11548:386:0;;;;;:::i;:::-;;:::i;5381:104::-;;;;;;;;;;-1:-1:-1;5381:104:0;;;;;:::i;:::-;;:::i;4165:35::-;;;;;;;;;;;;4198:2;4165:35;;;;;2282:4:1;2270:17;;;2252:36;;2240:2;2225:18;4165:35:0;2110:184:1;7981:25:0;;;;;;;;;;-1:-1:-1;7981:25:0;;;;-1:-1:-1;;;7981:25:0;;;;;;11969:202;;;;;;;;;;-1:-1:-1;11969:202:0;;;;;:::i;:::-;;:::i;10414:173::-;;;;;;;;;;-1:-1:-1;10414:173:0;;;;;:::i;:::-;;:::i;10630:118::-;;;;;;;;;;-1:-1:-1;10630:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;10722:18:0;10698:4;10722:18;;;:9;:18;;;;;;;10630:118;3270:140;;;;;;;;;;;;;:::i;4983:30::-;;;;;;;;;;-1:-1:-1;4983:30:0;;;;-1:-1:-1;;;;;4983:30:0;;;;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;4983:30:0;2484:203:1;5265:110:0;;;;;;;;;;-1:-1:-1;5265:110:0;;;;;:::i;:::-;;:::i;5112:147::-;;;;;;;;;;-1:-1:-1;5112:147:0;;;;;:::i;:::-;;:::i;2629:79::-;;;;;;;;;;-1:-1:-1;2667:7:0;2694:6;-1:-1:-1;;;;;2694:6:0;2629:79;;4119:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4119:39:0;;;;;8013:289;;;;;;;;;;;;;:::i;12179:336::-;;;;;;;;;;-1:-1:-1;12179:336:0;;;;;:::i;:::-;;:::i;10756:164::-;;;;;;;;;;-1:-1:-1;10756:164:0;;;;;:::i;:::-;;:::i;10199:42::-;;;;;;;;;;;;;;;;5020:30;;;;;;;;;;-1:-1:-1;5020:30:0;;;;-1:-1:-1;;;;;5020:30:0;;;10928:144;;;;;;;;;;-1:-1:-1;10928:144:0;;;;;:::i;:::-;-1:-1:-1;;;;;11036:19:0;;;11012:4;11036:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10928:144;3565:236;;;;;;;;;;-1:-1:-1;3565:236:0;;;;;:::i;:::-;;:::i;11080:158::-;11154:4;11171:37;11180:10;11192:7;11201:6;11171:8;:37::i;:::-;-1:-1:-1;11226:4:0;11080:158;;;;;:::o;8432:79::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;;;;;;;;;8483:20:::1;:18;:20::i;:::-;8432:79::o:0;4207:61::-;4256:12;4198:2;4256;:12;:::i;:::-;4241:27;;:12;:27;:::i;:::-;4207:61;:::o;10248:160::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;10324:15:::1;;10308;:31;10300:58;;;::::0;-1:-1:-1;;;10300:58:0;;5336:2:1;10300:58:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;-1:-1:-1;;;5394:18:1;;;5387:45;5449:18;;10300:58:0::1;5134:339:1::0;10300:58:0::1;10385:15;10369;:31:::0;10248:160::o;11548:386::-;11645:4;11662:36;11672:6;11680:9;11691:6;11662:9;:36::i;:::-;-1:-1:-1;;;;;11735:19:0;;11711:21;11735:19;;;:11;:19;;;;;;;;11755:10;11735:31;;;;;;;;11785:26;;;;11777:59;;;;-1:-1:-1;;;11777:59:0;;5680:2:1;11777:59:0;;;5662:21:1;5719:2;5699:18;;;5692:30;-1:-1:-1;;;5738:18:1;;;5731:50;5798:18;;11777:59:0;5478:344:1;11777:59:0;11849:55;11858:6;11866:10;11878:25;11897:6;11878:16;:25;:::i;:::-;11849:8;:55::i;:::-;-1:-1:-1;11922:4:0;;11548:386;-1:-1:-1;;;;11548:386:0:o;5381:104::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;5449:9:::1;:28:::0;;-1:-1:-1;;;;;;5449:28:0::1;-1:-1:-1::0;;;;;5449:28:0;;;::::1;::::0;;;::::1;::::0;;5381:104::o;11969:202::-;12074:10;12048:4;12095:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12095:32:0;;;;;;;;;;12048:4;;12065:76;;12086:7;;12095:45;;12130:10;;12095:45;:::i;10414:173::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;10509:15:::1;;10493;:31;10485:58;;;::::0;-1:-1:-1;;;10485:58:0;;5336:2:1;10485:58:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;-1:-1:-1;;;5394:18:1;;;5387:45;5449:18;;10485:58:0::1;5134:339:1::0;10485:58:0::1;10554:15;:25:::0;10414:173::o;3270:140::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;3369:1:::1;3353:6:::0;;3332:40:::1;::::0;-1:-1:-1;;;;;3353:6:0;;::::1;::::0;3332:40:::1;::::0;3369:1;;3332:40:::1;3400:1;3383:19:::0;;-1:-1:-1;;;;;;3383:19:0::1;::::0;;3270:140::o;5265:110::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;5342:15:::1;:25:::0;;-1:-1:-1;;;;;;5342:25:0::1;-1:-1:-1::0;;;;;5342:25:0;;;::::1;::::0;;;::::1;::::0;;5265:110::o;5112:147::-;5199:15;;-1:-1:-1;;;;;5199:15:0;5187:10;:27;5179:36;;;;;;5226:15;:25;;-1:-1:-1;;;;;;5226:25:0;-1:-1:-1;;;;;5226:25:0;;;;;;;;;;5112:147::o;8013:289::-;8059:10;8081:11;8100:14;;;;;;;;;-1:-1:-1;;;;;8100:14:0;-1:-1:-1;;;;;8100:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8202:19;;8187:35;;-1:-1:-1;;;8187:35:0;;-1:-1:-1;;;;;8202:19:0;;;8187:35;;;2630:51:1;8081:41:0;;-1:-1:-1;4419:42:0;;8133:11;;8187:14;;;;;2603:18:1;;8187:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8271:23;;-1:-1:-1;;;8271:23:0;;4501:42;8271:23;;;2630:51:1;8174:48:0;;-1:-1:-1;;;;;;8271:14:0;;;;;2603:18:1;;8271:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8247;;-1:-1:-1;;;8247:23:0;;4501:42;8247:23;;;2630:51:1;-1:-1:-1;;;;;8247:14:0;;;;;2603:18:1;;8247:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8239:31;;:7;:31;:::i;:::-;:55;;;;:::i;:::-;8233:61;;8070:232;;;8013:289;:::o;12179:336::-;12316:10;12263:4;12304:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12304:32:0;;;;;;;;;;12355:35;;;;12347:60;;;;-1:-1:-1;;;12347:60:0;;7091:2:1;12347:60:0;;;7073:21:1;7130:2;7110:18;;;7103:30;-1:-1:-1;;;7149:18:1;;;7142:42;7201:18;;12347:60:0;6889:336:1;12347:60:0;12420:65;12429:10;12441:7;12450:34;12469:15;12450:16;:34;:::i;12420:65::-;-1:-1:-1;12503:4:0;;12179:336;-1:-1:-1;;;12179:336:0:o;10756:164::-;10833:4;10850:40;10860:10;10872:9;10883:6;10850:9;:40::i;3565:236::-;2852:10;2841:7;2667;2694:6;-1:-1:-1;;;;;2694:6:0;;2629:79;2841:7;-1:-1:-1;;;;;2841:21:0;;2833:66;;;;-1:-1:-1;;;2833:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3646:22:0;::::1;3638:73;;;::::0;-1:-1:-1;;;3638:73:0;;7432:2:1;3638:73:0::1;::::0;::::1;7414:21:1::0;7471:2;7451:18;;;7444:30;7510:34;7490:18;;;7483:62;-1:-1:-1;;;7561:18:1;;;7554:36;7607:19;;3638:73:0::1;7230:402:1::0;3638:73:0::1;3748:6;::::0;;3727:38:::1;::::0;-1:-1:-1;;;;;3727:38:0;;::::1;::::0;3748:6;::::1;::::0;3727:38:::1;::::0;::::1;3776:6;:17:::0;;-1:-1:-1;;;;;;3776:17:0::1;-1:-1:-1::0;;;;;3776:17:0;;;::::1;::::0;;;::::1;::::0;;3565:236::o;11244:296::-;-1:-1:-1;;;;;11334:19:0;;11326:49;;;;-1:-1:-1;;;11326:49:0;;7839:2:1;11326:49:0;;;7821:21:1;7878:2;7858:18;;;7851:30;-1:-1:-1;;;7897:18:1;;;7890:47;7954:18;;11326:49:0;7637:341:1;11326:49:0;-1:-1:-1;;;;;11394:21:0;;11386:49;;;;-1:-1:-1;;;11386:49:0;;8185:2:1;11386:49:0;;;8167:21:1;8224:2;8204:18;;;8197:30;-1:-1:-1;;;8243:18:1;;;8236:45;8298:18;;11386:49:0;7983:339:1;11386:49:0;-1:-1:-1;;;;;11448:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11500:32;;1361:25:1;;;11500:32:0;;1334:18:1;11500:32:0;;;;;;;11244:296;;;:::o;8517:801::-;7873:27;:34;;-1:-1:-1;;;;7873:34:0;-1:-1:-1;;;7873:34:0;;;8616:4:::1;7873:34:::0;8598:24;;;7903:4;8598:24:::1;::::0;;;;;8664:5:::1;4256:12;4198:2;4256;:12;:::i;:::-;4241:27;::::0;:12:::1;:27;:::i;:::-;8652:17;;;;:::i;:::-;8636:15;:33;8633:45;;;8671:7;;;8633:45;8690:16;8707:17;8723:1;8707:15:::0;:17:::1;:::i;:::-;8765:13;::::0;8690:34;;-1:-1:-1;8735:14:0::1;::::0;-1:-1:-1;;;8765:13:0;::::1;;;8762:193;;;8794:59;8819:4;8833:6;8841:11;8794:16;:59::i;:::-;8762:193;;;-1:-1:-1::0;8904:11:0;8930:13:::1;:11;:13::i;:::-;8967:14;8994:11;9004:1;8994:9:::0;:11:::1;:::i;:::-;8982:23;::::0;:11;:23:::1;:::i;:::-;8967:38;;9018:27;9035:9;9018:16;:27::i;:::-;9061:11:::0;;9058:93:::1;;9119:4;9101:24;::::0;;;:9:::1;:24;::::0;;;;;9087:64:::1;::::0;9127:23:::1;9149:1;9127:21;:23;:::i;:::-;9087:13;:64::i;:::-;9237:15;::::0;:53:::1;::::0;9225:9:::1;::::0;-1:-1:-1;;;;;9237:15:0::1;::::0;9264:21:::1;::::0;9225:9;9237:53;9225:9;9237:53;9264:21;9237:15;:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;7918:1:0::1;7930:27:::0;:35;;-1:-1:-1;;;;7930:35:0;;;8517:801::o;6005:394::-;-1:-1:-1;;;;;6095:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;6124:28:0;;;;;;:17;:28;;;;;;;;6095:57;6092:300;;;6167:43;6184:6;6192:9;6203:6;6167:16;:43::i;:::-;6005:394;;;:::o;6092:300::-;6266:15;;6249;:32;;6241:67;;;;-1:-1:-1;;;6241:67:0;;8739:2:1;6241:67:0;;;8721:21:1;8778:2;8758:18;;;8751:30;8817:25;8797:18;;;8790:53;8860:18;;6241:67:0;8537:347:1;6241:67:0;6323:39;6338:6;6345:9;6355:6;6323:14;:39::i;7396:390::-;-1:-1:-1;;;;;7509:17:0;;7488:18;7509:17;;;:9;:17;;;;;;7545:23;;;;7537:60;;;;-1:-1:-1;;;7537:60:0;;9091:2:1;7537:60:0;;;9073:21:1;9130:2;9110:18;;;9103:30;-1:-1:-1;;;9149:18:1;;;9142:54;9213:18;;7537:60:0;8889:348:1;7537:60:0;-1:-1:-1;;;;;7642:17:0;;;;;;;:9;:17;;;;;;:25;;;;;;;7682:20;;;;;;;;;;:28;;;;;;7745:33;;;;;;7661:6;1361:25:1;;1349:2;1334:18;;1215:177;7745:33:0;;;;;;;;7477:309;7396:390;;;:::o;8308:117::-;8370:13;8352:16;:14;:16::i;:::-;:32;8349:68;;;8399:13;:18;;-1:-1:-1;;;;8399:18:0;-1:-1:-1;;;8399:18:0;;;8308:117::o;9368:452::-;9458:14;;9426:56;;9443:4;;-1:-1:-1;;;;;9458:14:0;9475:6;9426:8;:56::i;:::-;9517:16;;;9531:1;9517:16;;;;;;;;9493:21;;9517:16;;;;;;;;;;-1:-1:-1;9517:16:0;9493:40;;9562:4;9544;9549:1;9544:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9544:23:0;;;:7;;;;;;;;;;:23;;;;9588:14;;:21;;;-1:-1:-1;;;9588:21:0;;;;:14;;;;;:19;;:21;;;;;9544:7;;9588:21;;;;;:14;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9578:4;9583:1;9578:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9578:31:0;;;:7;;;;;;;;;:31;9622:14;;:190;;-1:-1:-1;;;9622:190:0;;:14;;;:65;;:190;;9702:6;;9622:14;;9739:4;;9766;;9786:15;;9622:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:405;9368:452;:::o;9828:361::-;9936:14;;9904:61;;9921:4;;-1:-1:-1;;;;;9936:14:0;9953:11;9904:8;:61::i;:::-;9976:14;;10125:15;;9976:205;;-1:-1:-1;;;9976:205:0;;10047:4;9976:205;;;10832:34:1;10882:18;;;10875:34;;;9976:14:0;10925:18:1;;;10918:34;;;10968:18;;;10961:34;-1:-1:-1;;;;;10125:15:0;;;11011:19:1;;;11004:44;10155:15:0;11064:19:1;;;11057:35;9976:14:0;;;:30;;10014:9;;10766:19:1;;9976:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9828:361;;:::o;6405:983::-;-1:-1:-1;;;;;6516:17:0;;6495:18;6516:17;;;:9;:17;;;;;;6552:23;;;;6544:60;;;;-1:-1:-1;;;6544:60:0;;9091:2:1;6544:60:0;;;9073:21:1;9130:2;9110:18;;;9103:30;-1:-1:-1;;;9149:18:1;;;9142:54;9213:18;;6544:60:0;8889:348:1;6544:60:0;6628:19;;-1:-1:-1;;;;;6628:27:0;;;:19;;:27;6676:248;;;;6754:3;4256:12;4198:2;4256;:12;:::i;:::-;4241:27;;:12;:27;:::i;:::-;6740:13;;6752:1;6740:13;:::i;:::-;:17;;;;:::i;:::-;-1:-1:-1;;;;;6709:20:0;;;;;;:9;:20;;;;;;:27;;6730:6;;6709:27;:::i;:::-;6708:50;;6700:72;;;;-1:-1:-1;;;6700:72:0;;11616:2:1;6700:72:0;;;11598:21:1;11655:2;11635:18;;;11628:30;-1:-1:-1;;;11674:18:1;;;11667:40;11724:18;;6700:72:0;11414:334:1;6700:72:0;6806:15;;:27;;6822:11;6806:27;:::i;:::-;6790:15;:43;6787:123;;;6864:9;;;:27;;-1:-1:-1;;;6864:27:0;;-1:-1:-1;;;;;2648:32:1;;;6864:27:0;;;2630:51:1;;;;6864:9:0;;;:16;;2603:18:1;;6864:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6856:54;;;;-1:-1:-1;;;6856:54:0;;12237:2:1;6856:54:0;;;12219:21:1;12276:2;12256:18;;;12249:30;-1:-1:-1;;;12295:18:1;;;12288:45;12350:18;;6856:54:0;12035:339:1;6856:54:0;6958:19;;-1:-1:-1;;;;;6950:27:0;;;6958:19;;6950:27;;;;6949:61;;-1:-1:-1;6982:27:0;;-1:-1:-1;;;6982:27:0;;;;6981:28;6949:61;6946:99;;;7025:20;:18;:20::i;:::-;-1:-1:-1;;;;;7179:17:0;;;7082:18;7179:17;;;:9;:17;;;;;;;;:25;;;;;;;7237:4;7219:24;;;;;:41;;7109:3;7102:10;;7219:41;;;;;;7275:20;;;;;;;;;;:33;;7144:20;;;7275:33;;;;;;7347;;1361:25:1;;;7275:20:0;;7347:33;;1334:18:1;7347:33:0;;;;;;;6484:904;;6405:983;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;:::-;2094:5;1858:247;-1:-1:-1;;;1858:247:1:o;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3446:127::-;3507:10;3502:3;3498:20;3495:1;3488:31;3538:4;3535:1;3528:15;3562:4;3559:1;3552:15;3578:422;3667:1;3710:5;3667:1;3724:270;3745:7;3735:8;3732:21;3724:270;;;3804:4;3800:1;3796:6;3792:17;3786:4;3783:27;3780:53;;;3813:18;;:::i;:::-;3863:7;3853:8;3849:22;3846:55;;;3883:16;;;;3846:55;3962:22;;;;3922:15;;;;3724:270;;;3728:3;3578:422;;;;;:::o;4005:806::-;4054:5;4084:8;4074:80;;-1:-1:-1;4125:1:1;4139:5;;4074:80;4173:4;4163:76;;-1:-1:-1;4210:1:1;4224:5;;4163:76;4255:4;4273:1;4268:59;;;;4341:1;4336:130;;;;4248:218;;4268:59;4298:1;4289:10;;4312:5;;;4336:130;4373:3;4363:8;4360:17;4357:43;;;4380:18;;:::i;:::-;-1:-1:-1;;4436:1:1;4422:16;;4451:5;;4248:218;;4550:2;4540:8;4537:16;4531:3;4525:4;4522:13;4518:36;4512:2;4502:8;4499:16;4494:2;4488:4;4485:12;4481:35;4478:77;4475:159;;;-1:-1:-1;4587:19:1;;;4619:5;;4475:159;4666:34;4691:8;4685:4;4666:34;:::i;:::-;4736:6;4732:1;4728:6;4724:19;4715:7;4712:32;4709:58;;;4747:18;;:::i;:::-;4785:20;;4005:806;-1:-1:-1;;;4005:806:1:o;4816:140::-;4874:5;4903:47;4944:4;4934:8;4930:19;4924:4;4903:47;:::i;4961:168::-;5034:9;;;5065;;5082:15;;;5076:22;;5062:37;5052:71;;5103:18;;:::i;5827:128::-;5894:9;;;5915:11;;;5912:37;;;5929:18;;:::i;5960:125::-;6025:9;;;6046:10;;;6043:36;;;6059:18;;:::i;6090:251::-;6160:6;6213:2;6201:9;6192:7;6188:23;6184:32;6181:52;;;6229:1;6226;6219:12;6181:52;6261:9;6255:16;6280:31;6305:5;6280:31;:::i;6346:184::-;6416:6;6469:2;6457:9;6448:7;6444:23;6440:32;6437:52;;;6485:1;6482;6475:12;6437:52;-1:-1:-1;6508:16:1;;6346:184;-1:-1:-1;6346:184:1:o;6667:217::-;6707:1;6733;6723:132;;6777:10;6772:3;6768:20;6765:1;6758:31;6812:4;6809:1;6802:15;6840:4;6837:1;6830:15;6723:132;-1:-1:-1;6869:9:1;;6667:217::o;9374:127::-;9435:10;9430:3;9426:20;9423:1;9416:31;9466:4;9463:1;9456:15;9490:4;9487:1;9480:15;9506:980;9768:4;9816:3;9805:9;9801:19;9847:6;9836:9;9829:25;9873:2;9911:6;9906:2;9895:9;9891:18;9884:34;9954:3;9949:2;9938:9;9934:18;9927:31;9978:6;10013;10007:13;10044:6;10036;10029:22;10082:3;10071:9;10067:19;10060:26;;10121:2;10113:6;10109:15;10095:29;;10142:1;10152:195;10166:6;10163:1;10160:13;10152:195;;;10231:13;;-1:-1:-1;;;;;10227:39:1;10215:52;;10322:15;;;;10287:12;;;;10263:1;10181:9;10152:195;;;-1:-1:-1;;;;;;;10403:32:1;;;;10398:2;10383:18;;10376:60;-1:-1:-1;;;10467:3:1;10452:19;10445:35;10364:3;9506:980;-1:-1:-1;;;9506:980:1:o;11103:306::-;11191:6;11199;11207;11260:2;11248:9;11239:7;11235:23;11231:32;11228:52;;;11276:1;11273;11266:12;11228:52;11305:9;11299:16;11289:26;;11355:2;11344:9;11340:18;11334:25;11324:35;;11399:2;11388:9;11384:18;11378:25;11368:35;;11103:306;;;;;:::o;11753:277::-;11820:6;11873:2;11861:9;11852:7;11848:23;11844:32;11841:52;;;11889:1;11886;11879:12;11841:52;11921:9;11915:16;11974:5;11967:13;11960:21;11953:5;11950:32;11940:60;;11996:1;11993;11986:12

Swarm Source

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