ETH Price: $2,409.45 (-2.53%)
 

Overview

Max Total Supply

5,000,000,000,000 📈🍀🚀PUMP 🚀🍀📈

Holders

15

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

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

PUMPPUMPPUMP (📈🍀🚀PUMP 🚀🍀📈)

Telegram: https://t.me/PumpPumpPumpToken

This token was created to PUMP. A modest amount of liquidity to 
start will allow early holders to secure a decent position, and 
deflationary mechanics will allow anyone at any time to benefit 
for the long term. Liquidity locking will prevent a rug pull. 
Ownership renouncement will prevent any shenanigans. A small tax 
on selling will incentivize the pump. Cooldown and anti-bot 
measures will prevent exploitations. The community must bring 
the PUMP energy in order to achieve success. From this day on, 
PUMP token shall PUMP!
 
PUMP features:
- No dev tokens, we all pump pump pump📈
- Initial 10% token burn to ignite the engines 📈
- 5% Reflection to pump holders 📈
- Anti-listing-bot, only the pumpers 📈
- Anti whale dumping protection 📈
- Cooldown and tax on mass sells 📈
- Full liquidity provided and locked 📈

*/

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

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

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

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

}  

contract PUMPPUMPPUMP 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 = 5000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = "PUMP PUMP PUMP";
    string private constant _symbol = '📈🍀🚀PUMP 🚀🍀📈';
    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 = _tTotal;
        _maxTxAmount = 1000000000000 * 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"}]

