ETH Price: $3,010.12 (+4.48%)
Gas: 2 Gwei

Token

Chief Shiba (CSHIB)
 

Overview

Max Total Supply

1,000,000,000,000 CSHIB

Holders

435

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
CSHIB

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-14
*/

/**
 *Submitted for verification at Etherscan.io on 2021-05-27
*/

/*
Chief Shiba
https://t.me/chiefshiba
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.6.12;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

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

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

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

}  

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

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

contract CSHIB is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    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 _isExcluded;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    address[] private _excluded;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = "Chief Shiba";
    string private constant _symbol = 'CSHIB';
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 5;
    uint256 private _teamFee = 10;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable marketingWalletAddress) public {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = 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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    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 removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _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), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            require(amount <= _maxTxAmount);
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
		
        _tokenTransfer(from,to,amount,takeFee);
    }

    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.div(2));
        _marketingWalletAddress.transfer(amount.div(2));
    }
    
    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
        
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 4250000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam); 
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
        _takeTeam(tTeam);           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeTeam(tTeam);         
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

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

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

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

    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;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
        
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"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":[{"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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526818ce40f6d0219fffff19600a9081556005600c819055600d829055600e55600f556013805462ffffff60a81b19169055683635c9adc5dea000006014553480156200004f57600080fd5b506040516200261338038062002613833981810160405260408110156200007557600080fd5b50805160209091015160006200008a62000219565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038085166001600160a01b0319928316179092556011805492841692909116919091179055600a54600260006200011562000219565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200014f6200021d60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600590935281832080548516600190811790915586821684528284208054861682179055908516835291208054909216179055620001bd62000219565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a350506200022c565b3390565b6000546001600160a01b031690565b6123d7806200023c6000396000f3fe60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf9146104a7578063d543dbeb146104bc578063dd62ed3e146104e657610134565b8063b515566a146103e2578063c3c8cd801461049257610134565b8063715018a61461034e5780638da5cb5b1461036357806395d89b4114610394578063a9059cbb146103a957610134565b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102da5780636fc3eaec1461030657806370a082311461031b57610134565b8063273123b71461027a578063313ce567146102af57610134565b806306fdde0314610139578063095ea7b3146101c357806318160ddd1461021057806323b872dd1461023757610134565b3661013457005b600080fd5b34801561014557600080fd5b5061014e610521565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610188578181015183820152602001610170565b50505050905090810190601f1680156101b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cf57600080fd5b506101fc600480360360408110156101e657600080fd5b506001600160a01b038135169060200135610558565b604080519115158252519081900360200190f35b34801561021c57600080fd5b50610225610576565b60408051918252519081900360200190f35b34801561024357600080fd5b506101fc6004803603606081101561025a57600080fd5b506001600160a01b03813581169160208101359091169060400135610583565b34801561028657600080fd5b506102ad6004803603602081101561029d57600080fd5b50356001600160a01b031661060a565b005b3480156102bb57600080fd5b506102c46106b3565b6040805160ff9092168252519081900360200190f35b3480156102e657600080fd5b506102ad600480360360208110156102fd57600080fd5b503515156106b8565b34801561031257600080fd5b506102ad61076f565b34801561032757600080fd5b506102256004803603602081101561033e57600080fd5b50356001600160a01b03166107a3565b34801561035a57600080fd5b506102ad61080d565b34801561036f57600080fd5b506103786108d9565b604080516001600160a01b039092168252519081900360200190f35b3480156103a057600080fd5b5061014e6108e8565b3480156103b557600080fd5b506101fc600480360360408110156103cc57600080fd5b506001600160a01b03813516906020013561091f565b3480156103ee57600080fd5b506102ad6004803603602081101561040557600080fd5b81019060208101813564010000000081111561042057600080fd5b82018360208201111561043257600080fd5b8035906020019184602083028401116401000000008311171561045457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610933945050505050565b34801561049e57600080fd5b506102ad610a17565b3480156104b357600080fd5b506102ad610a54565b3480156104c857600080fd5b506102ad600480360360208110156104df57600080fd5b5035610f8c565b3480156104f257600080fd5b506102256004803603604081101561050957600080fd5b506001600160a01b03813581169160200135166110a3565b60408051808201909152600b81527f4368696566205368696261000000000000000000000000000000000000000000602082015290565b600061056c6105656110ce565b84846110d2565b5060015b92915050565b683635c9adc5dea0000090565b60006105908484846111be565b6106008461059c6110ce565b6105fb85604051806060016040528060288152602001612308602891396001600160a01b038a166000908152600460205260408120906105da6110ce565b6001600160a01b0316815260208101919091526040016000205491906115ed565b6110d2565b5060019392505050565b6106126110ce565b6000546001600160a01b03908116911614610674576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0316600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600990565b6106c06110ce565b6000546001600160a01b03908116911614610722576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6013805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6010546001600160a01b03166107836110ce565b6001600160a01b03161461079657600080fd5b476107a081611684565b50565b6001600160a01b03811660009081526006602052604081205460ff16156107e357506001600160a01b038116600090815260036020526040902054610808565b6001600160a01b03821660009081526002602052604090205461080590611709565b90505b919050565b6108156110ce565b6000546001600160a01b03908116911614610877576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000546001600160a01b031690565b60408051808201909152600581527f4353484942000000000000000000000000000000000000000000000000000000602082015290565b600061056c61092c6110ce565b84846111be565b61093b6110ce565b6000546001600160a01b0390811691161461099d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610a13576001600760008484815181106109bb57fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016109a0565b5050565b6010546001600160a01b0316610a2b6110ce565b6001600160a01b031614610a3e57600080fd5b6000610a49306107a3565b90506107a081611769565b610a5c6110ce565b6000546001600160a01b03908116911614610abe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60135474010000000000000000000000000000000000000000900460ff1615610b2e576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601280547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905590610b8f9030906001600160a01b0316683635c9adc5dea000006110d2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b5051604080517fad5c464800000000000000000000000000000000000000000000000000000000815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d6020811015610c8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051601380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556012541663f305d7194730610d63816107a3565b600080610d6e6108d9565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050506040513d6060811015610e0457600080fd5b505060138054673afb087b876900006014557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092167601000000000000000000000000000000000000000000001791909116770100000000000000000000000000000000000000000000001716740100000000000000000000000000000000000000001790819055601254604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b505050565b610f946110ce565b6000546001600160a01b03908116911614610ff6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000811161104b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b6110696064611063683635c9adc5dea00000846119b1565b90611a0a565b601481905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166111175760405162461bcd60e51b815260040180806020018281038252602481526020018061237e6024913960400191505060405180910390fd5b6001600160a01b03821661115c5760405162461bcd60e51b81526004018080602001828103825260228152602001806122c56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112035760405162461bcd60e51b81526004018080602001828103825260258152602001806123596025913960400191505060405180910390fd5b6001600160a01b0382166112485760405162461bcd60e51b81526004018080602001828103825260238152602001806122786023913960400191505060405180910390fd5b600081116112875760405162461bcd60e51b81526004018080602001828103825260298152602001806123306029913960400191505060405180910390fd5b61128f6108d9565b6001600160a01b0316836001600160a01b0316141580156112c957506112b36108d9565b6001600160a01b0316826001600160a01b031614155b156115905760135477010000000000000000000000000000000000000000000000900460ff16156113e3576001600160a01b038316301480159061131657506001600160a01b0382163014155b801561133057506012546001600160a01b03848116911614155b801561134a57506012546001600160a01b03838116911614155b156113e3576012546001600160a01b03166113636110ce565b6001600160a01b0316148061139257506013546001600160a01b03166113876110ce565b6001600160a01b0316145b6113e3576040805162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b6014548111156113f257600080fd5b6001600160a01b03831660009081526007602052604090205460ff1615801561143457506001600160a01b03821660009081526007602052604090205460ff16155b61143d57600080fd5b6013546001600160a01b03848116911614801561146857506012546001600160a01b03838116911614155b801561148d57506001600160a01b03821660009081526005602052604090205460ff16155b80156114b6575060135477010000000000000000000000000000000000000000000000900460ff165b156114fe576001600160a01b03821660009081526008602052604090205442116114df57600080fd5b6001600160a01b0382166000908152600860205260409020601e420190555b6000611509306107a3565b6013549091507501000000000000000000000000000000000000000000900460ff1615801561154657506013546001600160a01b03858116911614155b801561156e5750601354760100000000000000000000000000000000000000000000900460ff165b1561158e5761157c81611769565b47801561158c5761158c47611684565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806115d257506001600160a01b03831660009081526005602052604090205460ff165b156115db575060005b6115e784848484611a4c565b50505050565b6000818484111561167c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611641578181015183820152602001611629565b50505050905090810190601f16801561166e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6010546001600160a01b03166108fc61169e836002611a0a565b6040518115909202916000818181858888f193505050501580156116c6573d6000803e3d6000fd5b506011546001600160a01b03166108fc6116e1836002611a0a565b6040518115909202916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b6000600a5482111561174c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061229b602a913960400191505060405180910390fd5b6000611756611b68565b90506117628382611a0a565b9392505050565b601380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055604080516002808252606080830184529260208301908036833701905050905030816000815181106117d757fe5b6001600160a01b03928316602091820292909201810191909152601254604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561184457600080fd5b505afa158015611858573d6000803e3d6000fd5b505050506040513d602081101561186e57600080fd5b505181518290600190811061187f57fe5b6001600160a01b0392831660209182029290920101526012546118a591309116846110d2565b6012546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561194457818101518382015260200161192c565b505050509050019650505050505050600060405180830381600087803b15801561196d57600080fd5b505af1158015611981573d6000803e3d6000fd5b5050601380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b6000826119c057506000610570565b828202828482816119cd57fe5b04146117625760405162461bcd60e51b81526004018080602001828103825260218152602001806122e76021913960400191505060405180910390fd5b600061176283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b8b565b80611a5957611a59611bf0565b6001600160a01b03841660009081526006602052604090205460ff168015611a9a57506001600160a01b03831660009081526006602052604090205460ff16155b15611aaf57611aaa848484611c22565b611b5b565b6001600160a01b03841660009081526006602052604090205460ff16158015611af057506001600160a01b03831660009081526006602052604090205460ff165b15611b0057611aaa848484611d46565b6001600160a01b03841660009081526006602052604090205460ff168015611b4057506001600160a01b03831660009081526006602052604090205460ff165b15611b5057611aaa848484611def565b611b5b848484611e62565b806115e7576115e7611ea6565b6000806000611b75611eb4565b9092509050611b848282611a0a565b9250505090565b60008183611bda5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611641578181015183820152602001611629565b506000838581611be657fe5b0495945050505050565b600c54158015611c005750600d54155b15611c0a57611c20565b600c8054600e55600d8054600f55600091829055555b565b600080600080600080611c3487612033565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611c669088612090565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611c959087612090565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611cc490866120d2565b6001600160a01b038916600090815260026020526040902055611ce68161212c565b611cf084836121b4565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080611d5887612033565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d8a9087612090565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054611dc090846120d2565b6001600160a01b038916600090815260036020908152604080832093909355600290522054611cc490866120d2565b600080600080600080611e0187612033565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611e339088612090565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611d8a9087612090565b600080600080600080611e7487612033565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611c959087612090565b600e54600c55600f54600d55565b600a546000908190683635c9adc5dea00000825b600954811015611ff357826002600060098481548110611ee457fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611f495750816003600060098481548110611f2257fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611f6757600a54683635c9adc5dea000009450945050505061202f565b611fa76002600060098481548110611f7b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612090565b9250611fe96003600060098481548110611fbd57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612090565b9150600101611ec8565b50600a5461200a90683635c9adc5dea00000611a0a565b82101561202957600a54683635c9adc5dea0000093509350505061202f565b90925090505b9091565b60008060008060008060008060006120508a600c54600d546121d8565b9250925092506000612060611b68565b905060008060006120738e878787612227565b919e509c509a509598509396509194505050505091939550919395565b600061176283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ed565b600082820183811015611762576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612136611b68565b9050600061214483836119b1565b3060009081526002602052604090205490915061216190826120d2565b3060009081526002602090815260408083209390935560069052205460ff1615610f87573060009081526003602052604090205461219f90846120d2565b30600090815260036020526040902055505050565b600a546121c19083612090565b600a55600b546121d190826120d2565b600b555050565b60008080806121ec606461106389896119b1565b905060006121ff60646110638a896119b1565b90506000612217826122118b86612090565b90612090565b9992985090965090945050505050565b600080808061223688866119b1565b9050600061224488876119b1565b9050600061225288886119b1565b90506000612264826122118686612090565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e501324995f505663d659bfee3b17e8942f485c65431295e5b14d462f4ef87ea64736f6c634300060c00330000000000000000000000002dd913730fb972d0b2982146d77c023219eecc5e0000000000000000000000006f43654119ebecfef9c76330646552e916bcc0a8

Deployed Bytecode

0x60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf9146104a7578063d543dbeb146104bc578063dd62ed3e146104e657610134565b8063b515566a146103e2578063c3c8cd801461049257610134565b8063715018a61461034e5780638da5cb5b1461036357806395d89b4114610394578063a9059cbb146103a957610134565b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102da5780636fc3eaec1461030657806370a082311461031b57610134565b8063273123b71461027a578063313ce567146102af57610134565b806306fdde0314610139578063095ea7b3146101c357806318160ddd1461021057806323b872dd1461023757610134565b3661013457005b600080fd5b34801561014557600080fd5b5061014e610521565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610188578181015183820152602001610170565b50505050905090810190601f1680156101b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cf57600080fd5b506101fc600480360360408110156101e657600080fd5b506001600160a01b038135169060200135610558565b604080519115158252519081900360200190f35b34801561021c57600080fd5b50610225610576565b60408051918252519081900360200190f35b34801561024357600080fd5b506101fc6004803603606081101561025a57600080fd5b506001600160a01b03813581169160208101359091169060400135610583565b34801561028657600080fd5b506102ad6004803603602081101561029d57600080fd5b50356001600160a01b031661060a565b005b3480156102bb57600080fd5b506102c46106b3565b6040805160ff9092168252519081900360200190f35b3480156102e657600080fd5b506102ad600480360360208110156102fd57600080fd5b503515156106b8565b34801561031257600080fd5b506102ad61076f565b34801561032757600080fd5b506102256004803603602081101561033e57600080fd5b50356001600160a01b03166107a3565b34801561035a57600080fd5b506102ad61080d565b34801561036f57600080fd5b506103786108d9565b604080516001600160a01b039092168252519081900360200190f35b3480156103a057600080fd5b5061014e6108e8565b3480156103b557600080fd5b506101fc600480360360408110156103cc57600080fd5b506001600160a01b03813516906020013561091f565b3480156103ee57600080fd5b506102ad6004803603602081101561040557600080fd5b81019060208101813564010000000081111561042057600080fd5b82018360208201111561043257600080fd5b8035906020019184602083028401116401000000008311171561045457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610933945050505050565b34801561049e57600080fd5b506102ad610a17565b3480156104b357600080fd5b506102ad610a54565b3480156104c857600080fd5b506102ad600480360360208110156104df57600080fd5b5035610f8c565b3480156104f257600080fd5b506102256004803603604081101561050957600080fd5b506001600160a01b03813581169160200135166110a3565b60408051808201909152600b81527f4368696566205368696261000000000000000000000000000000000000000000602082015290565b600061056c6105656110ce565b84846110d2565b5060015b92915050565b683635c9adc5dea0000090565b60006105908484846111be565b6106008461059c6110ce565b6105fb85604051806060016040528060288152602001612308602891396001600160a01b038a166000908152600460205260408120906105da6110ce565b6001600160a01b0316815260208101919091526040016000205491906115ed565b6110d2565b5060019392505050565b6106126110ce565b6000546001600160a01b03908116911614610674576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0316600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600990565b6106c06110ce565b6000546001600160a01b03908116911614610722576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6013805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6010546001600160a01b03166107836110ce565b6001600160a01b03161461079657600080fd5b476107a081611684565b50565b6001600160a01b03811660009081526006602052604081205460ff16156107e357506001600160a01b038116600090815260036020526040902054610808565b6001600160a01b03821660009081526002602052604090205461080590611709565b90505b919050565b6108156110ce565b6000546001600160a01b03908116911614610877576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000546001600160a01b031690565b60408051808201909152600581527f4353484942000000000000000000000000000000000000000000000000000000602082015290565b600061056c61092c6110ce565b84846111be565b61093b6110ce565b6000546001600160a01b0390811691161461099d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610a13576001600760008484815181106109bb57fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016109a0565b5050565b6010546001600160a01b0316610a2b6110ce565b6001600160a01b031614610a3e57600080fd5b6000610a49306107a3565b90506107a081611769565b610a5c6110ce565b6000546001600160a01b03908116911614610abe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60135474010000000000000000000000000000000000000000900460ff1615610b2e576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601280547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905590610b8f9030906001600160a01b0316683635c9adc5dea000006110d2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b5051604080517fad5c464800000000000000000000000000000000000000000000000000000000815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d6020811015610c8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051601380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556012541663f305d7194730610d63816107a3565b600080610d6e6108d9565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050506040513d6060811015610e0457600080fd5b505060138054673afb087b876900006014557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092167601000000000000000000000000000000000000000000001791909116770100000000000000000000000000000000000000000000001716740100000000000000000000000000000000000000001790819055601254604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b505050565b610f946110ce565b6000546001600160a01b03908116911614610ff6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000811161104b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b6110696064611063683635c9adc5dea00000846119b1565b90611a0a565b601481905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166111175760405162461bcd60e51b815260040180806020018281038252602481526020018061237e6024913960400191505060405180910390fd5b6001600160a01b03821661115c5760405162461bcd60e51b81526004018080602001828103825260228152602001806122c56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112035760405162461bcd60e51b81526004018080602001828103825260258152602001806123596025913960400191505060405180910390fd5b6001600160a01b0382166112485760405162461bcd60e51b81526004018080602001828103825260238152602001806122786023913960400191505060405180910390fd5b600081116112875760405162461bcd60e51b81526004018080602001828103825260298152602001806123306029913960400191505060405180910390fd5b61128f6108d9565b6001600160a01b0316836001600160a01b0316141580156112c957506112b36108d9565b6001600160a01b0316826001600160a01b031614155b156115905760135477010000000000000000000000000000000000000000000000900460ff16156113e3576001600160a01b038316301480159061131657506001600160a01b0382163014155b801561133057506012546001600160a01b03848116911614155b801561134a57506012546001600160a01b03838116911614155b156113e3576012546001600160a01b03166113636110ce565b6001600160a01b0316148061139257506013546001600160a01b03166113876110ce565b6001600160a01b0316145b6113e3576040805162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b6014548111156113f257600080fd5b6001600160a01b03831660009081526007602052604090205460ff1615801561143457506001600160a01b03821660009081526007602052604090205460ff16155b61143d57600080fd5b6013546001600160a01b03848116911614801561146857506012546001600160a01b03838116911614155b801561148d57506001600160a01b03821660009081526005602052604090205460ff16155b80156114b6575060135477010000000000000000000000000000000000000000000000900460ff165b156114fe576001600160a01b03821660009081526008602052604090205442116114df57600080fd5b6001600160a01b0382166000908152600860205260409020601e420190555b6000611509306107a3565b6013549091507501000000000000000000000000000000000000000000900460ff1615801561154657506013546001600160a01b03858116911614155b801561156e5750601354760100000000000000000000000000000000000000000000900460ff165b1561158e5761157c81611769565b47801561158c5761158c47611684565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806115d257506001600160a01b03831660009081526005602052604090205460ff165b156115db575060005b6115e784848484611a4c565b50505050565b6000818484111561167c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611641578181015183820152602001611629565b50505050905090810190601f16801561166e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6010546001600160a01b03166108fc61169e836002611a0a565b6040518115909202916000818181858888f193505050501580156116c6573d6000803e3d6000fd5b506011546001600160a01b03166108fc6116e1836002611a0a565b6040518115909202916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b6000600a5482111561174c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061229b602a913960400191505060405180910390fd5b6000611756611b68565b90506117628382611a0a565b9392505050565b601380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055604080516002808252606080830184529260208301908036833701905050905030816000815181106117d757fe5b6001600160a01b03928316602091820292909201810191909152601254604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561184457600080fd5b505afa158015611858573d6000803e3d6000fd5b505050506040513d602081101561186e57600080fd5b505181518290600190811061187f57fe5b6001600160a01b0392831660209182029290920101526012546118a591309116846110d2565b6012546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561194457818101518382015260200161192c565b505050509050019650505050505050600060405180830381600087803b15801561196d57600080fd5b505af1158015611981573d6000803e3d6000fd5b5050601380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b6000826119c057506000610570565b828202828482816119cd57fe5b04146117625760405162461bcd60e51b81526004018080602001828103825260218152602001806122e76021913960400191505060405180910390fd5b600061176283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b8b565b80611a5957611a59611bf0565b6001600160a01b03841660009081526006602052604090205460ff168015611a9a57506001600160a01b03831660009081526006602052604090205460ff16155b15611aaf57611aaa848484611c22565b611b5b565b6001600160a01b03841660009081526006602052604090205460ff16158015611af057506001600160a01b03831660009081526006602052604090205460ff165b15611b0057611aaa848484611d46565b6001600160a01b03841660009081526006602052604090205460ff168015611b4057506001600160a01b03831660009081526006602052604090205460ff165b15611b5057611aaa848484611def565b611b5b848484611e62565b806115e7576115e7611ea6565b6000806000611b75611eb4565b9092509050611b848282611a0a565b9250505090565b60008183611bda5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611641578181015183820152602001611629565b506000838581611be657fe5b0495945050505050565b600c54158015611c005750600d54155b15611c0a57611c20565b600c8054600e55600d8054600f55600091829055555b565b600080600080600080611c3487612033565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611c669088612090565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611c959087612090565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611cc490866120d2565b6001600160a01b038916600090815260026020526040902055611ce68161212c565b611cf084836121b4565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080611d5887612033565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d8a9087612090565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054611dc090846120d2565b6001600160a01b038916600090815260036020908152604080832093909355600290522054611cc490866120d2565b600080600080600080611e0187612033565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611e339088612090565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611d8a9087612090565b600080600080600080611e7487612033565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611c959087612090565b600e54600c55600f54600d55565b600a546000908190683635c9adc5dea00000825b600954811015611ff357826002600060098481548110611ee457fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611f495750816003600060098481548110611f2257fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611f6757600a54683635c9adc5dea000009450945050505061202f565b611fa76002600060098481548110611f7b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612090565b9250611fe96003600060098481548110611fbd57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612090565b9150600101611ec8565b50600a5461200a90683635c9adc5dea00000611a0a565b82101561202957600a54683635c9adc5dea0000093509350505061202f565b90925090505b9091565b60008060008060008060008060006120508a600c54600d546121d8565b9250925092506000612060611b68565b905060008060006120738e878787612227565b919e509c509a509598509396509194505050505091939550919395565b600061176283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ed565b600082820183811015611762576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612136611b68565b9050600061214483836119b1565b3060009081526002602052604090205490915061216190826120d2565b3060009081526002602090815260408083209390935560069052205460ff1615610f87573060009081526003602052604090205461219f90846120d2565b30600090815260036020526040902055505050565b600a546121c19083612090565b600a55600b546121d190826120d2565b600b555050565b60008080806121ec606461106389896119b1565b905060006121ff60646110638a896119b1565b90506000612217826122118b86612090565b90612090565b9992985090965090945050505050565b600080808061223688866119b1565b9050600061224488876119b1565b9050600061225288886119b1565b90506000612264826122118686612090565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e501324995f505663d659bfee3b17e8942f485c65431295e5b14d462f4ef87ea64736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002dd913730fb972d0b2982146d77c023219eecc5e0000000000000000000000006f43654119ebecfef9c76330646552e916bcc0a8

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x2dd913730FB972D0B2982146D77c023219eEcc5E
Arg [1] : marketingWalletAddress (address): 0x6F43654119eBecfeF9c76330646552e916BCC0a8

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002dd913730fb972d0b2982146d77c023219eecc5e
Arg [1] : 0000000000000000000000006f43654119ebecfef9c76330646552e916bcc0a8


Deployed Bytecode Sourcemap

6401:14134:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8467:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9379:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8744:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9548:313;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9548:313:0;;;;;;;;;;;;;;;;;:::i;14676:88::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14676:88:0;-1:-1:-1;;;;;14676:88:0;;:::i;:::-;;8653:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9869:103;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9869:103:0;;;;:::i;13467:190::-;;;;;;;;;;;;;:::i;8847:198::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8847:198:0;-1:-1:-1;;;;;8847:198:0;;:::i;5480:148::-;;;;;;;;;;;;;:::i;5266:79::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5266:79:0;;;;;;;;;;;;;;8558:87;;;;;;;;;;;;;:::i;9053:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9053:167:0;;;;;;;;:::i;14500:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14500:164:0;;-1:-1:-1;14500:164:0;;-1:-1:-1;;;;;14500:164:0:i;13264:191::-;;;;;;;;;;;;;:::i;13673:815::-;;;;;;;;;;;;;:::i;20277:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20277:255:0;;:::i;9228:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9228:143:0;;;;;;;;;;:::i;8467:83::-;8537:5;;;;;;;;;;;;;;;;;8467:83;:::o;9379:161::-;9454:4;9471:39;9480:12;:10;:12::i;:::-;9494:7;9503:6;9471:8;:39::i;:::-;-1:-1:-1;9528:4:0;9379:161;;;;;:::o;8744:95::-;7017:21;8744:95;:::o;9548:313::-;9646:4;9663:36;9673:6;9681:9;9692:6;9663:9;:36::i;:::-;9710:121;9719:6;9727:12;:10;:12::i;:::-;9741:89;9779:6;9741:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9741:19:0;;;;;;:11;:19;;;;;;9761:12;:10;:12::i;:::-;-1:-1:-1;;;;;9741:33:0;;;;;;;;;;;;-1:-1:-1;9741:33:0;;;:89;:37;:89::i;:::-;9710:8;:121::i;:::-;-1:-1:-1;9849:4:0;9548:313;;;;;:::o;14676:88::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14736:12:0::1;14751:5;14736:12:::0;;;:4:::1;:12;::::0;;;;:20;;;::::1;::::0;;14676:88::o;8653:83::-;7269:1;8653:83;:::o;9869:103::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9941:15:::1;:23:::0;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;9869:103::o;13467:190::-;13533:11;;-1:-1:-1;;;;;13533:11:0;13517:12;:10;:12::i;:::-;-1:-1:-1;;;;;13517:27:0;;13509:36;;;;;;13585:21;13617:32;13585:21;13617:12;:32::i;:::-;13467:190;:::o;8847:198::-;-1:-1:-1;;;;;8937:20:0;;8913:7;8937:20;;;:11;:20;;;;;;;;8933:49;;;-1:-1:-1;;;;;;8966:16:0;;;;;;:7;:16;;;;;;8959:23;;8933:49;-1:-1:-1;;;;;9020:16:0;;;;;;:7;:16;;;;;;9000:37;;:19;:37::i;:::-;8993:44;;8847:198;;;;:::o;5480:148::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5587:1:::1;5571:6:::0;;5550:40:::1;::::0;-1:-1:-1;;;;;5571:6:0;;::::1;::::0;5550:40:::1;::::0;5587:1;;5550:40:::1;5618:1;5601:19:::0;;;::::1;::::0;;5480:148::o;5266:79::-;5304:7;5331:6;-1:-1:-1;;;;;5331:6:0;5266:79;:::o;8558:87::-;8630:7;;;;;;;;;;;;;;;;;8558:87;:::o;9053:167::-;9131:4;9148:42;9158:12;:10;:12::i;:::-;9172:9;9183:6;9148:9;:42::i;14500:164::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14574:6:::1;14569:88;14590:5;:12;14586:1;:16;14569:88;;;14641:4;14624;:14;14629:5;14635:1;14629:8;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14624:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14624:14:0;:21;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;14604:3:0::1;14569:88;;;;14500:164:::0;:::o;13264:191::-;13330:11;;-1:-1:-1;;;;;13330:11:0;13314:12;:10;:12::i;:::-;-1:-1:-1;;;;;13314:27:0;;13306:36;;;;;;13353:23;13379:24;13397:4;13379:9;:24::i;:::-;13353:50;;13414:33;13431:15;13414:16;:33::i;13673:815::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13737:11:::1;::::0;;;::::1;;;13736:12;13728:47;;;::::0;;-1:-1:-1;;;13728:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13897:15;:34:::0;;;::::1;13843:42;13897:34:::0;;::::1;::::0;;;;13843:42;13942:58:::1;::::0;13959:4:::1;::::0;-1:-1:-1;;;;;13974:15:0::1;7017:21;13942:8;:58::i;:::-;14045:16;-1:-1:-1::0;;;;;14045:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14045:26:0;14099:23:::1;::::0;;;;;;;-1:-1:-1;;;;;14027:56:0;;::::1;::::0;::::1;::::0;14092:4:::1;::::0;14099:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;14045:26:::1;::::0;14099:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14099:23:0;14027:96:::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;;;14027:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;14099:23:::1;::::0;14027:96;;;;;;;-1:-1:-1;14027:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14027:96:0;14011:13:::1;:112:::0;;;::::1;-1:-1:-1::0;;;;;14011:112:0;;::::1;;::::0;;14134:15:::1;::::0;::::1;:31;14173:21;14204:4;14210:24;14204:4:::0;14210:9:::1;:24::i;:::-;14235:1;14237::::0;14239:7:::1;:5;:7::i;:::-;14247:15;14134:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;14134:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14134:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;14274:11:0::1;:18:::0;;14351::::1;14336:12;:33:::0;14380:18;14303:22;14274:18;;;::::1;::::0;::::1;14303:22:::0;;;::::1;::::0;::::1;14380:18;::::0;::::1;::::0;;;;14447:15:::1;::::0;14134:129;14409:71;;;;;-1:-1:-1;;;;;14447:15:0;;::::1;14409:71;::::0;::::1;::::0;-1:-1:-1;14409:71:0;;;;;;14416:13;;;::::1;::::0;14409:29:::1;::::0;:71;;;;;14134:129:::1;::::0;14409:71;;;;;;;14274:18;14416:13;14409:71;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;13673:815:0:o;20277:255::-;5403:12;:10;:12::i;:::-;5393:6;;-1:-1:-1;;;;;5393:6:0;;;:22;;;5385:67;;;;;-1:-1:-1;;;5385:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20379:1:::1;20364:12;:16;20356:58;;;::::0;;-1:-1:-1;;;20356:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;20440:36;20470:5;20440:25;7017:21;20452:12:::0;20440:11:::1;:25::i;:::-;:29:::0;::::1;:36::i;:::-;20425:12;:51:::0;;;20492:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;20277:255:::0;:::o;9228:143::-;-1:-1:-1;;;;;9336:18:0;;;9309:7;9336:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9228:143::o;220:106::-;308:10;220:106;:::o;10587:335::-;-1:-1:-1;;;;;10680:19:0;;10672:68;;;;-1:-1:-1;;;10672:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10759:21:0;;10751:68;;;;-1:-1:-1;;;10751:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10830:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10882:32;;;;;;;;;;;;;;;;;10587:335;;;:::o;10930:1657::-;-1:-1:-1;;;;;11018:18:0;;11010:68;;;;-1:-1:-1;;;11010:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11097:16:0;;11089:64;;;;-1:-1:-1;;;11089:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11181:1;11172:6;:10;11164:64;;;;-1:-1:-1;;;11164:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11261:7;:5;:7::i;:::-;-1:-1:-1;;;;;11253:15:0;:4;-1:-1:-1;;;;;11253:15:0;;;:32;;;;;11278:7;:5;:7::i;:::-;-1:-1:-1;;;;;11272:13:0;:2;-1:-1:-1;;;;;11272:13:0;;;11253:32;11249:1140;;;11306:15;;;;;;;11302:320;;;-1:-1:-1;;;;;11346:21:0;;11362:4;11346:21;;;;:44;;-1:-1:-1;;;;;;11371:19:0;;11385:4;11371:19;;11346:44;:80;;;;-1:-1:-1;11410:15:0;;-1:-1:-1;;;;;11394:32:0;;;11410:15;;11394:32;;11346:80;:114;;;;-1:-1:-1;11444:15:0;;-1:-1:-1;;;;;11430:30:0;;;11444:15;;11430:30;;11346:114;11342:265;;;11517:15;;-1:-1:-1;;;;;11517:15:0;11493:12;:10;:12::i;:::-;-1:-1:-1;;;;;11493:40:0;;:73;;;-1:-1:-1;11553:13:0;;-1:-1:-1;;;;;11553:13:0;11537:12;:10;:12::i;:::-;-1:-1:-1;;;;;11537:29:0;;11493:73;11485:102;;;;;-1:-1:-1;;;11485:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11654:12;;11644:6;:22;;11636:31;;;;;;-1:-1:-1;;;;;11691:10:0;;;;;;:4;:10;;;;;;;;11690:11;:24;;;;-1:-1:-1;;;;;;11706:8:0;;;;;;:4;:8;;;;;;;;11705:9;11690:24;11682:33;;;;;;11742:13;;-1:-1:-1;;;;;11734:21:0;;;11742:13;;11734:21;:55;;;;-1:-1:-1;11773:15:0;;-1:-1:-1;;;;;11759:30:0;;;11773:15;;11759:30;;11734:55;:83;;;;-1:-1:-1;;;;;;11795:22:0;;;;;;:18;:22;;;;;;;;11793:24;11734:83;:102;;;;-1:-1:-1;11821:15:0;;;;;;;11734:102;11730:246;;;-1:-1:-1;;;;;11865:12:0;;;;;;:8;:12;;;;;;11880:15;-1:-1:-1;11857:39:0;;;;;;-1:-1:-1;;;;;11915:12:0;;;;;;:8;:12;;;;;11949:10;11930:15;:30;11915:45;;11730:246;11990:28;12021:24;12039:4;12021:9;:24::i;:::-;12065:6;;11990:55;;-1:-1:-1;12065:6:0;;;;;12064:7;:32;;;;-1:-1:-1;12083:13:0;;-1:-1:-1;;;;;12075:21:0;;;12083:13;;12075:21;;12064:32;:47;;;;-1:-1:-1;12100:11:0;;;;;;;12064:47;12060:318;;;12132:38;12149:20;12132:16;:38::i;:::-;12218:21;12261:22;;12258:105;;12308:35;12321:21;12308:12;:35::i;:::-;12060:318;;11249:1140;;-1:-1:-1;;;;;12434:24:0;;12399:12;12434:24;;;:18;:24;;;;;;12414:4;;12434:24;;;:50;;-1:-1:-1;;;;;;12462:22:0;;;;;;:18;:22;;;;;;;;12434:50;12431:96;;;-1:-1:-1;12510:5:0;12431:96;12541:38;12556:4;12561:2;12564:6;12571:7;12541:14;:38::i;:::-;10930:1657;;;;:::o;1487:190::-;1573:7;1609:12;1601:6;;;;1593:29;;;;-1:-1:-1;;;1593:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1645:5:0;;;1487:190::o;13094:158::-;13151:11;;-1:-1:-1;;;;;13151:11:0;:35;13172:13;:6;13183:1;13172:10;:13::i;:::-;13151:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13197:23:0;;-1:-1:-1;;;;;13197:23:0;:47;13230:13;:6;13241:1;13230:10;:13::i;:::-;13197:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:254;10047:7;10086;;10075;:18;;10067:73;;;;-1:-1:-1;;;10067:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10151:19;10174:10;:8;:10::i;:::-;10151:33;-1:-1:-1;10202:24:0;:7;10151:33;10202:11;:24::i;:::-;10195:31;9980:254;-1:-1:-1;;;9980:254:0:o;12595:483::-;7900:6;:13;;;;;;;;12697:16:::1;::::0;;12711:1:::1;12697:16:::0;;;12673:21:::1;12697:16:::0;;::::1;::::0;;12673:21;12697:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12697:16:0::1;12673:40;;12742:4;12724;12729:1;12724:7;;;;;;;;-1:-1:-1::0;;;;;12724:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12768:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12724:7;;12768:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12768:22:0;12758:7;;:4;;12763:1:::1;::::0;12758:7;::::1;;;;;-1:-1:-1::0;;;;;12758:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12833:15:::1;::::0;12801:62:::1;::::0;12818:4:::1;::::0;12833:15:::1;12851:11:::0;12801:8:::1;:62::i;:::-;12874:15;::::0;:196:::1;::::0;;;;::::1;::::0;::::1;::::0;;;:15:::1;:196:::0;;;;;;13024:4:::1;12874:196:::0;;;;;;13044:15:::1;12874:196:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12874:15:0;;::::1;::::0;:66:::1;::::0;12955:11;;12997:4;;13024;13044:15;12874:196;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:196:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7936:6:0;:14;;;;;;-1:-1:-1;;;;12595:483:0:o;1685:246::-;1743:7;1767:6;1763:47;;-1:-1:-1;1797:1:0;1790:8;;1763:47;1832:5;;;1836:1;1832;:5;:1;1856:5;;;;;:10;1848:56;;;;-1:-1:-1;;;1848:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1939:132;1997:7;2024:39;2028:1;2031;2024:39;;;;;;;;;;;;;;;;;:3;:39::i;14780:685::-;14892:7;14888:40;;14914:14;:12;:14::i;:::-;-1:-1:-1;;;;;14943:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;14967:22:0;;;;;;:11;:22;;;;;;;;14966:23;14943:46;14939:467;;;15006:48;15028:6;15036:9;15047:6;15006:21;:48::i;:::-;14939:467;;;-1:-1:-1;;;;;15077:19:0;;;;;;:11;:19;;;;;;;;15076:20;:46;;;;-1:-1:-1;;;;;;15100:22:0;;;;;;:11;:22;;;;;;;;15076:46;15072:334;;;15139:46;15159:6;15167:9;15178:6;15139:19;:46::i;15072:334::-;-1:-1:-1;;;;;15207:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;15230:22:0;;;;;;:11;:22;;;;;;;;15207:45;15203:203;;;15269:48;15291:6;15299:9;15310:6;15269:21;:48::i;15203:203::-;15350:44;15368:6;15376:9;15387:6;15350:17;:44::i;:::-;15420:7;15416:41;;15442:15;:13;:15::i;19529:163::-;19570:7;19591:15;19608;19627:19;:17;:19::i;:::-;19590:56;;-1:-1:-1;19590:56:0;-1:-1:-1;19664:20:0;19590:56;;19664:11;:20::i;:::-;19657:27;;;;19529:163;:::o;2079:189::-;2165:7;2200:12;2193:5;2185:28;;;;-1:-1:-1;;;2185:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2224:9;2240:1;2236;:5;;;;;;;2079:189;-1:-1:-1;;;;;2079:189:0:o;10242:210::-;10288:7;;:12;:29;;;;-1:-1:-1;10304:8:0;;:13;10288:29;10285:41;;;10319:7;;10285:41;10354:7;;;10336:15;:25;10391:8;;;10372:16;:27;-1:-1:-1;10410:11:0;;;;10432:12;10242:210;:::o;16553:552::-;16656:15;16673:23;16698:12;16712:23;16737:12;16751:13;16768:19;16779:7;16768:10;:19::i;:::-;-1:-1:-1;;;;;16816:15:0;;;;;;:7;:15;;;;;;16655:132;;-1:-1:-1;16655:132:0;;-1:-1:-1;16655:132:0;;-1:-1:-1;16655:132:0;-1:-1:-1;16655:132:0;-1:-1:-1;16655:132:0;-1:-1:-1;16816:28:0;;16836:7;16816:19;:28::i;:::-;-1:-1:-1;;;;;16798:15:0;;;;;;:7;:15;;;;;;;;:46;;;;16873:7;:15;;;;:28;;16893:7;16873:19;:28::i;:::-;-1:-1:-1;;;;;16855:15:0;;;;;;;:7;:15;;;;;;:46;;;;16933:18;;;;;;;:39;;16956:15;16933:22;:39::i;:::-;-1:-1:-1;;;;;16912:18:0;;;;;;:7;:18;;;;;:60;16984:16;16994:5;16984:9;:16::i;:::-;17014:23;17026:4;17032;17014:11;:23::i;:::-;17070:9;-1:-1:-1;;;;;17053:44:0;17062:6;-1:-1:-1;;;;;17053:44:0;;17081:15;17053:44;;;;;;;;;;;;;;;;;;16553:552;;;;;;;;;:::o;15970:575::-;16071:15;16088:23;16113:12;16127:23;16152:12;16166:13;16183:19;16194:7;16183:10;:19::i;:::-;-1:-1:-1;;;;;16231:15:0;;;;;;:7;:15;;;;;;16070:132;;-1:-1:-1;16070:132:0;;-1:-1:-1;16070:132:0;;-1:-1:-1;16070:132:0;-1:-1:-1;16070:132:0;-1:-1:-1;16070:132:0;-1:-1:-1;16231:28:0;;16070:132;16231:19;:28::i;:::-;-1:-1:-1;;;;;16213:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;16291:18;;;;;:7;:18;;;;;:39;;16314:15;16291:22;:39::i;:::-;-1:-1:-1;;;;;16270:18:0;;;;;;:7;:18;;;;;;;;:60;;;;16362:7;:18;;;;:39;;16385:15;16362:22;:39::i;17113:631::-;17216:15;17233:23;17258:12;17272:23;17297:12;17311:13;17328:19;17339:7;17328:10;:19::i;:::-;-1:-1:-1;;;;;17376:15:0;;;;;;:7;:15;;;;;;17215:132;;-1:-1:-1;17215:132:0;;-1:-1:-1;17215:132:0;;-1:-1:-1;17215:132:0;-1:-1:-1;17215:132:0;-1:-1:-1;17215:132:0;-1:-1:-1;17376:28:0;;17396:7;17376:19;:28::i;:::-;-1:-1:-1;;;;;17358:15:0;;;;;;:7;:15;;;;;;;;:46;;;;17433:7;:15;;;;:28;;17453:7;17433:19;:28::i;15473:489::-;15572:15;15589:23;15614:12;15628:23;15653:12;15667:13;15684:19;15695:7;15684:10;:19::i;:::-;-1:-1:-1;;;;;15732:15:0;;;;;;:7;:15;;;;;;15571:132;;-1:-1:-1;15571:132:0;;-1:-1:-1;15571:132:0;;-1:-1:-1;15571:132:0;-1:-1:-1;15571:132:0;-1:-1:-1;15571:132:0;-1:-1:-1;15732:28:0;;15571:132;15732:19;:28::i;10464:115::-;10518:15;;10508:7;:25;10555:16;;10544:8;:27;10464:115::o;19700:561::-;19797:7;;19750;;;;7017:21;19750:7;19857:289;19881:9;:16;19877:20;;19857:289;;;19947:7;19923;:21;19931:9;19941:1;19931:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19931:12:0;19923:21;;;;;;;;;;;;;:31;;:66;;;19982:7;19958;:21;19966:9;19976:1;19966:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19966:12:0;19958:21;;;;;;;;;;;;;:31;19923:66;19919:97;;;19999:7;;7017:21;19991:25;;;;;;;;;19919:97;20041:34;20053:7;:21;20061:9;20071:1;20061:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20061:12:0;20053:21;;;;;;;;;;;;;20041:7;;:11;:34::i;:::-;20031:44;;20100:34;20112:7;:21;20120:9;20130:1;20120:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20120:12:0;20112:21;;;;;;;;;;;;;20100:7;;:11;:34::i;:::-;20090:44;-1:-1:-1;19899:3:0;;19857:289;;;-1:-1:-1;20170:7:0;;:20;;7017:21;20170:11;:20::i;:::-;20160:7;:30;20156:61;;;20200:7;;7017:21;20192:25;;;;;;;;20156:61;20236:7;;-1:-1:-1;20245:7:0;-1:-1:-1;19700:561:0;;;:::o;18277:468::-;18336:7;18345;18354;18363;18372;18381;18402:23;18427:12;18441:13;18458:39;18470:7;18479;;18488:8;;18458:11;:39::i;:::-;18401:96;;;;;;18508:19;18531:10;:8;:10::i;:::-;18508:33;;18553:15;18570:23;18595:12;18611:46;18623:7;18632:4;18638:5;18645:11;18611;:46::i;:::-;18552:105;;-1:-1:-1;18552:105:0;-1:-1:-1;18552:105:0;-1:-1:-1;18708:15:0;;-1:-1:-1;18725:4:0;;-1:-1:-1;18731:5:0;;-1:-1:-1;;;;;18277:468:0;;;;;;;:::o;1343:136::-;1401:7;1428:43;1432:1;1435;1428:43;;;;;;;;;;;;;;;;;:3;:43::i;1156:179::-;1214:7;1246:5;;;1270:6;;;;1262:46;;;;;-1:-1:-1;;;1262:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17752:325;17805:19;17828:10;:8;:10::i;:::-;17805:33;-1:-1:-1;17849:13:0;17865:22;:5;17805:33;17865:9;:22::i;:::-;17939:4;17923:22;;;;:7;:22;;;;;;17849:38;;-1:-1:-1;17923:33:0;;17849:38;17923:26;:33::i;:::-;17914:4;17898:22;;;;:7;:22;;;;;;;;:58;;;;17970:11;:26;;;;;;17967:102;;;18052:4;18036:22;;;;:7;:22;;;;;;:33;;18063:5;18036:26;:33::i;:::-;18027:4;18011:22;;;;:7;:22;;;;;:58;17752:325;;;:::o;18085:147::-;18163:7;;:17;;18175:4;18163:11;:17::i;:::-;18153:7;:27;18204:10;;:20;;18219:4;18204:14;:20::i;:::-;18191:10;:33;-1:-1:-1;;18085:147:0:o;18753:351::-;18846:7;;;;18899:28;18923:3;18899:19;:7;18911:6;18899:11;:19::i;:28::-;18884:43;-1:-1:-1;18938:13:0;18954:29;18979:3;18954:20;:7;18966;18954:11;:20::i;:29::-;18938:45;-1:-1:-1;18994:23:0;19020:28;18938:45;19020:17;:7;19032:4;19020:11;:17::i;:::-;:21;;:28::i;:::-;18994:54;19084:4;;-1:-1:-1;19090:5:0;;-1:-1:-1;18753:351:0;;-1:-1:-1;;;;;18753:351:0:o;19112:409::-;19222:7;;;;19278:24;:7;19290:11;19278;:24::i;:::-;19260:42;-1:-1:-1;19313:12:0;19328:21;:4;19337:11;19328:8;:21::i;:::-;19313:36;-1:-1:-1;19360:13:0;19376:22;:5;19386:11;19376:9;:22::i;:::-;19360:38;-1:-1:-1;19409:23:0;19435:28;19360:38;19435:17;:7;19447:4;19435:11;:17::i;:28::-;19482:7;;;;-1:-1:-1;19508:4:0;;-1:-1:-1;19112:409:0;;-1:-1:-1;;;;;;;19112:409:0:o

Swarm Source

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