ETH Price: $3,658.60 (+0.49%)
 

Overview

Max Total Supply

1,000,000,000,000 FR

Holders

72

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,188,849,039.605894503 FR

Value
$0.00
0x9284f9F413b9607541bB0c59C95010790a6cf279
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:
FurReal

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

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

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

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

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

//FurReal Token ($FR)
//Powerful Bot Protect yes

// website: https://www.furrealtoken.com/
//Telegram: https://t.me/furrealtoy

// Twitter: https://twitter.com/TokenFur

//CG, CMC listing: Ongoing
//Fair Launch


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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

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

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

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

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract FurReal is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "FurReal";
    string private constant _symbol = "FR";
    uint8 private constant _decimals = 9;

    // RFI
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee = 5;
    uint256 private _teamFee = 10;

    // Bot detection
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    address payable private _teamAddress;
    address payable private _marketingFunds;
    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(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable addr1, address payable addr2) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return 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;
        _taxFee = 0;
        _teamFee = 0;
    }

    function restoreAllFee() private {
        _taxFee = 5;
        _teamFee = 10;
    }

    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 + (60 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 {
        _teamAddress.transfer(amount.mul(4).div(10));
        _marketingFunds.transfer(amount.mul(6).div(10));
    }

    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 = 2500000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function manualswap() external {
        require(_msgSender() == _teamAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _teamAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint256 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();
        _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 _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    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;
        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":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea0000060001962000293565b62000029906000196200026f565b6006556005600855600a600955600f805462ffffff60a81b19169055683635c9adc5dea000006010553480156200005f57600080fd5b50604051620023fc380380620023fc833981016040819052620000829162000238565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b038085166001600160a01b031992831617909255600d80549284169290911691909117905560065460026000620001023390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200013c6200020c60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d54909116835291208054909216179055620001ad3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620001fc91815260200190565b60405180910390a35050620002b4565b6000546001600160a01b031690565b80516001600160a01b03811681146200023357600080fd5b919050565b600080604083850312156200024b578182fd5b62000256836200021b565b915062000266602084016200021b565b90509250929050565b6000828210156200028e57634e487b7160e01b81526011600452602481fd5b500390565b600082620002af57634e487b7160e01b81526012600452602481fd5b500690565b61213880620002c46000396000f3fe60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf914610372578063d543dbeb14610387578063dd62ed3e146103a757600080fd5b8063b515566a1461033d578063c3c8cd801461035d57600080fd5b8063715018a61461029a5780638da5cb5b146102af57806395d89b41146102d7578063a9059cbb1461031d57600080fd5b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102455780636fc3eaec1461026557806370a082311461027a57600080fd5b8063273123b714610207578063313ce5671461022957600080fd5b806306fdde0314610139578063095ea7b31461019157806318160ddd146101c157806323b872dd146101e757600080fd5b3661013457005b600080fd5b34801561014557600080fd5b5060408051808201909152600781527f4675725265616c0000000000000000000000000000000000000000000000000060208201525b6040516101889190611e9a565b60405180910390f35b34801561019d57600080fd5b506101b16101ac366004611d0d565b6103ed565b6040519015158152602001610188565b3480156101cd57600080fd5b50683635c9adc5dea000005b604051908152602001610188565b3480156101f357600080fd5b506101b1610202366004611ccd565b610404565b34801561021357600080fd5b50610227610222366004611c5d565b61046d565b005b34801561023557600080fd5b5060405160098152602001610188565b34801561025157600080fd5b50610227610260366004611e1d565b61050b565b34801561027157600080fd5b506102276105b2565b34801561028657600080fd5b506101d9610295366004611c5d565b6105df565b3480156102a657600080fd5b50610227610601565b3480156102bb57600080fd5b506000546040516001600160a01b039091168152602001610188565b3480156102e357600080fd5b5060408051808201909152600281527f4652000000000000000000000000000000000000000000000000000000000000602082015261017b565b34801561032957600080fd5b506101b1610338366004611d0d565b6106bd565b34801561034957600080fd5b50610227610358366004611d38565b6106ca565b34801561036957600080fd5b506102276107d5565b34801561037e57600080fd5b5061022761080b565b34801561039357600080fd5b506102276103a2366004611e55565b610ccf565b3480156103b357600080fd5b506101d96103c2366004611c95565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103fa338484610dd2565b5060015b92915050565b6000610411848484610f2a565b610463843361045e856040518060600160405280602881526020016120db602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113db565b610dd2565b5060019392505050565b6000546001600160a01b031633146104cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600f805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b600c546001600160a01b0316336001600160a01b0316146105d257600080fd5b476105dc81611415565b50565b6001600160a01b0381166000908152600260205260408120546103fe906114a4565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006103fa338484610f2a565b6000546001600160a01b031633146107245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b60005b81518110156107d1576001600a600084848151811061076f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806107c981612020565b915050610727565b5050565b600c546001600160a01b0316336001600160a01b0316146107f557600080fd5b6000610800306105df565b90506105dc8161153b565b6000546001600160a01b031633146108655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600f5474010000000000000000000000000000000000000000900460ff16156108d05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b600e80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109253082683635c9adc5dea00000610dd2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109969190611c79565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190611c79565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611c79565b600f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03928316179055600e541663f305d7194730610af6816105df565b600080610b0b6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b8657600080fd5b505af1158015610b9a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bbf9190611e6d565b5050600f80546722b1c8c1227a00006010557fffffffffffffffff0000ff00ffffffffffffffffffffffffffffffffffffffff81167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b390604401602060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d19190611e39565b6000546001600160a01b03163314610d295760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b60008111610d795760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016104c3565b610d976064610d91683635c9adc5dea000008461178c565b90611827565b60108190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6001600160a01b038316610e4d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b038216610ec95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b0382166110225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b600081116110985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016104c3565b6000546001600160a01b038481169116148015906110c457506000546001600160a01b03838116911614155b1561137e57600f5477010000000000000000000000000000000000000000000000900460ff16156111cb576001600160a01b038316301480159061111157506001600160a01b0382163014155b801561112b5750600e546001600160a01b03848116911614155b80156111455750600e546001600160a01b03838116911614155b156111cb57600e546001600160a01b0316336001600160a01b0316148061117f5750600f546001600160a01b0316336001600160a01b0316145b6111cb5760405162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c7900000000000000000000000000000060448201526064016104c3565b6010548111156111da57600080fd5b6001600160a01b0383166000908152600a602052604090205460ff1615801561121c57506001600160a01b0382166000908152600a602052604090205460ff16155b61122557600080fd5b600f546001600160a01b0384811691161480156112505750600e546001600160a01b03838116911614155b801561127557506001600160a01b03821660009081526005602052604090205460ff16155b801561129e5750600f5477010000000000000000000000000000000000000000000000900460ff165b156112ec576001600160a01b0382166000908152600b602052604090205442116112c757600080fd5b6112d242603c611f7b565b6001600160a01b0383166000908152600b60205260409020555b60006112f7306105df565b600f549091507501000000000000000000000000000000000000000000900460ff161580156113345750600f546001600160a01b03858116911614155b801561135c5750600f54760100000000000000000000000000000000000000000000900460ff165b1561137c5761136a8161153b565b47801561137a5761137a47611415565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806113c057506001600160a01b03831660009081526005602052604090205460ff165b156113c9575060005b6113d584848484611869565b50505050565b600081848411156113ff5760405162461bcd60e51b81526004016104c39190611e9a565b50600061140c8486612009565b95945050505050565b600c546001600160a01b03166108fc611434600a610d9185600461178c565b6040518115909202916000818181858888f1935050505015801561145c573d6000803e3d6000fd5b50600d546001600160a01b03166108fc61147c600a610d9185600661178c565b6040518115909202916000818181858888f193505050501580156107d1573d6000803e3d6000fd5b600060065482111561151e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016104c3565b6000611528611895565b90506115348382611827565b9392505050565b600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561164457600080fd5b505afa158015611658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167c9190611c79565b816001815181106116b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546116dc9130911684610dd2565b600e546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061172e908590600090869030904290600401611f0b565b600060405180830381600087803b15801561174857600080fd5b505af115801561175c573d6000803e3d6000fd5b5050600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b60008261179b575060006103fe565b60006117a78385611fcc565b9050826117b48583611f93565b146115345760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b600061153483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b8565b80611876576118766118e6565b611881848484611909565b806113d5576113d56005600855600a600955565b60008060006118a2611a00565b90925090506118b18282611827565b9250505090565b600081836118d95760405162461bcd60e51b81526004016104c39190611e9a565b50600061140c8486611f93565b6008541580156118f65750600954155b156118fd57565b60006008819055600955565b60008060008060008061191b87611a42565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061194d9087611a9f565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461197c9086611ae1565b6001600160a01b03891660009081526002602052604090205561199e81611b40565b6119a88483611b8a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ed91815260200190565b60405180910390a3505050505050505050565b6006546000908190683635c9adc5dea00000611a1c8282611827565b821015611a3957505060065492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611a5f8a600854600954611bae565b9250925092506000611a6f611895565b90506000806000611a828e878787611bfd565b919e509c509a509598509396509194505050505091939550919395565b600061153483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113db565b600080611aee8385611f7b565b9050838110156115345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b6000611b4a611895565b90506000611b58838361178c565b30600090815260026020526040902054909150611b759082611ae1565b30600090815260026020526040902055505050565b600654611b979083611a9f565b600655600754611ba79082611ae1565b6007555050565b6000808080611bc26064610d91898961178c565b90506000611bd56064610d918a8961178c565b90506000611bed82611be78b86611a9f565b90611a9f565b9992985090965090945050505050565b6000808080611c0c888661178c565b90506000611c1a888761178c565b90506000611c28888861178c565b90506000611c3a82611be78686611a9f565b939b939a50919850919650505050505050565b8035611c58816120b7565b919050565b600060208284031215611c6e578081fd5b8135611534816120b7565b600060208284031215611c8a578081fd5b8151611534816120b7565b60008060408385031215611ca7578081fd5b8235611cb2816120b7565b91506020830135611cc2816120b7565b809150509250929050565b600080600060608486031215611ce1578081fd5b8335611cec816120b7565b92506020840135611cfc816120b7565b929592945050506040919091013590565b60008060408385031215611d1f578182fd5b8235611d2a816120b7565b946020939093013593505050565b60006020808385031215611d4a578182fd5b823567ffffffffffffffff80821115611d61578384fd5b818501915085601f830112611d74578384fd5b813581811115611d8657611d86612088565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611dc957611dc9612088565b604052828152858101935084860182860187018a1015611de7578788fd5b8795505b83861015611e1057611dfc81611c4d565b855260019590950194938601938601611deb565b5098975050505050505050565b600060208284031215611e2e578081fd5b8135611534816120cc565b600060208284031215611e4a578081fd5b8151611534816120cc565b600060208284031215611e66578081fd5b5035919050565b600080600060608486031215611e81578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611ec657858101830151858201604001528201611eaa565b81811115611ed75783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f5a5784516001600160a01b031683529383019391830191600101611f35565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8e57611f8e612059565b500190565b600082611fc7577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561200457612004612059565b500290565b60008282101561201b5761201b612059565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561205257612052612059565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6001600160a01b03811681146105dc57600080fd5b80151581146105dc57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220060eb69a61ba47f27d9a27f679a0327d75b5e35e109f029d2bc6c5b012e2efb464736f6c6343000804003300000000000000000000000064d27b7e7337834cd2f6cc85e21fb5dfee47538d0000000000000000000000008df0c7db76ae57d85efc86b9fb13f1f86e4e4393

Deployed Bytecode

0x60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf914610372578063d543dbeb14610387578063dd62ed3e146103a757600080fd5b8063b515566a1461033d578063c3c8cd801461035d57600080fd5b8063715018a61461029a5780638da5cb5b146102af57806395d89b41146102d7578063a9059cbb1461031d57600080fd5b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102455780636fc3eaec1461026557806370a082311461027a57600080fd5b8063273123b714610207578063313ce5671461022957600080fd5b806306fdde0314610139578063095ea7b31461019157806318160ddd146101c157806323b872dd146101e757600080fd5b3661013457005b600080fd5b34801561014557600080fd5b5060408051808201909152600781527f4675725265616c0000000000000000000000000000000000000000000000000060208201525b6040516101889190611e9a565b60405180910390f35b34801561019d57600080fd5b506101b16101ac366004611d0d565b6103ed565b6040519015158152602001610188565b3480156101cd57600080fd5b50683635c9adc5dea000005b604051908152602001610188565b3480156101f357600080fd5b506101b1610202366004611ccd565b610404565b34801561021357600080fd5b50610227610222366004611c5d565b61046d565b005b34801561023557600080fd5b5060405160098152602001610188565b34801561025157600080fd5b50610227610260366004611e1d565b61050b565b34801561027157600080fd5b506102276105b2565b34801561028657600080fd5b506101d9610295366004611c5d565b6105df565b3480156102a657600080fd5b50610227610601565b3480156102bb57600080fd5b506000546040516001600160a01b039091168152602001610188565b3480156102e357600080fd5b5060408051808201909152600281527f4652000000000000000000000000000000000000000000000000000000000000602082015261017b565b34801561032957600080fd5b506101b1610338366004611d0d565b6106bd565b34801561034957600080fd5b50610227610358366004611d38565b6106ca565b34801561036957600080fd5b506102276107d5565b34801561037e57600080fd5b5061022761080b565b34801561039357600080fd5b506102276103a2366004611e55565b610ccf565b3480156103b357600080fd5b506101d96103c2366004611c95565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103fa338484610dd2565b5060015b92915050565b6000610411848484610f2a565b610463843361045e856040518060600160405280602881526020016120db602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113db565b610dd2565b5060019392505050565b6000546001600160a01b031633146104cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600f805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b600c546001600160a01b0316336001600160a01b0316146105d257600080fd5b476105dc81611415565b50565b6001600160a01b0381166000908152600260205260408120546103fe906114a4565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006103fa338484610f2a565b6000546001600160a01b031633146107245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b60005b81518110156107d1576001600a600084848151811061076f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806107c981612020565b915050610727565b5050565b600c546001600160a01b0316336001600160a01b0316146107f557600080fd5b6000610800306105df565b90506105dc8161153b565b6000546001600160a01b031633146108655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b600f5474010000000000000000000000000000000000000000900460ff16156108d05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b600e80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109253082683635c9adc5dea00000610dd2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109969190611c79565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190611c79565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611c79565b600f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03928316179055600e541663f305d7194730610af6816105df565b600080610b0b6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b8657600080fd5b505af1158015610b9a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bbf9190611e6d565b5050600f80546722b1c8c1227a00006010557fffffffffffffffff0000ff00ffffffffffffffffffffffffffffffffffffffff81167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b390604401602060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d19190611e39565b6000546001600160a01b03163314610d295760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c3565b60008111610d795760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016104c3565b610d976064610d91683635c9adc5dea000008461178c565b90611827565b60108190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6001600160a01b038316610e4d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b038216610ec95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c3565b6001600160a01b0382166110225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b600081116110985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016104c3565b6000546001600160a01b038481169116148015906110c457506000546001600160a01b03838116911614155b1561137e57600f5477010000000000000000000000000000000000000000000000900460ff16156111cb576001600160a01b038316301480159061111157506001600160a01b0382163014155b801561112b5750600e546001600160a01b03848116911614155b80156111455750600e546001600160a01b03838116911614155b156111cb57600e546001600160a01b0316336001600160a01b0316148061117f5750600f546001600160a01b0316336001600160a01b0316145b6111cb5760405162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c7900000000000000000000000000000060448201526064016104c3565b6010548111156111da57600080fd5b6001600160a01b0383166000908152600a602052604090205460ff1615801561121c57506001600160a01b0382166000908152600a602052604090205460ff16155b61122557600080fd5b600f546001600160a01b0384811691161480156112505750600e546001600160a01b03838116911614155b801561127557506001600160a01b03821660009081526005602052604090205460ff16155b801561129e5750600f5477010000000000000000000000000000000000000000000000900460ff165b156112ec576001600160a01b0382166000908152600b602052604090205442116112c757600080fd5b6112d242603c611f7b565b6001600160a01b0383166000908152600b60205260409020555b60006112f7306105df565b600f549091507501000000000000000000000000000000000000000000900460ff161580156113345750600f546001600160a01b03858116911614155b801561135c5750600f54760100000000000000000000000000000000000000000000900460ff165b1561137c5761136a8161153b565b47801561137a5761137a47611415565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806113c057506001600160a01b03831660009081526005602052604090205460ff165b156113c9575060005b6113d584848484611869565b50505050565b600081848411156113ff5760405162461bcd60e51b81526004016104c39190611e9a565b50600061140c8486612009565b95945050505050565b600c546001600160a01b03166108fc611434600a610d9185600461178c565b6040518115909202916000818181858888f1935050505015801561145c573d6000803e3d6000fd5b50600d546001600160a01b03166108fc61147c600a610d9185600661178c565b6040518115909202916000818181858888f193505050501580156107d1573d6000803e3d6000fd5b600060065482111561151e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016104c3565b6000611528611895565b90506115348382611827565b9392505050565b600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561164457600080fd5b505afa158015611658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167c9190611c79565b816001815181106116b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600e546116dc9130911684610dd2565b600e546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061172e908590600090869030904290600401611f0b565b600060405180830381600087803b15801561174857600080fd5b505af115801561175c573d6000803e3d6000fd5b5050600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b60008261179b575060006103fe565b60006117a78385611fcc565b9050826117b48583611f93565b146115345760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b600061153483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b8565b80611876576118766118e6565b611881848484611909565b806113d5576113d56005600855600a600955565b60008060006118a2611a00565b90925090506118b18282611827565b9250505090565b600081836118d95760405162461bcd60e51b81526004016104c39190611e9a565b50600061140c8486611f93565b6008541580156118f65750600954155b156118fd57565b60006008819055600955565b60008060008060008061191b87611a42565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061194d9087611a9f565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461197c9086611ae1565b6001600160a01b03891660009081526002602052604090205561199e81611b40565b6119a88483611b8a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ed91815260200190565b60405180910390a3505050505050505050565b6006546000908190683635c9adc5dea00000611a1c8282611827565b821015611a3957505060065492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611a5f8a600854600954611bae565b9250925092506000611a6f611895565b90506000806000611a828e878787611bfd565b919e509c509a509598509396509194505050505091939550919395565b600061153483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113db565b600080611aee8385611f7b565b9050838110156115345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b6000611b4a611895565b90506000611b58838361178c565b30600090815260026020526040902054909150611b759082611ae1565b30600090815260026020526040902055505050565b600654611b979083611a9f565b600655600754611ba79082611ae1565b6007555050565b6000808080611bc26064610d91898961178c565b90506000611bd56064610d918a8961178c565b90506000611bed82611be78b86611a9f565b90611a9f565b9992985090965090945050505050565b6000808080611c0c888661178c565b90506000611c1a888761178c565b90506000611c28888861178c565b90506000611c3a82611be78686611a9f565b939b939a50919850919650505050505050565b8035611c58816120b7565b919050565b600060208284031215611c6e578081fd5b8135611534816120b7565b600060208284031215611c8a578081fd5b8151611534816120b7565b60008060408385031215611ca7578081fd5b8235611cb2816120b7565b91506020830135611cc2816120b7565b809150509250929050565b600080600060608486031215611ce1578081fd5b8335611cec816120b7565b92506020840135611cfc816120b7565b929592945050506040919091013590565b60008060408385031215611d1f578182fd5b8235611d2a816120b7565b946020939093013593505050565b60006020808385031215611d4a578182fd5b823567ffffffffffffffff80821115611d61578384fd5b818501915085601f830112611d74578384fd5b813581811115611d8657611d86612088565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611dc957611dc9612088565b604052828152858101935084860182860187018a1015611de7578788fd5b8795505b83861015611e1057611dfc81611c4d565b855260019590950194938601938601611deb565b5098975050505050505050565b600060208284031215611e2e578081fd5b8135611534816120cc565b600060208284031215611e4a578081fd5b8151611534816120cc565b600060208284031215611e66578081fd5b5035919050565b600080600060608486031215611e81578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611ec657858101830151858201604001528201611eaa565b81811115611ed75783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f5a5784516001600160a01b031683529383019391830191600101611f35565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8e57611f8e612059565b500190565b600082611fc7577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561200457612004612059565b500290565b60008282101561201b5761201b612059565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561205257612052612059565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6001600160a01b03811681146105dc57600080fd5b80151581146105dc57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220060eb69a61ba47f27d9a27f679a0327d75b5e35e109f029d2bc6c5b012e2efb464736f6c63430008040033

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

00000000000000000000000064d27b7e7337834cd2f6cc85e21fb5dfee47538d0000000000000000000000008df0c7db76ae57d85efc86b9fb13f1f86e4e4393

-----Decoded View---------------
Arg [0] : addr1 (address): 0x64D27b7E7337834CD2f6cC85e21FB5DfEE47538D
Arg [1] : addr2 (address): 0x8df0c7Db76aE57d85eFC86B9Fb13F1F86E4E4393

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000064d27b7e7337834cd2f6cc85e21fb5dfee47538d
Arg [1] : 0000000000000000000000008df0c7db76ae57d85efc86b9fb13f1f86e4e4393


Deployed Bytecode Sourcemap

4369:12413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6186:83;;;;;;;;;;-1:-1:-1;6256:5:0;;;;;;;;;;;;;;;;;6186:83;;;;;;;:::i;:::-;;;;;;;;7111:193;;;;;;;;;;-1:-1:-1;7111:193:0;;;;;:::i;:::-;;:::i;:::-;;;5823:14:1;;5816:22;5798:41;;5786:2;5771:18;7111:193:0;5753:92:1;6463:95:0;;;;;;;;;;-1:-1:-1;4922:21:0;6463:95;;;11277:25:1;;;11265:2;11250:18;6463:95:0;11232:76:1;7312:446:0;;;;;;;;;;-1:-1:-1;7312:446:0;;;;;:::i;:::-;;:::i;13033:88::-;;;;;;;;;;-1:-1:-1;13033:88:0;;;;;:::i;:::-;;:::i;:::-;;6372:83;;;;;;;;;;-1:-1:-1;6372:83:0;;4584:1;12489:36:1;;12477:2;12462:18;6372:83:0;12444:87:1;7766:103:0;;;;;;;;;;-1:-1:-1;7766:103:0;;;;;:::i;:::-;;:::i;12659:191::-;;;;;;;;;;;;;:::i;6566:138::-;;;;;;;;;;-1:-1:-1;6566:138:0;;;;;:::i;:::-;;:::i;3321:148::-;;;;;;;;;;;;;:::i;3107:79::-;;;;;;;;;;-1:-1:-1;3145:7:0;3172:6;3107:79;;-1:-1:-1;;;;;3172:6:0;;;4304:74:1;;4292:2;4277:18;3107:79:0;4259:125:1;6277:87:0;;;;;;;;;;-1:-1:-1;6349:7:0;;;;;;;;;;;;;;;;;6277:87;;6712:199;;;;;;;;;;-1:-1:-1;6712:199:0;;;;;:::i;:::-;;:::i;12858:167::-;;;;;;;;;;-1:-1:-1;12858:167:0;;;;;:::i;:::-;;:::i;12459:192::-;;;;;;;;;;;;;:::i;11474:977::-;;;;;;;;;;;;;:::i;16524:255::-;;;;;;;;;;-1:-1:-1;16524:255:0;;;;;:::i;:::-;;:::i;6919:184::-;;;;;;;;;;-1:-1:-1;6919:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7068:18:0;;;7036:7;7068:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6919:184;7111:193;7213:4;7235:39;690:10;7258:7;7267:6;7235:8;:39::i;:::-;-1:-1:-1;7292:4:0;7111:193;;;;;:::o;7312:446::-;7444:4;7461:36;7471:6;7479:9;7490:6;7461:9;:36::i;:::-;7508:220;7531:6;690:10;7579:138;7635:6;7579:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7579:19:0;;;;;;:11;:19;;;;;;;;690:10;7579:33;;;;;;;;;;:37;:138::i;:::-;7508:8;:220::i;:::-;-1:-1:-1;7746:4:0;7312:446;;;;;:::o;13033:88::-;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;;;;;;;;;-1:-1:-1;;;;;13093:12:0::1;13108:5;13093:12:::0;;;:4:::1;:12;::::0;;;;:20;;;::::1;::::0;;13033:88::o;7766:103::-;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;9025:182:1;3226:67:0;7838:15:::1;:23:::0;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;7766:103::o;12659:191::-;12725:12;;-1:-1:-1;;;;;12725:12:0;690:10;-1:-1:-1;;;;;12709:28:0;;12701:37;;;;;;12778:21;12810:32;12778:21;12810:12;:32::i;:::-;12659:191;:::o;6566:138::-;-1:-1:-1;;;;;6679:16:0;;6632:7;6679:16;;;:7;:16;;;;;;6659:37;;:19;:37::i;3321:148::-;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;9025:182:1;3226:67:0;3428:1:::1;3412:6:::0;;3391:40:::1;::::0;-1:-1:-1;;;;;3412:6:0;;::::1;::::0;3391:40:::1;::::0;3428:1;;3391:40:::1;3459:1;3442:19:::0;;;::::1;::::0;;3321:148::o;6712:199::-;6817:4;6839:42;690:10;6863:9;6874:6;6839:9;:42::i;12858:167::-;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;9025:182:1;3226:67:0;12932:9:::1;12927:91;12951:5;:12;12947:1;:16;12927:91;;;13002:4;12985;:14;12990:5;12996:1;12990:8;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12985:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12985:14:0;:21;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;12965:3;::::1;::::0;::::1;:::i;:::-;;;;12927:91;;;;12858:167:::0;:::o;12459:192::-;12525:12;;-1:-1:-1;;;;;12525:12:0;690:10;-1:-1:-1;;;;;12509:28:0;;12501:37;;;;;;12549:23;12575:24;12593:4;12575:9;:24::i;:::-;12549:50;;12610:33;12627:15;12610:16;:33::i;11474:977::-;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;9025:182:1;3226:67:0;11538:11:::1;::::0;;;::::1;;;11537:12;11529:48;;;::::0;-1:-1:-1;;;11529:48:0;;10635:2:1;11529:48:0::1;::::0;::::1;10617:21:1::0;10674:2;10654:18;;;10647:30;10713:25;10693:18;;;10686:53;10756:18;;11529:48:0::1;10607:173:1::0;11529:48:0::1;11712:15;:34:::0;;;::::1;11658:42;11712:34:::0;;::::1;::::0;;;11757:58:::1;11774:4;11658:42:::0;4922:21:::1;11757:8;:58::i;:::-;11860:16;-1:-1:-1::0;;;;;11860:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11842:70:0::1;;11921:4;11928:16;-1:-1:-1::0;;;;;11928:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11842:110;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;4642:15:1;;;11842:110:0::1;::::0;::::1;4624:34:1::0;4694:15;;4674:18;;;4667:43;4536:18;;11842:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11826:13;:126:::0;;;::::1;-1:-1:-1::0;;;;;11826:126:0;;::::1;;::::0;;11963:15:::1;::::0;::::1;:31;12002:21;12047:4;12067:24;12047:4:::0;12067:9:::1;:24::i;:::-;12106:1;12122::::0;12138:7:::1;3145::::0;3172:6;-1:-1:-1;;;;;3172:6:0;;3107:79;12138:7:::1;11963:223;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;5405:15:1;;;11963:223:0::1;::::0;::::1;5387:34:1::0;5437:18;;;5430:34;;;;5480:18;;;5473:34;;;;5523:18;;;5516:34;5587:15;;;5566:19;;;5559:44;12160:15:0::1;5619:19:1::0;;;5612:35;5298:19;;11963:223:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12197:11:0::1;:18:::0;;12274::::1;12259:12;:33:::0;12303:18;;;;;;;;12384:15:::1;::::0;12332:111:::1;::::0;;;;-1:-1:-1;;;;;12384:15:0;;::::1;12332:111;::::0;::::1;4895:74:1::0;-1:-1:-1;4985:18:1;;;4978:34;12339:13:0;;;-1:-1:-1;12332:29:0::1;::::0;4868:18:1;;12332:111:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16524:255::-:0;3234:6;;-1:-1:-1;;;;;3234:6:0;690:10;3234:22;3226:67;;;;-1:-1:-1;;;3226:67:0;;9053:2:1;3226:67:0;;;9035:21:1;;;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;9183:18;;3226:67:0;9025:182:1;3226:67:0;16626:1:::1;16611:12;:16;16603:58;;;::::0;-1:-1:-1;;;16603:58:0;;8293:2:1;16603:58:0::1;::::0;::::1;8275:21:1::0;8332:2;8312:18;;;8305:30;8371:31;8351:18;;;8344:59;8420:18;;16603:58:0::1;8265:179:1::0;16603:58:0::1;16687:36;16717:5;16687:25;4922:21;16699:12:::0;16687:11:::1;:25::i;:::-;:29:::0;::::1;:36::i;:::-;16672:12;:51:::0;;;16739:32:::1;::::0;11277:25:1;;;16739:32:0::1;::::0;11265:2:1;11250:18;16739:32:0::1;;;;;;;16524:255:::0;:::o;8448:369::-;-1:-1:-1;;;;;8575:19:0;;8567:68;;;;-1:-1:-1;;;8567:68:0;;10230:2:1;8567:68:0;;;10212:21:1;10269:2;10249:18;;;10242:30;10308:34;10288:18;;;10281:62;10379:6;10359:18;;;10352:34;10403:19;;8567:68:0;10202:226:1;8567:68:0;-1:-1:-1;;;;;8654:21:0;;8646:68;;;;-1:-1:-1;;;8646:68:0;;7534:2:1;8646:68:0;;;7516:21:1;7573:2;7553:18;;;7546:30;7612:34;7592:18;;;7585:62;7683:4;7663:18;;;7656:32;7705:19;;8646:68:0;7506:224:1;8646:68:0;-1:-1:-1;;;;;8725:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8777:32;;11277:25:1;;;8777:32:0;;11250:18:1;8777:32:0;;;;;;;8448:369;;;:::o;8825:1975::-;-1:-1:-1;;;;;8947:18:0;;8939:68;;;;-1:-1:-1;;;8939:68:0;;9824:2:1;8939:68:0;;;9806:21:1;9863:2;9843:18;;;9836:30;9902:34;9882:18;;;9875:62;9973:7;9953:18;;;9946:35;9998:19;;8939:68:0;9796:227:1;8939:68:0;-1:-1:-1;;;;;9026:16:0;;9018:64;;;;-1:-1:-1;;;9018:64:0;;6719:2:1;9018:64:0;;;6701:21:1;6758:2;6738:18;;;6731:30;6797:34;6777:18;;;6770:62;6868:5;6848:18;;;6841:33;6891:19;;9018:64:0;6691:225:1;9018:64:0;9110:1;9101:6;:10;9093:64;;;;-1:-1:-1;;;9093:64:0;;9414:2:1;9093:64:0;;;9396:21:1;9453:2;9433:18;;;9426:30;9492:34;9472:18;;;9465:62;9563:11;9543:18;;;9536:39;9592:19;;9093:64:0;9386:231:1;9093:64:0;3145:7;3172:6;-1:-1:-1;;;;;9174:15:0;;;3172:6;;9174:15;;;;:32;;-1:-1:-1;3145:7:0;3172:6;-1:-1:-1;;;;;9193:13:0;;;3172:6;;9193:13;;9174:32;9170:1429;;;9227:15;;;;;;;9223:526;;;-1:-1:-1;;;;;9289:21:0;;9305:4;9289:21;;;;:65;;-1:-1:-1;;;;;;9335:19:0;;9349:4;9335:19;;9289:65;:122;;;;-1:-1:-1;9395:15:0;;-1:-1:-1;;;;;9379:32:0;;;9395:15;;9379:32;;9289:122;:177;;;;-1:-1:-1;9450:15:0;;-1:-1:-1;;;;;9436:30:0;;;9450:15;;9436:30;;9289:177;9263:471;;;9567:15;;-1:-1:-1;;;;;9567:15:0;690:10;-1:-1:-1;;;;;9543:40:0;;:102;;;-1:-1:-1;9632:13:0;;-1:-1:-1;;;;;9632:13:0;690:10;-1:-1:-1;;;;;9616:29:0;;9543:102;9509:205;;;;-1:-1:-1;;;9509:205:0;;10987:2:1;9509:205:0;;;10969:21:1;11026:2;11006:18;;;10999:30;11065:19;11045:18;;;11038:47;11102:18;;9509:205:0;10959:167:1;9509:205:0;9781:12;;9771:6;:22;;9763:31;;;;;;-1:-1:-1;;;;;9818:10:0;;;;;;:4;:10;;;;;;;;9817:11;:24;;;;-1:-1:-1;;;;;;9833:8:0;;;;;;:4;:8;;;;;;;;9832:9;9817:24;9809:33;;;;;;9887:13;;-1:-1:-1;;;;;9879:21:0;;;9887:13;;9879:21;:72;;;;-1:-1:-1;9935:15:0;;-1:-1:-1;;;;;9921:30:0;;;9935:15;;9921:30;;9879:72;:116;;;;-1:-1:-1;;;;;;9973:22:0;;;;;;:18;:22;;;;;;;;9972:23;9879:116;:152;;;;-1:-1:-1;10016:15:0;;;;;;;9879:152;9857:328;;;-1:-1:-1;;;;;10074:12:0;;;;;;:8;:12;;;;;;10089:15;-1:-1:-1;10066:39:0;;;;;;10139:30;:15;10158:10;10139:30;:::i;:::-;-1:-1:-1;;;;;10124:12:0;;;;;;:8;:12;;;;;:45;9857:328;10199:28;10230:24;10248:4;10230:9;:24::i;:::-;10274:6;;10199:55;;-1:-1:-1;10274:6:0;;;;;10273:7;:32;;;;-1:-1:-1;10292:13:0;;-1:-1:-1;;;;;10284:21:0;;;10292:13;;10284:21;;10273:32;:47;;;;-1:-1:-1;10309:11:0;;;;;;;10273:47;10269:319;;;10341:38;10358:20;10341:16;:38::i;:::-;10427:21;10471:22;;10467:106;;10518:35;10531:21;10518:12;:35::i;:::-;10269:319;;9170:1429;;-1:-1:-1;;;;;10645:24:0;;10609:12;10645:24;;;:18;:24;;;;;;10624:4;;10645:24;;;:50;;-1:-1:-1;;;;;;10673:22:0;;;;;;:18;:22;;;;;;;;10645:50;10641:98;;;-1:-1:-1;10722:5:0;10641:98;10751:41;10766:4;10772:2;10776:6;10784:7;10751:14;:41::i;:::-;8825:1975;;;;:::o;1872:224::-;1992:7;2028:12;2020:6;;;;2012:29;;;;-1:-1:-1;;;2012:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2052:9:0;2064:5;2068:1;2064;:5;:::i;:::-;2052:17;1872:224;-1:-1:-1;;;;;1872:224:0:o;11299:167::-;11356:12;;-1:-1:-1;;;;;11356:12:0;:44;11378:21;11396:2;11378:13;:6;11389:1;11378:10;:13::i;:21::-;11356:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11411:15:0;;-1:-1:-1;;;;;11411:15:0;:47;11436:21;11454:2;11436:13;:6;11447:1;11436:10;:13::i;:21::-;11411:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7877:323;7972:7;8030;;8019;:18;;7997:110;;;;-1:-1:-1;;;7997:110:0;;7123:2:1;7997:110:0;;;7105:21:1;7162:2;7142:18;;;7135:30;7201:34;7181:18;;;7174:62;7272:12;7252:18;;;7245:40;7302:19;;7997:110:0;7095:232:1;7997:110:0;8118:19;8140:10;:8;:10::i;:::-;8118:32;-1:-1:-1;8168:24:0;:7;8118:32;8168:11;:24::i;:::-;8161:31;7877:323;-1:-1:-1;;;7877:323:0:o;10808:483::-;5681:6;:13;;;;;;;;10910:16:::1;::::0;;10924:1:::1;10910:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10910:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10910:16:0::1;10886:40;;10955:4;10937;10942:1;10937:7;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10937:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10981:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10937:7;;10981:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10971:4;10976:1;10971:7;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10971:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11046:15:::1;::::0;11014:62:::1;::::0;11031:4:::1;::::0;11046:15:::1;11064:11:::0;11014:8:::1;:62::i;:::-;11087:15;::::0;:196:::1;::::0;;;;-1:-1:-1;;;;;11087:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11168:11;;11087:15:::1;::::0;11210:4;;11237::::1;::::0;11257:15:::1;::::0;11087:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5717:6:0;:14;;;;;;-1:-1:-1;;;;10808:483:0:o;2104:246::-;2162:7;2186:6;2182:47;;-1:-1:-1;2216:1:0;2209:8;;2182:47;2239:9;2251:5;2255:1;2251;:5;:::i;:::-;2239:17;-1:-1:-1;2284:1:0;2275:5;2279:1;2239:17;2275:5;:::i;:::-;:10;2267:56;;;;-1:-1:-1;;;2267:56:0;;8651:2:1;2267:56:0;;;8633:21:1;8690:2;8670:18;;;8663:30;8729:34;8709:18;;;8702:62;8800:3;8780:18;;;8773:31;8821:19;;2267:56:0;8623:223:1;2358:132:0;2416:7;2443:39;2447:1;2450;2443:39;;;;;;;;;;;;;;;;;:3;:39::i;13129:282::-;13285:7;13280:28;;13294:14;:12;:14::i;:::-;13319:44;13337:6;13345:9;13356:6;13319:17;:44::i;:::-;13379:7;13374:29;;13388:15;8407:1;8397:7;:11;8430:2;8419:8;:13;8353:87;16087:164;16129:7;16150:15;16167;16186:19;:17;:19::i;:::-;16149:56;;-1:-1:-1;16149:56:0;-1:-1:-1;16223:20:0;16149:56;;16223:11;:20::i;:::-;16216:27;;;;16087:164;:::o;2498:223::-;2618:7;2653:12;2646:5;2638:28;;;;-1:-1:-1;;;2638:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2677:9:0;2689:5;2693:1;2689;:5;:::i;8208:137::-;8255:7;;:12;:29;;;;-1:-1:-1;8271:8:0;;:13;8255:29;8251:42;;;8208:137::o;8251:42::-;8313:1;8303:7;:11;;;8325:8;:12;8208:137::o;13419:610::-;13566:15;13596:23;13634:12;13661:23;13699:12;13726:13;13753:19;13764:7;13753:10;:19::i;:::-;-1:-1:-1;;;;;13801:15:0;;;;;;:7;:15;;;;;;13551:221;;-1:-1:-1;13551:221:0;;-1:-1:-1;13551:221:0;;-1:-1:-1;13551:221:0;-1:-1:-1;13551:221:0;-1:-1:-1;13551:221:0;-1:-1:-1;13801:28:0;;13551:221;13801:19;:28::i;:::-;-1:-1:-1;;;;;13783:15:0;;;;;;;:7;:15;;;;;;:46;;;;13861:18;;;;;;;:39;;13884:15;13861:22;:39::i;:::-;-1:-1:-1;;;;;13840:18:0;;;;;;:7;:18;;;;;:60;13911:16;13921:5;13911:9;:16::i;:::-;13938:23;13950:4;13956;13938:11;:23::i;:::-;13994:9;-1:-1:-1;;;;;13977:44:0;13986:6;-1:-1:-1;;;;;13977:44:0;;14005:15;13977:44;;;;11277:25:1;;11265:2;11250:18;;11232:76;13977:44:0;;;;;;;;13419:610;;;;;;;;;:::o;16259:257::-;16357:7;;16310;;;;4922:21;16425:20;16357:7;4922:21;16425:11;:20::i;:::-;16415:7;:30;16411:61;;;-1:-1:-1;;16455:7:0;;;4922:21;;-1:-1:-1;16259:257:0;-1:-1:-1;16259:257:0:o;16411:61::-;16491:7;;16500;;-1:-1:-1;16259:257:0;-1:-1:-1;16259:257:0:o;14448:614::-;14548:7;14570;14592;14614;14636;14658;14694:23;14719:12;14733:13;14763:39;14775:7;14784;;14793:8;;14763:11;:39::i;:::-;14693:109;;;;;;14813:19;14835:10;:8;:10::i;:::-;14813:32;;14857:15;14874:23;14899:12;14928:46;14940:7;14949:4;14955:5;14962:11;14928;:46::i;:::-;14856:118;;-1:-1:-1;14856:118:0;-1:-1:-1;14856:118:0;-1:-1:-1;15025:15:0;;-1:-1:-1;15042:4:0;;-1:-1:-1;15048:5:0;;-1:-1:-1;;;;;14448:614:0;;;;;;;:::o;1728:136::-;1786:7;1813:43;1817:1;1820;1813:43;;;;;;;;;;;;;;;;;:3;:43::i;1541:179::-;1599:7;;1631:5;1635:1;1631;:5;:::i;:::-;1619:17;;1660:1;1655;:6;;1647:46;;;;-1:-1:-1;;;1647:46:0;;7937:2:1;1647:46:0;;;7919:21:1;7976:2;7956:18;;;7949:30;8015:29;7995:18;;;7988:57;8062:18;;1647:46:0;7909:177:1;14037:211:0;14090:19;14112:10;:8;:10::i;:::-;14090:32;-1:-1:-1;14133:13:0;14149:22;:5;14090:32;14149:9;:22::i;:::-;14223:4;14207:22;;;;:7;:22;;;;;;14133:38;;-1:-1:-1;14207:33:0;;14133:38;14207:26;:33::i;:::-;14198:4;14182:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14037:211:0:o;14256:147::-;14334:7;;:17;;14346:4;14334:11;:17::i;:::-;14324:7;:27;14375:10;;:20;;14390:4;14375:14;:20::i;:::-;14362:10;:33;-1:-1:-1;;14256:147:0:o;15070:467::-;15238:7;;;;15332:28;15356:3;15332:19;:7;15344:6;15332:11;:19::i;:28::-;15317:43;-1:-1:-1;15371:13:0;15387:29;15412:3;15387:20;:7;15399;15387:11;:20::i;:29::-;15371:45;-1:-1:-1;15427:23:0;15453:28;15371:45;15453:17;:7;15465:4;15453:11;:17::i;:::-;:21;;:28::i;:::-;15427:54;15517:4;;-1:-1:-1;15523:5:0;;-1:-1:-1;15070:467:0;;-1:-1:-1;;;;;15070:467:0:o;15545:534::-;15739:7;;;;15836:24;:7;15848:11;15836;:24::i;:::-;15818:42;-1:-1:-1;15871:12:0;15886:21;:4;15895:11;15886:8;:21::i;:::-;15871:36;-1:-1:-1;15918:13:0;15934:22;:5;15944:11;15934:9;:22::i;:::-;15918:38;-1:-1:-1;15967:23:0;15993:28;15918:38;15993:17;:7;16005:4;15993:11;:17::i;:28::-;16040:7;;;;-1:-1:-1;16066:4:0;;-1:-1:-1;15545:534:0;;-1:-1:-1;;;;;;;15545:534:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;681:398::-;749:6;757;810:2;798:9;789:7;785:23;781:32;778:2;;;831:6;823;816:22;778:2;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;768:311;;;;;:::o;1084:466::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:2;;;1251:6;1243;1236:22;1198:2;1295:9;1282:23;1314:31;1339:5;1314:31;:::i;:::-;1364:5;-1:-1:-1;1421:2:1;1406:18;;1393:32;1434:33;1393:32;1434:33;:::i;:::-;1188:362;;1486:7;;-1:-1:-1;;;1540:2:1;1525:18;;;;1512:32;;1188:362::o;1555:325::-;1623:6;1631;1684:2;1672:9;1663:7;1659:23;1655:32;1652:2;;;1705:6;1697;1690:22;1652:2;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;:::-;1818:5;1870:2;1855:18;;;;1842:32;;-1:-1:-1;;;1642:238:1:o;1885:1236::-;1969:6;2000:2;2043;2031:9;2022:7;2018:23;2014:32;2011:2;;;2064:6;2056;2049:22;2011:2;2109:9;2096:23;2138:18;2179:2;2171:6;2168:14;2165:2;;;2200:6;2192;2185:22;2165:2;2243:6;2232:9;2228:22;2218:32;;2288:7;2281:4;2277:2;2273:13;2269:27;2259:2;;2315:6;2307;2300:22;2259:2;2356;2343:16;2378:2;2374;2371:10;2368:2;;;2384:18;;:::i;:::-;2430:2;2427:1;2423:10;2462:2;2456:9;2521:66;2516:2;2512;2508:11;2504:84;2496:6;2492:97;2639:6;2627:10;2624:22;2619:2;2607:10;2604:18;2601:46;2598:2;;;2650:18;;:::i;:::-;2686:2;2679:22;2736:18;;;2770:15;;;;-1:-1:-1;2805:11:1;;;2835;;;2831:20;;2828:33;-1:-1:-1;2825:2:1;;;2879:6;2871;2864:22;2825:2;2906:6;2897:15;;2921:169;2935:2;2932:1;2929:9;2921:169;;;2992:23;3011:3;2992:23;:::i;:::-;2980:36;;2953:1;2946:9;;;;;3036:12;;;;3068;;2921:169;;;-1:-1:-1;3109:6:1;1980:1141;-1:-1:-1;;;;;;;;1980:1141:1:o;3126:251::-;3182:6;3235:2;3223:9;3214:7;3210:23;3206:32;3203:2;;;3256:6;3248;3241:22;3203:2;3300:9;3287:23;3319:28;3341:5;3319:28;:::i;3382:255::-;3449:6;3502:2;3490:9;3481:7;3477:23;3473:32;3470:2;;;3523:6;3515;3508:22;3470:2;3560:9;3554:16;3579:28;3601:5;3579:28;:::i;3642:190::-;3701:6;3754:2;3742:9;3733:7;3729:23;3725:32;3722:2;;;3775:6;3767;3760:22;3722:2;-1:-1:-1;3803:23:1;;3712:120;-1:-1:-1;3712:120:1:o;3837:316::-;3925:6;3933;3941;3994:2;3982:9;3973:7;3969:23;3965:32;3962:2;;;4015:6;4007;4000:22;3962:2;4049:9;4043:16;4033:26;;4099:2;4088:9;4084:18;4078:25;4068:35;;4143:2;4132:9;4128:18;4122:25;4112:35;;3952:201;;;;;:::o;5850:662::-;5962:4;5991:2;6020;6009:9;6002:21;6052:6;6046:13;6095:6;6090:2;6079:9;6075:18;6068:34;6120:4;6133:140;6147:6;6144:1;6141:13;6133:140;;;6242:14;;;6238:23;;6232:30;6208:17;;;6227:2;6204:26;6197:66;6162:10;;6133:140;;;6291:6;6288:1;6285:13;6282:2;;;6361:4;6356:2;6347:6;6336:9;6332:22;6328:31;6321:45;6282:2;-1:-1:-1;6428:2:1;6416:15;6433:66;6412:88;6397:104;;;;6503:2;6393:113;;5971:541;-1:-1:-1;;;5971:541:1:o;11313:1029::-;11575:4;11623:3;11612:9;11608:19;11654:6;11643:9;11636:25;11680:2;11718:6;11713:2;11702:9;11698:18;11691:34;11761:3;11756:2;11745:9;11741:18;11734:31;11785:6;11820;11814:13;11851:6;11843;11836:22;11889:3;11878:9;11874:19;11867:26;;11928:2;11920:6;11916:15;11902:29;;11949:4;11962:218;11976:6;11973:1;11970:13;11962:218;;;12041:13;;-1:-1:-1;;;;;12037:62:1;12025:75;;12155:15;;;;12120:12;;;;11998:1;11991:9;11962:218;;;-1:-1:-1;;;;;;;12236:55:1;;;;12231:2;12216:18;;12209:83;-1:-1:-1;;;12323:3:1;12308:19;12301:35;12197:3;11584:758;-1:-1:-1;;;11584:758:1:o;12536:128::-;12576:3;12607:1;12603:6;12600:1;12597:13;12594:2;;;12613:18;;:::i;:::-;-1:-1:-1;12649:9:1;;12584:80::o;12669:274::-;12709:1;12735;12725:2;;12770:77;12767:1;12760:88;12871:4;12868:1;12861:15;12899:4;12896:1;12889:15;12725:2;-1:-1:-1;12928:9:1;;12715:228::o;12948:::-;12988:7;13114:1;13046:66;13042:74;13039:1;13036:81;13031:1;13024:9;13017:17;13013:105;13010:2;;;13121:18;;:::i;:::-;-1:-1:-1;13161:9:1;;13000:176::o;13181:125::-;13221:4;13249:1;13246;13243:8;13240:2;;;13254:18;;:::i;:::-;-1:-1:-1;13291:9:1;;13230:76::o;13311:195::-;13350:3;13381:66;13374:5;13371:77;13368:2;;;13451:18;;:::i;:::-;-1:-1:-1;13498:1:1;13487:13;;13358:148::o;13511:184::-;13563:77;13560:1;13553:88;13660:4;13657:1;13650:15;13684:4;13681:1;13674:15;13700:184;13752:77;13749:1;13742:88;13849:4;13846:1;13839:15;13873:4;13870:1;13863:15;13889:154;-1:-1:-1;;;;;13968:5:1;13964:54;13957:5;13954:65;13944:2;;14033:1;14030;14023:12;14048:118;14134:5;14127:13;14120:21;14113:5;14110:32;14100:2;;14156:1;14153;14146:12

Swarm Source

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