608060405269010f0cf064dd59200000600019816200001a57fe5b0660001903600a556005600c55600a600d55600c54600e55600d54600f556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff02191690831515021790555069010f0cf064dd59200000601455348015620000a457600080fd5b50604051620042973803806200429783398181016040526040811015620000ca57600080fd5b8101908080519060200190929190805190602001909291905050506000620000f76200046260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a54600260006200022e6200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002826200046a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003eb6200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69010f0cf064dd592000006040518082815260200191505060405180910390a3505062000493565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613df480620004a36000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063b515566a11610064578063b515566a14610567578063c3c8cd801461062c578063c9567bf914610643578063d543dbeb1461065a578063dd62ed3e1461069557610114565b8063715018a61461040e5780638da5cb5b1461042557806395d89b4114610466578063a9059cbb146104f657610114565b8063273123b7116100dc578063273123b7146102d6578063313ce567146103275780635932ead1146103555780636fc3eaec1461039257806370a08231146103a957610114565b806306fdde0314610119578063095ea7b3146101a957806318160ddd1461021a57806323b872dd1461024557610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61071a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b557600080fd5b50610202600480360360408110156101cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b60405180821515815260200191505060405180910390f35b34801561022657600080fd5b5061022f610775565b6040518082815260200191505060405180910390f35b34801561025157600080fd5b506102be6004803603606081101561026857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610787565b60405180821515815260200191505060405180910390f35b3480156102e257600080fd5b50610325600480360360208110156102f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610860565b005b34801561033357600080fd5b5061033c610983565b604051808260ff16815260200191505060405180910390f35b34801561036157600080fd5b506103906004803603602081101561037857600080fd5b8101908080351515906020019092919050505061098c565b005b34801561039e57600080fd5b506103a7610a71565b005b3480156103b557600080fd5b506103f8600480360360208110156103cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae3565b6040518082815260200191505060405180910390f35b34801561041a57600080fd5b50610423610bce565b005b34801561043157600080fd5b5061043a610d54565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047257600080fd5b5061047b610d7d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104bb5780820151818401526020810190506104a0565b50505050905090810190601f1680156104e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050257600080fd5b5061054f6004803603604081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dba565b60405180821515815260200191505060405180910390f35b34801561057357600080fd5b5061062a6004803603602081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460208302840111640100000000831117156105db57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610dd8565b005b34801561063857600080fd5b50610641610f28565b005b34801561064f57600080fd5b50610658610fa2565b005b34801561066657600080fd5b506106936004803603602081101561067d57600080fd5b8101908080359060200190929190505050611632565b005b3480156106a157600080fd5b50610704600480360360408110156106b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117e2565b6040518082815260200191505060405180910390f35b60606040518060400160405280600e81526020017f50554d502050554d502050554d50000000000000000000000000000000000000815250905090565b600061076b610764611869565b8484611871565b6001905092915050565b600069010f0cf064dd59200000905090565b6000610794848484611a68565b610855846107a0611869565b61085085604051806060016040528060288152602001613d2560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610806611869565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611871565b600190509392505050565b610868611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610994611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab2611869565b73ffffffffffffffffffffffffffffffffffffffff1614610ad257600080fd5b6000479050610ae081612353565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b7e57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610bc9565b610bc6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244e565b90505b919050565b610bd6611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280601d81526020017ff09f9388f09f8d80f09f9a8050554d5020f09f9a80f09f8d80f09f9388000000815250905090565b6000610dce610dc7611869565b8484611a68565b6001905092915050565b610de0611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610f2457600160076000848481518110610ebe57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610ea3565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f69611869565b73ffffffffffffffffffffffffffffffffffffffff1614610f8957600080fd5b6000610f9430610ae3565b9050610f9f816124d2565b50565b610faa611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601360149054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117e30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669010f0cf064dd59200000611871565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b505050506040513d602081101561128b57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561130557600080fd5b505af1158015611319573d6000803e3d6000fd5b505050506040513d602081101561132f57600080fd5b8101908080519060200190929190505050601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610ae3565b6000806113d4610d54565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561145957600080fd5b505af115801561146d573d6000803e3d6000fd5b50505050506040513d606081101561148457600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff02191690831515021790555069010f0cf064dd59200000601481905550683635c9adc5dea000006014819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115f357600080fd5b505af1158015611607573d6000803e3d6000fd5b505050506040513d602081101561161d57600080fd5b81019080805190602001909291905050505050565b61163a611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b6117a060646117928369010f0cf064dd592000006127bc90919063ffffffff16565b61284290919063ffffffff16565b6014819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6014546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613d9b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561197d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ce26022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613d766025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613c956023913960400191505060405180910390fd5b60008111611bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613d4d6029913960400191505060405180910390fd5b611bd5610d54565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c435750611c13610d54565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121d057601360179054906101000a900460ff1615611ea9573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cc557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d795750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ea857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611dbf611869565b73ffffffffffffffffffffffffffffffffffffffff161480611e355750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e1d611869565b73ffffffffffffffffffffffffffffffffffffffff16145b611ea7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b601454811115611eb857600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f5c5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f6557600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120105750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120665750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207e5750601360179054906101000a900460ff165b156121165742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106120ce57600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061212130610ae3565b9050601360159054906101000a900460ff1615801561218e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156121a65750601360169054906101000a900460ff165b156121ce576121b4816124d2565b600047905060008111156121cc576121cb47612353565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122775750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561228157600090505b61228d8484848461288c565b50505050565b6000838311158290612340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123055780820151818401526020810190506122ea565b50505050905090810190601f1680156123325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123a360028461284290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123ce573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61241f60028461284290919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561244a573d6000803e3d6000fd5b5050565b6000600a548211156124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613cb8602a913960400191505060405180910390fd5b60006124b5612ae3565b90506124ca818461284290919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561250757600080fd5b506040519080825280602002602001820160405280156125365781602001602082028036833780820191505090505b509050308160008151811061254757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156125e957600080fd5b505afa1580156125fd573d6000803e3d6000fd5b505050506040513d602081101561261357600080fd5b81019080805190602001909291905050508160018151811061263157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061269830601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611871565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561275c578082015181840152602081019050612741565b505050509050019650505050505050600060405180830381600087803b15801561278557600080fd5b505af1158015612799573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6000808314156127cf576000905061283c565b60008284029050828482816127e057fe5b0414612837576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613d046021913960400191505060405180910390fd5b809150505b92915050565b600061288483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b0e565b905092915050565b8061289a57612899612bd4565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561293d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129525761294d848484612c17565b612acf565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129f55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a0a57612a05848484612e77565b612ace565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aac5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ac157612abc8484846130d7565b612acd565b612acc8484846133cc565b5b5b5b80612add57612adc613597565b5b50505050565b6000806000612af06135ab565b91509150612b07818361284290919063ffffffff16565b9250505090565b60008083118290612bba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b7f578082015181840152602081019050612b64565b50505050905090810190601f168015612bac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612bc657fe5b049050809150509392505050565b6000600c54148015612be857506000600d54145b15612bf257612c15565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612c298761385c565b955095509550955095509550612c8787600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612db185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dfd81613996565b612e078483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612e898761385c565b955095509550955095509550612ee786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7c83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061301185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061305d81613996565b6130678483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806130e98761385c565b95509550955095509550955061314787600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131dc86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061327183600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061335281613996565b61335c8483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806133de8761385c565b95509550955095509550955061343c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134d185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351d81613996565b6135278483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a549050600069010f0cf064dd59200000905060005b60098054905081101561380f578260026000600984815481106135e657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806136cd575081600360006009848154811061366557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156136ec57600a5469010f0cf064dd5920000094509450505050613858565b613775600260006009848154811061370057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846138c490919063ffffffff16565b9250613800600360006009848154811061378b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836138c490919063ffffffff16565b915080806001019150506135c7565b5061382f69010f0cf064dd59200000600a5461284290919063ffffffff16565b82101561384f57600a5469010f0cf064dd59200000935093505050613858565b81819350935050505b9091565b60008060008060008060008060006138798a600c54600d54613b75565b9250925092506000613889612ae3565b9050600080600061389c8e878787613c0b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061390683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b60008082840190508381101561398c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006139a0612ae3565b905060006139b782846127bc90919063ffffffff16565b9050613a0b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613b3657613af283600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613b5082600a546138c490919063ffffffff16565b600a81905550613b6b81600b5461390e90919063ffffffff16565b600b819055505050565b600080600080613ba16064613b93888a6127bc90919063ffffffff16565b61284290919063ffffffff16565b90506000613bcb6064613bbd888b6127bc90919063ffffffff16565b61284290919063ffffffff16565b90506000613bf482613be6858c6138c490919063ffffffff16565b6138c490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613c2485896127bc90919063ffffffff16565b90506000613c3b86896127bc90919063ffffffff16565b90506000613c5287896127bc90919063ffffffff16565b90506000613c7b82613c6d85876138c490919063ffffffff16565b6138c490919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122038c6f8b45843e5497992919508e37644e6ebbebd306574353adc1be6038e64c364736f6c634300060c0033000000000000000000000000fb1ddd42b2c7bc88734d16758516f915359d09be0000000000000000000000006f95f9043c8b8351c03255bb3c0ad7b8691dbd15

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063b515566a11610064578063b515566a14610567578063c3c8cd801461062c578063c9567bf914610643578063d543dbeb1461065a578063dd62ed3e1461069557610114565b8063715018a61461040e5780638da5cb5b1461042557806395d89b4114610466578063a9059cbb146104f657610114565b8063273123b7116100dc578063273123b7146102d6578063313ce567146103275780635932ead1146103555780636fc3eaec1461039257806370a08231146103a957610114565b806306fdde0314610119578063095ea7b3146101a957806318160ddd1461021a57806323b872dd1461024557610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61071a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b557600080fd5b50610202600480360360408110156101cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b60405180821515815260200191505060405180910390f35b34801561022657600080fd5b5061022f610775565b6040518082815260200191505060405180910390f35b34801561025157600080fd5b506102be6004803603606081101561026857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610787565b60405180821515815260200191505060405180910390f35b3480156102e257600080fd5b50610325600480360360208110156102f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610860565b005b34801561033357600080fd5b5061033c610983565b604051808260ff16815260200191505060405180910390f35b34801561036157600080fd5b506103906004803603602081101561037857600080fd5b8101908080351515906020019092919050505061098c565b005b34801561039e57600080fd5b506103a7610a71565b005b3480156103b557600080fd5b506103f8600480360360208110156103cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae3565b6040518082815260200191505060405180910390f35b34801561041a57600080fd5b50610423610bce565b005b34801561043157600080fd5b5061043a610d54565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047257600080fd5b5061047b610d7d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104bb5780820151818401526020810190506104a0565b50505050905090810190601f1680156104e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050257600080fd5b5061054f6004803603604081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dba565b60405180821515815260200191505060405180910390f35b34801561057357600080fd5b5061062a6004803603602081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460208302840111640100000000831117156105db57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610dd8565b005b34801561063857600080fd5b50610641610f28565b005b34801561064f57600080fd5b50610658610fa2565b005b34801561066657600080fd5b506106936004803603602081101561067d57600080fd5b8101908080359060200190929190505050611632565b005b3480156106a157600080fd5b50610704600480360360408110156106b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117e2565b6040518082815260200191505060405180910390f35b60606040518060400160405280600e81526020017f50554d502050554d502050554d50000000000000000000000000000000000000815250905090565b600061076b610764611869565b8484611871565b6001905092915050565b600069010f0cf064dd59200000905090565b6000610794848484611a68565b610855846107a0611869565b61085085604051806060016040528060288152602001613d2560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610806611869565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b611871565b600190509392505050565b610868611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610994611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab2611869565b73ffffffffffffffffffffffffffffffffffffffff1614610ad257600080fd5b6000479050610ae081612353565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b7e57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610bc9565b610bc6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244e565b90505b919050565b610bd6611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280601d81526020017ff09f9388f09f8d80f09f9a8050554d5020f09f9a80f09f8d80f09f9388000000815250905090565b6000610dce610dc7611869565b8484611a68565b6001905092915050565b610de0611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610f2457600160076000848481518110610ebe57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610ea3565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f69611869565b73ffffffffffffffffffffffffffffffffffffffff1614610f8957600080fd5b6000610f9430610ae3565b9050610f9f816124d2565b50565b610faa611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601360149054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117e30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669010f0cf064dd59200000611871565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b505050506040513d602081101561128b57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561130557600080fd5b505af1158015611319573d6000803e3d6000fd5b505050506040513d602081101561132f57600080fd5b8101908080519060200190929190505050601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610ae3565b6000806113d4610d54565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561145957600080fd5b505af115801561146d573d6000803e3d6000fd5b50505050506040513d606081101561148457600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff02191690831515021790555069010f0cf064dd59200000601481905550683635c9adc5dea000006014819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115f357600080fd5b505af1158015611607573d6000803e3d6000fd5b505050506040513d602081101561161d57600080fd5b81019080805190602001909291905050505050565b61163a611869565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b6117a060646117928369010f0cf064dd592000006127bc90919063ffffffff16565b61284290919063ffffffff16565b6014819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6014546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613d9b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561197d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ce26022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613d766025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613c956023913960400191505060405180910390fd5b60008111611bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613d4d6029913960400191505060405180910390fd5b611bd5610d54565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c435750611c13610d54565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121d057601360179054906101000a900460ff1615611ea9573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cc557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d795750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ea857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611dbf611869565b73ffffffffffffffffffffffffffffffffffffffff161480611e355750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e1d611869565b73ffffffffffffffffffffffffffffffffffffffff16145b611ea7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b601454811115611eb857600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f5c5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f6557600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120105750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120665750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561207e5750601360179054906101000a900460ff165b156121165742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106120ce57600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061212130610ae3565b9050601360159054906101000a900460ff1615801561218e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156121a65750601360169054906101000a900460ff165b156121ce576121b4816124d2565b600047905060008111156121cc576121cb47612353565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122775750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561228157600090505b61228d8484848461288c565b50505050565b6000838311158290612340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123055780820151818401526020810190506122ea565b50505050905090810190601f1680156123325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123a360028461284290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123ce573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61241f60028461284290919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561244a573d6000803e3d6000fd5b5050565b6000600a548211156124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613cb8602a913960400191505060405180910390fd5b60006124b5612ae3565b90506124ca818461284290919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561250757600080fd5b506040519080825280602002602001820160405280156125365781602001602082028036833780820191505090505b509050308160008151811061254757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156125e957600080fd5b505afa1580156125fd573d6000803e3d6000fd5b505050506040513d602081101561261357600080fd5b81019080805190602001909291905050508160018151811061263157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061269830601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611871565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561275c578082015181840152602081019050612741565b505050509050019650505050505050600060405180830381600087803b15801561278557600080fd5b505af1158015612799573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6000808314156127cf576000905061283c565b60008284029050828482816127e057fe5b0414612837576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613d046021913960400191505060405180910390fd5b809150505b92915050565b600061288483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b0e565b905092915050565b8061289a57612899612bd4565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561293d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129525761294d848484612c17565b612acf565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129f55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a0a57612a05848484612e77565b612ace565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aac5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ac157612abc8484846130d7565b612acd565b612acc8484846133cc565b5b5b5b80612add57612adc613597565b5b50505050565b6000806000612af06135ab565b91509150612b07818361284290919063ffffffff16565b9250505090565b60008083118290612bba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b7f578082015181840152602081019050612b64565b50505050905090810190601f168015612bac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612bc657fe5b049050809150509392505050565b6000600c54148015612be857506000600d54145b15612bf257612c15565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612c298761385c565b955095509550955095509550612c8787600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612db185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dfd81613996565b612e078483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612e898761385c565b955095509550955095509550612ee786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7c83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061301185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061305d81613996565b6130678483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806130e98761385c565b95509550955095509550955061314787600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131dc86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061327183600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061335281613996565b61335c8483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806133de8761385c565b95509550955095509550955061343c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138c490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134d185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351d81613996565b6135278483613b3b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a549050600069010f0cf064dd59200000905060005b60098054905081101561380f578260026000600984815481106135e657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806136cd575081600360006009848154811061366557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156136ec57600a5469010f0cf064dd5920000094509450505050613858565b613775600260006009848154811061370057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846138c490919063ffffffff16565b9250613800600360006009848154811061378b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836138c490919063ffffffff16565b915080806001019150506135c7565b5061382f69010f0cf064dd59200000600a5461284290919063ffffffff16565b82101561384f57600a5469010f0cf064dd59200000935093505050613858565b81819350935050505b9091565b60008060008060008060008060006138798a600c54600d54613b75565b9250925092506000613889612ae3565b9050600080600061389c8e878787613c0b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061390683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b60008082840190508381101561398c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006139a0612ae3565b905060006139b782846127bc90919063ffffffff16565b9050613a0b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613b3657613af283600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390e90919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613b5082600a546138c490919063ffffffff16565b600a81905550613b6b81600b5461390e90919063ffffffff16565b600b819055505050565b600080600080613ba16064613b93888a6127bc90919063ffffffff16565b61284290919063ffffffff16565b90506000613bcb6064613bbd888b6127bc90919063ffffffff16565b61284290919063ffffffff16565b90506000613bf482613be6858c6138c490919063ffffffff16565b6138c490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613c2485896127bc90919063ffffffff16565b90506000613c3b86896127bc90919063ffffffff16565b90506000613c5287896127bc90919063ffffffff16565b90506000613c7b82613c6d85876138c490919063ffffffff16565b6138c490919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122038c6f8b45843e5497992919508e37644e6ebbebd306574353adc1be6038e64c364736f6c634300060c0033

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

