ETH Price: $3,269.43 (-4.29%)
Gas: 8 Gwei

Token

GIFTBOT 🤖 (GIFTBOT)
 

Overview

Max Total Supply

1,000,000,000 GIFTBOT

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,708,639.918457148379379508 GIFTBOT

Value
$0.00
0x35a84ddacefdf2162b50df824e585e289df665ce
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:
GIFTBOT

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-10
*/

/**
Telegram:  https://t.me/Giftboterc 

Webside:   http://Giftbot.space

Twitter:   https://x.com/giftbots?s

DisCord:   https://discord.gg/2RgKwCP6

**/
// SPDX-License-Identifier: MIT


pragma solidity 0.8.0;

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;
    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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract GIFTBOT is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=16;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000  * 10**_decimals;
    string private constant _name = unicode"GIFTBOT 🤖";
    string private constant _symbol = unicode"GIFTBOT";
    uint256 public _maxTxAmount = 50000000 * 10**_decimals;
    uint256 public _maxWalletSize = 100000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _balances[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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function OpenTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    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":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":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"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"}]

60806040526003600755601e60085560006009556003600a55601e600b55601e600c556010600d556000600e556012600a6200003c9190620002e3565b6200004c906302faf080620003db565b600f556200005d6012600a620002e3565b6200006d906305f5e100620003db565b6010556200007e6012600a620002e3565b6200008d9062989680620003db565b6011556200009e6012600a620002e3565b620000ad9062989680620003db565b6012556014805461ffff60a81b19169055348015620000cb57600080fd5b506000620000d86200027a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200012c6200027a565b600580546001600160a01b0319166001600160a01b03929092169190911790556200015a6012600a620002e3565b6200016a90633b9aca00620003db565b60016000620001786200027a565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620001b26200027e60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620002136200027a565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200024d6012600a620002e3565b6200025d90633b9aca00620003db565b6040516200026c91906200028d565b60405180910390a362000413565b3390565b6000546001600160a01b031690565b90815260200190565b80825b6001808611620002aa5750620002da565b818704821115620002bf57620002bf620003fd565b80861615620002cd57918102915b9490941c93800262000299565b94509492505050565b6000620002f760001960ff851684620002fe565b9392505050565b6000826200030f57506001620002f7565b816200031e57506000620002f7565b8160018114620003375760028114620003425762000376565b6001915050620002f7565b60ff841115620003565762000356620003fd565b6001841b9150848211156200036f576200036f620003fd565b50620002f7565b5060208310610133831016604e8410600b8410161715620003ae575081810a83811115620003a857620003a8620003fd565b620002f7565b620003bd848484600162000296565b808604821115620003d257620003d2620003fd565b02949350505050565b6000816000190483118215151615620003f857620003f8620003fd565b500290565b634e487b7160e01b600052601160045260246000fd5b611c8580620004236000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b41146102ed578063a9059cbb14610302578063bf474bed14610322578063d34628cc14610337578063dd62ed3e146103575761012a565b8063715018a614610277578063751039fc1461028c5780637d1db4a5146102a15780638da5cb5b146102b65780638f9a55c0146102d85761012a565b8063313ce567116100e7578063313ce567146101de57806331c2d847146102005780633bbac5791461022257806351cd7cc31461024257806370a08231146102575761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610377565b60405161015191906116c0565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114fa565b61039d565b60405161015191906116b5565b34801561019357600080fd5b5061019c6103bb565b60405161015191906119bc565b3480156101b557600080fd5b5061019c6103c1565b3480156101ca57600080fd5b5061017a6101d93660046114ba565b6103e2565b3480156101ea57600080fd5b506101f361046a565b6040516101519190611a35565b34801561020c57600080fd5b5061022061021b366004611525565b61046f565b005b34801561022e57600080fd5b5061017a61023d36600461144a565b610527565b34801561024e57600080fd5b50610220610549565b34801561026357600080fd5b5061019c61027236600461144a565b6108e7565b34801561028357600080fd5b50610220610902565b34801561029857600080fd5b50610220610981565b3480156102ad57600080fd5b5061019c610a42565b3480156102c257600080fd5b506102cb610a48565b6040516101519190611633565b3480156102e457600080fd5b5061019c610a57565b3480156102f957600080fd5b50610144610a5d565b34801561030e57600080fd5b5061017a61031d3660046114fa565b610a7e565b34801561032e57600080fd5b5061019c610a92565b34801561034357600080fd5b50610220610352366004611525565b610a98565b34801561036357600080fd5b5061019c610372366004611482565b610b43565b60408051808201909152600c81526b23a4a32a2127aa10784fd24b60a11b602082015290565b60006103b16103aa610b6e565b8484610b72565b5060015b92915050565b60125481565b60006103cf6012600a611ac1565b6103dd90633b9aca00611b92565b905090565b60006103ef848484610c26565b61045f846103fb610b6e565b61045a85604051806060016040528060288152602001611c28602891396001600160a01b038a16600090815260026020526040812090610439610b6e565b6001600160a01b0316815260208101919091526040016000205491906110e5565b610b72565b5060015b9392505050565b601290565b610477610b6e565b6000546001600160a01b039081169116146104ad5760405162461bcd60e51b81526004016104a490611847565b60405180910390fd5b60005b8151811015610523576000600460008484815181106104df57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051b81611bc8565b9150506104b0565b5050565b6001600160a01b03811660009081526004602052604090205460ff165b919050565b610551610b6e565b6000546001600160a01b0390811691161461057e5760405162461bcd60e51b81526004016104a490611847565b601454600160a01b900460ff16156105a85760405162461bcd60e51b81526004016104a490611985565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556105f99030906001600160a01b03166105eb6012600a611ac1565b61045a90633b9aca00611b92565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561064757600080fd5b505afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190611466565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106dc57600080fd5b505afa1580156106f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107149190611466565b6040518363ffffffff1660e01b8152600401610731929190611647565b602060405180830381600087803b15801561074b57600080fd5b505af115801561075f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107839190611466565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d71947306107b3816108e7565b6000806107be610a48565b426040518863ffffffff1660e01b81526004016107e09695949392919061167a565b6060604051808303818588803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108329190611606565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b39261086c92169060001990600401611661565b602060405180830381600087803b15801561088657600080fd5b505af115801561089a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108be91906115e6565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b17905543600655565b6001600160a01b031660009081526001602052604090205490565b61090a610b6e565b6000546001600160a01b039081169116146109375760405162461bcd60e51b81526004016104a490611847565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610989610b6e565b6000546001600160a01b039081169116146109b65760405162461bcd60e51b81526004016104a490611847565b6109c26012600a611ac1565b6109d090633b9aca00611b92565b600f556109df6012600a611ac1565b6109ed90633b9aca00611b92565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a1d6012600a611ac1565b610a2b90633b9aca00611b92565b604051610a3891906119bc565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b60408051808201909152600781526611d251951093d560ca1b602082015290565b60006103b1610a8b610b6e565b8484610c26565b60115481565b610aa0610b6e565b6000546001600160a01b03908116911614610acd5760405162461bcd60e51b81526004016104a490611847565b60005b815181101561052357600160046000848481518110610aff57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3b81611bc8565b915050610ad0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b985760405162461bcd60e51b81526004016104a490611941565b6001600160a01b038216610bbe5760405162461bcd60e51b81526004016104a49061178d565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c199085906119bc565b60405180910390a3505050565b6001600160a01b038316610c4c5760405162461bcd60e51b81526004016104a4906118c5565b6001600160a01b038216610c725760405162461bcd60e51b81526004016104a490611713565b60008111610c925760405162461bcd60e51b81526004016104a49061187c565b6000610c9c610a48565b6001600160a01b0316846001600160a01b031614158015610cd65750610cc0610a48565b6001600160a01b0316836001600160a01b031614155b15610fa0576001600160a01b03841660009081526004602052604090205460ff16158015610d1d57506001600160a01b03831660009081526004602052604090205460ff16155b610d2657600080fd5b610d526064610d4c600b54600e5411610d4157600754610d45565b6009545b859061111f565b90611164565b6014549091506001600160a01b038581169116148015610d8057506013546001600160a01b03848116911614155b8015610da557506001600160a01b03831660009081526003602052604090205460ff16155b15610e4057600f54821115610dcc5760405162461bcd60e51b81526004016104a490611756565b60105482610dd9856108e7565b610de39190611a43565b1115610e015760405162461bcd60e51b81526004016104a49061190a565b436006546003610e119190611a43565b1115610e2a57610e20836111a6565b15610e2a57600080fd5b600e8054906000610e3a83611bc8565b91905055505b6014546001600160a01b03848116911614801590610e7757506001600160a01b03831660009081526003602052604090205460ff16155b15610eb15760105482610e89856108e7565b610e939190611a43565b1115610eb15760405162461bcd60e51b81526004016104a49061190a565b6014546001600160a01b038481169116148015610ed757506001600160a01b0384163014155b15610f0457610f016064610d4c600c54600e5411610ef757600854610d45565b600a54859061111f565b90505b6000610f0f306108e7565b601454909150600160a81b900460ff16158015610f3957506014546001600160a01b038581169116145b8015610f4e5750601454600160b01b900460ff165b8015610f5b575060115481115b8015610f6a5750600d54600e54115b15610f9e57610f8c610f8784610f82846012546111ac565b6111ac565b6111c1565b478015610f9c57610f9c47611366565b505b505b80156110185730600090815260016020526040902054610fc090826113a0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061100f9085906119bc565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461103b90836113cf565b6001600160a01b03851660009081526001602052604090205561108061106183836113cf565b6001600160a01b038516600090815260016020526040902054906113a0565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ca85856113cf565b6040516110d791906119bc565b60405180910390a350505050565b600081848411156111095760405162461bcd60e51b81526004016104a491906116c0565b5060006111168486611bb1565b95945050505050565b60008261112e575060006103b5565b600061113a8385611b92565b9050826111478583611a5b565b146104635760405162461bcd60e51b81526004016104a490611806565b600061046383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611411565b3b151590565b60008183116111bb5782610463565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061121757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a39190611466565b816001815181106112c457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546112ea9130911684610b72565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113239085906000908690309042906004016119c5565b600060405180830381600087803b15801561133d57600080fd5b505af1158015611351573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610523573d6000803e3d6000fd5b6000806113ad8385611a43565b9050838110156104635760405162461bcd60e51b81526004016104a4906117cf565b600061046383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e5565b600081836114325760405162461bcd60e51b81526004016104a491906116c0565b5060006111168486611a5b565b803561054481611c0f565b60006020828403121561145b578081fd5b813561046381611c0f565b600060208284031215611477578081fd5b815161046381611c0f565b60008060408385031215611494578081fd5b823561149f81611c0f565b915060208301356114af81611c0f565b809150509250929050565b6000806000606084860312156114ce578081fd5b83356114d981611c0f565b925060208401356114e981611c0f565b929592945050506040919091013590565b6000806040838503121561150c578182fd5b823561151781611c0f565b946020939093013593505050565b60006020808385031215611537578182fd5b823567ffffffffffffffff8082111561154e578384fd5b818501915085601f830112611561578384fd5b81358181111561157357611573611bf9565b8381026040518582820101818110858211171561159257611592611bf9565b604052828152858101935084860182860187018a10156115b0578788fd5b8795505b838610156115d9576115c58161143f565b8552600195909501949386019386016115b4565b5098975050505050505050565b6000602082840312156115f7578081fd5b81518015158114610463578182fd5b60008060006060848603121561161a578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116ec578581018301518582016040015282016116d0565b818111156116fd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611a145784516001600160a01b0316835293830193918301916001016119ef565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611a5657611a56611be3565b500190565b600082611a7657634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a8d5750611ab8565b818704821115611a9f57611a9f611be3565b80861615611aac57918102915b9490941c938002611a7e565b94509492505050565b600061046360001960ff851684600082611add57506001610463565b81611aea57506000610463565b8160018114611b005760028114611b0a57611b37565b6001915050610463565b60ff841115611b1b57611b1b611be3565b6001841b915084821115611b3157611b31611be3565b50610463565b5060208310610133831016604e8410600b8410161715611b6a575081810a83811115611b6557611b65611be3565b610463565b611b778484846001611a7b565b808604821115611b8957611b89611be3565b02949350505050565b6000816000190483118215151615611bac57611bac611be3565b500290565b600082821015611bc357611bc3611be3565b500390565b6000600019821415611bdc57611bdc611be3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c2457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208cfa00c67bd24de38f03b389ad69dbb75031aa97611f43e9926ab8f4c7ef8b1264736f6c63430008000033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b41146102ed578063a9059cbb14610302578063bf474bed14610322578063d34628cc14610337578063dd62ed3e146103575761012a565b8063715018a614610277578063751039fc1461028c5780637d1db4a5146102a15780638da5cb5b146102b65780638f9a55c0146102d85761012a565b8063313ce567116100e7578063313ce567146101de57806331c2d847146102005780633bbac5791461022257806351cd7cc31461024257806370a08231146102575761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461018757806318160ddd146101a957806323b872dd146101be5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610377565b60405161015191906116c0565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114fa565b61039d565b60405161015191906116b5565b34801561019357600080fd5b5061019c6103bb565b60405161015191906119bc565b3480156101b557600080fd5b5061019c6103c1565b3480156101ca57600080fd5b5061017a6101d93660046114ba565b6103e2565b3480156101ea57600080fd5b506101f361046a565b6040516101519190611a35565b34801561020c57600080fd5b5061022061021b366004611525565b61046f565b005b34801561022e57600080fd5b5061017a61023d36600461144a565b610527565b34801561024e57600080fd5b50610220610549565b34801561026357600080fd5b5061019c61027236600461144a565b6108e7565b34801561028357600080fd5b50610220610902565b34801561029857600080fd5b50610220610981565b3480156102ad57600080fd5b5061019c610a42565b3480156102c257600080fd5b506102cb610a48565b6040516101519190611633565b3480156102e457600080fd5b5061019c610a57565b3480156102f957600080fd5b50610144610a5d565b34801561030e57600080fd5b5061017a61031d3660046114fa565b610a7e565b34801561032e57600080fd5b5061019c610a92565b34801561034357600080fd5b50610220610352366004611525565b610a98565b34801561036357600080fd5b5061019c610372366004611482565b610b43565b60408051808201909152600c81526b23a4a32a2127aa10784fd24b60a11b602082015290565b60006103b16103aa610b6e565b8484610b72565b5060015b92915050565b60125481565b60006103cf6012600a611ac1565b6103dd90633b9aca00611b92565b905090565b60006103ef848484610c26565b61045f846103fb610b6e565b61045a85604051806060016040528060288152602001611c28602891396001600160a01b038a16600090815260026020526040812090610439610b6e565b6001600160a01b0316815260208101919091526040016000205491906110e5565b610b72565b5060015b9392505050565b601290565b610477610b6e565b6000546001600160a01b039081169116146104ad5760405162461bcd60e51b81526004016104a490611847565b60405180910390fd5b60005b8151811015610523576000600460008484815181106104df57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051b81611bc8565b9150506104b0565b5050565b6001600160a01b03811660009081526004602052604090205460ff165b919050565b610551610b6e565b6000546001600160a01b0390811691161461057e5760405162461bcd60e51b81526004016104a490611847565b601454600160a01b900460ff16156105a85760405162461bcd60e51b81526004016104a490611985565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556105f99030906001600160a01b03166105eb6012600a611ac1565b61045a90633b9aca00611b92565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561064757600080fd5b505afa15801561065b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067f9190611466565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106dc57600080fd5b505afa1580156106f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107149190611466565b6040518363ffffffff1660e01b8152600401610731929190611647565b602060405180830381600087803b15801561074b57600080fd5b505af115801561075f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107839190611466565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d71947306107b3816108e7565b6000806107be610a48565b426040518863ffffffff1660e01b81526004016107e09695949392919061167a565b6060604051808303818588803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108329190611606565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b39261086c92169060001990600401611661565b602060405180830381600087803b15801561088657600080fd5b505af115801561089a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108be91906115e6565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b17905543600655565b6001600160a01b031660009081526001602052604090205490565b61090a610b6e565b6000546001600160a01b039081169116146109375760405162461bcd60e51b81526004016104a490611847565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610989610b6e565b6000546001600160a01b039081169116146109b65760405162461bcd60e51b81526004016104a490611847565b6109c26012600a611ac1565b6109d090633b9aca00611b92565b600f556109df6012600a611ac1565b6109ed90633b9aca00611b92565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a1d6012600a611ac1565b610a2b90633b9aca00611b92565b604051610a3891906119bc565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b60408051808201909152600781526611d251951093d560ca1b602082015290565b60006103b1610a8b610b6e565b8484610c26565b60115481565b610aa0610b6e565b6000546001600160a01b03908116911614610acd5760405162461bcd60e51b81526004016104a490611847565b60005b815181101561052357600160046000848481518110610aff57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3b81611bc8565b915050610ad0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b985760405162461bcd60e51b81526004016104a490611941565b6001600160a01b038216610bbe5760405162461bcd60e51b81526004016104a49061178d565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c199085906119bc565b60405180910390a3505050565b6001600160a01b038316610c4c5760405162461bcd60e51b81526004016104a4906118c5565b6001600160a01b038216610c725760405162461bcd60e51b81526004016104a490611713565b60008111610c925760405162461bcd60e51b81526004016104a49061187c565b6000610c9c610a48565b6001600160a01b0316846001600160a01b031614158015610cd65750610cc0610a48565b6001600160a01b0316836001600160a01b031614155b15610fa0576001600160a01b03841660009081526004602052604090205460ff16158015610d1d57506001600160a01b03831660009081526004602052604090205460ff16155b610d2657600080fd5b610d526064610d4c600b54600e5411610d4157600754610d45565b6009545b859061111f565b90611164565b6014549091506001600160a01b038581169116148015610d8057506013546001600160a01b03848116911614155b8015610da557506001600160a01b03831660009081526003602052604090205460ff16155b15610e4057600f54821115610dcc5760405162461bcd60e51b81526004016104a490611756565b60105482610dd9856108e7565b610de39190611a43565b1115610e015760405162461bcd60e51b81526004016104a49061190a565b436006546003610e119190611a43565b1115610e2a57610e20836111a6565b15610e2a57600080fd5b600e8054906000610e3a83611bc8565b91905055505b6014546001600160a01b03848116911614801590610e7757506001600160a01b03831660009081526003602052604090205460ff16155b15610eb15760105482610e89856108e7565b610e939190611a43565b1115610eb15760405162461bcd60e51b81526004016104a49061190a565b6014546001600160a01b038481169116148015610ed757506001600160a01b0384163014155b15610f0457610f016064610d4c600c54600e5411610ef757600854610d45565b600a54859061111f565b90505b6000610f0f306108e7565b601454909150600160a81b900460ff16158015610f3957506014546001600160a01b038581169116145b8015610f4e5750601454600160b01b900460ff165b8015610f5b575060115481115b8015610f6a5750600d54600e54115b15610f9e57610f8c610f8784610f82846012546111ac565b6111ac565b6111c1565b478015610f9c57610f9c47611366565b505b505b80156110185730600090815260016020526040902054610fc090826113a0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061100f9085906119bc565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461103b90836113cf565b6001600160a01b03851660009081526001602052604090205561108061106183836113cf565b6001600160a01b038516600090815260016020526040902054906113a0565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ca85856113cf565b6040516110d791906119bc565b60405180910390a350505050565b600081848411156111095760405162461bcd60e51b81526004016104a491906116c0565b5060006111168486611bb1565b95945050505050565b60008261112e575060006103b5565b600061113a8385611b92565b9050826111478583611a5b565b146104635760405162461bcd60e51b81526004016104a490611806565b600061046383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611411565b3b151590565b60008183116111bb5782610463565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061121757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a39190611466565b816001815181106112c457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546112ea9130911684610b72565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113239085906000908690309042906004016119c5565b600060405180830381600087803b15801561133d57600080fd5b505af1158015611351573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610523573d6000803e3d6000fd5b6000806113ad8385611a43565b9050838110156104635760405162461bcd60e51b81526004016104a4906117cf565b600061046383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e5565b600081836114325760405162461bcd60e51b81526004016104a491906116c0565b5060006111168486611a5b565b803561054481611c0f565b60006020828403121561145b578081fd5b813561046381611c0f565b600060208284031215611477578081fd5b815161046381611c0f565b60008060408385031215611494578081fd5b823561149f81611c0f565b915060208301356114af81611c0f565b809150509250929050565b6000806000606084860312156114ce578081fd5b83356114d981611c0f565b925060208401356114e981611c0f565b929592945050506040919091013590565b6000806040838503121561150c578182fd5b823561151781611c0f565b946020939093013593505050565b60006020808385031215611537578182fd5b823567ffffffffffffffff8082111561154e578384fd5b818501915085601f830112611561578384fd5b81358181111561157357611573611bf9565b8381026040518582820101818110858211171561159257611592611bf9565b604052828152858101935084860182860187018a10156115b0578788fd5b8795505b838610156115d9576115c58161143f565b8552600195909501949386019386016115b4565b5098975050505050505050565b6000602082840312156115f7578081fd5b81518015158114610463578182fd5b60008060006060848603121561161a578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156116ec578581018301518582016040015282016116d0565b818111156116fd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611a145784516001600160a01b0316835293830193918301916001016119ef565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611a5657611a56611be3565b500190565b600082611a7657634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a8d5750611ab8565b818704821115611a9f57611a9f611be3565b80861615611aac57918102915b9490941c938002611a7e565b94509492505050565b600061046360001960ff851684600082611add57506001610463565b81611aea57506000610463565b8160018114611b005760028114611b0a57611b37565b6001915050610463565b60ff841115611b1b57611b1b611be3565b6001841b915084821115611b3157611b31611be3565b50610463565b5060208310610133831016604e8410600b8410161715611b6a575081810a83811115611b6557611b65611be3565b610463565b611b778484846001611a7b565b808604821115611b8957611b89611be3565b02949350505050565b6000816000190483118215151615611bac57611bac611be3565b500290565b600082821015611bc357611bc3611be3565b500390565b6000600019821415611bdc57611bdc611be3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c2457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208cfa00c67bd24de38f03b389ad69dbb75031aa97611f43e9926ab8f4c7ef8b1264736f6c63430008000033

