ETH Price: $3,285.41 (-2.36%)

Token

BORACAY BEACH CRYPTO CLUB (BBCC)
 

Overview

Max Total Supply

21,000,000 BBCC

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 BBCC

Value
$0.00
0xf8e2acc2a1410d5a40e22b771b306e422f5d4533
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:
BBCC

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-24
*/

/**
*/

// SPDX-License-Identifier: NOLICENSE

/**

Token Name: BORACAY BEACH CRYPTO CLUB
Ticker: BBCC
Supply: 21,000,000

Boracay known as one of the best beaches in the world with almost 2 million 
international tourist and local visits, located in the Philippines. 
Has already accepting $BITCOIN as a mode of payment. 
With that, $BBCC aims to become the first decentralize organization to 
establish "$BBCC Crypto Resort" that will accept $BITCOIN $BBCC as a payment. 

As a holder of $BBCC we will expand partnerships on the 
island for all existing establishments for rewards and discounts. 

$BBCC holders can have 100% free staycation every year with 
numerous nights of stays and will have annual renewal.

Telegram: t.me/BBCCERC20
Twitter: https://twitter.com/BBCCERC20


*/

pragma solidity ^0.8.4;

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

}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IUniswapV2Router02 {
    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);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract BBCC is Context, IERC20, Ownable {

    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromMaxWalletSize;

    string private constant _name = "BORACAY BEACH CRYPTO CLUB";
    string private constant _symbol = "BBCC";
    uint8 private constant _decimals = 9;

    uint256 public buyAutoLiquidityFee = 0;
    uint256 public buyAutoBurnFee = 0;
    uint256 public buyMarketingFee = 800;
    uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;

    uint256 public sellAutoLiquidityFee = 0;
    uint256 public sellAutoBurnFee = 0;
    uint256 public sellMarketingFee = 1200;
    uint256 public totalSellFees =  sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;

    uint256 public tokensForAutoLiquidity;
    uint256 public tokensForAutoBurn;  
    uint256 public tokensForMarketing;
    uint16 public masterTaxDivisor = 10000;

    address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address public pairAddress;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _tTotal = 21000000 * 10**9;
    uint256 private maxWalletAmount = 10500 * 10**9;
    uint256 private maxTxAmount = 10500 * 10**9;
    address payable private feeAddrWallet;

    event MaxWalletAmountUpdated(uint maxWalletAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
  
    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
        feeAddrWallet = payable(0x95FEaE04c33dB751b9c3e938Bd0a21ebe28851Bb);    
        _tOwned[owner()] = _tTotal;  

        uint256 _buyAutoLiquidityFee = 0;
        uint256 _buyAutoBurnFee = 0;
        uint256 _buyMarketingFee = 800;
        uint256 _sellAutoLiquidityFee = 0;
        uint256 _sellAutoBurnFee = 0;
        uint256 _sellMarketingFee = 1200;
        
        buyAutoLiquidityFee = _buyAutoLiquidityFee;
        buyAutoBurnFee = _buyAutoBurnFee;
        buyMarketingFee = _buyMarketingFee;
        totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;
        
        sellAutoLiquidityFee = _sellAutoLiquidityFee;
        sellAutoBurnFee = _sellAutoBurnFee;
        sellMarketingFee = _sellMarketingFee;
        totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;      

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeAddrWallet] = true;
        _isExcludedFromMaxWalletSize[owner()] = true;
        _isExcludedFromMaxWalletSize[address(this)] = true;
        _isExcludedFromMaxWalletSize[feeAddrWallet] = true;     
        emit Transfer(address(0), owner(), _tTotal);
    }

    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 view override returns (uint256) { return _tTotal; }
    function balanceOf(address account) public view override returns (uint256) { return _tOwned[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 virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");    
        require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet");

        if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= maxTxAmount, "Exceeds the maxTxAmount.");
        }

      if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromMaxWalletSize[to]) {             
                require(amount + balanceOf(to) <= maxWalletAmount, "Recipient exceeds max wallet size.");
        }

        uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]));
    }

    function swapTokensForEth(uint256 tokenAmount) 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
        );
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        _tOwned[sender] -= amount;
        uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount;
        _tOwned[recipient] += amountReceived;
        emit Transfer(sender, recipient, amountReceived);
    }

    function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) {
        if(from == uniswapV2Pair && totalBuyFees > 0 ) { 
            tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor;         
            tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor;    
        } else if (to == uniswapV2Pair  && totalSellFees > 0 ) { 
            tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor;
            tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor;        
        }
        _tOwned[pairAddress] += tokensForAutoLiquidity;
        emit Transfer(from, pairAddress, tokensForAutoLiquidity);
        
        _tOwned[DEAD] += tokensForAutoBurn;
        _tTotal = _tTotal - tokensForAutoBurn;
        _tTotal = totalSupply();
        emit Transfer(from, DEAD, tokensForAutoBurn);
                
        _tOwned[address(this)] += tokensForMarketing;
        emit Transfer(from, address(this), tokensForMarketing);

        uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing;
        return amount - feeAmount;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function excludeFromMaxWalletLimit(address account) public onlyOwner {
		_isExcludedFromMaxWalletSize[account] = true;
	}

    function includeInMaxWalletLimit(address account) public onlyOwner {
		_isExcludedFromMaxWalletSize[account] = false;
	}

    function setWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{
        maxTxAmount = _maxTxAmount * 10 **_decimals;
        maxWalletAmount = _maxWalletSize * 10 **_decimals;
    }

    function updateMaxWallet(uint256 _maxWalletSize) external onlyOwner{
        maxWalletAmount = _maxWalletSize * 10 **_decimals;
    }

    function updateMaxTxtAmount(uint256 _maxTxAmount) external onlyOwner{
        maxTxAmount = _maxTxAmount * 10 **_decimals;
    }
    function RervertSellFeesToOriginalTax() external onlyOwner {
        //Original state of sell tax
        sellAutoLiquidityFee = 0;
        sellAutoBurnFee = 0;
        sellMarketingFee = 1200;
        totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");        
        swapEnabled = true;
        maxWalletAmount = 10500 * 10**9;
        maxTxAmount = 10500 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    receive() external payable{
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RervertSellFeesToOriginalTax","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":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"setWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"updateMaxTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600555600060065561032060075560075460065460055462000029919062000694565b62000035919062000694565b60085560006009556000600a556104b0600b55600b54600a546009546200005d919062000694565b62000069919062000694565b600c556010805461ffff19166127101790556012805461ffff60a81b19169055664a9b638448800060135565098cb8c528006014819055601555348015620000b057600080fd5b50620000bc3362000612565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b1580156200011d57600080fd5b505afa15801562000132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000158919062000662565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001a157600080fd5b505afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062000662565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200022557600080fd5b505af11580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000260919062000662565b601260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c057600080fd5b505afa158015620002d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fb919062000662565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034457600080fd5b505afa15801562000359573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037f919062000662565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015620003c657600080fd5b505afa158015620003db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000401919062000662565b601080546001600160a01b03928316620100000262010000600160b01b0319909116179055601680546001600160a01b0319167395feae04c33db751b9c3e938bd0a21ebe28851bb17905560135460008054909216825260016020526040822055600581905560068190556103206007819055819081806104b08362000488838062000694565b62000494919062000694565b6008556009839055600a829055600b81905580620004b3838562000694565b620004bf919062000694565b600c55600160036000620004db6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556016549091168352908220805490931681179092556004906200054b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155601654909116835291208054909216179055620005b56000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601354604051620005fd91815260200190565b60405180910390a350505050505050620006bb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200067557600080fd5b81516001600160a01b03811681146200068d57600080fd5b9392505050565b60008219821115620006b657634e487b7160e01b600052601160045260246000fd5b500190565b611b5c80620006cb6000396000f3fe6080604052600436106102075760003560e01c80637bce5a0411610118578063c24ad66c116100a0578063d0a398141161006f578063d0a39814146105dc578063dd62ed3e146105f2578063ea2f0b3714610638578063f239eab814610658578063f2fde38b1461066e57600080fd5b8063c24ad66c1461057b578063c9567bf91461059b578063c99f2fed146105b0578063cc70acee146105c657600080fd5b80639740a946116100e75780639740a946146104e95780639f71146d146104ff578063a8b089821461051f578063a9059cbb14610545578063b9e937001461056557600080fd5b80637bce5a04146104725780638da5cb5b1461048857806392136913146104a657806395d89b41146104bc57600080fd5b806323b872dd1161019b578063437823ec1161016a578063437823ec146103db57806347afcbfe146103fb5780636cce46fc1461041157806370a0823114610427578063715018a61461045d57600080fd5b806323b872dd1461036a578063313ce5671461038a5780633722355c146103a65780633e0c23b8146103c657600080fd5b806318160ddd116101d757806318160ddd146102e75780631c499ab0146103065780631d6167ac146103265780631f3fed8f1461035457600080fd5b8062f44d241461021357806303fd2a451461023557806306fdde0314610268578063095ea7b3146102b757600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611831565b61068e565b005b34801561024157600080fd5b5061024b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027457600080fd5b5060408051808201909152601981527f424f52414341592042454143482043525950544f20434c55420000000000000060208201525b60405161025f919061186c565b3480156102c357600080fd5b506102d76102d23660046117e3565b6106dd565b604051901515815260200161025f565b3480156102f357600080fd5b506013545b60405190815260200161025f565b34801561031257600080fd5b50610233610321366004611831565b6106f4565b34801561033257600080fd5b506010546103419061ffff1681565b60405161ffff909116815260200161025f565b34801561036057600080fd5b506102f8600f5481565b34801561037657600080fd5b506102d76103853660046117a2565b61073a565b34801561039657600080fd5b506040516009815260200161025f565b3480156103b257600080fd5b506102336103c1366004611728565b6107eb565b3480156103d257600080fd5b50610233610839565b3480156103e757600080fd5b506102336103f6366004611728565b610891565b34801561040757600080fd5b506102f8600a5481565b34801561041d57600080fd5b506102f860095481565b34801561043357600080fd5b506102f8610442366004611728565b6001600160a01b031660009081526001602052604090205490565b34801561046957600080fd5b506102336108df565b34801561047e57600080fd5b506102f860075481565b34801561049457600080fd5b506000546001600160a01b031661024b565b3480156104b257600080fd5b506102f8600b5481565b3480156104c857600080fd5b506040805180820190915260048152634242434360e01b60208201526102aa565b3480156104f557600080fd5b506102f8600d5481565b34801561050b57600080fd5b5061023361051a366004611728565b610915565b34801561052b57600080fd5b5060105461024b906201000090046001600160a01b031681565b34801561055157600080fd5b506102d76105603660046117e3565b610960565b34801561057157600080fd5b506102f860085481565b34801561058757600080fd5b5061023361059636600461184a565b61096d565b3480156105a757600080fd5b506102336109cd565b3480156105bc57600080fd5b506102f860065481565b3480156105d257600080fd5b506102f8600e5481565b3480156105e857600080fd5b506102f8600c5481565b3480156105fe57600080fd5b506102f861060d366004611769565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610233610653366004611728565b610b02565b34801561066457600080fd5b506102f860055481565b34801561067a57600080fd5b50610233610689366004611728565b610b4d565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b8906118c1565b60405180910390fd5b6106cd6009600a6119e4565b6106d79082611a8f565b60155550565b60006106ea338484610be5565b5060015b92915050565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016106b8906118c1565b61072a6009600a6119e4565b6107349082611a8f565b60145550565b6000610747848484610d09565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156107cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106b8565b6107e085336107db8685611aae565b610be5565b506001949350505050565b6000546001600160a01b031633146108155760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016106b8906118c1565b60006009819055600a8190556104b0600b819055906108829080611967565b61088c9190611967565b600c55565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146109095760405162461bcd60e51b81526004016106b8906118c1565b610913600061119b565b565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19169055565b60006106ea338484610d09565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016106b8906118c1565b6109a36009600a6119e4565b6109ad9083611a8f565b6015556109bc6009600a6119e4565b6109c69082611a8f565b6014555050565b6000546001600160a01b031633146109f75760405162461bcd60e51b81526004016106b8906118c1565b601254600160a01b900460ff1615610a515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b8565b6012805465098cb8c52800601481905560155562ff00ff60a01b1981166201000160a01b1790915560115460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061180f565b50565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314610b775760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b038116610bdc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b610aff8161119b565b6001600160a01b038316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b8565b6001600160a01b038216610ca85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b8565b6001600160a01b038216610dcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b8565b60008111610e315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b8565b6001600160a01b038316600090815260016020526040902054811115610eb35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106b8565b601254600160a01b900460ff1680610ee357506001600160a01b03831660009081526003602052604090205460ff165b80610f0657506001600160a01b03821660009081526003602052604090205460ff165b610f525760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016106b8565b6012546001600160a01b038481169116148015610f7d57506011546001600160a01b03838116911614155b8015610fa257506001600160a01b03821660009081526003602052604090205460ff16155b15610ff957601554811115610ff95760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016106b8565b6012546001600160a01b03848116911614801561102457506011546001600160a01b03838116911614155b801561104957506001600160a01b03821660009081526004602052604090205460ff16155b156110cd576014546001600160a01b0383166000908152600160205260409020546110749083611967565b11156110cd5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016106b8565b30600090815260016020526040902054601254600160a81b900460ff1615801561110557506012546001600160a01b03858116911614155b801561111a5750601254600160b01b900460ff165b80156111265750600081115b1561114657611134816111eb565b4780156111445761114447611374565b505b6001600160a01b0384166000908152600360205260409020546111959085908590859060ff168061118f57506001600160a01b03871660009081526003602052604090205460ff165b156113b2565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061123357611233611adb565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061174c565b816001815181106112d2576112d2611adb565b6001600160a01b0392831660209182029290920101526011546112f89130911684610be5565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113319085906000908690309042906004016118f6565b600060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ae573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906113da908490611aae565b9091555060009050816113ed57826113f8565b6113f885858561146e565b6001600160a01b038516600090815260016020526040812080549293508392909190611425908490611967565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611b078339815191528360405161145f91815260200190565b60405180910390a35050505050565b6012546000906001600160a01b03858116911614801561149057506000600854115b156115065760105460055461ffff909116906114ac9084611a8f565b6114b6919061197f565b600d5560105460065461ffff909116906114d09084611a8f565b6114da919061197f565b600e5560105460075461ffff909116906114f49084611a8f565b6114fe919061197f565b600f55611597565b6012546001600160a01b03848116911614801561152557506000600c54115b156115975760105460095461ffff909116906115419084611a8f565b61154b919061197f565b600d55601054600a5461ffff909116906115659084611a8f565b61156f919061197f565b600e55601054600b5461ffff909116906115899084611a8f565b611593919061197f565b600f555b600d546010546201000090046001600160a01b0316600090815260016020526040812080549091906115ca908490611967565b9091555050601054600d546040516001600160a01b0362010000909304831692871691600080516020611b078339815191529161160991815260200190565b60405180910390a3600e5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054909190611652908490611967565b9091555050600e546013546116679190611aae565b601355600e54604080519182525161dead916001600160a01b03871691600080516020611b078339815191529181900360200190a3600f5430600090815260016020526040812080549091906116be908490611967565b9091555050600f5460405190815230906001600160a01b03861690600080516020611b078339815191529060200160405180910390a36000600f54600e54600d546117099190611967565b6117139190611967565b905061171f8184611aae565b95945050505050565b60006020828403121561173a57600080fd5b813561174581611af1565b9392505050565b60006020828403121561175e57600080fd5b815161174581611af1565b6000806040838503121561177c57600080fd5b823561178781611af1565b9150602083013561179781611af1565b809150509250929050565b6000806000606084860312156117b757600080fd5b83356117c281611af1565b925060208401356117d281611af1565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611af1565b946020939093013593505050565b60006020828403121561182157600080fd5b8151801515811461174557600080fd5b60006020828403121561184357600080fd5b5035919050565b6000806040838503121561185d57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156118995785810183015185820160400152820161187d565b818111156118ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561197a5761197a611ac5565b500190565b60008261199c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156119dc5781600019048211156119c2576119c2611ac5565b808516156119cf57918102915b93841c93908002906119a6565b509250929050565b600061174560ff8416836000826119fd575060016106ee565b81611a0a575060006106ee565b8160018114611a205760028114611a2a57611a46565b60019150506106ee565b60ff841115611a3b57611a3b611ac5565b50506001821b6106ee565b5060208310610133831016604e8410600b8410161715611a69575081810a6106ee565b611a7383836119a1565b8060001904821115611a8757611a87611ac5565b029392505050565b6000816000190483118215151615611aa957611aa9611ac5565b500290565b600082821015611ac057611ac0611ac5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610aff57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f2bd19368a177ffc828ec326d9b14578258bf59c27dcaf852d2ac0a8fec092da64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102075760003560e01c80637bce5a0411610118578063c24ad66c116100a0578063d0a398141161006f578063d0a39814146105dc578063dd62ed3e146105f2578063ea2f0b3714610638578063f239eab814610658578063f2fde38b1461066e57600080fd5b8063c24ad66c1461057b578063c9567bf91461059b578063c99f2fed146105b0578063cc70acee146105c657600080fd5b80639740a946116100e75780639740a946146104e95780639f71146d146104ff578063a8b089821461051f578063a9059cbb14610545578063b9e937001461056557600080fd5b80637bce5a04146104725780638da5cb5b1461048857806392136913146104a657806395d89b41146104bc57600080fd5b806323b872dd1161019b578063437823ec1161016a578063437823ec146103db57806347afcbfe146103fb5780636cce46fc1461041157806370a0823114610427578063715018a61461045d57600080fd5b806323b872dd1461036a578063313ce5671461038a5780633722355c146103a65780633e0c23b8146103c657600080fd5b806318160ddd116101d757806318160ddd146102e75780631c499ab0146103065780631d6167ac146103265780631f3fed8f1461035457600080fd5b8062f44d241461021357806303fd2a451461023557806306fdde0314610268578063095ea7b3146102b757600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611831565b61068e565b005b34801561024157600080fd5b5061024b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027457600080fd5b5060408051808201909152601981527f424f52414341592042454143482043525950544f20434c55420000000000000060208201525b60405161025f919061186c565b3480156102c357600080fd5b506102d76102d23660046117e3565b6106dd565b604051901515815260200161025f565b3480156102f357600080fd5b506013545b60405190815260200161025f565b34801561031257600080fd5b50610233610321366004611831565b6106f4565b34801561033257600080fd5b506010546103419061ffff1681565b60405161ffff909116815260200161025f565b34801561036057600080fd5b506102f8600f5481565b34801561037657600080fd5b506102d76103853660046117a2565b61073a565b34801561039657600080fd5b506040516009815260200161025f565b3480156103b257600080fd5b506102336103c1366004611728565b6107eb565b3480156103d257600080fd5b50610233610839565b3480156103e757600080fd5b506102336103f6366004611728565b610891565b34801561040757600080fd5b506102f8600a5481565b34801561041d57600080fd5b506102f860095481565b34801561043357600080fd5b506102f8610442366004611728565b6001600160a01b031660009081526001602052604090205490565b34801561046957600080fd5b506102336108df565b34801561047e57600080fd5b506102f860075481565b34801561049457600080fd5b506000546001600160a01b031661024b565b3480156104b257600080fd5b506102f8600b5481565b3480156104c857600080fd5b506040805180820190915260048152634242434360e01b60208201526102aa565b3480156104f557600080fd5b506102f8600d5481565b34801561050b57600080fd5b5061023361051a366004611728565b610915565b34801561052b57600080fd5b5060105461024b906201000090046001600160a01b031681565b34801561055157600080fd5b506102d76105603660046117e3565b610960565b34801561057157600080fd5b506102f860085481565b34801561058757600080fd5b5061023361059636600461184a565b61096d565b3480156105a757600080fd5b506102336109cd565b3480156105bc57600080fd5b506102f860065481565b3480156105d257600080fd5b506102f8600e5481565b3480156105e857600080fd5b506102f8600c5481565b3480156105fe57600080fd5b506102f861060d366004611769565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610233610653366004611728565b610b02565b34801561066457600080fd5b506102f860055481565b34801561067a57600080fd5b50610233610689366004611728565b610b4d565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b8906118c1565b60405180910390fd5b6106cd6009600a6119e4565b6106d79082611a8f565b60155550565b60006106ea338484610be5565b5060015b92915050565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016106b8906118c1565b61072a6009600a6119e4565b6107349082611a8f565b60145550565b6000610747848484610d09565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156107cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106b8565b6107e085336107db8685611aae565b610be5565b506001949350505050565b6000546001600160a01b031633146108155760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016106b8906118c1565b60006009819055600a8190556104b0600b819055906108829080611967565b61088c9190611967565b600c55565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146109095760405162461bcd60e51b81526004016106b8906118c1565b610913600061119b565b565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19169055565b60006106ea338484610d09565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016106b8906118c1565b6109a36009600a6119e4565b6109ad9083611a8f565b6015556109bc6009600a6119e4565b6109c69082611a8f565b6014555050565b6000546001600160a01b031633146109f75760405162461bcd60e51b81526004016106b8906118c1565b601254600160a01b900460ff1615610a515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b8565b6012805465098cb8c52800601481905560155562ff00ff60a01b1981166201000160a01b1790915560115460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061180f565b50565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314610b775760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b038116610bdc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b610aff8161119b565b6001600160a01b038316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b8565b6001600160a01b038216610ca85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b8565b6001600160a01b038216610dcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b8565b60008111610e315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b8565b6001600160a01b038316600090815260016020526040902054811115610eb35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106b8565b601254600160a01b900460ff1680610ee357506001600160a01b03831660009081526003602052604090205460ff165b80610f0657506001600160a01b03821660009081526003602052604090205460ff165b610f525760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016106b8565b6012546001600160a01b038481169116148015610f7d57506011546001600160a01b03838116911614155b8015610fa257506001600160a01b03821660009081526003602052604090205460ff16155b15610ff957601554811115610ff95760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016106b8565b6012546001600160a01b03848116911614801561102457506011546001600160a01b03838116911614155b801561104957506001600160a01b03821660009081526004602052604090205460ff16155b156110cd576014546001600160a01b0383166000908152600160205260409020546110749083611967565b11156110cd5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016106b8565b30600090815260016020526040902054601254600160a81b900460ff1615801561110557506012546001600160a01b03858116911614155b801561111a5750601254600160b01b900460ff165b80156111265750600081115b1561114657611134816111eb565b4780156111445761114447611374565b505b6001600160a01b0384166000908152600360205260409020546111959085908590859060ff168061118f57506001600160a01b03871660009081526003602052604090205460ff165b156113b2565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061123357611233611adb565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061174c565b816001815181106112d2576112d2611adb565b6001600160a01b0392831660209182029290920101526011546112f89130911684610be5565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113319085906000908690309042906004016118f6565b600060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ae573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906113da908490611aae565b9091555060009050816113ed57826113f8565b6113f885858561146e565b6001600160a01b038516600090815260016020526040812080549293508392909190611425908490611967565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611b078339815191528360405161145f91815260200190565b60405180910390a35050505050565b6012546000906001600160a01b03858116911614801561149057506000600854115b156115065760105460055461ffff909116906114ac9084611a8f565b6114b6919061197f565b600d5560105460065461ffff909116906114d09084611a8f565b6114da919061197f565b600e5560105460075461ffff909116906114f49084611a8f565b6114fe919061197f565b600f55611597565b6012546001600160a01b03848116911614801561152557506000600c54115b156115975760105460095461ffff909116906115419084611a8f565b61154b919061197f565b600d55601054600a5461ffff909116906115659084611a8f565b61156f919061197f565b600e55601054600b5461ffff909116906115899084611a8f565b611593919061197f565b600f555b600d546010546201000090046001600160a01b0316600090815260016020526040812080549091906115ca908490611967565b9091555050601054600d546040516001600160a01b0362010000909304831692871691600080516020611b078339815191529161160991815260200190565b60405180910390a3600e5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054909190611652908490611967565b9091555050600e546013546116679190611aae565b601355600e54604080519182525161dead916001600160a01b03871691600080516020611b078339815191529181900360200190a3600f5430600090815260016020526040812080549091906116be908490611967565b9091555050600f5460405190815230906001600160a01b03861690600080516020611b078339815191529060200160405180910390a36000600f54600e54600d546117099190611967565b6117139190611967565b905061171f8184611aae565b95945050505050565b60006020828403121561173a57600080fd5b813561174581611af1565b9392505050565b60006020828403121561175e57600080fd5b815161174581611af1565b6000806040838503121561177c57600080fd5b823561178781611af1565b9150602083013561179781611af1565b809150509250929050565b6000806000606084860312156117b757600080fd5b83356117c281611af1565b925060208401356117d281611af1565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611af1565b946020939093013593505050565b60006020828403121561182157600080fd5b8151801515811461174557600080fd5b60006020828403121561184357600080fd5b5035919050565b6000806040838503121561185d57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156118995785810183015185820160400152820161187d565b818111156118ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561197a5761197a611ac5565b500190565b60008261199c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156119dc5781600019048211156119c2576119c2611ac5565b808516156119cf57918102915b93841c93908002906119a6565b509250929050565b600061174560ff8416836000826119fd575060016106ee565b81611a0a575060006106ee565b8160018114611a205760028114611a2a57611a46565b60019150506106ee565b60ff841115611a3b57611a3b611ac5565b50506001821b6106ee565b5060208310610133831016604e8410600b8410161715611a69575081810a6106ee565b611a7383836119a1565b8060001904821115611a8757611a87611ac5565b029392505050565b6000816000190483118215151615611aa957611aa9611ac5565b500290565b600082821015611ac057611ac0611ac5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610aff57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f2bd19368a177ffc828ec326d9b14578258bf59c27dcaf852d2ac0a8fec092da64736f6c63430008070033

Deployed Bytecode Sourcemap

4837:10524:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14440:130;;;;;;;;;;-1:-1:-1;14440:130:0;;;;;:::i;:::-;;:::i;:::-;;5959:73;;;;;;;;;;;;5990:42;5959:73;;;;;-1:-1:-1;;;;;2580:32:1;;;2562:51;;2550:2;2535:18;5959:73:0;;;;;;;;8287:69;;;;;;;;;;-1:-1:-1;8348:5:0;;;;;;;;;;;;;;;;;8287:69;;;;;;;:::i;8997:138::-;;;;;;;;;;-1:-1:-1;8997:138:0;;;;;:::i;:::-;;:::i;:::-;;;3068:14:1;;3061:22;3043:41;;3031:2;3016:18;8997:138:0;2903:187:1;8516:81:0;;;;;;;;;;-1:-1:-1;8587:7:0;;8516:81;;;9119:25:1;;;9107:2;9092:18;8516:81:0;8973:177:1;14297:135:0;;;;;;;;;;-1:-1:-1;14297:135:0;;;;;:::i;:::-;;:::i;5912:38::-;;;;;;;;;;-1:-1:-1;5912:38:0;;;;;;;;;;;8954:6:1;8942:19;;;8924:38;;8912:2;8897:18;5912:38:0;8780:188:1;5872:33:0;;;;;;;;;;;;;;;;9143:420;;;;;;;;;;-1:-1:-1;9143:420:0;;;;;:::i;:::-;;:::i;8441:69::-;;;;;;;;;;-1:-1:-1;8441:69:0;;5326:1;10282:36:1;;10270:2;10255:18;8441:69:0;10140:184:1;13811:123:0;;;;;;;;;;-1:-1:-1;13811:123:0;;;;;:::i;:::-;;:::i;14576:288::-;;;;;;;;;;;;;:::i;13574:111::-;;;;;;;;;;-1:-1:-1;13574:111:0;;;;;:::i;:::-;;:::i;5603:34::-;;;;;;;;;;;;;;;;5557:39;;;;;;;;;;;;;;;;8603:103;;;;;;;;;;-1:-1:-1;8603:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8687:16:0;8669:7;8687:16;;;:7;:16;;;;;;;8603:103;3500:94;;;;;;;;;;;;;:::i;5421:36::-;;;;;;;;;;;;;;;;3277:87;;;;;;;;;;-1:-1:-1;3323:7:0;3350:6;-1:-1:-1;;;;;3350:6:0;3277:87;;5644:38;;;;;;;;;;;;;;;;8362:73;;;;;;;;;;-1:-1:-1;8425:7:0;;;;;;;;;;;;-1:-1:-1;;;8425:7:0;;;;8362:73;;5787:37;;;;;;;;;;;;;;;;13942:122;;;;;;;;;;-1:-1:-1;13942:122:0;;;;;:::i;:::-;;:::i;6039:26::-;;;;;;;;;;-1:-1:-1;6039:26:0;;;;;;;-1:-1:-1;;;;;6039:26:0;;;8712:144;;;;;;;;;;-1:-1:-1;8712:144:0;;;;;:::i;:::-;;:::i;5464:84::-;;;;;;;;;;;;;;;;14072:217;;;;;;;;;;-1:-1:-1;14072:217:0;;;;;:::i;:::-;;:::i;14976:338::-;;;;;;;;;;;;;:::i;5381:33::-;;;;;;;;;;;;;;;;5831:32;;;;;;;;;;;;;;;;5689:89;;;;;;;;;;;;;;;;8862:129;;;;;;;;;;-1:-1:-1;8862:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;8961:18:0;;;8943:7;8961:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8862:129;13693:110;;;;;;;;;;-1:-1:-1;13693:110:0;;;;;:::i;:::-;;:::i;5336:38::-;;;;;;;;;;;;;;;;3602:192;;;;;;;;;;-1:-1:-1;3602:192:0;;;;;:::i;:::-;;:::i;14440:130::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;;;;;;;;;14548:14:::1;5326:1;14548:2;:14;:::i;:::-;14533:29;::::0;:12;:29:::1;:::i;:::-;14519:11;:43:::0;-1:-1:-1;14440:130:0:o;8997:138::-;9072:4;9080:39;2778:10;9103:7;9112:6;9080:8;:39::i;:::-;-1:-1:-1;9128:4:0;8997:138;;;;;:::o;14297:135::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14410:14:::1;5326:1;14410:2;:14;:::i;:::-;14393:31;::::0;:14;:31:::1;:::i;:::-;14375:15;:49:::0;-1:-1:-1;14297:135:0:o;9143:420::-;9249:4;9266:36;9276:6;9284:9;9295:6;9266:9;:36::i;:::-;-1:-1:-1;;;;;9342:19:0;;9315:24;9342:19;;;:11;:19;;;;;;;;2778:10;9342:33;;;;;;;;9394:26;;;;9386:79;;;;-1:-1:-1;;;9386:79:0;;5934:2:1;9386:79:0;;;5916:21:1;5973:2;5953:18;;;5946:30;6012:34;5992:18;;;5985:62;-1:-1:-1;;;6063:18:1;;;6056:38;6111:19;;9386:79:0;5732:404:1;9386:79:0;9476:57;9485:6;2778:10;9507:25;9526:6;9507:16;:25;:::i;:::-;9476:8;:57::i;:::-;-1:-1:-1;9551:4:0;;9143:420;-1:-1:-1;;;;9143:420:0:o;13811:123::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13885:37:0::1;;::::0;;;:28:::1;:37;::::0;;;;:44;;-1:-1:-1;;13885:44:0::1;13925:4;13885:44;::::0;;13811:123::o;14576:288::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14707:1:::1;14684:20;:24:::0;;;14719:15:::1;:19:::0;;;14768:4:::1;14749:16;:23:::0;;;14768:4;14799:38:::1;::::0;14707:1;14799:38:::1;:::i;:::-;:57;;;;:::i;:::-;14783:13;:73:::0;14576:288::o;13574:111::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13643:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;13643:34:0::1;13673:4;13643:34;::::0;;13574:111::o;3500:94::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;3565:21:::1;3583:1;3565:9;:21::i;:::-;3500:94::o:0;13942:122::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14014:37:0::1;14054:5;14014:37:::0;;;:28:::1;:37;::::0;;;;:45;;-1:-1:-1;;14014:45:0::1;::::0;;13942:122::o;8712:144::-;8790:4;8798:42;2778:10;8822:9;8833:6;8798:9;:42::i;14072:217::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14207:14:::1;5326:1;14207:2;:14;:::i;:::-;14192:29;::::0;:12;:29:::1;:::i;:::-;14178:11;:43:::0;14267:14:::1;5326:1;14267:2;:14;:::i;:::-;14250:31;::::0;:14;:31:::1;:::i;:::-;14232:15;:49:::0;-1:-1:-1;;14072:217:0:o;14976:338::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;15040:11:::1;::::0;-1:-1:-1;;;15040:11:0;::::1;;;15039:12;15031:47;;;::::0;-1:-1:-1;;;15031:47:0;;7925:2:1;15031:47:0::1;::::0;::::1;7907:21:1::0;7964:2;7944:18;;;7937:30;8003:25;7983:18;;;7976:53;8046:18;;15031:47:0::1;7723:347:1::0;15031:47:0::1;15097:11;:18:::0;;15144:13:::1;15126:15;:31:::0;;;15168:11:::1;:27:::0;-1:-1:-1;;;;15206:18:0;;-1:-1:-1;;;15206:18:0;;;;15273:15:::1;::::0;15235:71:::1;::::0;-1:-1:-1;;;15235:71:0;;-1:-1:-1;;;;;15273:15:0;;::::1;15235:71;::::0;::::1;2798:51:1::0;-1:-1:-1;;2865:18:1;;;2858:34;15242:13:0;;;15235:29:::1;::::0;2771:18:1;;15235:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14976:338::o:0;13693:110::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13760:27:0::1;13790:5;13760:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;13760:35:0::1;::::0;;13693:110::o;3602:192::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3691:22:0;::::1;3683:73;;;::::0;-1:-1:-1;;;3683:73:0;;4721:2:1;3683:73:0::1;::::0;::::1;4703:21:1::0;4760:2;4740:18;;;4733:30;4799:34;4779:18;;;4772:62;-1:-1:-1;;;4850:18:1;;;4843:36;4896:19;;3683:73:0::1;4519:402:1::0;3683:73:0::1;3767:19;3777:8;3767:9;:19::i;9571:335::-:0;-1:-1:-1;;;;;9664:19:0;;9656:68;;;;-1:-1:-1;;;9656:68:0;;7520:2:1;9656:68:0;;;7502:21:1;7559:2;7539:18;;;7532:30;7598:34;7578:18;;;7571:62;-1:-1:-1;;;7649:18:1;;;7642:34;7693:19;;9656:68:0;7318:400:1;9656:68:0;-1:-1:-1;;;;;9743:21:0;;9735:68;;;;-1:-1:-1;;;9735:68:0;;5128:2:1;9735:68:0;;;5110:21:1;5167:2;5147:18;;;5140:30;5206:34;5186:18;;;5179:62;-1:-1:-1;;;5257:18:1;;;5250:32;5299:19;;9735:68:0;4926:398:1;9735:68:0;-1:-1:-1;;;;;9814:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9866:32;;9119:25:1;;;9866:32:0;;9092:18:1;9866:32:0;;;;;;;9571:335;;;:::o;9914:1476::-;-1:-1:-1;;;;;10002:18:0;;9994:68;;;;-1:-1:-1;;;9994:68:0;;7114:2:1;9994:68:0;;;7096:21:1;7153:2;7133:18;;;7126:30;7192:34;7172:18;;;7165:62;-1:-1:-1;;;7243:18:1;;;7236:35;7288:19;;9994:68:0;6912:401:1;9994:68:0;-1:-1:-1;;;;;10081:16:0;;10073:64;;;;-1:-1:-1;;;10073:64:0;;3899:2:1;10073:64:0;;;3881:21:1;3938:2;3918:18;;;3911:30;3977:34;3957:18;;;3950:62;-1:-1:-1;;;4028:18:1;;;4021:33;4071:19;;10073:64:0;3697:399:1;10073:64:0;10165:1;10156:6;:10;10148:64;;;;-1:-1:-1;;;10148:64:0;;6704:2:1;10148:64:0;;;6686:21:1;6743:2;6723:18;;;6716:30;6782:34;6762:18;;;6755:62;-1:-1:-1;;;6833:18:1;;;6826:39;6882:19;;10148:64:0;6502:405:1;10148:64:0;-1:-1:-1;;;;;8687:16:0;;8669:7;8687:16;;;:7;:16;;;;;;10231:6;:25;;10223:86;;;;-1:-1:-1;;;10223:86:0;;4303:2:1;10223:86:0;;;4285:21:1;4342:2;4322:18;;;4315:30;4381:34;4361:18;;;4354:62;-1:-1:-1;;;4432:18:1;;;4425:47;4489:19;;10223:86:0;4101:413:1;10223:86:0;10332:11;;-1:-1:-1;;;10332:11:0;;;;;:39;;-1:-1:-1;;;;;;10347:24:0;;;;;;:18;:24;;;;;;;;10332:39;:65;;;-1:-1:-1;;;;;;10375:22:0;;;;;;:18;:22;;;;;;;;10332:65;10324:101;;;;-1:-1:-1;;;10324:101:0;;8277:2:1;10324:101:0;;;8259:21:1;8316:2;8296:18;;;8289:30;8355:25;8335:18;;;8328:53;8398:18;;10324:101:0;8075:347:1;10324:101:0;10450:13;;-1:-1:-1;;;;;10442:21:0;;;10450:13;;10442:21;:55;;;;-1:-1:-1;10481:15:0;;-1:-1:-1;;;;;10467:30:0;;;10481:15;;10467:30;;10442:55;:83;;;;-1:-1:-1;;;;;;10503:22:0;;;;;;:18;:22;;;;;;;;10501:24;10442:83;10438:178;;;10564:11;;10554:6;:21;;10546:58;;;;-1:-1:-1;;;10546:58:0;;8629:2:1;10546:58:0;;;8611:21:1;8668:2;8648:18;;;8641:30;8707:26;8687:18;;;8680:54;8751:18;;10546:58:0;8427:348:1;10546:58:0;10638:13;;-1:-1:-1;;;;;10630:21:0;;;10638:13;;10630:21;:55;;;;-1:-1:-1;10669:15:0;;-1:-1:-1;;;;;10655:30:0;;;10669:15;;10655:30;;10630:55;:93;;;;-1:-1:-1;;;;;;10691:32:0;;;;;;:28;:32;;;;;;;;10689:34;10630:93;10626:231;;;10791:15;;-1:-1:-1;;;;;8687:16:0;;8669:7;8687:16;;;:7;:16;;;;;;10765:22;;:6;:22;:::i;:::-;:41;;10757:88;;;;-1:-1:-1;;;10757:88:0;;5531:2:1;10757:88:0;;;5513:21:1;5570:2;5550:18;;;5543:30;5609:34;5589:18;;;5582:62;-1:-1:-1;;;5660:18:1;;;5653:32;5702:19;;10757:88:0;5329:398:1;10757:88:0;10918:4;10869:28;8687:16;;;:7;:16;;;;;;10944:6;;-1:-1:-1;;;10944:6:0;;;;10943:7;:32;;;;-1:-1:-1;10962:13:0;;-1:-1:-1;;;;;10954:21:0;;;10962:13;;10954:21;;10943:32;:47;;;;-1:-1:-1;10979:11:0;;-1:-1:-1;;;10979:11:0;;;;10943:47;:73;;;;;11015:1;10994:20;:22;10943:73;10939:344;;;11037:38;11054:20;11037:16;:38::i;:::-;11123:21;11166:22;;11163:105;;11213:35;11226:21;11213:12;:35::i;:::-;11018:265;10939:344;-1:-1:-1;;;;;11330:24:0;;;;;;:18;:24;;;;;;11295:87;;11310:4;;11316:2;;11320:6;;11330:24;;;:50;;-1:-1:-1;;;;;;11358:22:0;;;;;;:18;:22;;;;;;;;11330:50;11328:53;11295:14;:87::i;:::-;9983:1407;9914:1476;;;:::o;3802:173::-;3858:16;3877:6;;-1:-1:-1;;;;;3894:17:0;;;-1:-1:-1;;;;;;3894:17:0;;;;;;3927:40;;3877:6;;;;;;;3927:40;;3858:16;3927:40;3847:128;3802:173;:::o;11398:483::-;6557:6;:13;;-1:-1:-1;;;;6557:13:0;-1:-1:-1;;;6557:13:0;;;11500:16:::1;::::0;;11514:1:::1;11500:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11500:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11500:16:0::1;11476:40;;11545:4;11527;11532:1;11527:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11527:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11571:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11571:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11527:7;;11571:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11561:4;11566:1;11561:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11561:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11636:15:::1;::::0;11604:62:::1;::::0;11621:4:::1;::::0;11636:15:::1;11654:11:::0;11604:8:::1;:62::i;:::-;11677:15;::::0;:196:::1;::::0;-1:-1:-1;;;11677:196:0;;-1:-1:-1;;;;;11677:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11758:11;;11677:15:::1;::::0;11800:4;;11827::::1;::::0;11847:15:::1;::::0;11677:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6593:6:0;:14;;-1:-1:-1;;;;6593:14:0;;;-1:-1:-1;;;;11398:483:0:o;14872:95::-;14929:13;;:30;;-1:-1:-1;;;;;14929:13:0;;;;:30;;;;;14952:6;;14929:13;:30;:13;:30;14952:6;14929:13;:30;;;;;;;;;;;;;;;;;;;;;14872:95;:::o;11889:340::-;-1:-1:-1;;;;;11997:15:0;;;;;;:7;:15;;;;;:25;;12016:6;;11997:15;:25;;12016:6;;11997:25;:::i;:::-;;;;-1:-1:-1;12033:22:0;;-1:-1:-1;12059:7:0;12058:57;;12109:6;12058:57;;;12070:36;12080:6;12088:9;12099:6;12070:9;:36::i;:::-;-1:-1:-1;;;;;12126:18:0;;;;;;:7;:18;;;;;:36;;12033:82;;-1:-1:-1;12033:82:0;;12126:18;;;:36;;12033:82;;12126:36;:::i;:::-;;;;;;;;12195:9;-1:-1:-1;;;;;12178:43:0;12187:6;-1:-1:-1;;;;;12178:43:0;-1:-1:-1;;;;;;;;;;;12206:14:0;12178:43;;;;9119:25:1;;9107:2;9092:18;;8973:177;12178:43:0;;;;;;;;11986:243;11889:340;;;;:::o;12237:1329::-;12347:13;;12316:7;;-1:-1:-1;;;;;12339:21:0;;;12347:13;;12339:21;:41;;;;;12379:1;12364:12;;:16;12339:41;12336:637;;;12455:16;;12433:19;;12455:16;;;;;12424:28;;:6;:28;:::i;:::-;:47;;;;:::i;:::-;12399:22;:72;12532:16;;12515:14;;12532:16;;;;;12506:23;;:6;:23;:::i;:::-;:42;;;;:::i;:::-;12486:17;:62;12620:16;;12602:15;;12620:16;;;;;12593:24;;:6;:24;:::i;:::-;:43;;;;:::i;:::-;12572:18;:64;12336:637;;;12668:13;;-1:-1:-1;;;;;12662:19:0;;;12668:13;;12662:19;:41;;;;;12702:1;12686:13;;:17;12662:41;12658:315;;;12779:16;;12756:20;;12779:16;;;;;12747:29;;:6;:29;:::i;:::-;:48;;;;:::i;:::-;12722:22;:73;12857:16;;12839:15;;12857:16;;;;;12830:24;;:6;:24;:::i;:::-;:43;;;;:::i;:::-;12810:17;:63;12937:16;;12918;;12937;;;;;12909:25;;:6;:25;:::i;:::-;:44;;;;:::i;:::-;12888:18;:65;12658:315;13007:22;;12991:11;;;;;-1:-1:-1;;;;;12991:11:0;12983:20;;;;:7;:20;;;;;:46;;:20;;;:46;;13007:22;;12983:46;:::i;:::-;;;;-1:-1:-1;;13060:11:0;;13073:22;;13045:51;;-1:-1:-1;;;;;13060:11:0;;;;;;;13045:51;;;-1:-1:-1;;;;;;;;;;;13045:51:0;;;9119:25:1;;9107:2;9092:18;;8973:177;13045:51:0;;;;;;;;13134:17;;5990:42;13117:13;;;;:7;:13;;;:34;;:13;;;:34;;13134:17;;13117:34;:::i;:::-;;;;-1:-1:-1;;13182:17:0;;13172:7;;:27;;13182:17;13172:27;:::i;:::-;13162:7;:37;13270:17;;13249:39;;;9119:25:1;;;13249:39:0;5990:42;;-1:-1:-1;;;;;13249:39:0;;;-1:-1:-1;;;;;;;;;;;13249:39:0;;;;9107:2:1;13249:39:0;;;13343:18;;13333:4;13317:22;;;;:7;:22;;;;;:44;;:22;;;:44;;13343:18;;13317:44;:::i;:::-;;;;-1:-1:-1;;13407:18:0;;13377:49;;9119:25:1;;;13400:4:0;;-1:-1:-1;;;;;13377:49:0;;;-1:-1:-1;;;;;;;;;;;13377:49:0;9107:2:1;9092:18;13377:49:0;;;;;;;13439:17;13504:18;;13484:17;;13459:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;13439:83;-1:-1:-1;13540:18:0;13439:83;13540:6;:18;:::i;:::-;13533:25;12237:1329;-1:-1:-1;;;;;12237:1329:0:o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:277::-;1763:6;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1864:9;1858:16;1917:5;1910:13;1903:21;1896:5;1893:32;1883:60;;1939:1;1936;1929:12;1978:180;2037:6;2090:2;2078:9;2069:7;2065:23;2061:32;2058:52;;;2106:1;2103;2096:12;2058:52;-1:-1:-1;2129:23:1;;1978:180;-1:-1:-1;1978:180:1:o;2163:248::-;2231:6;2239;2292:2;2280:9;2271:7;2267:23;2263:32;2260:52;;;2308:1;2305;2298:12;2260:52;-1:-1:-1;;2331:23:1;;;2401:2;2386:18;;;2373:32;;-1:-1:-1;2163:248:1:o;3095:597::-;3207:4;3236:2;3265;3254:9;3247:21;3297:6;3291:13;3340:6;3335:2;3324:9;3320:18;3313:34;3365:1;3375:140;3389:6;3386:1;3383:13;3375:140;;;3484:14;;;3480:23;;3474:30;3450:17;;;3469:2;3446:26;3439:66;3404:10;;3375:140;;;3533:6;3530:1;3527:13;3524:91;;;3603:1;3598:2;3589:6;3578:9;3574:22;3570:31;3563:42;3524:91;-1:-1:-1;3676:2:1;3655:15;-1:-1:-1;;3651:29:1;3636:45;;;;3683:2;3632:54;;3095:597;-1:-1:-1;;;3095:597:1:o;6141:356::-;6343:2;6325:21;;;6362:18;;;6355:30;6421:34;6416:2;6401:18;;6394:62;6488:2;6473:18;;6141:356::o;9155:980::-;9417:4;9465:3;9454:9;9450:19;9496:6;9485:9;9478:25;9522:2;9560:6;9555:2;9544:9;9540:18;9533:34;9603:3;9598:2;9587:9;9583:18;9576:31;9627:6;9662;9656:13;9693:6;9685;9678:22;9731:3;9720:9;9716:19;9709:26;;9770:2;9762:6;9758:15;9744:29;;9791:1;9801:195;9815:6;9812:1;9809:13;9801:195;;;9880:13;;-1:-1:-1;;;;;9876:39:1;9864:52;;9971:15;;;;9936:12;;;;9912:1;9830:9;9801:195;;;-1:-1:-1;;;;;;;10052:32:1;;;;10047:2;10032:18;;10025:60;-1:-1:-1;;;10116:3:1;10101:19;10094:35;10013:3;9155:980;-1:-1:-1;;;9155:980:1:o;10329:128::-;10369:3;10400:1;10396:6;10393:1;10390:13;10387:39;;;10406:18;;:::i;:::-;-1:-1:-1;10442:9:1;;10329:128::o;10462:217::-;10502:1;10528;10518:132;;10572:10;10567:3;10563:20;10560:1;10553:31;10607:4;10604:1;10597:15;10635:4;10632:1;10625:15;10518:132;-1:-1:-1;10664:9:1;;10462:217::o;10684:422::-;10773:1;10816:5;10773:1;10830:270;10851:7;10841:8;10838:21;10830:270;;;10910:4;10906:1;10902:6;10898:17;10892:4;10889:27;10886:53;;;10919:18;;:::i;:::-;10969:7;10959:8;10955:22;10952:55;;;10989:16;;;;10952:55;11068:22;;;;11028:15;;;;10830:270;;;10834:3;10684:422;;;;;:::o;11111:140::-;11169:5;11198:47;11239:4;11229:8;11225:19;11219:4;11305:5;11335:8;11325:80;;-1:-1:-1;11376:1:1;11390:5;;11325:80;11424:4;11414:76;;-1:-1:-1;11461:1:1;11475:5;;11414:76;11506:4;11524:1;11519:59;;;;11592:1;11587:130;;;;11499:218;;11519:59;11549:1;11540:10;;11563:5;;;11587:130;11624:3;11614:8;11611:17;11608:43;;;11631:18;;:::i;:::-;-1:-1:-1;;11687:1:1;11673:16;;11702:5;;11499:218;;11801:2;11791:8;11788:16;11782:3;11776:4;11773:13;11769:36;11763:2;11753:8;11750:16;11745:2;11739:4;11736:12;11732:35;11729:77;11726:159;;;-1:-1:-1;11838:19:1;;;11870:5;;11726:159;11917:34;11942:8;11936:4;11917:34;:::i;:::-;11987:6;11983:1;11979:6;11975:19;11966:7;11963:32;11960:58;;;11998:18;;:::i;:::-;12036:20;;11256:806;-1:-1:-1;;;11256:806:1:o;12067:168::-;12107:7;12173:1;12169;12165:6;12161:14;12158:1;12155:21;12150:1;12143:9;12136:17;12132:45;12129:71;;;12180:18;;:::i;:::-;-1:-1:-1;12220:9:1;;12067:168::o;12240:125::-;12280:4;12308:1;12305;12302:8;12299:34;;;12313:18;;:::i;:::-;-1:-1:-1;12350:9:1;;12240:125::o;12370:127::-;12431:10;12426:3;12422:20;12419:1;12412:31;12462:4;12459:1;12452:15;12486:4;12483:1;12476:15;12502:127;12563:10;12558:3;12554:20;12551:1;12544:31;12594:4;12591:1;12584:15;12618:4;12615:1;12608:15;12766:131;-1:-1:-1;;;;;12841:31:1;;12831:42;;12821:70;;12887:1;12884;12877:12

Swarm Source

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