000000000000000000000000fb1ddd42b2c7bc88734d16758516f915359d09be0000000000000000000000006f95f9043c8b8351c03255bb3c0ad7b8691dbd15

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0xfB1ddd42B2c7Bc88734d16758516F915359d09be
Arg [1] : marketingWalletAddress (address): 0x6f95f9043c8b8351c03255bB3c0ad7b8691dBD15

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000fb1ddd42b2c7bc88734d16758516f915359d09be
Arg [1] : 0000000000000000000000006f95f9043c8b8351c03255bb3c0ad7b8691dbd15


Deployed Bytecode Sourcemap

7251:14236:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9387:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10299:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9664:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10468:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15628:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9573:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10789:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14383:190;;;;;;;;;;;;;:::i;:::-;;9767:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7092:148;;;;;;;;;;;;;:::i;:::-;;6878:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9478:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9973:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15452:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14180:191;;;;;;;;;;;;;:::i;:::-;;14589:851;;;;;;;;;;;;;:::i;:::-;;21229:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10148:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9387:83;9424:13;9457:5;;;;;;;;;;;;;;;;;9450:12;;9387:83;:::o;10299:161::-;10374:4;10391:39;10400:12;:10;:12::i;:::-;10414:7;10423:6;10391:8;:39::i;:::-;10448:4;10441:11;;10299:161;;;;:::o;9664:95::-;9717:7;7886:21;9737:14;;9664:95;:::o;10468:313::-;10566:4;10583:36;10593:6;10601:9;10612:6;10583:9;:36::i;:::-;10630:121;10639:6;10647:12;:10;:12::i;:::-;10661:89;10699:6;10661:89;;;;;;;;;;;;;;;;;:11;:19;10673:6;10661:19;;;;;;;;;;;;;;;:33;10681:12;:10;:12::i;:::-;10661:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10630:8;:121::i;:::-;10769:4;10762:11;;10468:313;;;;;:::o;15628:88::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15703:5:::1;15688:4;:12;15693:6;15688:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;15628:88:::0;:::o;9573:83::-;9614:5;8165:1;9632:16;;9573:83;:::o;10789:103::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10879:5:::1;10861:15;;:23;;;;;;;;;;;;;;;;;;10789:103:::0;:::o;14383:190::-;14449:11;;;;;;;;;;;14433:27;;:12;:10;:12::i;:::-;:27;;;14425:36;;;;;;14472:26;14501:21;14472:50;;14533:32;14546:18;14533:12;:32::i;:::-;14383:190;:::o;9767:198::-;9833:7;9857:11;:20;9869:7;9857:20;;;;;;;;;;;;;;;;;;;;;;;;;9853:49;;;9886:7;:16;9894:7;9886:16;;;;;;;;;;;;;;;;9879:23;;;;9853:49;9920:37;9940:7;:16;9948:7;9940:16;;;;;;;;;;;;;;;;9920:19;:37::i;:::-;9913:44;;9767:198;;;;:::o;7092:148::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7199:1:::1;7162:40;;7183:6;::::0;::::1;;;;;;;;7162:40;;;;;;;;;;;;7230:1;7213:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7092:148::o:0;6878:79::-;6916:7;6943:6;;;;;;;;;;;6936:13;;6878:79;:::o;9478:87::-;9517:13;9550:7;;;;;;;;;;;;;;;;;9543:14;;9478:87;:::o;9973:167::-;10051:4;10068:42;10078:12;:10;:12::i;:::-;10092:9;10103:6;10068:9;:42::i;:::-;10128:4;10121:11;;9973:167;;;;:::o;15452:164::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15526:6:::1;15521:88;15542:5;:12;15538:1;:16;15521:88;;;15593:4;15576;:14;15581:5;15587:1;15581:8;;;;;;;;;;;;;;15576:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;15556:3;;;;;;;15521:88;;;;15452:164:::0;:::o;14180:191::-;14246:11;;;;;;;;;;;14230:27;;:12;:10;:12::i;:::-;:27;;;14222:36;;;;;;14269:23;14295:24;14313:4;14295:9;:24::i;:::-;14269:50;;14330:33;14347:15;14330:16;:33::i;:::-;14180:191;:::o;14589:851::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14653:11:::1;;;;;;;;;;;14652:12;14644:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;14702:35;14759:42;14702:100;;14831:16;14813:15;;:34;;;;;;;;;;;;;;;;;;14858:58;14875:4;14890:15;;;;;;;;;;;7886:21;14858:8;:58::i;:::-;14961:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14943:56;;;15008:4;15015:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14943:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14927:13;;:112;;;;;;;;;;;;;;;;;;15050:15;;;;;;;;;;;:31;;;15089:21;15120:4;15126:24;15144:4;15126:9;:24::i;:::-;15151:1;15153::::0;15155:7:::1;:5;:7::i;:::-;15163:15;15050:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15204:4;15190:11;;:18;;;;;;;;;;;;;;;;;;15237:4;15219:15;;:22;;;;;;;;;;;;;;;;;;7886:21;15252:12;:22;;;;15300:21;15285:12;:36;;;;15346:4;15332:11;;:18;;;;;;;;;;;;;;;;;;15368:13;;;;;;;;;;;15361:29;;;15399:15;;;;;;;;;;;15417:14;15361:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;7075:1;14589:851::o:0;21229:255::-;7015:12;:10;:12::i;:::-;7005:22;;:6;;;;;;;;;;:22;;;6997:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21331:1:::1;21316:12;:16;21308:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21392:36;21422:5;21392:25;21404:12;7886:21;21392:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;21377:12;:51;;;;21444:32;21463:12;;21444:32;;;;;;;;;;;;;;;;;;21229:255:::0;:::o;10148:143::-;10229:7;10256:11;:18;10268:5;10256:18;;;;;;;;;;;;;;;:27;10275:7;10256:27;;;;;;;;;;;;;;;;10249:34;;10148:143;;;;:::o;1070:106::-;1123:15;1158:10;1151:17;;1070:106;:::o;11503:335::-;11613:1;11596:19;;:5;:19;;;;11588:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:1;11675:21;;:7;:21;;;;11667:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11776:6;11746:11;:18;11758:5;11746:18;;;;;;;;;;;;;;;:27;11765:7;11746:27;;;;;;;;;;;;;;;:36;;;;11814:7;11798:32;;11807:5;11798:32;;;11823:6;11798:32;;;;;;;;;;;;;;;;;;11503:335;;;:::o;11846:1657::-;11950:1;11934:18;;:4;:18;;;;11926:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12027:1;12013:16;;:2;:16;;;;12005:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12097:1;12088:6;:10;12080:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12177:7;:5;:7::i;:::-;12169:15;;:4;:15;;;;:32;;;;;12194:7;:5;:7::i;:::-;12188:13;;:2;:13;;;;12169:32;12165:1140;;;12222:15;;;;;;;;;;;12218:320;;;12278:4;12262:21;;:4;:21;;;;:44;;;;;12301:4;12287:19;;:2;:19;;;;12262:44;:80;;;;;12326:15;;;;;;;;;;;12310:32;;:4;:32;;;;12262:80;:114;;;;;12360:15;;;;;;;;;;;12346:30;;:2;:30;;;;12262:114;12258:265;;;12433:15;;;;;;;;;;;12409:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;12469:13;;;;;;;;;;;12453:29;;:12;:10;:12::i;:::-;:29;;;12409:73;12401:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12258:265;12218:320;12570:12;;12560:6;:22;;12552:31;;;;;;12607:4;:10;12612:4;12607:10;;;;;;;;;;;;;;;;;;;;;;;;;12606:11;:24;;;;;12622:4;:8;12627:2;12622:8;;;;;;;;;;;;;;;;;;;;;;;;;12621:9;12606:24;12598:33;;;;;;12658:13;;;;;;;;;;;12650:21;;:4;:21;;;:55;;;;;12689:15;;;;;;;;;;;12675:30;;:2;:30;;;;12650:55;:83;;;;;12711:18;:22;12730:2;12711:22;;;;;;;;;;;;;;;;;;;;;;;;;12709:24;12650:83;:102;;;;;12737:15;;;;;;;;;;;12650:102;12646:246;;;12796:15;12781:8;:12;12790:2;12781:12;;;;;;;;;;;;;;;;:30;12773:39;;;;;;12865:10;12846:15;:30;12831:8;:12;12840:2;12831:12;;;;;;;;;;;;;;;:45;;;;12646:246;12906:28;12937:24;12955:4;12937:9;:24::i;:::-;12906:55;;12981:6;;;;;;;;;;;12980:7;:32;;;;;12999:13;;;;;;;;;;;12991:21;;:4;:21;;;;12980:32;:47;;;;;13016:11;;;;;;;;;;;12980:47;12976:318;;;13048:38;13065:20;13048:16;:38::i;:::-;13105:26;13134:21;13105:50;;13198:1;13177:18;:22;13174:105;;;13224:35;13237:21;13224:12;:35::i;:::-;13174:105;12976:318;;12165:1140;;13315:12;13330:4;13315:19;;13350:18;:24;13369:4;13350:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;13378:18;:22;13397:2;13378:22;;;;;;;;;;;;;;;;;;;;;;;;;13350:50;13347:96;;;13426:5;13416:15;;13347:96;13457:38;13472:4;13477:2;13480:6;13487:7;13457:14;:38::i;:::-;11846:1657;;;;:::o;5414:190::-;5500:7;5533:1;5528;:6;;5536:12;5520:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5560:9;5576:1;5572;:5;5560:17;;5595:1;5588:8;;;5414:190;;;;;:::o;14010:158::-;14067:11;;;;;;;;;;;:20;;:35;14088:13;14099:1;14088:6;:10;;:13;;;;:::i;:::-;14067:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14113:23;;;;;;;;;;;:32;;:47;14146:13;14157:1;14146:6;:10;;:13;;;;:::i;:::-;14113:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14010:158;:::o;10900:254::-;10967:7;11006;;10995;:18;;10987:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11071:19;11094:10;:8;:10::i;:::-;11071:33;;11122:24;11134:11;11122:7;:11;;:24;;;;:::i;:::-;11115:31;;;10900:254;;;:::o;13511:483::-;8823:4;8814:6;;:13;;;;;;;;;;;;;;;;;;13589:21:::1;13627:1;13613:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13589:40;;13658:4;13640;13645:1;13640:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;13684:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13674:4;13679:1;13674:7;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;13717:62;13734:4;13749:15;;;;;;;;;;;13767:11;13717:8;:62::i;:::-;13790:15;;;;;;;;;;;:66;;;13871:11;13897:1;13913:4;13940;13960:15;13790:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8838:1;8859:5:::0;8850:6;;:14;;;;;;;;;;;;;;;;;;13511:483;:::o;5612:246::-;5670:7;5699:1;5694;:6;5690:47;;;5724:1;5717:8;;;;5690:47;5747:9;5763:1;5759;:5;5747:17;;5792:1;5787;5783;:5;;;;;;:10;5775:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5849:1;5842:8;;;5612:246;;;;;:::o;5866:132::-;5924:7;5951:39;5955:1;5958;5951:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5944:46;;5866:132;;;;:::o;15732:685::-;15844:7;15840:40;;15866:14;:12;:14::i;:::-;15840:40;15895:11;:19;15907:6;15895:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;15919:11;:22;15931:9;15919:22;;;;;;;;;;;;;;;;;;;;;;;;;15918:23;15895:46;15891:467;;;15958:48;15980:6;15988:9;15999:6;15958:21;:48::i;:::-;15891:467;;;16029:11;:19;16041:6;16029:19;;;;;;;;;;;;;;;;;;;;;;;;;16028:20;:46;;;;;16052:11;:22;16064:9;16052:22;;;;;;;;;;;;;;;;;;;;;;;;;16028:46;16024:334;;;16091:46;16111:6;16119:9;16130:6;16091:19;:46::i;:::-;16024:334;;;16159:11;:19;16171:6;16159:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;16182:11;:22;16194:9;16182:22;;;;;;;;;;;;;;;;;;;;;;;;;16159:45;16155:203;;;16221:48;16243:6;16251:9;16262:6;16221:21;:48::i;:::-;16155:203;;;16302:44;16320:6;16328:9;16339:6;16302:17;:44::i;:::-;16155:203;16024:334;15891:467;16372:7;16368:41;;16394:15;:13;:15::i;:::-;16368:41;15732:685;;;;:::o;20481:163::-;20522:7;20543:15;20560;20579:19;:17;:19::i;:::-;20542:56;;;;20616:20;20628:7;20616;:11;;:20;;;;:::i;:::-;20609:27;;;;20481:163;:::o;6006:189::-;6092:7;6124:1;6120;:5;6127:12;6112:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6151:9;6167:1;6163;:5;;;;;;6151:17;;6186:1;6179:8;;;6006:189;;;;;:::o;11162:210::-;11219:1;11208:7;;:12;:29;;;;;11236:1;11224:8;;:13;11208:29;11205:41;;;11239:7;;11205:41;11274:7;;11256:15;:25;;;;11311:8;;11292:16;:27;;;;11340:1;11330:7;:11;;;;11363:1;11352:8;:12;;;;11162:210;:::o;17505:552::-;17608:15;17625:23;17650:12;17664:23;17689:12;17703:13;17720:19;17731:7;17720:10;:19::i;:::-;17607:132;;;;;;;;;;;;17768:28;17788:7;17768;:15;17776:6;17768:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17750:7;:15;17758:6;17750:15;;;;;;;;;;;;;;;:46;;;;17825:28;17845:7;17825;:15;17833:6;17825:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17807:7;:15;17815:6;17807:15;;;;;;;;;;;;;;;:46;;;;17885:39;17908:15;17885:7;:18;17893:9;17885:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17864:7;:18;17872:9;17864:18;;;;;;;;;;;;;;;:60;;;;17936:16;17946:5;17936:9;:16::i;:::-;17966:23;17978:4;17984;17966:11;:23::i;:::-;18022:9;18005:44;;18014:6;18005:44;;;18033:15;18005:44;;;;;;;;;;;;;;;;;;17505:552;;;;;;;;;:::o;16922:575::-;17023:15;17040:23;17065:12;17079:23;17104:12;17118:13;17135:19;17146:7;17135:10;:19::i;:::-;17022:132;;;;;;;;;;;;17183:28;17203:7;17183;:15;17191:6;17183:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17165:7;:15;17173:6;17165:15;;;;;;;;;;;;;;;:46;;;;17243:39;17266:15;17243:7;:18;17251:9;17243:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17222:7;:18;17230:9;17222:18;;;;;;;;;;;;;;;:60;;;;17314:39;17337:15;17314:7;:18;17322:9;17314:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17293:7;:18;17301:9;17293:18;;;;;;;;;;;;;;;:60;;;;17368:16;17378:5;17368:9;:16::i;:::-;17406:23;17418:4;17424;17406:11;:23::i;:::-;17462:9;17445:44;;17454:6;17445:44;;;17473:15;17445:44;;;;;;;;;;;;;;;;;;16922:575;;;;;;;;;:::o;18065:631::-;18168:15;18185:23;18210:12;18224:23;18249:12;18263:13;18280:19;18291:7;18280:10;:19::i;:::-;18167:132;;;;;;;;;;;;18328:28;18348:7;18328;:15;18336:6;18328:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;18310:7;:15;18318:6;18310:15;;;;;;;;;;;;;;;:46;;;;18385:28;18405:7;18385;:15;18393:6;18385:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;18367:7;:15;18375:6;18367:15;;;;;;;;;;;;;;;:46;;;;18445:39;18468:15;18445:7;:18;18453:9;18445:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;18424:7;:18;18432:9;18424:18;;;;;;;;;;;;;;;:60;;;;18516:39;18539:15;18516:7;:18;18524:9;18516:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;18495:7;:18;18503:9;18495:18;;;;;;;;;;;;;;;:60;;;;18569:16;18579:5;18569:9;:16::i;:::-;18605:23;18617:4;18623;18605:11;:23::i;:::-;18661:9;18644:44;;18653:6;18644:44;;;18672:15;18644:44;;;;;;;;;;;;;;;;;;18065:631;;;;;;;;;:::o;16425:489::-;16524:15;16541:23;16566:12;16580:23;16605:12;16619:13;16636:19;16647:7;16636:10;:19::i;:::-;16523:132;;;;;;;;;;;;16684:28;16704:7;16684;:15;16692:6;16684:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16666:7;:15;16674:6;16666:15;;;;;;;;;;;;;;;:46;;;;16744:39;16767:15;16744:7;:18;16752:9;16744:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16723:7;:18;16731:9;16723:18;;;;;;;;;;;;;;;:60;;;;16795:16;16805:5;16795:9;:16::i;:::-;16823:23;16835:4;16841;16823:11;:23::i;:::-;16879:9;16862:44;;16871:6;16862:44;;;16890:15;16862:44;;;;;;;;;;;;;;;;;;16425:489;;;;;;;;;:::o;11380:115::-;11434:15;;11424:7;:25;;;;11471:16;;11460:8;:27;;;;11380:115::o;20652:561::-;20702:7;20711;20731:15;20749:7;;20731:25;;20767:15;7886:21;20767:25;;20814:9;20809:289;20833:9;:16;;;;20829:1;:20;20809:289;;;20899:7;20875;:21;20883:9;20893:1;20883:12;;;;;;;;;;;;;;;;;;;;;;;;;20875:21;;;;;;;;;;;;;;;;:31;:66;;;;20934:7;20910;:21;20918:9;20928:1;20918:12;;;;;;;;;;;;;;;;;;;;;;;;;20910:21;;;;;;;;;;;;;;;;:31;20875:66;20871:97;;;20951:7;;7886:21;20943:25;;;;;;;;;20871:97;20993:34;21005:7;:21;21013:9;21023:1;21013:12;;;;;;;;;;;;;;;;;;;;;;;;;21005:21;;;;;;;;;;;;;;;;20993:7;:11;;:34;;;;:::i;:::-;20983:44;;21052:34;21064:7;:21;21072:9;21082:1;21072:12;;;;;;;;;;;;;;;;;;;;;;;;;21064:21;;;;;;;;;;;;;;;;21052:7;:11;;:34;;;;:::i;:::-;21042:44;;20851:3;;;;;;;20809:289;;;;21122:20;7886:21;21122:7;;:11;;:20;;;;:::i;:::-;21112:7;:30;21108:61;;;21152:7;;7886:21;21144:25;;;;;;;;21108:61;21188:7;21197;21180:25;;;;;;20652:561;;;:::o;19229:468::-;19288:7;19297;19306;19315;19324;19333;19354:23;19379:12;19393:13;19410:39;19422:7;19431;;19440:8;;19410:11;:39::i;:::-;19353:96;;;;;;19460:19;19483:10;:8;:10::i;:::-;19460:33;;19505:15;19522:23;19547:12;19563:46;19575:7;19584:4;19590:5;19597:11;19563;:46::i;:::-;19504:105;;;;;;19628:7;19637:15;19654:4;19660:15;19677:4;19683:5;19620:69;;;;;;;;;;;;;;;;;;;19229:468;;;;;;;:::o;5270:136::-;5328:7;5355:43;5359:1;5362;5355:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5348:50;;5270:136;;;;:::o;5083:179::-;5141:7;5161:9;5177:1;5173;:5;5161:17;;5202:1;5197;:6;;5189:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5253:1;5246:8;;;5083:179;;;;:::o;18704:325::-;18757:19;18780:10;:8;:10::i;:::-;18757:33;;18801:13;18817:22;18827:11;18817:5;:9;;:22;;;;:::i;:::-;18801:38;;18875:33;18902:5;18875:7;:22;18891:4;18875:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18850:7;:22;18866:4;18850:22;;;;;;;;;;;;;;;:58;;;;18922:11;:26;18942:4;18922:26;;;;;;;;;;;;;;;;;;;;;;;;;18919:102;;;18988:33;19015:5;18988:7;:22;19004:4;18988:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18963:7;:22;18979:4;18963:22;;;;;;;;;;;;;;;:58;;;;18919:102;18704:325;;;:::o;19037:147::-;19115:17;19127:4;19115:7;;:11;;:17;;;;:::i;:::-;19105:7;:27;;;;19156:20;19171:4;19156:10;;:14;;:20;;;;:::i;:::-;19143:10;:33;;;;19037:147;;:::o;19705:351::-;19798:7;19807;19816;19836:12;19851:28;19875:3;19851:19;19863:6;19851:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;19836:43;;19890:13;19906:29;19931:3;19906:20;19918:7;19906;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;19890:45;;19946:23;19972:28;19994:5;19972:17;19984:4;19972:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19946:54;;20019:15;20036:4;20042:5;20011:37;;;;;;;;;19705:351;;;;;;;:::o;20064:409::-;20174:7;20183;20192;20212:15;20230:24;20242:11;20230:7;:11;;:24;;;;:::i;:::-;20212:42;;20265:12;20280:21;20289:11;20280:4;:8;;:21;;;;:::i;:::-;20265:36;;20312:13;20328:22;20338:11;20328:5;:9;;:22;;;;:::i;:::-;20312:38;;20361:23;20387:28;20409:5;20387:17;20399:4;20387:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;20361:54;;20434:7;20443:15;20460:4;20426:39;;;;;;;;;;20064:409;;;;;;;;:::o

Swarm Source

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