Deployed Bytecode Sourcemap

3640:8004:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5491:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6324:161;;;;;;;;;;-1:-1:-1;6324:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4764:52::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5768:95::-;;;;;;;;;;;;;:::i;6493:313::-;;;;;;;;;;-1:-1:-1;6493:313:0;;;;;:::i;:::-;;:::i;5677:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10634:162::-;;;;;;;;;;-1:-1:-1;10634:162:0;;;;;:::i;:::-;;:::i;:::-;;10804:83;;;;;;;;;;-1:-1:-1;10804:83:0;;;;;:::i;:::-;;:::i;10895:707::-;;;;;;;;;;;;;:::i;5871:119::-;;;;;;;;;;-1:-1:-1;5871:119:0;;;;;:::i;:::-;;:::i;2721:148::-;;;;;;;;;;;;;:::i;10195:159::-;;;;;;;;;;;;;:::i;4574:54::-;;;;;;;;;;;;;:::i;2507:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4635:57::-;;;;;;;;;;;;;:::i;5582:87::-;;;;;;;;;;;;;:::i;5998:167::-;;;;;;;;;;-1:-1:-1;5998:167:0;;;;;:::i;:::-;;:::i;4699:58::-;;;;;;;;;;;;;:::i;10462:164::-;;;;;;;;;;-1:-1:-1;10462:164:0;;;;;:::i;:::-;;:::i;6173:143::-;;;;;;;;;;-1:-1:-1;6173:143:0;;;;;:::i;:::-;;:::i;5491:83::-;5561:5;;;;;;;;;;;;-1:-1:-1;;;5561:5:0;;;;5491:83;:::o;6324:161::-;6399:4;6416:39;6425:12;:10;:12::i;:::-;6439:7;6448:6;6416:8;:39::i;:::-;-1:-1:-1;6473:4:0;6324:161;;;;;:::o;4764:52::-;;;;:::o;5768:95::-;5821:7;4437:13;4379:2;4437;:13;:::i;:::-;4423:27;;:10;:27;:::i;:::-;5841:14;;5768:95;:::o;6493:313::-;6591:4;6608:36;6618:6;6626:9;6637:6;6608:9;:36::i;:::-;6655:121;6664:6;6672:12;:10;:12::i;:::-;6686:89;6724:6;6686:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6686:19:0;;;;;;:11;:19;;;;;;6706:12;:10;:12::i;:::-;-1:-1:-1;;;;;6686:33:0;;;;;;;;;;;;-1:-1:-1;6686:33:0;;;:89;:37;:89::i;:::-;6655:8;:121::i;:::-;-1:-1:-1;6794:4:0;6493:313;;;;;;:::o;5677:83::-;4379:2;5677:83;:::o;10634:162::-;2644:12;:10;:12::i;:::-;2634:6;;-1:-1:-1;;;;;2634:6:0;;;:22;;;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;;;;;;;;;10707:6:::1;10702:87;10723:6;:13;10719:1;:17;10702:87;;;10774:5;10756:4;:15;10761:6;10768:1;10761:9;;;;;;-1:-1:-1::0;;;10761:9:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10756:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10756:15:0;:23;;-1:-1:-1;;10756:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10738:3;::::1;::::0;::::1;:::i;:::-;;;;10702:87;;;;10634:162:::0;:::o;10804:83::-;-1:-1:-1;;;;;10872:7:0;;10851:4;10872:7;;;:4;:7;;;;;;;;10804:83;;;;:::o;10895:707::-;2644:12;:10;:12::i;:::-;2634:6;;-1:-1:-1;;;;;2634:6:0;;;:22;;;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;10959:11:::1;::::0;-1:-1:-1;;;10959:11:0;::::1;;;10958:12;10950:47;;;;-1:-1:-1::0;;;10950:47:0::1;;;;;;;:::i;:::-;11008:15;:80:::0;;-1:-1:-1;;;;;;11008:80:0::1;11045:42;11008:80;::::0;;;;11099:58:::1;::::0;11116:4:::1;::::0;-1:-1:-1;;;;;11131:15:0::1;4437:13;4379:2;4437;:13;:::i;:::-;4423:27;::::0;:10:::1;:27;:::i;11099:58::-;11202:15;;;;;;;;;-1:-1:-1::0;;;;;11202:15:0::1;-1:-1:-1::0;;;;;11202:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11184:55:0::1;;11248:4;11255:15;;;;;;;;;-1:-1:-1::0;;;;;11255:15:0::1;-1:-1:-1::0;;;;;11255:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11184:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11168:13;:110:::0;;-1:-1:-1;;;;;;11168:110:0::1;-1:-1:-1::0;;;;;11168:110:0;;::::1;;::::0;;11289:15:::1;::::0;::::1;:31;11328:21;11359:4;11365:24;11359:4:::0;11365:9:::1;:24::i;:::-;11390:1;11392::::0;11394:7:::1;:5;:7::i;:::-;11402:15;11289:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11436:13:0::1;::::0;11467:15:::1;::::0;11429:71:::1;::::0;-1:-1:-1;;;11429:71:0;;-1:-1:-1;;;;;11436:13:0;;::::1;::::0;-1:-1:-1;11429:29:0::1;::::0;:71:::1;::::0;11467:15:::1;::::0;-1:-1:-1;;11485:14:0;11429:71:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11511:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;11511:18:0;;::::1;-1:-1:-1::0;;;11511:18:0::1;11540;-1:-1:-1::0;;;11540:18:0::1;::::0;;11582:12:::1;11569:10;:25:::0;10895:707::o;5871:119::-;-1:-1:-1;;;;;5964:18:0;5937:7;5964:18;;;:9;:18;;;;;;;5871:119::o;2721:148::-;2644:12;:10;:12::i;:::-;2634:6;;-1:-1:-1;;;;;2634:6:0;;;:22;;;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;2828:1:::1;2812:6:::0;;2791:40:::1;::::0;-1:-1:-1;;;;;2812:6:0;;::::1;::::0;2791:40:::1;::::0;2828:1;;2791:40:::1;2859:1;2842:19:::0;;-1:-1:-1;;;;;;2842:19:0::1;::::0;;2721:148::o;10195:159::-;2644:12;:10;:12::i;:::-;2634:6;;-1:-1:-1;;;;;2634:6:0;;;:22;;;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;4437:13:::1;4379:2;4437;:13;:::i;:::-;4423:27;::::0;:10:::1;:27;:::i;:::-;10248:12;:22:::0;4437:13:::1;4379:2;4437;:13;:::i;:::-;4423:27;::::0;:10:::1;:27;:::i;:::-;10281:14;:22:::0;10319:27:::1;4437:13;4379:2;4437;:13;:::i;:::-;4423:27;::::0;:10:::1;:27;:::i;:::-;10319;;;;;;:::i;:::-;;;;;;;;10195:159::o:0;4574:54::-;;;;:::o;2507:79::-;2545:7;2572:6;-1:-1:-1;;;;;2572:6:0;2507:79;:::o;4635:57::-;;;;:::o;5582:87::-;5654:7;;;;;;;;;;;;-1:-1:-1;;;5654:7:0;;;;5582:87;:::o;5998:167::-;6076:4;6093:42;6103:12;:10;:12::i;:::-;6117:9;6128:6;6093:9;:42::i;4699:58::-;;;;:::o;10462:164::-;2644:12;:10;:12::i;:::-;2634:6;;-1:-1:-1;;;;;2634:6:0;;;:22;;;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;10536:6:::1;10531:88;10552:5;:12;10548:1;:16;10531:88;;;10603:4;10586;:14;10591:5;10597:1;10591:8;;;;;;-1:-1:-1::0;;;10591:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10586:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10586:14:0;:21;;-1:-1:-1;;10586:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10566:3;::::1;::::0;::::1;:::i;:::-;;;;10531:88;;6173:143:::0;-1:-1:-1;;;;;6281:18:0;;;6254:7;6281:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6173:143::o;261:98::-;341:10;261:98;:::o;6814:335::-;-1:-1:-1;;;;;6907:19:0;;6899:68;;;;-1:-1:-1;;;6899:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6986:21:0;;6978:68;;;;-1:-1:-1;;;6978:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7057:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;7109:32;;;;;7087:6;;7109:32;:::i;:::-;;;;;;;;6814:335;;;:::o;7157:2228::-;-1:-1:-1;;;;;7245:18:0;;7237:68;;;;-1:-1:-1;;;7237:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7324:16:0;;7316:64;;;;-1:-1:-1;;;7316:64:0;;;;;;;:::i;:::-;7408:1;7399:6;:10;7391:64;;;;-1:-1:-1;;;7391:64:0;;;;;;;:::i;:::-;7466:17;7508:7;:5;:7::i;:::-;-1:-1:-1;;;;;7500:15:0;:4;-1:-1:-1;;;;;7500:15:0;;;:32;;;;;7525:7;:5;:7::i;:::-;-1:-1:-1;;;;;7519:13:0;:2;-1:-1:-1;;;;;7519:13:0;;;7500:32;7496:1533;;;-1:-1:-1;;;;;7558:10:0;;;;;;:4;:10;;;;;;;;7557:11;:24;;;;-1:-1:-1;;;;;;7573:8:0;;;;;;:4;:8;;;;;;;;7572:9;7557:24;7549:33;;;;;;7609:76;7681:3;7609:67;7631:15;;7621:9;;:25;7620:55;;7661:14;;7620:55;;;7648:12;;7620:55;7609:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7714:13;;7597:88;;-1:-1:-1;;;;;;7706:21:0;;;7714:13;;7706:21;:55;;;;-1:-1:-1;7745:15:0;;-1:-1:-1;;;;;7731:30:0;;;7745:15;;7731:30;;7706:55;:83;;;;-1:-1:-1;;;;;;7767:22:0;;;;;;:18;:22;;;;;;;;7765:24;7706:83;7702:436;;;7829:12;;7819:6;:22;;7811:60;;;;-1:-1:-1;;;7811:60:0;;;;;;;:::i;:::-;7924:14;;7914:6;7898:13;7908:2;7898:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7890:79;;;;-1:-1:-1;;;7890:79:0;;;;;;;:::i;:::-;8012:12;7994:10;;8007:1;7994:14;;;;:::i;:::-;:30;7990:103;;;8058:14;8069:2;8058:10;:14::i;:::-;8057:15;8049:24;;;;;;8111:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7702:436;8164:13;;-1:-1:-1;;;;;8158:19:0;;;8164:13;;8158:19;;;;:47;;-1:-1:-1;;;;;;8183:22:0;;;;;;:18;:22;;;;;;;;8181:24;8158:47;8154:167;;;8260:14;;8250:6;8234:13;8244:2;8234:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8226:79;;;;-1:-1:-1;;;8226:79:0;;;;;;;:::i;:::-;8346:13;;-1:-1:-1;;;;;8340:19:0;;;8346:13;;8340:19;:43;;;;-1:-1:-1;;;;;;8363:20:0;;8378:4;8363:20;;8340:43;8337:174;;;8416:79;8491:3;8416:70;8438:16;;8428:9;;:26;8427:58;;8470:15;;8427:58;;;8456:13;;8416:6;;:10;:70::i;:79::-;8404:91;;8337:174;8527:28;8558:24;8576:4;8558:9;:24::i;:::-;8602:6;;8527:55;;-1:-1:-1;;;;8602:6:0;;;;8601:7;:32;;;;-1:-1:-1;8620:13:0;;-1:-1:-1;;;;;8612:21:0;;;8620:13;;8612:21;8601:32;:47;;;;-1:-1:-1;8637:11:0;;-1:-1:-1;;;8637:11:0;;;;8601:47;:89;;;;;8673:17;;8652:20;:38;8601:89;:121;;;;;8704:18;;8694:9;;:28;8601:121;8597:421;;;8743:67;8760:49;8764:6;8771:37;8775:20;8796:11;;8771:3;:37::i;:::-;8760:3;:49::i;:::-;8743:16;:67::i;:::-;8858:21;8901:22;;8898:105;;8948:35;8961:21;8948:12;:35::i;:::-;8597:421;;7496:1533;;9044:11;;9041:161;;9112:4;9094:24;;;;:9;:24;;;;;;:39;;9123:9;9094:28;:39::i;:::-;9087:4;9069:24;;;;:9;:24;;;;;;;:64;;;;9151:39;;-1:-1:-1;;;;;9151:39:0;;;;;;;9180:9;;9151:39;:::i;:::-;;;;;;;;9041:161;-1:-1:-1;;;;;9228:15:0;;;;;;:9;:15;;;;;;:27;;9248:6;9228:19;:27::i;:::-;-1:-1:-1;;;;;9212:15:0;;;;;;:9;:15;;;;;:43;9280:40;9298:21;:6;9309:9;9298:10;:21::i;:::-;-1:-1:-1;;;;;9280:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9266:13:0;;;;;;;:9;:13;;;;;:54;;;;9336:41;;;9355:21;:6;9366:9;9355:10;:21::i;:::-;9336:41;;;;;;:::i;:::-;;;;;;;;7157:2228;;;;:::o;1399:190::-;1485:7;1521:12;1513:6;;;;1505:29;;;;-1:-1:-1;;;1505:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1545:9:0;1557:5;1561:1;1557;:5;:::i;:::-;1545:17;1399:190;-1:-1:-1;;;;;1399:190:0:o;1597:246::-;1655:7;1679:6;1675:47;;-1:-1:-1;1709:1:0;1702:8;;1675:47;1732:9;1744:5;1748:1;1744;:5;:::i;:::-;1732:17;-1:-1:-1;1777:1:0;1768:5;1772:1;1732:17;1768:5;:::i;:::-;:10;1760:56;;;;-1:-1:-1;;;1760:56:0;;;;;;;:::i;1851:132::-;1909:7;1936:39;1940:1;1943;1936:39;;;;;;;;;;;;;;;;;:3;:39::i;9501:195::-;9632:20;9680:8;;;9501:195::o;9395:98::-;9452:7;9479:1;9477;:3;9476:9;;9484:1;9476:9;;;-1:-1:-1;9482:1:0;9395:98;-1:-1:-1;9395:98:0:o;9704:483::-;5098:6;:13;;-1:-1:-1;;;;5098:13:0;-1:-1:-1;;;5098:13:0;;;9806:16:::1;::::0;;9820:1:::1;9806:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9806:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9806:16:0::1;9782:40;;9851:4;9833;9838:1;9833:7;;;;;;-1:-1:-1::0;;;9833:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9833:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9877:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9877:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9833:7;;9877:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9867:4;9872:1;9867:7;;;;;;-1:-1:-1::0;;;9867:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9867:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9942:15:::1;::::0;9910:62:::1;::::0;9927:4:::1;::::0;9942:15:::1;9960:11:::0;9910:8:::1;:62::i;:::-;9983:15;::::0;:196:::1;::::0;-1:-1:-1;;;9983:196:0;;-1:-1:-1;;;;;9983:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10064:11;;9983:15:::1;::::0;10106:4;;10133::::1;::::0;10153:15:::1;::::0;9983:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5134:6:0;:14;;-1:-1:-1;;;;5134:14:0;;;-1:-1:-1;;;;9704:483:0:o;10362:92::-;10419:10;;:27;;-1:-1:-1;;;;;10419:10:0;;;;:27;;;;;10439:6;;10419:10;:27;:10;:27;10439:6;10419:10;:27;;;;;;;;;;;;;;;;;;;1068:179;1126:7;;1158:5;1162:1;1158;:5;:::i;:::-;1146:17;;1187:1;1182;:6;;1174:46;;;;-1:-1:-1;;;1174:46:0;;;;;;;:::i;1255:136::-;1313:7;1340:43;1344:1;1347;1340:43;;;;;;;;;;;;;;;;;:3;:43::i;1991:189::-;2077:7;2112:12;2105:5;2097:28;;;;-1:-1:-1;;;2097:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2136:9:0;2148:5;2152:1;2148;:5;:::i;14:138:1:-;84:20;;113:33;84:20;113:33;:::i;157:259::-;;269:2;257:9;248:7;244:23;240:32;237:2;;;290:6;282;275:22;237:2;334:9;321:23;353:33;380:5;353:33;:::i;421:263::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;565:6;557;550:22;512:2;602:9;596:16;621:33;648:5;621:33;:::i;689:402::-;;;818:2;806:9;797:7;793:23;789:32;786:2;;;839:6;831;824:22;786:2;883:9;870:23;902:33;929:5;902:33;:::i;:::-;954:5;-1:-1:-1;1011:2:1;996:18;;983:32;1024:35;983:32;1024:35;:::i;:::-;1078:7;1068:17;;;776:315;;;;;:::o;1096:470::-;;;;1242:2;1230:9;1221:7;1217:23;1213:32;1210:2;;;1263:6;1255;1248:22;1210:2;1307:9;1294:23;1326:33;1353:5;1326:33;:::i;:::-;1378:5;-1:-1:-1;1435:2:1;1420:18;;1407:32;1448:35;1407:32;1448:35;:::i;:::-;1200:366;;1502:7;;-1:-1:-1;;;1556:2:1;1541:18;;;;1528:32;;1200:366::o;1571:327::-;;;1700:2;1688:9;1679:7;1675:23;1671:32;1668:2;;;1721:6;1713;1706:22;1668:2;1765:9;1752:23;1784:33;1811:5;1784:33;:::i;:::-;1836:5;1888:2;1873:18;;;;1860:32;;-1:-1:-1;;;1658:240:1:o;1903:1166::-;;2018:2;2061;2049:9;2040:7;2036:23;2032:32;2029:2;;;2082:6;2074;2067:22;2029:2;2127:9;2114:23;2156:18;2197:2;2189:6;2186:14;2183:2;;;2218:6;2210;2203:22;2183:2;2261:6;2250:9;2246:22;2236:32;;2306:7;2299:4;2295:2;2291:13;2287:27;2277:2;;2333:6;2325;2318:22;2277:2;2374;2361:16;2396:2;2392;2389:10;2386:2;;;2402:18;;:::i;:::-;2449:2;2445;2441:11;2481:2;2475:9;2532:2;2527;2519:6;2515:15;2511:24;2585:6;2573:10;2570:22;2565:2;2553:10;2550:18;2547:46;2544:2;;;2596:18;;:::i;:::-;2632:2;2625:22;2682:18;;;2716:15;;;;-1:-1:-1;2751:11:1;;;2781;;;2777:20;;2774:33;-1:-1:-1;2771:2:1;;;2825:6;2817;2810:22;2771:2;2852:6;2843:15;;2867:171;2881:2;2878:1;2875:9;2867:171;;;2938:25;2959:3;2938:25;:::i;:::-;2926:38;;2899:1;2892:9;;;;;2984:12;;;;3016;;2867:171;;;-1:-1:-1;3057:6:1;1998:1071;-1:-1:-1;;;;;;;;1998:1071:1:o;3074:297::-;;3194:2;3182:9;3173:7;3169:23;3165:32;3162:2;;;3215:6;3207;3200:22;3162:2;3252:9;3246:16;3305:5;3298:13;3291:21;3284:5;3281:32;3271:2;;3332:6;3324;3317:22;3376:316;;;;3533:2;3521:9;3512:7;3508:23;3504:32;3501:2;;;3554:6;3546;3539:22;3501:2;3588:9;3582:16;3572:26;;3638:2;3627:9;3623:18;3617:25;3607:35;;3682:2;3671:9;3667:18;3661:25;3651:35;;3491:201;;;;;:::o;3697:203::-;-1:-1:-1;;;;;3861:32:1;;;;3843:51;;3831:2;3816:18;;3798:102::o;3905:304::-;-1:-1:-1;;;;;4135:15:1;;;4117:34;;4187:15;;4182:2;4167:18;;4160:43;4067:2;4052:18;;4034:175::o;4214:274::-;-1:-1:-1;;;;;4406:32:1;;;;4388:51;;4470:2;4455:18;;4448:34;4376:2;4361:18;;4343:145::o;4493:607::-;-1:-1:-1;;;;;4852:15:1;;;4834:34;;4899:2;4884:18;;4877:34;;;;4942:2;4927:18;;4920:34;;;;4985:2;4970:18;;4963:34;;;;5034:15;;;5028:3;5013:19;;5006:44;4814:3;5066:19;;5059:35;;;;4783:3;4768:19;;4750:350::o;5105:187::-;5270:14;;5263:22;5245:41;;5233:2;5218:18;;5200:92::o;5297:603::-;;5438:2;5467;5456:9;5449:21;5499:6;5493:13;5542:6;5537:2;5526:9;5522:18;5515:34;5567:4;5580:140;5594:6;5591:1;5588:13;5580:140;;;5689:14;;;5685:23;;5679:30;5655:17;;;5674:2;5651:26;5644:66;5609:10;;5580:140;;;5738:6;5735:1;5732:13;5729:2;;;5808:4;5803:2;5794:6;5783:9;5779:22;5775:31;5768:45;5729:2;-1:-1:-1;5884:2:1;5863:15;-1:-1:-1;;5859:29:1;5844:45;;;;5891:2;5840:54;;5418:482;-1:-1:-1;;;5418:482:1:o;5905:399::-;6107:2;6089:21;;;6146:2;6126:18;;;6119:30;6185:34;6180:2;6165:18;;6158:62;-1:-1:-1;;;6251:2:1;6236:18;;6229:33;6294:3;6279:19;;6079:225::o;6309:349::-;6511:2;6493:21;;;6550:2;6530:18;;;6523:30;6589:27;6584:2;6569:18;;6562:55;6649:2;6634:18;;6483:175::o;6663:398::-;6865:2;6847:21;;;6904:2;6884:18;;;6877:30;6943:34;6938:2;6923:18;;6916:62;-1:-1:-1;;;7009:2:1;6994:18;;6987:32;7051:3;7036:19;;6837:224::o;7066:351::-;7268:2;7250:21;;;7307:2;7287:18;;;7280:30;7346:29;7341:2;7326:18;;7319:57;7408:2;7393:18;;7240:177::o;7422:397::-;7624:2;7606:21;;;7663:2;7643:18;;;7636:30;7702:34;7697:2;7682:18;;7675:62;-1:-1:-1;;;7768:2:1;7753:18;;7746:31;7809:3;7794:19;;7596:223::o;7824:356::-;8026:2;8008:21;;;8045:18;;;8038:30;8104:34;8099:2;8084:18;;8077:62;8171:2;8156:18;;7998:182::o;8185:405::-;8387:2;8369:21;;;8426:2;8406:18;;;8399:30;8465:34;8460:2;8445:18;;8438:62;-1:-1:-1;;;8531:2:1;8516:18;;8509:39;8580:3;8565:19;;8359:231::o;8595:401::-;8797:2;8779:21;;;8836:2;8816:18;;;8809:30;8875:34;8870:2;8855:18;;8848:62;-1:-1:-1;;;8941:2:1;8926:18;;8919:35;8986:3;8971:19;;8769:227::o;9001:350::-;9203:2;9185:21;;;9242:2;9222:18;;;9215:30;9281:28;9276:2;9261:18;;9254:56;9342:2;9327:18;;9175:176::o;9356:400::-;9558:2;9540:21;;;9597:2;9577:18;;;9570:30;9636:34;9631:2;9616:18;;9609:62;-1:-1:-1;;;9702:2:1;9687:18;;9680:34;9746:3;9731:19;;9530:226::o;9761:347::-;9963:2;9945:21;;;10002:2;9982:18;;;9975:30;10041:25;10036:2;10021:18;;10014:53;10099:2;10084:18;;9935:173::o;10113:177::-;10259:25;;;10247:2;10232:18;;10214:76::o;10295:983::-;;10605:3;10594:9;10590:19;10636:6;10625:9;10618:25;10662:2;10700:6;10695:2;10684:9;10680:18;10673:34;10743:3;10738:2;10727:9;10723:18;10716:31;10767:6;10802;10796:13;10833:6;10825;10818:22;10871:3;10860:9;10856:19;10849:26;;10910:2;10902:6;10898:15;10884:29;;10931:4;10944:195;10958:6;10955:1;10952:13;10944:195;;;11023:13;;-1:-1:-1;;;;;11019:39:1;11007:52;;11114:15;;;;11079:12;;;;11055:1;10973:9;10944:195;;;-1:-1:-1;;;;;;;11195:32:1;;;;11190:2;11175:18;;11168:60;-1:-1:-1;;;11259:3:1;11244:19;11237:35;11156:3;10566:712;-1:-1:-1;;;10566:712:1:o;11283:184::-;11455:4;11443:17;;;;11425:36;;11413:2;11398:18;;11380:87::o;11472:128::-;;11543:1;11539:6;11536:1;11533:13;11530:2;;;11549:18;;:::i;:::-;-1:-1:-1;11585:9:1;;11520:80::o;11605:217::-;;11671:1;11661:2;;-1:-1:-1;;;11696:31:1;;11750:4;11747:1;11740:15;11778:4;11703:1;11768:15;11661:2;-1:-1:-1;11807:9:1;;11651:171::o;11827:453::-;11923:6;11946:5;11960:314;12009:1;12046:2;12036:8;12033:16;12023:2;;12053:5;;;12023:2;12094:4;12089:3;12085:14;12079:4;12076:24;12073:2;;;12103:18;;:::i;:::-;12153:2;12143:8;12139:17;12136:2;;;12168:16;;;;12136:2;12247:17;;;;;12207:15;;11960:314;;;11904:376;;;;;;;:::o;12285:148::-;;12372:55;-1:-1:-1;;12413:4:1;12399:19;;12393:4;12438:922;12522:8;12512:2;;-1:-1:-1;12563:1:1;12577:5;;12512:2;12611:4;12601:2;;-1:-1:-1;12648:1:1;12662:5;;12601:2;12693:4;12711:1;12706:59;;;;12779:1;12774:183;;;;12686:271;;12706:59;12736:1;12727:10;;12750:5;;;12774:183;12811:3;12801:8;12798:17;12795:2;;;12818:18;;:::i;:::-;12874:1;12864:8;12860:16;12851:25;;12902:3;12895:5;12892:14;12889:2;;;12909:18;;:::i;:::-;12942:5;;;12686:271;;13041:2;13031:8;13028:16;13022:3;13016:4;13013:13;13009:36;13003:2;12993:8;12990:16;12985:2;12979:4;12976:12;12972:35;12969:77;12966:2;;;-1:-1:-1;13078:19:1;;;13113:14;;;13110:2;;;13130:18;;:::i;:::-;13163:5;;12966:2;13210:42;13248:3;13238:8;13232:4;13229:1;13210:42;:::i;:::-;13285:6;13280:3;13276:16;13267:7;13264:29;13261:2;;;13296:18;;:::i;:::-;13334:20;;12502:858;-1:-1:-1;;;;12502:858:1:o;13365:168::-;;13471:1;13467;13463:6;13459:14;13456:1;13453:21;13448:1;13441:9;13434:17;13430:45;13427:2;;;13478:18;;:::i;:::-;-1:-1:-1;13518:9:1;;13417:116::o;13538:125::-;;13606:1;13603;13600:8;13597:2;;;13611:18;;:::i;:::-;-1:-1:-1;13648:9:1;;13587:76::o;13668:135::-;;-1:-1:-1;;13728:17:1;;13725:2;;;13748:18;;:::i;:::-;-1:-1:-1;13795:1:1;13784:13;;13715:88::o;13808:127::-;13869:10;13864:3;13860:20;13857:1;13850:31;13900:4;13897:1;13890:15;13924:4;13921:1;13914:15;13940:127;14001:10;13996:3;13992:20;13989:1;13982:31;14032:4;14029:1;14022:15;14056:4;14053:1;14046:15;14072:133;-1:-1:-1;;;;;14149:31:1;;14139:42;;14129:2;;14195:1;14192;14185:12;14129:2;14119:86;:::o

Swarm Source

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