ETH Price: $3,424.77 (-2.16%)
Gas: 5 Gwei

Token

ΕΓΚΑΥΜΑ (ΕΓΚΑΥΜΑ)
 

Overview

Max Total Supply

10,000,000,000 ΕΓΚΑΥΜΑ

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
24,947,083.527631336 ΕΓΚΑΥΜΑ

Value
$0.00
0x32086d2dc4cc1869b5e4184dc322af1c3550a4db
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:
Eykayma

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-29
*/

/**

$ΕΓΚΑΥΜA Fire: If we burn, Pryo burn with us. 
$ΕΓΚΑΥΜA is a token that is specialised in burn feature. 
Simple burn feature can’t satisfy the greedy greek. 
$ΕΓΚΑΥΜA is a burning ecosystem designed to include dominant token such as Pyro. 
$ΕΓΚΑΥΜA will bring the pyro burn utility to these token by issuing a contract to burn them all.

Website
https://eykayma.com	
Telegram
https://t.me/eykayma	
Twitter
https://twitter.com/eykayma

*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.10;

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

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

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

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

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

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

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_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() {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Eykayma is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isBot;

    uint256 private constant _MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e10 * 10**9;
    uint256 private _rTotal = (_MAX - (_MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = unicode"ΕΓΚΑΥΜΑ";
    string private constant _symbol = unicode"ΕΓΚΑΥΜΑ";
    
    uint private constant _decimals = 9;
    uint256 private _teamFee = 3;
    uint256 private _previousteamFee = _teamFee;

    address payable private _feeAddress;

    // Uniswap Pair
    IUniswapV2Router02 private _uniswapV2Router;
    address private _uniswapV2Pair;

    bool private _initialized = false;
    bool private _noTaxMode = false;
    bool private _inSwap = false;
    bool private _tradingOpen = false;
    bool private removeLimit = false;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    modifier handleFees(bool takeFee) {
        if (!takeFee) _removeAllFees();
        _;
        if (!takeFee) _restoreAllFees();
    }
    
    constructor () {
        _rOwned[_msgSender()] = _rTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[payable(0x000000000000000000000000000000000000dEaD)] = 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 (uint) {
        return _decimals;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _tokenFromReflection(_rOwned[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 _tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _removeAllFees() private {
        require(_teamFee > 0);

        _previousteamFee = _teamFee;
        _teamFee = 0;
    }
    
    function _restoreAllFees() private {
        _teamFee = _previousteamFee;
    }

    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));
        require(to != address(0));
        require(amount > 0);
        require(!_isBot[from] && !_isBot[to]);
        
        bool takeFee = false;
        if (
            !_isExcludedFromFee[from] 
            && !_isExcludedFromFee[to] 
            && !_noTaxMode 
            && (from == _uniswapV2Pair || to == _uniswapV2Pair)
        ) {
            require(_tradingOpen, "Trading has not yet been opened.");
            takeFee = true;

            if (from == _uniswapV2Pair && to != address(_uniswapV2Router) && !removeLimit) {
                uint walletBalance = balanceOf(address(to));
                require(amount.add(walletBalance) <= _tTotal.mul(2).div(100));
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inSwap && from != _uniswapV2Pair) {
                if (contractTokenBalance > 0) {
                    if (contractTokenBalance > balanceOf(_uniswapV2Pair).mul(15).div(100))
                        contractTokenBalance = balanceOf(_uniswapV2Pair).mul(15).div(100);
                    uint256 burnCount = contractTokenBalance.div(3);
                    contractTokenBalance -= burnCount;
                    _burnToken(burnCount);
                    _swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
                
        _tokenTransfer(from, to, amount, takeFee);
    }

    function _burnToken(uint256 burnCount) private lockTheSwap(){
        _transfer(address(this), address(0xdead), burnCount);
    }

    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 sendETHToFee(uint256 amount) private {
        _feeAddress.transfer(amount);
    }

    function setRemoveLimit(bool rmLimit) external onlyOwner{
        removeLimit = rmLimit;
    }

    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private handleFees(takeFee) {
        (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tTeam) = _getTValues(tAmount, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tTeam, currentRate);
        return (rAmount, rTransferAmount, tTransferAmount, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 TeamFee) private pure returns (uint256, uint256) {
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tTeam);
        return (tTransferAmount, tTeam);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rTeam);
        return (rAmount, rTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
    
    function setNewPair(address payable feeAddress) external onlyOwner() {
        require(!_initialized,"Contract has already been initialized");
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        _uniswapV2Router = uniswapV2Router;

        _feeAddress = feeAddress;
        _isExcludedFromFee[_feeAddress] = true;

        _initialized = true;
    }

    function openTrading() external onlyOwner() {
        require(_initialized, "Contract must be initialized first");
        _tradingOpen = true;
    }

    function setFeeWallet(address payable feeWalletAddress) external onlyOwner() {
        _isExcludedFromFee[_feeAddress] = false;
        _feeAddress = feeWalletAddress;
        _isExcludedFromFee[_feeAddress] = true;
    }

    function excludeFromFee(address payable ad) external onlyOwner() {
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee(address payable ad) external onlyOwner() {
        _isExcludedFromFee[ad] = false;
    }
   
    
    function setTeamFee(uint256 fee) external onlyOwner() {
        require(fee <= 10, "not larger than 10%");
        _teamFee = fee;
    }
    
    function setBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
                _isBot[bots_[i]] = true;
        }
    }
    
    function delBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }
    
    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }

    function isExcludedFromFee(address ad) public view returns (bool) {
        return _isExcludedFromFee[ad];
    }
    
    function swapFeesManual() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        _swapTokensForEth(contractBalance);
    }
    
    function withdrawFees() external onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        _feeAddress.transfer(contractETHBalance);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"feeWalletAddress","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"feeAddress","type":"address"}],"name":"setNewPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"rmLimit","type":"bool"}],"name":"setRemoveLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFeesManual","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":[{"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":"withdrawFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a678ac7230489e800006000196200019f565b6200002890600019620001c2565b60065560036008819055600955600c805464ffffffffff60a01b191690553480156200005357600080fd5b506200005f336200014f565b6006543360009081526001602081905260408220929092556004906200008d6000546001600160a01b031690565b6001600160a01b031681526020808201929092526040016000908120805493151560ff1994851617905561dead9052600490527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd80549091166001179055620000f33390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e800006040516200014191815260200190565b60405180910390a3620001e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082620001bd57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620001e357634e487b7160e01b600052601160045260246000fd5b500390565b611c2580620001f86000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063c9567bf91161008a578063dd62ed3e11610064578063dd62ed3e14610435578063e6ec64ec1461047b578063f2fde38b1461049b578063ff55257d146104bb57600080fd5b8063c9567bf9146103e0578063cf0848f7146103f5578063cfdf76431461041557600080fd5b8063715018a6146103435780638da5cb5b1461035857806390d49b9d1461038057806395d89b411461018d578063a9059cbb146103a0578063b515566a146103c057600080fd5b806331c2d8471161012357806331c2d8471461025c5780633bbac5791461027c578063437823ec146102b5578063476343ee146102d55780635342acb4146102ea57806370a082311461032357600080fd5b806306d8ea6b1461017657806306fdde031461018d578063095ea7b3146101d357806318160ddd1461020357806323b872dd14610228578063313ce5671461024857600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104db565b005b34801561019957600080fd5b50604080518082018252600e81526dce95ce93ce9ace91cea5ce9cce9160901b602082015290516101ca91906117fc565b60405180910390f35b3480156101df57600080fd5b506101f36101ee366004611876565b610527565b60405190151581526020016101ca565b34801561020f57600080fd5b50678ac7230489e800005b6040519081526020016101ca565b34801561023457600080fd5b506101f36102433660046118a2565b61053e565b34801561025457600080fd5b50600961021a565b34801561026857600080fd5b5061018b6102773660046118f9565b6105a7565b34801561028857600080fd5b506101f36102973660046119be565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156102c157600080fd5b5061018b6102d03660046119be565b61063d565b3480156102e157600080fd5b5061018b61068b565b3480156102f657600080fd5b506101f36103053660046119be565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561032f57600080fd5b5061021a61033e3660046119be565b6106ef565b34801561034f57600080fd5b5061018b610711565b34801561036457600080fd5b506000546040516001600160a01b0390911681526020016101ca565b34801561038c57600080fd5b5061018b61039b3660046119be565b610747565b3480156103ac57600080fd5b506101f36103bb366004611876565b6107c1565b3480156103cc57600080fd5b5061018b6103db3660046118f9565b6107ce565b3480156103ec57600080fd5b5061018b610860565b34801561040157600080fd5b5061018b6104103660046119be565b610903565b34801561042157600080fd5b5061018b6104303660046119be565b61094e565b34801561044157600080fd5b5061021a6104503660046119db565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561048757600080fd5b5061018b610496366004611a14565b610ba9565b3480156104a757600080fd5b5061018b6104b63660046119be565b610c1f565b3480156104c757600080fd5b5061018b6104d6366004611a2d565b610cb7565b6000546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611a4f565b60405180910390fd5b6000610519306106ef565b905061052481610cff565b50565b6000610534338484610e79565b5060015b92915050565b600061054b848484610f9d565b61059d843361059885604051806060016040528060288152602001611bc8602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611278565b610e79565b5060019392505050565b6000546001600160a01b031633146105d15760405162461bcd60e51b815260040161050590611a4f565b60005b8151811015610639576000600560008484815181106105f5576105f5611a84565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061063181611ab0565b9150506105d4565b5050565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106b55760405162461bcd60e51b815260040161050590611a4f565b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b6001600160a01b038116600090815260016020526040812054610538906112b2565b6000546001600160a01b0316331461073b5760405162461bcd60e51b815260040161050590611a4f565b6107456000611336565b565b6000546001600160a01b031633146107715760405162461bcd60e51b815260040161050590611a4f565b600a80546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000610534338484610f9d565b6000546001600160a01b031633146107f85760405162461bcd60e51b815260040161050590611a4f565b60005b81518110156106395760016005600084848151811061081c5761081c611a84565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061085881611ab0565b9150506107fb565b6000546001600160a01b0316331461088a5760405162461bcd60e51b815260040161050590611a4f565b600c54600160a01b900460ff166108ee5760405162461bcd60e51b815260206004820152602260248201527f436f6e7472616374206d75737420626520696e697469616c697a6564206669726044820152611cdd60f21b6064820152608401610505565b600c805460ff60b81b1916600160b81b179055565b6000546001600160a01b0316331461092d5760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146109785760405162461bcd60e51b815260040161050590611a4f565b600c54600160a01b900460ff16156109e05760405162461bcd60e51b815260206004820152602560248201527f436f6e74726163742068617320616c7265616479206265656e20696e697469616044820152641b1a5e995960da1b6064820152608401610505565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b9190611ac9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190611ac9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d9190611ac9565b600c80546001600160a01b039283166001600160a01b0319918216178255600b805494841694821694909417909355600a8054949092169390921683179055600091825260046020526040909120805460ff19166001179055805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bd35760405162461bcd60e51b815260040161050590611a4f565b600a811115610c1a5760405162461bcd60e51b81526020600482015260136024820152726e6f74206c6172676572207468616e2031302560681b6044820152606401610505565b600855565b6000546001600160a01b03163314610c495760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b038116610cae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610505565b61052481611336565b6000546001600160a01b03163314610ce15760405162461bcd60e51b815260040161050590611a4f565b600c8054911515600160c01b0260ff60c01b19909216919091179055565b600c805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d4757610d47611a84565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611ac9565b81600181518110610dd757610dd7611a84565b6001600160a01b039283166020918202929092010152600b54610dfd9130911684610e79565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e36908590600090869030904290600401611ae6565b600060405180830381600087803b158015610e5057600080fd5b505af1158015610e64573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b6001600160a01b038316610edb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610505565b6001600160a01b038216610f3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610505565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fb057600080fd5b6001600160a01b038216610fc357600080fd5b60008111610fd057600080fd5b6001600160a01b03831660009081526005602052604090205460ff1615801561101257506001600160a01b03821660009081526005602052604090205460ff16155b61101b57600080fd5b6001600160a01b03831660009081526004602052604081205460ff1615801561105d57506001600160a01b03831660009081526004602052604090205460ff16155b80156110735750600c54600160a81b900460ff16155b80156110a35750600c546001600160a01b03858116911614806110a35750600c546001600160a01b038481169116145b1561126657600c54600160b81b900460ff166111015760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f7420796574206265656e206f70656e65642e6044820152606401610505565b50600c546001906001600160a01b0385811691161480156111305750600b546001600160a01b03848116911614155b80156111465750600c54600160c01b900460ff16155b1561118d576000611156846106ef565b90506111766064611170678ac7230489e800006002611386565b90611408565b611180848361144a565b111561118b57600080fd5b505b6000611198306106ef565b600c54909150600160b01b900460ff161580156111c35750600c546001600160a01b03868116911614155b1561126457801561126457600c546111f79060649061117090600f906111f1906001600160a01b03166106ef565b90611386565b81111561122457600c546112219060649061117090600f906111f1906001600160a01b03166106ef565b90505b6000611231826003611408565b905061123d8183611b57565b9150611248816114a9565b61125182610cff565b47801561126157611261476114d9565b50505b505b61127284848484611513565b50505050565b6000818484111561129c5760405162461bcd60e51b815260040161050591906117fc565b5060006112a98486611b57565b95945050505050565b60006006548211156113195760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610505565b6000611323611616565b905061132f8382611408565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008260000361139857506000610538565b60006113a48385611b6e565b9050826113b18583611b8d565b1461132f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610505565b600061132f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611639565b6000806114578385611baf565b90508381101561132f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610505565b600c805460ff60b01b1916600160b01b1790556114c93061dead83610f9d565b50600c805460ff60b01b19169055565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b808061152157611521611667565b60008060008061153087611683565b6001600160a01b038d166000908152600160205260409020549397509195509350915061155d90856116ca565b6001600160a01b03808b1660009081526001602052604080822093909355908a168152205461158c908461144a565b6001600160a01b0389166000908152600160205260409020556115ae8161170c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115f391815260200190565b60405180910390a3505050508061160f5761160f600954600855565b5050505050565b6000806000611623611756565b90925090506116328282611408565b9250505090565b6000818361165a5760405162461bcd60e51b815260040161050591906117fc565b5060006112a98486611b8d565b60006008541161167657600080fd5b6008805460095560009055565b60008060008060008061169887600854611796565b9150915060006116a6611616565b90506000806116b68a85856117c3565b909b909a5094985092965092945050505050565b600061132f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611278565b6000611716611616565b905060006117248383611386565b30600090815260016020526040902054909150611741908261144a565b30600090815260016020526040902055505050565b6006546000908190678ac7230489e800006117718282611408565b82101561178d57505060065492678ac7230489e8000092509050565b90939092509050565b600080806117a960646111708787611386565b905060006117b786836116ca565b96919550909350505050565b600080806117d18685611386565b905060006117df8686611386565b905060006117ed83836116ca565b92989297509195505050505050565b600060208083528351808285015260005b818110156118295785810183015185820160400152820161180d565b8181111561183b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461052457600080fd5b803561187181611851565b919050565b6000806040838503121561188957600080fd5b823561189481611851565b946020939093013593505050565b6000806000606084860312156118b757600080fd5b83356118c281611851565b925060208401356118d281611851565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561190c57600080fd5b823567ffffffffffffffff8082111561192457600080fd5b818501915085601f83011261193857600080fd5b81358181111561194a5761194a6118e3565b8060051b604051601f19603f8301168101818110858211171561196f5761196f6118e3565b60405291825284820192508381018501918883111561198d57600080fd5b938501935b828510156119b2576119a385611866565b84529385019392850192611992565b98975050505050505050565b6000602082840312156119d057600080fd5b813561132f81611851565b600080604083850312156119ee57600080fd5b82356119f981611851565b91506020830135611a0981611851565b809150509250929050565b600060208284031215611a2657600080fd5b5035919050565b600060208284031215611a3f57600080fd5b8135801515811461132f57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ac257611ac2611a9a565b5060010190565b600060208284031215611adb57600080fd5b815161132f81611851565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b365784516001600160a01b031683529383019391830191600101611b11565b50506001600160a01b03969096166060850152505050608001529392505050565b600082821015611b6957611b69611a9a565b500390565b6000816000190483118215151615611b8857611b88611a9a565b500290565b600082611baa57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611bc257611bc2611a9a565b50019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207b5f9258a53adb41c1f9ab8d34ca7b2b6646e28254eceed26e82e0f6e5a6788964736f6c634300080f0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063c9567bf91161008a578063dd62ed3e11610064578063dd62ed3e14610435578063e6ec64ec1461047b578063f2fde38b1461049b578063ff55257d146104bb57600080fd5b8063c9567bf9146103e0578063cf0848f7146103f5578063cfdf76431461041557600080fd5b8063715018a6146103435780638da5cb5b1461035857806390d49b9d1461038057806395d89b411461018d578063a9059cbb146103a0578063b515566a146103c057600080fd5b806331c2d8471161012357806331c2d8471461025c5780633bbac5791461027c578063437823ec146102b5578063476343ee146102d55780635342acb4146102ea57806370a082311461032357600080fd5b806306d8ea6b1461017657806306fdde031461018d578063095ea7b3146101d357806318160ddd1461020357806323b872dd14610228578063313ce5671461024857600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104db565b005b34801561019957600080fd5b50604080518082018252600e81526dce95ce93ce9ace91cea5ce9cce9160901b602082015290516101ca91906117fc565b60405180910390f35b3480156101df57600080fd5b506101f36101ee366004611876565b610527565b60405190151581526020016101ca565b34801561020f57600080fd5b50678ac7230489e800005b6040519081526020016101ca565b34801561023457600080fd5b506101f36102433660046118a2565b61053e565b34801561025457600080fd5b50600961021a565b34801561026857600080fd5b5061018b6102773660046118f9565b6105a7565b34801561028857600080fd5b506101f36102973660046119be565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156102c157600080fd5b5061018b6102d03660046119be565b61063d565b3480156102e157600080fd5b5061018b61068b565b3480156102f657600080fd5b506101f36103053660046119be565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561032f57600080fd5b5061021a61033e3660046119be565b6106ef565b34801561034f57600080fd5b5061018b610711565b34801561036457600080fd5b506000546040516001600160a01b0390911681526020016101ca565b34801561038c57600080fd5b5061018b61039b3660046119be565b610747565b3480156103ac57600080fd5b506101f36103bb366004611876565b6107c1565b3480156103cc57600080fd5b5061018b6103db3660046118f9565b6107ce565b3480156103ec57600080fd5b5061018b610860565b34801561040157600080fd5b5061018b6104103660046119be565b610903565b34801561042157600080fd5b5061018b6104303660046119be565b61094e565b34801561044157600080fd5b5061021a6104503660046119db565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561048757600080fd5b5061018b610496366004611a14565b610ba9565b3480156104a757600080fd5b5061018b6104b63660046119be565b610c1f565b3480156104c757600080fd5b5061018b6104d6366004611a2d565b610cb7565b6000546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611a4f565b60405180910390fd5b6000610519306106ef565b905061052481610cff565b50565b6000610534338484610e79565b5060015b92915050565b600061054b848484610f9d565b61059d843361059885604051806060016040528060288152602001611bc8602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611278565b610e79565b5060019392505050565b6000546001600160a01b031633146105d15760405162461bcd60e51b815260040161050590611a4f565b60005b8151811015610639576000600560008484815181106105f5576105f5611a84565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061063181611ab0565b9150506105d4565b5050565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106b55760405162461bcd60e51b815260040161050590611a4f565b600a5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b6001600160a01b038116600090815260016020526040812054610538906112b2565b6000546001600160a01b0316331461073b5760405162461bcd60e51b815260040161050590611a4f565b6107456000611336565b565b6000546001600160a01b031633146107715760405162461bcd60e51b815260040161050590611a4f565b600a80546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000610534338484610f9d565b6000546001600160a01b031633146107f85760405162461bcd60e51b815260040161050590611a4f565b60005b81518110156106395760016005600084848151811061081c5761081c611a84565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061085881611ab0565b9150506107fb565b6000546001600160a01b0316331461088a5760405162461bcd60e51b815260040161050590611a4f565b600c54600160a01b900460ff166108ee5760405162461bcd60e51b815260206004820152602260248201527f436f6e7472616374206d75737420626520696e697469616c697a6564206669726044820152611cdd60f21b6064820152608401610505565b600c805460ff60b81b1916600160b81b179055565b6000546001600160a01b0316331461092d5760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146109785760405162461bcd60e51b815260040161050590611a4f565b600c54600160a01b900460ff16156109e05760405162461bcd60e51b815260206004820152602560248201527f436f6e74726163742068617320616c7265616479206265656e20696e697469616044820152641b1a5e995960da1b6064820152608401610505565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b9190611ac9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190611ac9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d9190611ac9565b600c80546001600160a01b039283166001600160a01b0319918216178255600b805494841694821694909417909355600a8054949092169390921683179055600091825260046020526040909120805460ff19166001179055805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bd35760405162461bcd60e51b815260040161050590611a4f565b600a811115610c1a5760405162461bcd60e51b81526020600482015260136024820152726e6f74206c6172676572207468616e2031302560681b6044820152606401610505565b600855565b6000546001600160a01b03163314610c495760405162461bcd60e51b815260040161050590611a4f565b6001600160a01b038116610cae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610505565b61052481611336565b6000546001600160a01b03163314610ce15760405162461bcd60e51b815260040161050590611a4f565b600c8054911515600160c01b0260ff60c01b19909216919091179055565b600c805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d4757610d47611a84565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611ac9565b81600181518110610dd757610dd7611a84565b6001600160a01b039283166020918202929092010152600b54610dfd9130911684610e79565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e36908590600090869030904290600401611ae6565b600060405180830381600087803b158015610e5057600080fd5b505af1158015610e64573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b6001600160a01b038316610edb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610505565b6001600160a01b038216610f3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610505565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fb057600080fd5b6001600160a01b038216610fc357600080fd5b60008111610fd057600080fd5b6001600160a01b03831660009081526005602052604090205460ff1615801561101257506001600160a01b03821660009081526005602052604090205460ff16155b61101b57600080fd5b6001600160a01b03831660009081526004602052604081205460ff1615801561105d57506001600160a01b03831660009081526004602052604090205460ff16155b80156110735750600c54600160a81b900460ff16155b80156110a35750600c546001600160a01b03858116911614806110a35750600c546001600160a01b038481169116145b1561126657600c54600160b81b900460ff166111015760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f7420796574206265656e206f70656e65642e6044820152606401610505565b50600c546001906001600160a01b0385811691161480156111305750600b546001600160a01b03848116911614155b80156111465750600c54600160c01b900460ff16155b1561118d576000611156846106ef565b90506111766064611170678ac7230489e800006002611386565b90611408565b611180848361144a565b111561118b57600080fd5b505b6000611198306106ef565b600c54909150600160b01b900460ff161580156111c35750600c546001600160a01b03868116911614155b1561126457801561126457600c546111f79060649061117090600f906111f1906001600160a01b03166106ef565b90611386565b81111561122457600c546112219060649061117090600f906111f1906001600160a01b03166106ef565b90505b6000611231826003611408565b905061123d8183611b57565b9150611248816114a9565b61125182610cff565b47801561126157611261476114d9565b50505b505b61127284848484611513565b50505050565b6000818484111561129c5760405162461bcd60e51b815260040161050591906117fc565b5060006112a98486611b57565b95945050505050565b60006006548211156113195760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610505565b6000611323611616565b905061132f8382611408565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008260000361139857506000610538565b60006113a48385611b6e565b9050826113b18583611b8d565b1461132f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610505565b600061132f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611639565b6000806114578385611baf565b90508381101561132f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610505565b600c805460ff60b01b1916600160b01b1790556114c93061dead83610f9d565b50600c805460ff60b01b19169055565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b808061152157611521611667565b60008060008061153087611683565b6001600160a01b038d166000908152600160205260409020549397509195509350915061155d90856116ca565b6001600160a01b03808b1660009081526001602052604080822093909355908a168152205461158c908461144a565b6001600160a01b0389166000908152600160205260409020556115ae8161170c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115f391815260200190565b60405180910390a3505050508061160f5761160f600954600855565b5050505050565b6000806000611623611756565b90925090506116328282611408565b9250505090565b6000818361165a5760405162461bcd60e51b815260040161050591906117fc565b5060006112a98486611b8d565b60006008541161167657600080fd5b6008805460095560009055565b60008060008060008061169887600854611796565b9150915060006116a6611616565b90506000806116b68a85856117c3565b909b909a5094985092965092945050505050565b600061132f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611278565b6000611716611616565b905060006117248383611386565b30600090815260016020526040902054909150611741908261144a565b30600090815260016020526040902055505050565b6006546000908190678ac7230489e800006117718282611408565b82101561178d57505060065492678ac7230489e8000092509050565b90939092509050565b600080806117a960646111708787611386565b905060006117b786836116ca565b96919550909350505050565b600080806117d18685611386565b905060006117df8686611386565b905060006117ed83836116ca565b92989297509195505050505050565b600060208083528351808285015260005b818110156118295785810183015185820160400152820161180d565b8181111561183b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461052457600080fd5b803561187181611851565b919050565b6000806040838503121561188957600080fd5b823561189481611851565b946020939093013593505050565b6000806000606084860312156118b757600080fd5b83356118c281611851565b925060208401356118d281611851565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561190c57600080fd5b823567ffffffffffffffff8082111561192457600080fd5b818501915085601f83011261193857600080fd5b81358181111561194a5761194a6118e3565b8060051b604051601f19603f8301168101818110858211171561196f5761196f6118e3565b60405291825284820192508381018501918883111561198d57600080fd5b938501935b828510156119b2576119a385611866565b84529385019392850192611992565b98975050505050505050565b6000602082840312156119d057600080fd5b813561132f81611851565b600080604083850312156119ee57600080fd5b82356119f981611851565b91506020830135611a0981611851565b809150509250929050565b600060208284031215611a2657600080fd5b5035919050565b600060208284031215611a3f57600080fd5b8135801515811461132f57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ac257611ac2611a9a565b5060010190565b600060208284031215611adb57600080fd5b815161132f81611851565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b365784516001600160a01b031683529383019391830191600101611b11565b50506001600160a01b03969096166060850152505050608001529392505050565b600082821015611b6957611b69611a9a565b500390565b6000816000190483118215151615611b8857611b88611a9a565b500290565b600082611baa57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611bc257611bc2611a9a565b50019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207b5f9258a53adb41c1f9ab8d34ca7b2b6646e28254eceed26e82e0f6e5a6788964736f6c634300080f0033

Deployed Bytecode Sourcemap

4295:10938:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14855:161;;;;;;;;;;;;;:::i;:::-;;6003:83;;;;;;;;;;-1:-1:-1;6073:5:0;;;;;;;;;;;-1:-1:-1;;;6073:5:0;;;;6003:83;;;;6073:5;6003:83;:::i;:::-;;;;;;;;6855:161;;;;;;;;;;-1:-1:-1;6855:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6855:161:0;1211:187:1;6279:95:0;;;;;;;;;;-1:-1:-1;4757:12:0;6279:95;;;1549:25:1;;;1537:2;1522:18;6279:95:0;1403:177:1;7024:313:0;;;;;;;;;;-1:-1:-1;7024:313:0;;;;;:::i;:::-;;:::i;6189:82::-;;;;;;;;;;-1:-1:-1;5039:1:0;6189:82;;14450:169;;;;;;;;;;-1:-1:-1;14450:169:0;;;;;:::i;:::-;;:::i;14631:90::-;;;;;;;;;;-1:-1:-1;14631:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;14703:10:0;14679:4;14703:10;;;:6;:10;;;;;;;;;14631:90;13861:113;;;;;;;;;;-1:-1:-1;13861:113:0;;;;;:::i;:::-;;:::i;15028:165::-;;;;;;;;;;;;;:::i;14729:114::-;;;;;;;;;;-1:-1:-1;14729:114:0;;;;;:::i;:::-;-1:-1:-1;;;;;14813:22:0;14789:4;14813:22;;;:18;:22;;;;;;;;;14729:114;6382:139;;;;;;;;;;-1:-1:-1;6382:139:0;;;;;:::i;:::-;;:::i;3286:105::-;;;;;;;;;;;;;:::i;3063:87::-;;;;;;;;;;-1:-1:-1;3109:7:0;3136:6;3063:87;;-1:-1:-1;;;;;3136:6:0;;;3962:51:1;;3950:2;3935:18;3063:87:0;3816:203:1;13628:225:0;;;;;;;;;;-1:-1:-1;13628:225:0;;;;;:::i;:::-;;:::i;6529:167::-;;;;;;;;;;-1:-1:-1;6529:167:0;;;;;:::i;:::-;;:::i;14266:172::-;;;;;;;;;;-1:-1:-1;14266:172:0;;;;;:::i;:::-;;:::i;13468:152::-;;;;;;;;;;;;;:::i;13986:112::-;;;;;;;;;;-1:-1:-1;13986:112:0;;;;;:::i;:::-;;:::i;12913:547::-;;;;;;;;;;-1:-1:-1;12913:547:0;;;;;:::i;:::-;;:::i;6704:143::-;;;;;;;;;;-1:-1:-1;6704:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6812:18:0;;;6785:7;6812:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6704:143;14115:139;;;;;;;;;;-1:-1:-1;14115:139:0;;;;;:::i;:::-;;:::i;3399:203::-;;;;;;;;;;-1:-1:-1;3399:203:0;;;;;:::i;:::-;;:::i;10681:96::-;;;;;;;;;;-1:-1:-1;10681:96:0;;;;;:::i;:::-;;:::i;14855:161::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;;;;;;;;;14913:23:::1;14939:24;14957:4;14939:9;:24::i;:::-;14913:50;;14974:34;14992:15;14974:17;:34::i;:::-;14902:114;14855:161::o:0;6855:::-;6930:4;6947:39;666:10;6970:7;6979:6;6947:8;:39::i;:::-;-1:-1:-1;7004:4:0;6855:161;;;;;:::o;7024:313::-;7122:4;7139:36;7149:6;7157:9;7168:6;7139:9;:36::i;:::-;7186:121;7195:6;666:10;7217:89;7255:6;7217:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7217:19:0;;;;;;:11;:19;;;;;;;;666:10;7217:33;;;;;;;;;;:37;:89::i;:::-;7186:8;:121::i;:::-;-1:-1:-1;7325:4:0;7024:313;;;;;:::o;14450:169::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;14526:6:::1;14521:91;14542:5;:12;14538:1;:16;14521:91;;;14595:5;14576:6;:16;14583:5;14589:1;14583:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14576:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14576:16:0;:24;;-1:-1:-1;;14576:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14556:3;::::1;::::0;::::1;:::i;:::-;;;;14521:91;;;;14450:169:::0;:::o;13861:113::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13937:22:0::1;;::::0;;;:18:::1;:22;::::0;;;;:29;;-1:-1:-1;;13937:29:0::1;13962:4;13937:29;::::0;;13861:113::o;15028:165::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;15145:11:::1;::::0;:40:::1;::::0;15113:21:::1;::::0;-1:-1:-1;;;;;15145:11:0::1;::::0;:40;::::1;;;::::0;15113:21;;15084:26:::1;15145:40:::0;15084:26;15145:40;15113:21;15145:11;:40;::::1;;;;;;;;;;;;;::::0;::::1;;;;6382:139:::0;-1:-1:-1;;;;;6496:16:0;;6448:7;6496:16;;;:7;:16;;;;;;6475:38;;:20;:38::i;3286:105::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;3353:30:::1;3380:1;3353:18;:30::i;:::-;3286:105::o:0;13628:225::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;13735:11:::1;::::0;;-1:-1:-1;;;;;13735:11:0;;::::1;13750:5;13716:31:::0;;;:18:::1;:31;::::0;;;;;:39;;-1:-1:-1;;13716:39:0;;::::1;::::0;;;13766:30;;-1:-1:-1;;;;;;13766:30:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;13807:31;;;;;:38;;;;::::1;-1:-1:-1::0;13807:38:0::1;::::0;;13628:225::o;6529:167::-;6607:4;6624:42;666:10;6648:9;6659:6;6624:9;:42::i;14266:172::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;14342:6:::1;14337:94;14358:5;:12;14354:1;:16;14337:94;;;14415:4;14396:6;:16;14403:5;14409:1;14403:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14396:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14396:16:0;:23;;-1:-1:-1;;14396:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14372:3;::::1;::::0;::::1;:::i;:::-;;;;14337:94;;13468:152:::0;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;13531:12:::1;::::0;-1:-1:-1;;;13531:12:0;::::1;;;13523:59;;;::::0;-1:-1:-1;;;13523:59:0;;5847:2:1;13523:59:0::1;::::0;::::1;5829:21:1::0;5886:2;5866:18;;;5859:30;5925:34;5905:18;;;5898:62;-1:-1:-1;;;5976:18:1;;;5969:32;6018:19;;13523:59:0::1;5645:398:1::0;13523:59:0::1;13593:12;:19:::0;;-1:-1:-1;;;;13593:19:0::1;-1:-1:-1::0;;;13593:19:0::1;::::0;;13468:152::o;13986:112::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14060:22:0::1;14085:5;14060:22:::0;;;:18:::1;:22;::::0;;;;:30;;-1:-1:-1;;14060:30:0::1;::::0;;13986:112::o;12913:547::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;13002:12:::1;::::0;-1:-1:-1;;;13002:12:0;::::1;;;13001:13;12993:62;;;::::0;-1:-1:-1;;;12993:62:0;;6250:2:1;12993:62:0::1;::::0;::::1;6232:21:1::0;6289:2;6269:18;;;6262:30;6328:34;6308:18;;;6301:62;-1:-1:-1;;;6379:18:1;;;6372:35;6424:19;;12993:62:0::1;6048:401:1::0;12993:62:0::1;13066:34;13122:42;13066:99;;13211:15;-1:-1:-1::0;;;;;13211:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13193:55:0::1;;13257:4;13264:15;-1:-1:-1::0;;;;;13264:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13193:94;::::0;-1:-1:-1;;;;;;13193:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6940:15:1;;;13193:94:0::1;::::0;::::1;6922:34:1::0;6992:15;;6972:18;;;6965:43;6857:18;;13193:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13176:14;:111:::0;;-1:-1:-1;;;;;13176:111:0;;::::1;-1:-1:-1::0;;;;;;13176:111:0;;::::1;;::::0;;13300:16:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;13347:11:::1;:24:::0;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;13176:14:::1;13382:31:::0;;;:18:::1;:31;::::0;;;;;:38;;-1:-1:-1;;13382:38:0::1;13176:111:::0;13382:38:::1;::::0;;13433:19;;-1:-1:-1;;;;13433:19:0::1;-1:-1:-1::0;;;13433:19:0::1;::::0;;12913:547::o;14115:139::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;14195:2:::1;14188:3;:9;;14180:41;;;::::0;-1:-1:-1;;;14180:41:0;;7221:2:1;14180:41:0::1;::::0;::::1;7203:21:1::0;7260:2;7240:18;;;7233:30;-1:-1:-1;;;7279:18:1;;;7272:49;7338:18;;14180:41:0::1;7019:343:1::0;14180:41:0::1;14232:8;:14:::0;14115:139::o;3399:203::-;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3490:22:0;::::1;3482:73;;;::::0;-1:-1:-1;;;3482:73:0;;7569:2:1;3482:73:0::1;::::0;::::1;7551:21:1::0;7608:2;7588:18;;;7581:30;7647:34;7627:18;;;7620:62;-1:-1:-1;;;7698:18:1;;;7691:36;7744:19;;3482:73:0::1;7367:402:1::0;3482:73:0::1;3566:28;3585:8;3566:18;:28::i;10681:96::-:0;3109:7;3136:6;-1:-1:-1;;;;;3136:6:0;666:10;3198:23;3190:68;;;;-1:-1:-1;;;3190:68:0;;;;;;;:::i;:::-;10748:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;10748:21:0::1;-1:-1:-1::0;;;;10748:21:0;;::::1;::::0;;;::::1;::::0;;10681:96::o;10083:489::-;5516:7;:14;;-1:-1:-1;;;;5516:14:0;-1:-1:-1;;;5516:14:0;;;10188:16:::1;::::0;;10202:1:::1;10188:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10188:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10188:16:0::1;10164:40;;10233:4;10215;10220:1;10215:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10215:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10259:16:::1;::::0;:23:::1;::::0;;-1:-1:-1;;;10259:23:0;;;;:16;;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;10215:7;;10259:23;;;;;:16;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10249:4;10254:1;10249:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10249:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;10325:16:::1;::::0;10293:63:::1;::::0;10310:4:::1;::::0;10325:16:::1;10344:11:::0;10293:8:::1;:63::i;:::-;10367:16;::::0;:197:::1;::::0;-1:-1:-1;;;10367:197:0;;-1:-1:-1;;;;;10367:16:0;;::::1;::::0;:67:::1;::::0;:197:::1;::::0;10449:11;;10367:16:::1;::::0;10491:4;;10518::::1;::::0;10538:15:::1;::::0;10367:197:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5553:7:0;:15;;-1:-1:-1;;;;5553:15:0;;;-1:-1:-1;;;;10083:489:0:o;7846:337::-;-1:-1:-1;;;;;7939:19:0;;7931:68;;;;-1:-1:-1;;;7931:68:0;;8961:2:1;7931:68:0;;;8943:21:1;9000:2;8980:18;;;8973:30;9039:34;9019:18;;;9012:62;-1:-1:-1;;;9090:18:1;;;9083:34;9134:19;;7931:68:0;8759:400:1;7931:68:0;-1:-1:-1;;;;;8018:21:0;;8010:68;;;;-1:-1:-1;;;8010:68:0;;9366:2:1;8010:68:0;;;9348:21:1;9405:2;9385:18;;;9378:30;9444:34;9424:18;;;9417:62;-1:-1:-1;;;9495:18:1;;;9488:32;9537:19;;8010:68:0;9164:398:1;8010:68:0;-1:-1:-1;;;;;8091:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8143:32;;1549:25:1;;;8143:32:0;;1522:18:1;8143:32:0;;;;;;;7846:337;;;:::o;8195:1741::-;-1:-1:-1;;;;;8283:18:0;;8275:27;;;;;;-1:-1:-1;;;;;8321:16:0;;8313:25;;;;;;8366:1;8357:6;:10;8349:19;;;;;;-1:-1:-1;;;;;8388:12:0;;;;;;:6;:12;;;;;;;;8387:13;:28;;;;-1:-1:-1;;;;;;8405:10:0;;;;;;:6;:10;;;;;;;;8404:11;8387:28;8379:37;;;;;;-1:-1:-1;;;;;8487:24:0;;8437:12;8487:24;;;:18;:24;;;;;;;;8486:25;:66;;;;-1:-1:-1;;;;;;8530:22:0;;;;;;:18;:22;;;;;;;;8529:23;8486:66;:95;;;;-1:-1:-1;8571:10:0;;-1:-1:-1;;;8571:10:0;;;;8570:11;8486:95;:161;;;;-1:-1:-1;8608:14:0;;-1:-1:-1;;;;;8600:22:0;;;8608:14;;8600:22;;:46;;-1:-1:-1;8632:14:0;;-1:-1:-1;;;;;8626:20:0;;;8632:14;;8626:20;8600:46;8468:1391;;;8682:12;;-1:-1:-1;;;8682:12:0;;;;8674:57;;;;-1:-1:-1;;;8674:57:0;;9769:2:1;8674:57:0;;;9751:21:1;;;9788:18;;;9781:30;9847:34;9827:18;;;9820:62;9899:18;;8674:57:0;9567:356:1;8674:57:0;-1:-1:-1;8789:14:0;;8756:4;;-1:-1:-1;;;;;8781:22:0;;;8789:14;;8781:22;:57;;;;-1:-1:-1;8821:16:0;;-1:-1:-1;;;;;8807:31:0;;;8821:16;;8807:31;;8781:57;:73;;;;-1:-1:-1;8843:11:0;;-1:-1:-1;;;8843:11:0;;;;8842:12;8781:73;8777:237;;;8875:18;8896:22;8914:2;8896:9;:22::i;:::-;8875:43;-1:-1:-1;8974:23:0;8993:3;8974:14;4757:12;8986:1;8974:11;:14::i;:::-;:18;;:23::i;:::-;8945:25;:6;8956:13;8945:10;:25::i;:::-;:52;;8937:61;;;;;;8856:158;8777:237;9030:28;9061:24;9079:4;9061:9;:24::i;:::-;9105:7;;9030:55;;-1:-1:-1;;;;9105:7:0;;;;9104:8;:34;;;;-1:-1:-1;9124:14:0;;-1:-1:-1;;;;;9116:22:0;;;9124:14;;9116:22;;9104:34;9100:748;;;9163:24;;9159:674;;9249:14;;9239:42;;9277:3;;9239:33;;9269:2;;9239:25;;-1:-1:-1;;;;;9249:14:0;9239:9;:25::i;:::-;:29;;:33::i;:42::-;9216:20;:65;9212:161;;;9341:14;;9331:42;;9369:3;;9331:33;;9361:2;;9331:25;;-1:-1:-1;;;;;9341:14:0;9331:9;:25::i;:42::-;9308:65;;9212:161;9396:17;9416:27;:20;9441:1;9416:24;:27::i;:::-;9396:47;-1:-1:-1;9466:33:0;9396:47;9466:33;;:::i;:::-;;;9522:21;9533:9;9522:10;:21::i;:::-;9566:39;9584:20;9566:17;:39::i;:::-;9657:21;9704:22;;9701:113;;9755:35;9768:21;9755:12;:35::i;:::-;9189:644;;9159:674;8659:1200;8468:1391;9887:41;9902:4;9908:2;9912:6;9920:7;9887:14;:41::i;:::-;8264:1672;8195:1741;;;:::o;1723:190::-;1809:7;1845:12;1837:6;;;;1829:29;;;;-1:-1:-1;;;1829:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1869:9:0;1881:5;1885:1;1881;:5;:::i;:::-;1869:17;1723:190;-1:-1:-1;;;;;1723:190:0:o;7345:255::-;7413:7;7452;;7441;:18;;7433:73;;;;-1:-1:-1;;;7433:73:0;;10260:2:1;7433:73:0;;;10242:21:1;10299:2;10279:18;;;10272:30;10338:34;10318:18;;;10311:62;-1:-1:-1;;;10389:18:1;;;10382:40;10439:19;;7433:73:0;10058:406:1;7433:73:0;7517:19;7540:10;:8;:10::i;:::-;7517:33;-1:-1:-1;7568:24:0;:7;7517:33;7568:11;:24::i;:::-;7561:31;7345:255;-1:-1:-1;;;7345:255:0:o;3610:191::-;3684:16;3703:6;;-1:-1:-1;;;;;3720:17:0;;;-1:-1:-1;;;;;;3720:17:0;;;;;;3753:40;;3703:6;;;;;;;3753:40;;3684:16;3753:40;3673:128;3610:191;:::o;1921:246::-;1979:7;2003:1;2008;2003:6;1999:47;;-1:-1:-1;2033:1:0;2026:8;;1999:47;2056:9;2068:5;2072:1;2068;:5;:::i;:::-;2056:17;-1:-1:-1;2101:1:0;2092:5;2096:1;2056:17;2092:5;:::i;:::-;:10;2084:56;;;;-1:-1:-1;;;2084:56:0;;11066:2:1;2084:56:0;;;11048:21:1;11105:2;11085:18;;;11078:30;11144:34;11124:18;;;11117:62;-1:-1:-1;;;11195:18:1;;;11188:31;11236:19;;2084:56:0;10864:397:1;2175:132:0;2233:7;2260:39;2264:1;2267;2260:39;;;;;;;;;;;;;;;;;:3;:39::i;1392:179::-;1450:7;;1482:5;1486:1;1482;:5;:::i;:::-;1470:17;;1511:1;1506;:6;;1498:46;;;;-1:-1:-1;;;1498:46:0;;11601:2:1;1498:46:0;;;11583:21:1;11640:2;11620:18;;;11613:30;11679:29;11659:18;;;11652:57;11726:18;;1498:46:0;11399:351:1;9944:131:0;5516:7;:14;;-1:-1:-1;;;;5516:14:0;-1:-1:-1;;;5516:14:0;;;10015:52:::1;10033:4;10048:6;10057:9:::0;10015::::1;:52::i;:::-;-1:-1:-1::0;5553:7:0;:15;;-1:-1:-1;;;;5553:15:0;;;9944:131::o;10580:93::-;10637:11;;:28;;-1:-1:-1;;;;;10637:11:0;;;;:28;;;;;10658:6;;10637:11;:28;:11;:28;10658:6;10637:11;:28;;;;;;;;;;;;;;;;;;;10785:459;10894:7;5634;5629:30;;5643:16;:14;:16::i;:::-;10915:15:::1;10932:23:::0;10957::::1;10982:13:::0;10999:19:::1;11010:7;10999:10;:19::i;:::-;-1:-1:-1::0;;;;;11047:15:0;::::1;;::::0;;;:7:::1;:15;::::0;;;;;10914:104;;-1:-1:-1;10914:104:0;;-1:-1:-1;10914:104:0;-1:-1:-1;10914:104:0;-1:-1:-1;11047:28:0::1;::::0;10914:104;11047:19:::1;:28::i;:::-;-1:-1:-1::0;;;;;11029:15:0;;::::1;;::::0;;;:7:::1;:15;::::0;;;;;:46;;;;11107:18;;::::1;::::0;;;;:39:::1;::::0;11130:15;11107:22:::1;:39::i;:::-;-1:-1:-1::0;;;;;11086:18:0;::::1;;::::0;;;:7:::1;:18;::::0;;;;:60;11160:16:::1;11170:5:::0;11160:9:::1;:16::i;:::-;11209:9;-1:-1:-1::0;;;;;11192:44:0::1;11201:6;-1:-1:-1::0;;;;;11192:44:0::1;;11220:15;11192:44;;;;1549:25:1::0;;1537:2;1522:18;;1403:177;11192:44:0::1;;;;;;;;10903:341;;;;5687:7:::0;5682:31;;5696:17;7814:16;;7803:8;:27;7757:81;5696:17;10785:459;;;;;:::o;11919:164::-;11961:7;11982:15;11999;12018:19;:17;:19::i;:::-;11981:56;;-1:-1:-1;11981:56:0;-1:-1:-1;12055:20:0;11981:56;;12055:11;:20::i;:::-;12048:27;;;;11919:164;:::o;2315:189::-;2401:7;2436:12;2429:5;2421:28;;;;-1:-1:-1;;;2421:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2460:9:0;2472:5;2476:1;2472;:5;:::i;7608:137::-;7672:1;7661:8;;:12;7653:21;;;;;;7706:8;;;7687:16;:27;-1:-1:-1;7725:12:0;;7608:137::o;11252:395::-;11311:7;11320;11329;11338;11359:23;11384:13;11401:30;11413:7;11422:8;;11401:11;:30::i;:::-;11358:73;;;;11442:19;11465:10;:8;:10::i;:::-;11442:33;;11487:15;11504:23;11531:40;11543:7;11552:5;11559:11;11531;:40::i;:::-;11486:85;;;;-1:-1:-1;11616:15:0;;-1:-1:-1;11633:5:0;;-1:-1:-1;11252:395:0;;-1:-1:-1;;;;;11252:395:0:o;1579:136::-;1637:7;1664:43;1668:1;1671;1664:43;;;;;;;;;;;;;;;;;:3;:43::i;12687:214::-;12740:19;12763:10;:8;:10::i;:::-;12740:33;-1:-1:-1;12784:13:0;12800:22;:5;12740:33;12800:9;:22::i;:::-;12876:4;12860:22;;;;:7;:22;;;;;;12784:38;;-1:-1:-1;12860:33:0;;12784:38;12860:26;:33::i;:::-;12851:4;12835:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12687:214:0:o;12091:257::-;12189:7;;12142;;;;4757:12;12257:20;12189:7;4757:12;12257:11;:20::i;:::-;12247:7;:30;12243:61;;;-1:-1:-1;;12287:7:0;;;4757:12;;-1:-1:-1;12091:257:0;-1:-1:-1;12091:257:0:o;12243:61::-;12323:7;;12332;;-1:-1:-1;12091:257:0;-1:-1:-1;12091:257:0:o;11655:256::-;11732:7;;;11777:29;11802:3;11777:20;:7;11789;11777:11;:20::i;:29::-;11761:45;-1:-1:-1;11817:23:0;11843:18;:7;11761:45;11843:11;:18::i;:::-;11817:44;11897:5;;-1:-1:-1;11655:256:0;;-1:-1:-1;;;;11655:256:0:o;12356:323::-;12452:7;;;12499:24;:7;12511:11;12499;:24::i;:::-;12481:42;-1:-1:-1;12534:13:0;12550:22;:5;12560:11;12550:9;:22::i;:::-;12534:38;-1:-1:-1;12583:23:0;12609:18;:7;12534:38;12609:11;:18::i;:::-;12646:7;;;;-1:-1:-1;12356:323:0;;-1:-1:-1;;;;;;12356:323:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2046:127::-;2107:10;2102:3;2098:20;2095:1;2088:31;2138:4;2135:1;2128:15;2162:4;2159:1;2152:15;2178:1121;2262:6;2293:2;2336;2324:9;2315:7;2311:23;2307:32;2304:52;;;2352:1;2349;2342:12;2304:52;2392:9;2379:23;2421:18;2462:2;2454:6;2451:14;2448:34;;;2478:1;2475;2468:12;2448:34;2516:6;2505:9;2501:22;2491:32;;2561:7;2554:4;2550:2;2546:13;2542:27;2532:55;;2583:1;2580;2573:12;2532:55;2619:2;2606:16;2641:2;2637;2634:10;2631:36;;;2647:18;;:::i;:::-;2693:2;2690:1;2686:10;2725:2;2719:9;2788:2;2784:7;2779:2;2775;2771:11;2767:25;2759:6;2755:38;2843:6;2831:10;2828:22;2823:2;2811:10;2808:18;2805:46;2802:72;;;2854:18;;:::i;:::-;2890:2;2883:22;2940:18;;;2974:15;;;;-1:-1:-1;3016:11:1;;;3012:20;;;3044:19;;;3041:39;;;3076:1;3073;3066:12;3041:39;3100:11;;;;3120:148;3136:6;3131:3;3128:15;3120:148;;;3202:23;3221:3;3202:23;:::i;:::-;3190:36;;3153:12;;;;3246;;;;3120:148;;;3287:6;2178:1121;-1:-1:-1;;;;;;;;2178:1121:1:o;3304:247::-;3363:6;3416:2;3404:9;3395:7;3391:23;3387:32;3384:52;;;3432:1;3429;3422:12;3384:52;3471:9;3458:23;3490:31;3515:5;3490:31;:::i;4024:388::-;4092:6;4100;4153:2;4141:9;4132:7;4128:23;4124:32;4121:52;;;4169:1;4166;4159:12;4121:52;4208:9;4195:23;4227:31;4252:5;4227:31;:::i;:::-;4277:5;-1:-1:-1;4334:2:1;4319:18;;4306:32;4347:33;4306:32;4347:33;:::i;:::-;4399:7;4389:17;;;4024:388;;;;;:::o;4417:180::-;4476:6;4529:2;4517:9;4508:7;4504:23;4500:32;4497:52;;;4545:1;4542;4535:12;4497:52;-1:-1:-1;4568:23:1;;4417:180;-1:-1:-1;4417:180:1:o;4602:273::-;4658:6;4711:2;4699:9;4690:7;4686:23;4682:32;4679:52;;;4727:1;4724;4717:12;4679:52;4766:9;4753:23;4819:5;4812:13;4805:21;4798:5;4795:32;4785:60;;4841:1;4838;4831:12;4880:356;5082:2;5064:21;;;5101:18;;;5094:30;5160:34;5155:2;5140:18;;5133:62;5227:2;5212:18;;4880:356::o;5241:127::-;5302:10;5297:3;5293:20;5290:1;5283:31;5333:4;5330:1;5323:15;5357:4;5354:1;5347:15;5373:127;5434:10;5429:3;5425:20;5422:1;5415:31;5465:4;5462:1;5455:15;5489:4;5486:1;5479:15;5505:135;5544:3;5565:17;;;5562:43;;5585:18;;:::i;:::-;-1:-1:-1;5632:1:1;5621:13;;5505:135::o;6454:251::-;6524:6;6577:2;6565:9;6556:7;6552:23;6548:32;6545:52;;;6593:1;6590;6583:12;6545:52;6625:9;6619:16;6644:31;6669:5;6644:31;:::i;7774:980::-;8036:4;8084:3;8073:9;8069:19;8115:6;8104:9;8097:25;8141:2;8179:6;8174:2;8163:9;8159:18;8152:34;8222:3;8217:2;8206:9;8202:18;8195:31;8246:6;8281;8275:13;8312:6;8304;8297:22;8350:3;8339:9;8335:19;8328:26;;8389:2;8381:6;8377:15;8363:29;;8410:1;8420:195;8434:6;8431:1;8428:13;8420:195;;;8499:13;;-1:-1:-1;;;;;8495:39:1;8483:52;;8590:15;;;;8555:12;;;;8531:1;8449:9;8420:195;;;-1:-1:-1;;;;;;;8671:32:1;;;;8666:2;8651:18;;8644:60;-1:-1:-1;;;8735:3:1;8720:19;8713:35;8632:3;7774:980;-1:-1:-1;;;7774:980:1:o;9928:125::-;9968:4;9996:1;9993;9990:8;9987:34;;;10001:18;;:::i;:::-;-1:-1:-1;10038:9:1;;9928:125::o;10469:168::-;10509:7;10575:1;10571;10567:6;10563:14;10560:1;10557:21;10552:1;10545:9;10538:17;10534:45;10531:71;;;10582:18;;:::i;:::-;-1:-1:-1;10622:9:1;;10469:168::o;10642:217::-;10682:1;10708;10698:132;;10752:10;10747:3;10743:20;10740:1;10733:31;10787:4;10784:1;10777:15;10815:4;10812:1;10805:15;10698:132;-1:-1:-1;10844:9:1;;10642:217::o;11266:128::-;11306:3;11337:1;11333:6;11330:1;11327:13;11324:39;;;11343:18;;:::i;:::-;-1:-1:-1;11379:9:1;;11266:128::o

Swarm Source

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