ETH Price: $2,273.84 (-3.80%)

Token

Fuck (FUCK)
 

Overview

Max Total Supply

1,000,000,000 FUCK

Holders

62

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

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-23
*/

/**
Fuck $ETH, we're going with $FUCK for a bright future.
Website: https://fuckgem.vip
Telegram: https://t.me/fuckcoin_erc
Twitter: https://twitter.com/fuckcoin_eth
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
library SafeMathInteger {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMathInteger: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMathInteger: 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, "SafeMathInteger: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMathInteger: 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, "SafeMathInteger: modulo by zero");
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
interface IDexFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
interface IDexRouter {
    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);
    
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
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);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
interface IERC20Standard {
    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);
}
contract FUCK is Context, IERC20Standard, Ownable {
    using SafeMathInteger for uint256;
    
    string private _name = "Fuck";
    string private _symbol = "FUCK";
    uint8 private _decimals = 9;
    uint256 private _supplyTotal = 10 ** 9 * 10 ** 9;
    uint256 public maxTxAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletSize = 25 * 10 ** 6 * 10 ** 9;
    uint256 public swapThresholdAmt = 10 ** 4 * 10 ** 9; 
    uint256 public buyFeeToLiquidity = 0;
    uint256 public buyFeeToMarketing = 25;
    uint256 public buyFeeToDev = 0;
    uint256 public sellFeeToLiquidity = 0;
    uint256 public sellFeeToMarketing = 25;
    uint256 public sellFeeToDev = 0;
    uint256 public liquidityShre = 0;
    uint256 public marketingShare = 10;
    uint256 public devShare = 0;
    uint256 public totalBuyFee = 25;
    uint256 public totalSellFee = 25;
    uint256 public totalShare = 10;
    address payable private teamAddress1;
    address payable private teamAddress2;
    IDexRouter public _dexRouter;
    address public _dexPair;
    
    bool _inswap;
    bool public feeSwapEnabled = true;
    bool public maxSwapLimitInEffect = false;
    bool public maxWalletLimitInEffect = true;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExeptFromLimits;
    mapping (address => bool) public isExeptFromMaxWallet;
    mapping (address => bool) public isExeptFromMaxTx;
    mapping (address => bool) public liquidityPairs;
    modifier lockTheSwap {
        _inswap = true;
        _;
        _inswap = false;
    }
    
    constructor () {
        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        _dexPair = IDexFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _dexRouter = _uniswapV2Router;
        _allowances[address(this)][address(_dexRouter)] = _supplyTotal;
        teamAddress1 = payable(0x74fa7184A344EAA47010fb9F32639dd6E5f9b7E1);
        teamAddress2 = payable(0x74fa7184A344EAA47010fb9F32639dd6E5f9b7E1);
        isExeptFromLimits[owner()] = true;
        isExeptFromLimits[teamAddress1] = true;
        isExeptFromLimits[teamAddress2] = true;
        totalBuyFee = buyFeeToLiquidity.add(buyFeeToMarketing).add(buyFeeToDev);
        totalSellFee = sellFeeToLiquidity.add(sellFeeToMarketing).add(sellFeeToDev);
        totalShare = liquidityShre.add(marketingShare).add(devShare);
        isExeptFromMaxWallet[owner()] = true;
        isExeptFromMaxWallet[address(_dexPair)] = true;
        isExeptFromMaxWallet[address(this)] = true;
        isExeptFromMaxTx[owner()] = true;
        isExeptFromMaxTx[teamAddress1] = true;
        isExeptFromMaxTx[teamAddress2] = true;
        isExeptFromMaxTx[address(this)] = true;
        liquidityPairs[address(_dexPair)] = true;
        _balances[_msgSender()] = _supplyTotal;
        emit Transfer(address(0), _msgSender(), _supplyTotal);
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view override returns (uint256) {
        return _supplyTotal;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
        
    function 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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    
    function swapTokensToEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _dexRouter.WETH();
        _approve(address(this), address(_dexRouter), tokenAmount);
        // make the swapBack
        _dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }
    
    function sendETHToFee(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function removeLimits() external onlyOwner {
        maxTxAmount = _supplyTotal;
        maxWalletLimitInEffect = false;
        buyFeeToMarketing = 1;
        sellFeeToMarketing = 1;
        totalBuyFee = 1;
        totalSellFee = 1;
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(_dexRouter), tokenAmount);
        _dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function swapBack(uint256 tAmount) private lockTheSwap {
        uint256 tokensForLP = tAmount.mul(liquidityShre).div(totalShare).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);
        swapTokensToEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;
        uint256 totalETHFee = totalShare.sub(liquidityShre.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(liquidityShre).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = amountReceived.mul(devShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHDevelopment);
        if(amountETHMarketing > 0)
            sendETHToFee(teamAddress1, amountETHMarketing);
        if(amountETHDevelopment > 0)
            sendETHToFee(teamAddress2, amountETHDevelopment);
        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    
    function _transferInternal(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(liquidityPairs[sender]) {
            feeAmount = amount.mul(totalBuyFee).div(100);
        }
        else if(liquidityPairs[recipient]) {
            feeAmount = amount.mul(totalSellFee).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
        return amount.sub(feeAmount);
    }
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if(_inswap)
        { 
            return _transferInternal(sender, recipient, amount); 
        }
        else
        {
            if(!isExeptFromMaxTx[sender] && !isExeptFromMaxTx[recipient]) {
                require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            
            uint256 swapAmount = balanceOf(address(this));
            bool minimumSwap = swapAmount >= swapThresholdAmt;
            
            if (minimumSwap && !_inswap && liquidityPairs[recipient] && feeSwapEnabled && !isExeptFromLimits[sender] && amount > swapThresholdAmt) 
            {
                if(maxSwapLimitInEffect)
                    swapAmount = swapThresholdAmt;
                swapBack(swapAmount);    
            }
            uint256 receiverAmount = (isExeptFromLimits[sender] || isExeptFromLimits[recipient]) ? 
                                         amount : takeFee(sender, recipient, amount);
            if(maxWalletLimitInEffect && !isExeptFromMaxWallet[recipient])
                require(balanceOf(recipient).add(receiverAmount) <= maxWalletSize);
            uint256 sAmount = (!maxWalletLimitInEffect && isExeptFromLimits[sender]) ? amount.sub(receiverAmount) : amount;
            _balances[sender] = _balances[sender].sub(sAmount, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(receiverAmount);
            emit Transfer(sender, recipient, receiverAmount);
            return true;
        }
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeToDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeToMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExeptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExeptFromMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExeptFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidityPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityShre","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapLimitInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimitInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFeeToDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeToMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThresholdAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260046080908152634675636b60e01b60a05260029062000025908262000686565b506040805180820190915260048152634655434b60e01b602082015260039062000050908262000686565b5060048054600960ff199091168117909155670de0b6b3a76400006005556658d15e1762800060068190556007556509184e72a0006008556000908190556019600a818155600b839055600c839055600d829055600e839055600f839055601081905560119290925560128190556013556014556018805462ffffff60a81b19166201000160a81b179055348015620000e857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a8919062000752565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c919062000752565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000290919062000752565b601880546001600160a01b039283166001600160a01b0319918216179091556017805492841692821683179055600554306000908152601a60209081526040808320958352949052928320556015805482167374fa7184a344eaa47010fb9f32639dd6e5f9b7e190811790915560168054909216179055600190601b90620003206000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560155482168152601b909352818320805485166001908117909155601654909116835291208054909216179055600b54600a546009546200039d929162000396919062000567565b9062000567565b601255600e54600d54600c54620003bb929162000396919062000567565b601355601154601054600f54620003d9929162000396919062000567565b6014556001601c6000620003f56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556018549091168152601c90925280822080548416600190811790915530835290822080549093168117909255601d90620004656000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560155482168152601d845282812080548616600190811790915560165483168252838220805487168217905530825283822080548716821790556018549092168152601e90935290822080549093161790915560055490601990620004f53390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200055891815260200190565b60405180910390a3506200079f565b6000806200057683856200077d565b905083811015620005d85760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b606482015260840160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060c57607f821691505b6020821081036200062d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200068157600081815260208120601f850160051c810160208610156200065c5750805b601f850160051c820191505b818110156200067d5782815560010162000668565b5050505b505050565b81516001600160401b03811115620006a257620006a2620005e1565b620006ba81620006b38454620005f7565b8462000633565b602080601f831160018114620006f25760008415620006d95750858301515b600019600386901b1c1916600185901b1785556200067d565b600085815260208120601f198616915b82811015620007235788860151825594840194600190910190840162000702565b5085821015620007425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200076557600080fd5b81516001600160a01b0381168114620005d857600080fd5b80820180821115620005db57634e487b7160e01b600052601160045260246000fd5b6119ec80620007af6000396000f3fe60806040526004361061021e5760003560e01c806370a08231116101235780639b221686116100ab578063b9f2486f1161006f578063b9f2486f14610614578063cb90d99914610634578063dd62ed3e1461064a578063f2fde38b14610690578063f7263953146106b057600080fd5b80639b221686146105825780639d9241ec14610598578063a3ffb3cf146105ae578063a9059cbb146105de578063aed04fae146105fe57600080fd5b80638c0b5e22116100f25780638c0b5e22146104f35780638cd62d50146105095780638da5cb5b146105395780638f3fa8601461055757806395d89b411461056d57600080fd5b806370a082311461047b578063715018a6146104b1578063751039fc146104c857806384eb352d146104dd57600080fd5b80631c91b4c3116101a6578063313ce56711610175578063313ce567146103f65780633a5a629c1461041857806359b107b91461042e5780635ecb240814610444578063606125801461046557600080fd5b80631c91b4c31461036057806323b872dd146103765780632e45f685146103965780632fa62740146103c657600080fd5b8063095ea7b3116101ed578063095ea7b3146102bc5780630bc47bb3146102dc578063112f93981461031457806318160ddd1461033557806319f5d5091461034a57600080fd5b8063026c42071461022a57806304866b801461025357806306fdde031461028457806309218ee7146102a657600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061024060145481565b6040519081526020015b60405180910390f35b34801561025f57600080fd5b5060185461027490600160a81b900460ff1681565b604051901515815260200161024a565b34801561029057600080fd5b506102996106c6565b60405161024a9190611669565b3480156102b257600080fd5b5061024060105481565b3480156102c857600080fd5b506102746102d73660046116cf565b610758565b3480156102e857600080fd5b506018546102fc906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b34801561032057600080fd5b5060185461027490600160b01b900460ff1681565b34801561034157600080fd5b50600554610240565b34801561035657600080fd5b5061024060085481565b34801561036c57600080fd5b5061024060095481565b34801561038257600080fd5b506102746103913660046116fb565b61076f565b3480156103a257600080fd5b506102746103b136600461173c565b601c6020526000908152604090205460ff1681565b3480156103d257600080fd5b506102746103e136600461173c565b601e6020526000908152604090205460ff1681565b34801561040257600080fd5b5060045460405160ff909116815260200161024a565b34801561042457600080fd5b50610240600e5481565b34801561043a57600080fd5b5061024060125481565b34801561045057600080fd5b5060185461027490600160b81b900460ff1681565b34801561047157600080fd5b50610240600c5481565b34801561048757600080fd5b5061024061049636600461173c565b6001600160a01b031660009081526019602052604090205490565b3480156104bd57600080fd5b506104c66107da565b005b3480156104d457600080fd5b506104c6610857565b3480156104e957600080fd5b50610240600d5481565b3480156104ff57600080fd5b5061024060065481565b34801561051557600080fd5b5061027461052436600461173c565b601d6020526000908152604090205460ff1681565b34801561054557600080fd5b506000546001600160a01b03166102fc565b34801561056357600080fd5b5061024060075481565b34801561057957600080fd5b506102996108aa565b34801561058e57600080fd5b50610240600f5481565b3480156105a457600080fd5b5061024060135481565b3480156105ba57600080fd5b506102746105c936600461173c565b601b6020526000908152604090205460ff1681565b3480156105ea57600080fd5b506102746105f93660046116cf565b6108b9565b34801561060a57600080fd5b5061024060115481565b34801561062057600080fd5b506017546102fc906001600160a01b031681565b34801561064057600080fd5b50610240600a5481565b34801561065657600080fd5b50610240610665366004611759565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b34801561069c57600080fd5b506104c66106ab36600461173c565b6108c6565b3480156106bc57600080fd5b50610240600b5481565b6060600280546106d590611792565b80601f016020809104026020016040519081016040528092919081815260200182805461070190611792565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b60006107653384846109b0565b5060015b92915050565b600061077c848484610ad4565b506107cf84336107ca8560405180606001604052806028815260200161198f602891396001600160a01b038a166000908152601a602090815260408083203384529091529020549190610f38565b6109b0565b5060015b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610804906117cc565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108815760405162461bcd60e51b8152600401610804906117cc565b6005546006556018805460ff60b81b191690556001600a819055600d8190556012819055601355565b6060600380546106d590611792565b60006107cf338484610ad4565b6000546001600160a01b031633146108f05760405162461bcd60e51b8152600401610804906117cc565b6001600160a01b0381166109555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b038216610a735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b038381166000818152601a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b038316610b9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b601854600160a01b900460ff1615610bc057610bb9848484610f72565b90506107d3565b6001600160a01b0384166000908152601d602052604090205460ff16158015610c0257506001600160a01b0383166000908152601d602052604090205460ff16155b15610c6a57600654821115610c6a5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610804565b3060009081526019602052604090205460085481108015908190610c985750601854600160a01b900460ff16155b8015610cbc57506001600160a01b0385166000908152601e602052604090205460ff165b8015610cd15750601854600160a81b900460ff165b8015610cf657506001600160a01b0386166000908152601b602052604090205460ff16155b8015610d03575060085484115b15610d2957601854600160b01b900460ff1615610d205760085491505b610d2982611058565b6001600160a01b0386166000908152601b602052604081205460ff1680610d6857506001600160a01b0386166000908152601b602052604090205460ff165b610d7c57610d7787878761118e565b610d7e565b845b601854909150600160b81b900460ff168015610db357506001600160a01b0386166000908152601c602052604090205460ff16155b15610def57600754610de482610dde896001600160a01b031660009081526019602052604090205490565b90611294565b1115610def57600080fd5b601854600090600160b81b900460ff16158015610e2457506001600160a01b0388166000908152601b602052604090205460ff165b610e2e5785610e38565b610e3886836112fe565b9050610ea08160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250601960008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f389092919063ffffffff16565b6001600160a01b03808a166000908152601960205260408082209390935590891681522054610ecf9083611294565b6001600160a01b0380891660008181526019602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f239086815260200190565b60405180910390a360019450505050506107d3565b60008184841115610f5c5760405162461bcd60e51b81526004016108049190611669565b506000610f698486611817565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601990915291822054610fc3918490610f38565b6001600160a01b038086166000908152601960205260408082209390935590851681522054610ff29083611294565b6001600160a01b0380851660008181526019602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110469086815260200190565b60405180910390a35060019392505050565b6018805460ff60a01b1916600160a01b179055601454600f5460009161108e916002916110889182908790611323565b906113ac565b9050600061109c83836112fe565b90506110a7816113d1565b600f5447906000906110c7906110be9060026113ac565b601454906112fe565b905060006110e9600261108884611088600f548861132390919063ffffffff16565b90506000611106836110886011548761132390919063ffffffff16565b9050600061111e8261111887866112fe565b906112fe565b9050801561113c5760155461113c906001600160a01b03168261152b565b811561115857601654611158906001600160a01b03168361152b565b6000831180156111685750600087115b15611177576111778784611566565b50506018805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152601e6020526040812054819060ff16156111d2576111cb60646110886012548661132390919063ffffffff16565b9050611210565b6001600160a01b0384166000908152601e602052604090205460ff16156112105761120d60646110886013548661132390919063ffffffff16565b90505b801561128a57306000908152601960205260409020546112309082611294565b30600081815260196020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112819085815260200190565b60405180910390a35b610f6983826112fe565b6000806112a1838561182a565b9050838110156107d35760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b6064820152608401610804565b60006107d3838360405180606001604052806025815260200161194960259139610f38565b60008260000361133557506000610769565b6000611341838561183d565b90508261134e8583611854565b146107d35760405162461bcd60e51b815260206004820152602860248201527f536166654d617468496e74656765723a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b6064820152608401610804565b60006107d3838360405180606001604052806021815260200161196e6021913961163b565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061140657611406611876565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611483919061188c565b8160018151811061149657611496611876565b6001600160a01b0392831660209182029290920101526017546114bc91309116846109b0565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906114f59085906000908690309042906004016118a9565b600060405180830381600087803b15801561150f57600080fd5b505af1158015611523573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611561573d6000803e3d6000fd5b505050565b60175461157e9030906001600160a01b0316846109b0565b6017546001600160a01b031663f305d7198230856000806115a76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561160f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611634919061191a565b5050505050565b6000818361165c5760405162461bcd60e51b81526004016108049190611669565b506000610f698486611854565b600060208083528351808285015260005b818110156116965785810183015185820160400152820161167a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116cc57600080fd5b50565b600080604083850312156116e257600080fd5b82356116ed816116b7565b946020939093013593505050565b60008060006060848603121561171057600080fd5b833561171b816116b7565b9250602084013561172b816116b7565b929592945050506040919091013590565b60006020828403121561174e57600080fd5b81356107d3816116b7565b6000806040838503121561176c57600080fd5b8235611777816116b7565b91506020830135611787816116b7565b809150509250929050565b600181811c908216806117a657607f821691505b6020821081036117c657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561076957610769611801565b8082018082111561076957610769611801565b808202811582820484141761076957610769611801565b60008261187157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561189e57600080fd5b81516107d3816116b7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118f95784516001600160a01b0316835293830193918301916001016118d4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561192f57600080fd5b835192506020840151915060408401519050925092509256fe536166654d617468496e74656765723a207375627472616374696f6e206f766572666c6f77536166654d617468496e74656765723a206469766973696f6e206279207a65726f45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f0c3c9a0ee69d1622c17ec61b128928b59176f55578b6dc99161a2b7bd21c5a64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061021e5760003560e01c806370a08231116101235780639b221686116100ab578063b9f2486f1161006f578063b9f2486f14610614578063cb90d99914610634578063dd62ed3e1461064a578063f2fde38b14610690578063f7263953146106b057600080fd5b80639b221686146105825780639d9241ec14610598578063a3ffb3cf146105ae578063a9059cbb146105de578063aed04fae146105fe57600080fd5b80638c0b5e22116100f25780638c0b5e22146104f35780638cd62d50146105095780638da5cb5b146105395780638f3fa8601461055757806395d89b411461056d57600080fd5b806370a082311461047b578063715018a6146104b1578063751039fc146104c857806384eb352d146104dd57600080fd5b80631c91b4c3116101a6578063313ce56711610175578063313ce567146103f65780633a5a629c1461041857806359b107b91461042e5780635ecb240814610444578063606125801461046557600080fd5b80631c91b4c31461036057806323b872dd146103765780632e45f685146103965780632fa62740146103c657600080fd5b8063095ea7b3116101ed578063095ea7b3146102bc5780630bc47bb3146102dc578063112f93981461031457806318160ddd1461033557806319f5d5091461034a57600080fd5b8063026c42071461022a57806304866b801461025357806306fdde031461028457806309218ee7146102a657600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061024060145481565b6040519081526020015b60405180910390f35b34801561025f57600080fd5b5060185461027490600160a81b900460ff1681565b604051901515815260200161024a565b34801561029057600080fd5b506102996106c6565b60405161024a9190611669565b3480156102b257600080fd5b5061024060105481565b3480156102c857600080fd5b506102746102d73660046116cf565b610758565b3480156102e857600080fd5b506018546102fc906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b34801561032057600080fd5b5060185461027490600160b01b900460ff1681565b34801561034157600080fd5b50600554610240565b34801561035657600080fd5b5061024060085481565b34801561036c57600080fd5b5061024060095481565b34801561038257600080fd5b506102746103913660046116fb565b61076f565b3480156103a257600080fd5b506102746103b136600461173c565b601c6020526000908152604090205460ff1681565b3480156103d257600080fd5b506102746103e136600461173c565b601e6020526000908152604090205460ff1681565b34801561040257600080fd5b5060045460405160ff909116815260200161024a565b34801561042457600080fd5b50610240600e5481565b34801561043a57600080fd5b5061024060125481565b34801561045057600080fd5b5060185461027490600160b81b900460ff1681565b34801561047157600080fd5b50610240600c5481565b34801561048757600080fd5b5061024061049636600461173c565b6001600160a01b031660009081526019602052604090205490565b3480156104bd57600080fd5b506104c66107da565b005b3480156104d457600080fd5b506104c6610857565b3480156104e957600080fd5b50610240600d5481565b3480156104ff57600080fd5b5061024060065481565b34801561051557600080fd5b5061027461052436600461173c565b601d6020526000908152604090205460ff1681565b34801561054557600080fd5b506000546001600160a01b03166102fc565b34801561056357600080fd5b5061024060075481565b34801561057957600080fd5b506102996108aa565b34801561058e57600080fd5b50610240600f5481565b3480156105a457600080fd5b5061024060135481565b3480156105ba57600080fd5b506102746105c936600461173c565b601b6020526000908152604090205460ff1681565b3480156105ea57600080fd5b506102746105f93660046116cf565b6108b9565b34801561060a57600080fd5b5061024060115481565b34801561062057600080fd5b506017546102fc906001600160a01b031681565b34801561064057600080fd5b50610240600a5481565b34801561065657600080fd5b50610240610665366004611759565b6001600160a01b039182166000908152601a6020908152604080832093909416825291909152205490565b34801561069c57600080fd5b506104c66106ab36600461173c565b6108c6565b3480156106bc57600080fd5b50610240600b5481565b6060600280546106d590611792565b80601f016020809104026020016040519081016040528092919081815260200182805461070190611792565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b60006107653384846109b0565b5060015b92915050565b600061077c848484610ad4565b506107cf84336107ca8560405180606001604052806028815260200161198f602891396001600160a01b038a166000908152601a602090815260408083203384529091529020549190610f38565b6109b0565b5060015b9392505050565b6000546001600160a01b0316331461080d5760405162461bcd60e51b8152600401610804906117cc565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108815760405162461bcd60e51b8152600401610804906117cc565b6005546006556018805460ff60b81b191690556001600a819055600d8190556012819055601355565b6060600380546106d590611792565b60006107cf338484610ad4565b6000546001600160a01b031633146108f05760405162461bcd60e51b8152600401610804906117cc565b6001600160a01b0381166109555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b038216610a735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b038381166000818152601a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b038316610b9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b601854600160a01b900460ff1615610bc057610bb9848484610f72565b90506107d3565b6001600160a01b0384166000908152601d602052604090205460ff16158015610c0257506001600160a01b0383166000908152601d602052604090205460ff16155b15610c6a57600654821115610c6a5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610804565b3060009081526019602052604090205460085481108015908190610c985750601854600160a01b900460ff16155b8015610cbc57506001600160a01b0385166000908152601e602052604090205460ff165b8015610cd15750601854600160a81b900460ff165b8015610cf657506001600160a01b0386166000908152601b602052604090205460ff16155b8015610d03575060085484115b15610d2957601854600160b01b900460ff1615610d205760085491505b610d2982611058565b6001600160a01b0386166000908152601b602052604081205460ff1680610d6857506001600160a01b0386166000908152601b602052604090205460ff165b610d7c57610d7787878761118e565b610d7e565b845b601854909150600160b81b900460ff168015610db357506001600160a01b0386166000908152601c602052604090205460ff16155b15610def57600754610de482610dde896001600160a01b031660009081526019602052604090205490565b90611294565b1115610def57600080fd5b601854600090600160b81b900460ff16158015610e2457506001600160a01b0388166000908152601b602052604090205460ff165b610e2e5785610e38565b610e3886836112fe565b9050610ea08160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250601960008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f389092919063ffffffff16565b6001600160a01b03808a166000908152601960205260408082209390935590891681522054610ecf9083611294565b6001600160a01b0380891660008181526019602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f239086815260200190565b60405180910390a360019450505050506107d3565b60008184841115610f5c5760405162461bcd60e51b81526004016108049190611669565b506000610f698486611817565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601990915291822054610fc3918490610f38565b6001600160a01b038086166000908152601960205260408082209390935590851681522054610ff29083611294565b6001600160a01b0380851660008181526019602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110469086815260200190565b60405180910390a35060019392505050565b6018805460ff60a01b1916600160a01b179055601454600f5460009161108e916002916110889182908790611323565b906113ac565b9050600061109c83836112fe565b90506110a7816113d1565b600f5447906000906110c7906110be9060026113ac565b601454906112fe565b905060006110e9600261108884611088600f548861132390919063ffffffff16565b90506000611106836110886011548761132390919063ffffffff16565b9050600061111e8261111887866112fe565b906112fe565b9050801561113c5760155461113c906001600160a01b03168261152b565b811561115857601654611158906001600160a01b03168361152b565b6000831180156111685750600087115b15611177576111778784611566565b50506018805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152601e6020526040812054819060ff16156111d2576111cb60646110886012548661132390919063ffffffff16565b9050611210565b6001600160a01b0384166000908152601e602052604090205460ff16156112105761120d60646110886013548661132390919063ffffffff16565b90505b801561128a57306000908152601960205260409020546112309082611294565b30600081815260196020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112819085815260200190565b60405180910390a35b610f6983826112fe565b6000806112a1838561182a565b9050838110156107d35760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b6064820152608401610804565b60006107d3838360405180606001604052806025815260200161194960259139610f38565b60008260000361133557506000610769565b6000611341838561183d565b90508261134e8583611854565b146107d35760405162461bcd60e51b815260206004820152602860248201527f536166654d617468496e74656765723a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b6064820152608401610804565b60006107d3838360405180606001604052806021815260200161196e6021913961163b565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061140657611406611876565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611483919061188c565b8160018151811061149657611496611876565b6001600160a01b0392831660209182029290920101526017546114bc91309116846109b0565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906114f59085906000908690309042906004016118a9565b600060405180830381600087803b15801561150f57600080fd5b505af1158015611523573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611561573d6000803e3d6000fd5b505050565b60175461157e9030906001600160a01b0316846109b0565b6017546001600160a01b031663f305d7198230856000806115a76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561160f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611634919061191a565b5050505050565b6000818361165c5760405162461bcd60e51b81526004016108049190611669565b506000610f698486611854565b600060208083528351808285015260005b818110156116965785810183015185820160400152820161167a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116cc57600080fd5b50565b600080604083850312156116e257600080fd5b82356116ed816116b7565b946020939093013593505050565b60008060006060848603121561171057600080fd5b833561171b816116b7565b9250602084013561172b816116b7565b929592945050506040919091013590565b60006020828403121561174e57600080fd5b81356107d3816116b7565b6000806040838503121561176c57600080fd5b8235611777816116b7565b91506020830135611787816116b7565b809150509250929050565b600181811c908216806117a657607f821691505b6020821081036117c657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561076957610769611801565b8082018082111561076957610769611801565b808202811582820484141761076957610769611801565b60008261187157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561189e57600080fd5b81516107d3816116b7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118f95784516001600160a01b0316835293830193918301916001016118d4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561192f57600080fd5b835192506020840151915060408401519050925092509256fe536166654d617468496e74656765723a207375627472616374696f6e206f766572666c6f77536166654d617468496e74656765723a206469766973696f6e206279207a65726f45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f0c3c9a0ee69d1622c17ec61b128928b59176f55578b6dc99161a2b7bd21c5a64736f6c63430008130033

Deployed Bytecode Sourcemap

5043:9899:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:30;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5928:30:0;;;;;;;;6141:33;;;;;;;;;;-1:-1:-1;6141:33:0;;;;-1:-1:-1;;;6141:33:0;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;6141:33:0;196:187:1;8142:83:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5776:34::-;;;;;;;;;;;;;;;;8519:161;;;;;;;;;;-1:-1:-1;8519:161:0;;;;;:::i;:::-;;:::i;6086:23::-;;;;;;;;;;-1:-1:-1;6086:23:0;;;;-1:-1:-1;;;;;6086:23:0;;;;;;-1:-1:-1;;;;;1561:32:1;;;1543:51;;1531:2;1516:18;6086:23:0;1397:203:1;6181:40:0;;;;;;;;;;-1:-1:-1;6181:40:0;;;;-1:-1:-1;;;6181:40:0;;;;;;8413:100;;;;;;;;;;-1:-1:-1;8493:12:0;;8413:100;;5427:51;;;;;;;;;;;;;;;;5486:36;;;;;;;;;;;;;;;;9043:313;;;;;;;;;;-1:-1:-1;9043:313:0;;;;;:::i;:::-;;:::i;6460:53::-;;;;;;;;;;-1:-1:-1;6460:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6576:47;;;;;;;;;;-1:-1:-1;6576:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8324:83;;;;;;;;;;-1:-1:-1;8390:9:0;;8324:83;;8390:9;;;;2460:36:1;;2448:2;2433:18;8324:83:0;2318:184:1;5699:31:0;;;;;;;;;;;;;;;;5851;;;;;;;;;;;;;;;;6228:41;;;;;;;;;;-1:-1:-1;6228:41:0;;;;-1:-1:-1;;;6228:41:0;;;;;;5610:37;;;;;;;;;;;;;;;;9541:119;;;;;;;;;;-1:-1:-1;9541:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9634:18:0;9607:7;9634:18;;;:9;:18;;;;;;;9541:119;3957:148;;;;;;;;;;;;;:::i;:::-;;10343:247;;;;;;;;;;;;;:::i;5654:38::-;;;;;;;;;;;;;;;;5309:51;;;;;;;;;;;;;;;;6520:49;;;;;;;;;;-1:-1:-1;6520:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3732:79;;;;;;;;;;-1:-1:-1;3770:7:0;3797:6;-1:-1:-1;;;;;3797:6:0;3732:79;;5367:53;;;;;;;;;;;;;;;;8231:87;;;;;;;;;;;;;:::i;5737:32::-;;;;;;;;;;;;;;;;5889;;;;;;;;;;;;;;;;6403:50;;;;;;;;;;-1:-1:-1;6403:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9362:167;;;;;;;;;;-1:-1:-1;9362:167:0;;;;;:::i;:::-;;:::i;5817:27::-;;;;;;;;;;;;;;;;6051:28;;;;;;;;;;-1:-1:-1;6051:28:0;;;;-1:-1:-1;;;;;6051:28:0;;;5529:37;;;;;;;;;;;;;;;;11006:143;;;;;;;;;;-1:-1:-1;11006:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11114:18:0;;;11087:7;11114:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11006:143;4111:244;;;;;;;;;;-1:-1:-1;4111:244:0;;;;;:::i;:::-;;:::i;5573:30::-;;;;;;;;;;;;;;;;8142:83;8179:13;8212:5;8205:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8142:83;:::o;8519:161::-;8594:4;8611:39;369:10;8634:7;8643:6;8611:8;:39::i;:::-;-1:-1:-1;8668:4:0;8519:161;;;;;:::o;9043:313::-;9141:4;9158:36;9168:6;9176:9;9187:6;9158:9;:36::i;:::-;-1:-1:-1;9205:121:0;9214:6;369:10;9236:89;9274:6;9236:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9236:19:0;;;;;;:11;:19;;;;;;;;369:10;9236:33;;;;;;;;;;:37;:89::i;:::-;9205:8;:121::i;:::-;-1:-1:-1;9344:4:0;9043:313;;;;;;:::o;3957:148::-;3866:6;;-1:-1:-1;;;;;3866:6:0;369:10;3866:22;3858:67;;;;-1:-1:-1;;;3858:67:0;;;;;;;:::i;:::-;;;;;;;;;4064:1:::1;4048:6:::0;;4027:40:::1;::::0;-1:-1:-1;;;;;4048:6:0;;::::1;::::0;4027:40:::1;::::0;4064:1;;4027:40:::1;4095:1;4078:19:::0;;-1:-1:-1;;;;;;4078:19:0::1;::::0;;3957:148::o;10343:247::-;3866:6;;-1:-1:-1;;;;;3866:6:0;369:10;3866:22;3858:67;;;;-1:-1:-1;;;3858:67:0;;;;;;;:::i;:::-;10411:12:::1;::::0;10397:11:::1;:26:::0;10434:22:::1;:30:::0;;-1:-1:-1;;;;10434:30:0::1;::::0;;;10475:17:::1;:21:::0;;;10507:18:::1;:22:::0;;;10540:11:::1;:15:::0;;;10566:12:::1;:16:::0;10343:247::o;8231:87::-;8270:13;8303:7;8296:14;;;;;:::i;9362:167::-;9440:4;9457:42;369:10;9481:9;9492:6;9457:9;:42::i;4111:244::-;3866:6;;-1:-1:-1;;;;;3866:6:0;369:10;3866:22;3858:67;;;;-1:-1:-1;;;3858:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4200:22:0;::::1;4192:73;;;::::0;-1:-1:-1;;;4192:73:0;;4074:2:1;4192:73:0::1;::::0;::::1;4056:21:1::0;4113:2;4093:18;;;4086:30;4152:34;4132:18;;;4125:62;-1:-1:-1;;;4203:18:1;;;4196:36;4249:19;;4192:73:0::1;3872:402:1::0;4192:73:0::1;4302:6;::::0;;4281:38:::1;::::0;-1:-1:-1;;;;;4281:38:0;;::::1;::::0;4302:6;::::1;::::0;4281:38:::1;::::0;::::1;4330:6;:17:::0;;-1:-1:-1;;;;;;4330:17:0::1;-1:-1:-1::0;;;;;4330:17:0;;;::::1;::::0;;;::::1;::::0;;4111:244::o;8692:335::-;-1:-1:-1;;;;;8785:19:0;;8777:68;;;;-1:-1:-1;;;8777:68:0;;4481:2:1;8777:68:0;;;4463:21:1;4520:2;4500:18;;;4493:30;4559:34;4539:18;;;4532:62;-1:-1:-1;;;4610:18:1;;;4603:34;4654:19;;8777:68:0;4279:400:1;8777:68:0;-1:-1:-1;;;;;8864:21:0;;8856:68;;;;-1:-1:-1;;;8856:68:0;;4886:2:1;8856:68:0;;;4868:21:1;4925:2;4905:18;;;4898:30;4964:34;4944:18;;;4937:62;-1:-1:-1;;;5015:18:1;;;5008:32;5057:19;;8856:68:0;4684:398:1;8856:68:0;-1:-1:-1;;;;;8935:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8987:32;;160:25:1;;;8987:32:0;;133:18:1;8987:32:0;;;;;;;8692:335;;;:::o;13106:1792::-;13193:4;-1:-1:-1;;;;;13218:20:0;;13210:70;;;;-1:-1:-1;;;13210:70:0;;5289:2:1;13210:70:0;;;5271:21:1;5328:2;5308:18;;;5301:30;5367:34;5347:18;;;5340:62;-1:-1:-1;;;5418:18:1;;;5411:35;5463:19;;13210:70:0;5087:401:1;13210:70:0;-1:-1:-1;;;;;13299:23:0;;13291:71;;;;-1:-1:-1;;;13291:71:0;;5695:2:1;13291:71:0;;;5677:21:1;5734:2;5714:18;;;5707:30;5773:34;5753:18;;;5746:62;-1:-1:-1;;;5824:18:1;;;5817:33;5867:19;;13291:71:0;5493:399:1;13291:71:0;13376:7;;-1:-1:-1;;;13376:7:0;;;;13373:1518;;;13417:44;13435:6;13443:9;13454:6;13417:17;:44::i;:::-;13410:51;;;;13373:1518;-1:-1:-1;;;;;13517:24:0;;;;;;:16;:24;;;;;;;;13516:25;:57;;;;-1:-1:-1;;;;;;13546:27:0;;;;;;:16;:27;;;;;;;;13545:28;13516:57;13513:171;;;13612:11;;13602:6;:21;;13594:74;;;;-1:-1:-1;;;13594:74:0;;6099:2:1;13594:74:0;;;6081:21:1;6138:2;6118:18;;;6111:30;6177:34;6157:18;;;6150:62;-1:-1:-1;;;6228:18:1;;;6221:38;6276:19;;13594:74:0;5897:404:1;13594:74:0;13749:4;13710:18;9634;;;:9;:18;;;;;;13803:16;;13789:30;;;;;;;13852:23;;-1:-1:-1;13868:7:0;;-1:-1:-1;;;13868:7:0;;;;13867:8;13852:23;:52;;;;-1:-1:-1;;;;;;13879:25:0;;;;;;:14;:25;;;;;;;;13852:52;:70;;;;-1:-1:-1;13908:14:0;;-1:-1:-1;;;13908:14:0;;;;13852:70;:100;;;;-1:-1:-1;;;;;;13927:25:0;;;;;;:17;:25;;;;;;;;13926:26;13852:100;:129;;;;;13965:16;;13956:6;:25;13852:129;13848:302;;;14019:20;;-1:-1:-1;;;14019:20:0;;;;14016:75;;;14075:16;;14062:29;;14016:75;14110:20;14119:10;14110:8;:20::i;:::-;-1:-1:-1;;;;;14190:25:0;;14164:22;14190:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14219:28:0;;;;;;:17;:28;;;;;;;;14190:57;14189:148;;14303:34;14311:6;14319:9;14330:6;14303:7;:34::i;:::-;14189:148;;;14294:6;14189:148;14355:22;;14164:173;;-1:-1:-1;;;;14355:22:0;;;;:58;;;;-1:-1:-1;;;;;;14382:31:0;;;;;;:20;:31;;;;;;;;14381:32;14355:58;14352:146;;;14484:13;;14440:40;14465:14;14440:20;14450:9;-1:-1:-1;;;;;9634:18:0;9607:7;9634:18;;;:9;:18;;;;;;;9541:119;14440:20;:24;;:40::i;:::-;:57;;14432:66;;;;;;14533:22;;14513:15;;-1:-1:-1;;;14533:22:0;;;;14532:23;:52;;;;-1:-1:-1;;;;;;14559:25:0;;;;;;:17;:25;;;;;;;;14532:52;14531:92;;14617:6;14531:92;;;14588:26;:6;14599:14;14588:10;:26::i;:::-;14513:110;;14658:54;14680:7;14658:54;;;;;;;;;;;;;-1:-1:-1;;;14658:54:0;;;:9;:17;14668:6;-1:-1:-1;;;;;14658:17:0;-1:-1:-1;;;;;14658:17:0;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;-1:-1:-1;;;;;14638:17:0;;;;;;;:9;:17;;;;;;:74;;;;14750:20;;;;;;;:40;;14775:14;14750:24;:40::i;:::-;-1:-1:-1;;;;;14727:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14810:43;;;;;;;;;;14838:14;160:25:1;;148:2;133:18;;14:177;14810:43:0;;;;;;;;14875:4;14868:11;;;;;;;;1004:190;1090:7;1126:12;1118:6;;;;1110:29;;;;-1:-1:-1;;;1110:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1150:9:0;1162:5;1166:1;1162;:5;:::i;:::-;1150:17;1004:190;-1:-1:-1;;;;;1004:190:0:o;12149:333::-;12282:53;;;;;;;;;;;-1:-1:-1;;;12282:53:0;;;;;;;;-1:-1:-1;;;;;12282:17:0;;12245:4;12282:17;;;:9;:17;;;;;;;:53;;12304:6;;12282:21;:53::i;:::-;-1:-1:-1;;;;;12262:17:0;;;;;;;:9;:17;;;;;;:73;;;;12369:20;;;;;;;:32;;12394:6;12369:24;:32::i;:::-;-1:-1:-1;;;;;12346:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12417:35;;;;;;;;;;12445:6;160:25:1;;148:2;133:18;;14:177;12417:35:0;;;;;;;;-1:-1:-1;12470:4:0;12149:333;;;;;:::o;11155:982::-;6662:7;:14;;-1:-1:-1;;;;6662:14:0;-1:-1:-1;;;6662:14:0;;;:7;11274:10;11255:13:::1;::::0;6662:14;;11243:49:::1;::::0;11290:1:::1;::::0;11243:42:::1;::::0;;;:7;;:11:::1;:26::i;:::-;:30:::0;::::1;:42::i;:49::-;11221:71:::0;-1:-1:-1;11303:21:0::1;11327:24;:7:::0;11221:71;11327:11:::1;:24::i;:::-;11303:48;;11362:30;11378:13;11362:15;:30::i;:::-;11497:13;::::0;11428:21:::1;::::0;11403:22:::1;::::0;11482:36:::1;::::0;11497:20:::1;::::0;11515:1:::1;11497:17;:20::i;:::-;11482:10;::::0;;:14:::1;:36::i;:::-;11460:58;;11539:26;11568:57;11623:1;11568:50;11606:11;11568:33;11587:13;;11568:14;:18;;:33;;;;:::i;:57::-;11539:86;;11636:28;11667:45;11700:11;11667:28;11686:8;;11667:14;:18;;:28;;;;:::i;:45::-;11636:76:::0;-1:-1:-1;11723:26:0::1;11752:64;11636:76:::0;11752:38:::1;:14:::0;11771:18;11752::::1;:38::i;:::-;:42:::0;::::1;:64::i;:::-;11723:93:::0;-1:-1:-1;11830:22:0;;11827:86:::1;;11880:12;::::0;11867:46:::1;::::0;-1:-1:-1;;;;;11880:12:0::1;11894:18:::0;11867:12:::1;:46::i;:::-;11927:24:::0;;11924:90:::1;;11979:12;::::0;11966:48:::1;::::0;-1:-1:-1;;;;;11979:12:0::1;11993:20:::0;11966:12:::1;:48::i;:::-;12049:1;12028:18;:22;:41;;;;;12068:1;12054:11;:15;12028:41;12025:104;;;12084:45;12097:11;12110:18;12084:12;:45::i;:::-;-1:-1:-1::0;;6699:7:0;:15;;-1:-1:-1;;;;6699:15:0;;;-1:-1:-1;;;;;;11155:982:0:o;12488:612::-;-1:-1:-1;;;;;12649:22:0;;12574:7;12649:22;;;:14;:22;;;;;;12574:7;;12649:22;;12646:215;;;12700:32;12728:3;12700:23;12711:11;;12700:6;:10;;:23;;;;:::i;:32::-;12688:44;;12646:215;;;-1:-1:-1;;;;;12762:25:0;;;;;;:14;:25;;;;;;;;12759:102;;;12816:33;12845:3;12816:24;12827:12;;12816:6;:10;;:24;;;;:::i;:33::-;12804:45;;12759:102;12884:13;;12881:173;;12959:4;12941:24;;;;:9;:24;;;;;;:39;;12970:9;12941:28;:39::i;:::-;12932:4;12914:24;;;;:9;:24;;;;;;;:66;;;;13000:42;;-1:-1:-1;;;;;13000:42:0;;;;;;;13032:9;160:25:1;;148:2;133:18;;14:177;13000:42:0;;;;;;;;12881:173;13071:21;:6;13082:9;13071:10;:21::i;663:186::-;721:7;;753:5;757:1;753;:5;:::i;:::-;741:17;;782:1;777;:6;;769:53;;;;-1:-1:-1;;;769:53:0;;6903:2:1;769:53:0;;;6885:21:1;6942:2;6922:18;;;6915:30;6981:34;6961:18;;;6954:62;-1:-1:-1;;;7032:18:1;;;7025:32;7074:19;;769:53:0;6701:398:1;855:143:0;913:7;940:50;944:1;947;940:50;;;;;;;;;;;;;;;;;:3;:50::i;1200:253::-;1258:7;1282:1;1287;1282:6;1278:47;;-1:-1:-1;1312:1:0;1305:8;;1278:47;1335:9;1347:5;1351:1;1347;:5;:::i;:::-;1335:17;-1:-1:-1;1380:1:0;1371:5;1375:1;1335:17;1371:5;:::i;:::-;:10;1363:63;;;;-1:-1:-1;;;1363:63:0;;7701:2:1;1363:63:0;;;7683:21:1;7740:2;7720:18;;;7713:30;7779:34;7759:18;;;7752:62;-1:-1:-1;;;7830:18:1;;;7823:38;7878:19;;1363:63:0;7499:404:1;1459:139:0;1517:7;1544:46;1548:1;1551;1544:46;;;;;;;;;;;;;;;;;:3;:46::i;9672:529::-;9761:16;;;9775:1;9761:16;;;;;;;;9737:21;;9761:16;;;;;;;;;;-1:-1:-1;9761:16:0;9737:40;;9806:4;9788;9793:1;9788:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9788:23:0;;;:7;;;;;;;;;;:23;;;;9832:10;;:17;;;-1:-1:-1;;;9832:17:0;;;;:10;;;;;:15;;:17;;;;;9788:7;;9832:17;;;;;:10;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9822:4;9827:1;9822:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9822:27:0;;;:7;;;;;;;;;:27;9892:10;;9860:57;;9877:4;;9892:10;9905:11;9860:8;:57::i;:::-;9958:10;;:235;;-1:-1:-1;;;9958:235:0;;-1:-1:-1;;;;;9958:10:0;;;;:61;;:235;;10034:11;;9958:10;;10104:4;;10131;;10167:15;;9958:235;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9726:475;9672:529;:::o;10213:118::-;10297:26;;-1:-1:-1;;;;;10297:18:0;;;:26;;;;;10316:6;;10297:26;;;;10316:6;10297:18;:26;;;;;;;;;;;;;;;;;;;;;10213:118;;:::o;10596:404::-;10709:10;;10677:57;;10694:4;;-1:-1:-1;;;;;10709:10:0;10722:11;10677:8;:57::i;:::-;10745:10;;-1:-1:-1;;;;;10745:10:0;:26;10779:9;10812:4;10832:11;10745:10;;10944:7;3770;3797:6;-1:-1:-1;;;;;3797:6:0;;3732:79;10944:7;10745:247;;;;;;-1:-1:-1;;;;;;10745:247:0;;;-1:-1:-1;;;;;9772:15:1;;;10745:247:0;;;9754:34:1;9804:18;;;9797:34;;;;9847:18;;;9840:34;;;;9890:18;;;9883:34;9954:15;;;9933:19;;;9926:44;10966:15:0;9986:19:1;;;9979:35;9688:19;;10745:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10596:404;;:::o;1604:189::-;1690:7;1725:12;1718:5;1710:28;;;;-1:-1:-1;;;1710:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1749:9:0;1761:5;1765:1;1761;:5;:::i;388:548:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;672:3;857:1;852:2;843:6;832:9;828:22;824:31;817:42;927:2;920;916:7;911:2;903:6;899:15;895:29;884:9;880:45;876:54;868:62;;;;388:548;;;;:::o;941:131::-;-1:-1:-1;;;;;1016:31:1;;1006:42;;996:70;;1062:1;1059;1052:12;996:70;941:131;:::o;1077:315::-;1145:6;1153;1206:2;1194:9;1185:7;1181:23;1177:32;1174:52;;;1222:1;1219;1212:12;1174:52;1261:9;1248:23;1280:31;1305:5;1280:31;:::i;:::-;1330:5;1382:2;1367:18;;;;1354:32;;-1:-1:-1;;;1077:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2733:388::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2917:9;2904:23;2936:31;2961:5;2936:31;:::i;:::-;2986:5;-1:-1:-1;3043:2:1;3028:18;;3015:32;3056:33;3015:32;3056:33;:::i;:::-;3108:7;3098:17;;;2733:388;;;;;:::o;3126:380::-;3205:1;3201:12;;;;3248;;;3269:61;;3323:4;3315:6;3311:17;3301:27;;3269:61;3376:2;3368:6;3365:14;3345:18;3342:38;3339:161;;3422:10;3417:3;3413:20;3410:1;3403:31;3457:4;3454:1;3447:15;3485:4;3482:1;3475:15;3339:161;;3126:380;;;:::o;3511:356::-;3713:2;3695:21;;;3732:18;;;3725:30;3791:34;3786:2;3771:18;;3764:62;3858:2;3843:18;;3511:356::o;6306:127::-;6367:10;6362:3;6358:20;6355:1;6348:31;6398:4;6395:1;6388:15;6422:4;6419:1;6412:15;6438:128;6505:9;;;6526:11;;;6523:37;;;6540:18;;:::i;6571:125::-;6636:9;;;6657:10;;;6654:36;;;6670:18;;:::i;7104:168::-;7177:9;;;7208;;7225:15;;;7219:22;;7205:37;7195:71;;7246:18;;:::i;7277:217::-;7317:1;7343;7333:132;;7387:10;7382:3;7378:20;7375:1;7368:31;7422:4;7419:1;7412:15;7450:4;7447:1;7440:15;7333:132;-1:-1:-1;7479:9:1;;7277:217::o;8040:127::-;8101:10;8096:3;8092:20;8089:1;8082:31;8132:4;8129:1;8122:15;8156:4;8153:1;8146:15;8172:251;8242:6;8295:2;8283:9;8274:7;8270:23;8266:32;8263:52;;;8311:1;8308;8301:12;8263:52;8343:9;8337:16;8362:31;8387:5;8362:31;:::i;8428:980::-;8690:4;8738:3;8727:9;8723:19;8769:6;8758:9;8751:25;8795:2;8833:6;8828:2;8817:9;8813:18;8806:34;8876:3;8871:2;8860:9;8856:18;8849:31;8900:6;8935;8929:13;8966:6;8958;8951:22;9004:3;8993:9;8989:19;8982:26;;9043:2;9035:6;9031:15;9017:29;;9064:1;9074:195;9088:6;9085:1;9082:13;9074:195;;;9153:13;;-1:-1:-1;;;;;9149:39:1;9137:52;;9244:15;;;;9209:12;;;;9185:1;9103:9;9074:195;;;-1:-1:-1;;;;;;;9325:32:1;;;;9320:2;9305:18;;9298:60;-1:-1:-1;;;9389:3:1;9374:19;9367:35;9286:3;8428:980;-1:-1:-1;;;8428:980:1:o;10025:306::-;10113:6;10121;10129;10182:2;10170:9;10161:7;10157:23;10153:32;10150:52;;;10198:1;10195;10188:12;10150:52;10227:9;10221:16;10211:26;;10277:2;10266:9;10262:18;10256:25;10246:35;;10321:2;10310:9;10306:18;10300:25;10290:35;;10025:306;;;;;:::o

Swarm Source

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