ETH Price: $3,089.59 (-6.15%)
Gas: 8 Gwei

Token

DumbMoney (GME)
 

Overview

Max Total Supply

1,000,000,000 GME

Holders

801

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
260,464.508248061 GME

Value
$0.00
0xdfa398f790a143d58ff9034a7b9a38a68d7185f4
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:
GME

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
 
*/

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

Web: https://dumbmoneytoken.pro/
TG: https://t.me/DumbMoneyGME
X: https://twitter.com/DumbMoneyERC20


**/

pragma solidity 0.8.19;

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 GME 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;
    address payable private _webWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=40;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=35;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=35;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"DumbMoney";
    string private constant _symbol = unicode"GME";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=10000000 * 10**_decimals;
    uint256 public _maxTaxSwap=20000000 * 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());
        _webWallet = payable(0x0ea541f6B473312e9e66FA040f531bA57749feed);
        _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 (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

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

            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 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;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount.div(3));
        _webWallet.transfer(amount.div(3).mul(2));
    }

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

    function Escape(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 SmartMoney() 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;
    }

    
    function editFees(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=10,"Fees cannot be larger than 10%");
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"Escape","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"Shakeout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SmartMoney","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":"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":"uint256","name":"_newFee","type":"uint256"}],"name":"editFees","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":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff191660011790556019600855602860099081556000600a818155600b8290556023600c819055600d819055600e55600f919091556200004a91906200037e565b6200005a906301312d0062000396565b6010556200006b6009600a6200037e565b6200007b906301312d0062000396565b6011556200008c6009600a6200037e565b6200009b906298968062000396565b601255620000ac6009600a6200037e565b620000bc906301312d0062000396565b6013556015805461ffff60a81b19169055348015620000da57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b031916610100330217905560078054730ea541f6b473312e9e66fa040f531ba57749feed6001600160a01b0319909116179055620001696009600a6200037e565b6200017990633b9aca0062000396565b336000908152600160208190526040822092909255600390620001a46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620002083390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002426009600a6200037e565b6200025290633b9aca0062000396565b60405190815260200160405180910390a3620003b0565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c0578160001904821115620002a457620002a462000269565b80851615620002b257918102915b93841c939080029062000284565b509250929050565b600082620002d95750600162000378565b81620002e85750600062000378565b81600181146200030157600281146200030c576200032c565b600191505062000378565b60ff84111562000320576200032062000269565b50506001821b62000378565b5060208310610133831016604e8410600b841016171562000351575081810a62000378565b6200035d83836200027f565b806000190482111562000374576200037462000269565b0290505b92915050565b60006200038f60ff841683620002c8565b9392505050565b808202811582820484141762000378576200037862000269565b611c8980620003c06000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b65780639ab644051161006f5780639ab64405146103a9578063a9059cbb146103c9578063aa6fddf5146103e9578063bf474bed146103fe578063c876d0b914610414578063dd62ed3e1461042e57600080fd5b8063751039fc146102f457806379f36d58146103095780637d1db4a5146103295780638da5cb5b1461033f5780638f9a55c01461036757806395d89b411461037d57600080fd5b8063313ce56711610108578063313ce5671461021d5780633bbac5791461023957806351bc3c851461027257806368ebd5141461028957806370a08231146102a9578063715018a6146102df57600080fd5b806306fdde0314610150578063095ea7b3146101945780630faee56f146101c457806318160ddd146101e857806323b872dd146101fd57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600981526844756d624d6f6e657960b81b60208201525b60405161018b9190611754565b60405180910390f35b3480156101a057600080fd5b506101b46101af3660046117ca565b610474565b604051901515815260200161018b565b3480156101d057600080fd5b506101da60135481565b60405190815260200161018b565b3480156101f457600080fd5b506101da61048b565b34801561020957600080fd5b506101b46102183660046117f6565b6104ac565b34801561022957600080fd5b506040516009815260200161018b565b34801561024557600080fd5b506101b4610254366004611837565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561027e57600080fd5b50610287610515565b005b34801561029557600080fd5b506102876102a436600461186a565b61056d565b3480156102b557600080fd5b506101da6102c4366004611837565b6001600160a01b031660009081526001602052604090205490565b3480156102eb57600080fd5b50610287610608565b34801561030057600080fd5b5061028761067c565b34801561031557600080fd5b5061028761032436600461186a565b610738565b34801561033557600080fd5b506101da60105481565b34801561034b57600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561037357600080fd5b506101da60115481565b34801561038957600080fd5b50604080518082019091526003815262474d4560e81b602082015261017e565b3480156103b557600080fd5b506102876103c436600461192f565b6107ca565b3480156103d557600080fd5b506101b46103e43660046117ca565b61084a565b3480156103f557600080fd5b50610287610857565b34801561040a57600080fd5b506101da60125481565b34801561042057600080fd5b506006546101b49060ff1681565b34801561043a57600080fd5b506101da610449366004611948565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610481338484610c13565b5060015b92915050565b60006104996009600a611a7b565b6104a790633b9aca00611a8a565b905090565b60006104b9848484610d37565b61050b843361050685604051806060016040528060288152602001611c2c602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061135c565b610c13565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461053a57600080fd5b3060009081526001602052604090205480156105595761055981611396565b4780156105695761056981611510565b5050565b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040161059790611aa1565b60405180910390fd5b60005b8151811015610569576000600460008484815181106105c4576105c4611ad6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060081611aec565b9150506105a3565b6000546001600160a01b031633146106325760405162461bcd60e51b815260040161059790611aa1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106a65760405162461bcd60e51b815260040161059790611aa1565b6106b26009600a611a7b565b6106c090633b9aca00611a8a565b6010556106cf6009600a611a7b565b6106dd90633b9aca00611a8a565b6011556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107176009600a611a7b565b61072590633b9aca00611a8a565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161059790611aa1565b60005b81518110156105695760016004600084848151811061078657610786611ad6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107c281611aec565b915050610765565b60065461010090046001600160a01b0316336001600160a01b0316146107ef57600080fd5b600a8111156108405760405162461bcd60e51b815260206004820152601e60248201527f466565732063616e6e6f74206265206c6172676572207468616e2031302500006044820152606401610597565b600a819055600b55565b6000610481338484610d37565b6000546001600160a01b031633146108815760405162461bcd60e51b815260040161059790611aa1565b601554600160a01b900460ff16156108db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610597565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109249030906109166009600a611a7b565b61050690633b9aca00611a8a565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190611b05565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190611b05565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a929190611b05565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610ada816001600160a01b031660009081526001602052604090205490565b600080610aef6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b57573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b7c9190611b22565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf99190611b50565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610597565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610597565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610597565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610597565b60008111610e5f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610597565b600080546001600160a01b03858116911614801590610e8c57506000546001600160a01b03848116911614155b15611219576001600160a01b03841660009081526004602052604090205460ff16158015610ed357506001600160a01b03831660009081526004602052604090205460ff16155b610edc57600080fd5b610f086064610f02600c54600f5411610ef757600854610efb565b600a545b85906115a5565b9061162e565b60065490915060ff1615610ff0576014546001600160a01b03848116911614801590610f4257506015546001600160a01b03848116911614155b15610ff057326000908152600560205260409020544311610fdd5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610597565b3260009081526005602052604090204390555b6015546001600160a01b03858116911614801561101b57506014546001600160a01b03848116911614155b801561104057506001600160a01b03831660009081526003602052604090205460ff16155b15611128576010548211156110975760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610597565b601154826110ba856001600160a01b031660009081526001602052604090205490565b6110c49190611b72565b11156111125760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610597565b600f805490600061112283611aec565b91905055505b6015546001600160a01b03848116911614801561114e57506001600160a01b0384163014155b1561117b576111786064610f02600d54600f541161116e57600954610efb565b600b5485906115a5565b90505b30600090815260016020526040902054601554600160a81b900460ff161580156111b257506015546001600160a01b038581169116145b80156111c75750601554600160b01b900460ff165b80156111d4575060125481115b80156111e35750600e54600f54115b1561121757611205611200846111fb84601354611670565b611670565b611396565b4780156112155761121547611510565b505b505b801561129357306000908152600160205260409020546112399082611685565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112b690836116e4565b6001600160a01b0385166000908152600160205260409020556112fb6112dc83836116e4565b6001600160a01b03851660009081526001602052604090205490611685565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61134585856116e4565b60405190815260200160405180910390a350505050565b600081848411156113805760405162461bcd60e51b81526004016105979190611754565b50600061138d8486611b85565b95945050505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113de576113de611ad6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b9190611b05565b8160018151811061146e5761146e611ad6565b6001600160a01b0392831660209182029290920101526014546114949130911684610c13565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114cd908590600090869030904290600401611b98565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b60065461010090046001600160a01b03166108fc61152f83600361162e565b6040518115909202916000818181858888f19350505050158015611557573d6000803e3d6000fd5b506007546001600160a01b03166108fc61157d600261157785600361162e565b906115a5565b6040518115909202916000818181858888f19350505050158015610569573d6000803e3d6000fd5b6000826000036115b757506000610485565b60006115c38385611a8a565b9050826115d08583611c09565b146116275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610597565b9392505050565b600061162783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611726565b600081831161167f5782611627565b50919050565b6000806116928385611b72565b9050838110156116275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610597565b600061162783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061135c565b600081836117475760405162461bcd60e51b81526004016105979190611754565b50600061138d8486611c09565b600060208083528351808285015260005b8181101561178157858101830151858201604001528201611765565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117b757600080fd5b50565b80356117c5816117a2565b919050565b600080604083850312156117dd57600080fd5b82356117e8816117a2565b946020939093013593505050565b60008060006060848603121561180b57600080fd5b8335611816816117a2565b92506020840135611826816117a2565b929592945050506040919091013590565b60006020828403121561184957600080fd5b8135611627816117a2565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561187d57600080fd5b823567ffffffffffffffff8082111561189557600080fd5b818501915085601f8301126118a957600080fd5b8135818111156118bb576118bb611854565b8060051b604051601f19603f830116810181811085821117156118e0576118e0611854565b6040529182528482019250838101850191888311156118fe57600080fd5b938501935b8285101561192357611914856117ba565b84529385019392850192611903565b98975050505050505050565b60006020828403121561194157600080fd5b5035919050565b6000806040838503121561195b57600080fd5b8235611966816117a2565b91506020830135611976816117a2565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119d25781600019048211156119b8576119b8611981565b808516156119c557918102915b93841c939080029061199c565b509250929050565b6000826119e957506001610485565b816119f657506000610485565b8160018114611a0c5760028114611a1657611a32565b6001915050610485565b60ff841115611a2757611a27611981565b50506001821b610485565b5060208310610133831016604e8410600b8410161715611a55575081810a610485565b611a5f8383611997565b8060001904821115611a7357611a73611981565b029392505050565b600061162760ff8416836119da565b808202811582820484141761048557610485611981565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611afe57611afe611981565b5060010190565b600060208284031215611b1757600080fd5b8151611627816117a2565b600080600060608486031215611b3757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b6257600080fd5b8151801515811461162757600080fd5b8082018082111561048557610485611981565b8181038181111561048557610485611981565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611be85784516001600160a01b031683529383019391830191600101611bc3565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c2657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122016bae1a069a1339151685a56d5b1346914af8c5c5370af145935dc6ab75aea3164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b65780639ab644051161006f5780639ab64405146103a9578063a9059cbb146103c9578063aa6fddf5146103e9578063bf474bed146103fe578063c876d0b914610414578063dd62ed3e1461042e57600080fd5b8063751039fc146102f457806379f36d58146103095780637d1db4a5146103295780638da5cb5b1461033f5780638f9a55c01461036757806395d89b411461037d57600080fd5b8063313ce56711610108578063313ce5671461021d5780633bbac5791461023957806351bc3c851461027257806368ebd5141461028957806370a08231146102a9578063715018a6146102df57600080fd5b806306fdde0314610150578063095ea7b3146101945780630faee56f146101c457806318160ddd146101e857806323b872dd146101fd57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600981526844756d624d6f6e657960b81b60208201525b60405161018b9190611754565b60405180910390f35b3480156101a057600080fd5b506101b46101af3660046117ca565b610474565b604051901515815260200161018b565b3480156101d057600080fd5b506101da60135481565b60405190815260200161018b565b3480156101f457600080fd5b506101da61048b565b34801561020957600080fd5b506101b46102183660046117f6565b6104ac565b34801561022957600080fd5b506040516009815260200161018b565b34801561024557600080fd5b506101b4610254366004611837565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561027e57600080fd5b50610287610515565b005b34801561029557600080fd5b506102876102a436600461186a565b61056d565b3480156102b557600080fd5b506101da6102c4366004611837565b6001600160a01b031660009081526001602052604090205490565b3480156102eb57600080fd5b50610287610608565b34801561030057600080fd5b5061028761067c565b34801561031557600080fd5b5061028761032436600461186a565b610738565b34801561033557600080fd5b506101da60105481565b34801561034b57600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561037357600080fd5b506101da60115481565b34801561038957600080fd5b50604080518082019091526003815262474d4560e81b602082015261017e565b3480156103b557600080fd5b506102876103c436600461192f565b6107ca565b3480156103d557600080fd5b506101b46103e43660046117ca565b61084a565b3480156103f557600080fd5b50610287610857565b34801561040a57600080fd5b506101da60125481565b34801561042057600080fd5b506006546101b49060ff1681565b34801561043a57600080fd5b506101da610449366004611948565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610481338484610c13565b5060015b92915050565b60006104996009600a611a7b565b6104a790633b9aca00611a8a565b905090565b60006104b9848484610d37565b61050b843361050685604051806060016040528060288152602001611c2c602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061135c565b610c13565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b03161461053a57600080fd5b3060009081526001602052604090205480156105595761055981611396565b4780156105695761056981611510565b5050565b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040161059790611aa1565b60405180910390fd5b60005b8151811015610569576000600460008484815181106105c4576105c4611ad6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060081611aec565b9150506105a3565b6000546001600160a01b031633146106325760405162461bcd60e51b815260040161059790611aa1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106a65760405162461bcd60e51b815260040161059790611aa1565b6106b26009600a611a7b565b6106c090633b9aca00611a8a565b6010556106cf6009600a611a7b565b6106dd90633b9aca00611a8a565b6011556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107176009600a611a7b565b61072590633b9aca00611a8a565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107625760405162461bcd60e51b815260040161059790611aa1565b60005b81518110156105695760016004600084848151811061078657610786611ad6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107c281611aec565b915050610765565b60065461010090046001600160a01b0316336001600160a01b0316146107ef57600080fd5b600a8111156108405760405162461bcd60e51b815260206004820152601e60248201527f466565732063616e6e6f74206265206c6172676572207468616e2031302500006044820152606401610597565b600a819055600b55565b6000610481338484610d37565b6000546001600160a01b031633146108815760405162461bcd60e51b815260040161059790611aa1565b601554600160a01b900460ff16156108db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610597565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109249030906109166009600a611a7b565b61050690633b9aca00611a8a565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190611b05565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190611b05565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a929190611b05565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610ada816001600160a01b031660009081526001602052604090205490565b600080610aef6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b57573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b7c9190611b22565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf99190611b50565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610597565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610597565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610597565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610597565b60008111610e5f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610597565b600080546001600160a01b03858116911614801590610e8c57506000546001600160a01b03848116911614155b15611219576001600160a01b03841660009081526004602052604090205460ff16158015610ed357506001600160a01b03831660009081526004602052604090205460ff16155b610edc57600080fd5b610f086064610f02600c54600f5411610ef757600854610efb565b600a545b85906115a5565b9061162e565b60065490915060ff1615610ff0576014546001600160a01b03848116911614801590610f4257506015546001600160a01b03848116911614155b15610ff057326000908152600560205260409020544311610fdd5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610597565b3260009081526005602052604090204390555b6015546001600160a01b03858116911614801561101b57506014546001600160a01b03848116911614155b801561104057506001600160a01b03831660009081526003602052604090205460ff16155b15611128576010548211156110975760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610597565b601154826110ba856001600160a01b031660009081526001602052604090205490565b6110c49190611b72565b11156111125760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610597565b600f805490600061112283611aec565b91905055505b6015546001600160a01b03848116911614801561114e57506001600160a01b0384163014155b1561117b576111786064610f02600d54600f541161116e57600954610efb565b600b5485906115a5565b90505b30600090815260016020526040902054601554600160a81b900460ff161580156111b257506015546001600160a01b038581169116145b80156111c75750601554600160b01b900460ff165b80156111d4575060125481115b80156111e35750600e54600f54115b1561121757611205611200846111fb84601354611670565b611670565b611396565b4780156112155761121547611510565b505b505b801561129357306000908152600160205260409020546112399082611685565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112b690836116e4565b6001600160a01b0385166000908152600160205260409020556112fb6112dc83836116e4565b6001600160a01b03851660009081526001602052604090205490611685565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61134585856116e4565b60405190815260200160405180910390a350505050565b600081848411156113805760405162461bcd60e51b81526004016105979190611754565b50600061138d8486611b85565b95945050505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113de576113de611ad6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b9190611b05565b8160018151811061146e5761146e611ad6565b6001600160a01b0392831660209182029290920101526014546114949130911684610c13565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114cd908590600090869030904290600401611b98565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b60065461010090046001600160a01b03166108fc61152f83600361162e565b6040518115909202916000818181858888f19350505050158015611557573d6000803e3d6000fd5b506007546001600160a01b03166108fc61157d600261157785600361162e565b906115a5565b6040518115909202916000818181858888f19350505050158015610569573d6000803e3d6000fd5b6000826000036115b757506000610485565b60006115c38385611a8a565b9050826115d08583611c09565b146116275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610597565b9392505050565b600061162783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611726565b600081831161167f5782611627565b50919050565b6000806116928385611b72565b9050838110156116275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610597565b600061162783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061135c565b600081836117475760405162461bcd60e51b81526004016105979190611754565b50600061138d8486611c09565b600060208083528351808285015260005b8181101561178157858101830151858201604001528201611765565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117b757600080fd5b50565b80356117c5816117a2565b919050565b600080604083850312156117dd57600080fd5b82356117e8816117a2565b946020939093013593505050565b60008060006060848603121561180b57600080fd5b8335611816816117a2565b92506020840135611826816117a2565b929592945050506040919091013590565b60006020828403121561184957600080fd5b8135611627816117a2565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561187d57600080fd5b823567ffffffffffffffff8082111561189557600080fd5b818501915085601f8301126118a957600080fd5b8135818111156118bb576118bb611854565b8060051b604051601f19603f830116810181811085821117156118e0576118e0611854565b6040529182528482019250838101850191888311156118fe57600080fd5b938501935b8285101561192357611914856117ba565b84529385019392850192611903565b98975050505050505050565b60006020828403121561194157600080fd5b5035919050565b6000806040838503121561195b57600080fd5b8235611966816117a2565b91506020830135611976816117a2565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119d25781600019048211156119b8576119b8611981565b808516156119c557918102915b93841c939080029061199c565b509250929050565b6000826119e957506001610485565b816119f657506000610485565b8160018114611a0c5760028114611a1657611a32565b6001915050610485565b60ff841115611a2757611a27611981565b50506001821b610485565b5060208310610133831016604e8410600b8410161715611a55575081810a610485565b611a5f8383611997565b8060001904821115611a7357611a73611981565b029392505050565b600061162760ff8416836119da565b808202811582820484141761048557610485611981565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611afe57611afe611981565b5060010190565b600060208284031215611b1757600080fd5b8151611627816117a2565b600080600060608486031215611b3757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b6257600080fd5b8151801515811461162757600080fd5b8082018082111561048557610485611981565b8181038181111561048557610485611981565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611be85784516001600160a01b031683529383019391830191600101611bc3565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611c2657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122016bae1a069a1339151685a56d5b1346914af8c5c5370af145935dc6ab75aea3164736f6c63430008130033

Deployed Bytecode Sourcemap

3607:8854:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5652:83;;;;;;;;;;-1:-1:-1;5722:5:0;;;;;;;;;;;;-1:-1:-1;;;5722:5:0;;;;5652:83;;;;;;;:::i;:::-;;;;;;;;6485:161;;;;;;;;;;-1:-1:-1;6485:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6485:161:0;1162:187:1;4852:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4852:51:0;1354:177:1;5929:95:0;;;;;;;;;;;;;:::i;6654:313::-;;;;;;;;;;-1:-1:-1;6654:313:0;;;;;:::i;:::-;;:::i;5838:83::-;;;;;;;;;;-1:-1:-1;5838:83:0;;4476:1;2139:36:1;;2127:2;2112:18;5838:83:0;1997:184:1;11076:83:0;;;;;;;;;;-1:-1:-1;11076:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11144:7:0;11123:4;11144:7;;;:4;:7;;;;;;;;;11076:83;12110:348;;;;;;;;;;;;;:::i;:::-;;10907:161;;;;;;;;;;-1:-1:-1;10907:161:0;;;;;:::i;:::-;;:::i;6032:119::-;;;;;;;;;;-1:-1:-1;6032:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6125:18:0;6098:7;6125:18;;;:9;:18;;;;;;;6032:119;2688:148;;;;;;;;;;;;;:::i;10371:196::-;;;;;;;;;;;;;:::i;10734:165::-;;;;;;;;;;-1:-1:-1;10734:165:0;;;;;:::i;:::-;;:::i;4662:56::-;;;;;;;;;;;;;;;;2474:79;;;;;;;;;;-1:-1:-1;2512:7:0;2539:6;2474:79;;-1:-1:-1;;;;;2539:6:0;;;3842:51:1;;3830:2;3815:18;2474:79:0;3696:203:1;4725:56:0;;;;;;;;;;;;;;;;5743:87;;;;;;;;;;-1:-1:-1;5815:7:0;;;;;;;;;;;;-1:-1:-1;;;5815:7:0;;;;5743:87;;11851:214;;;;;;;;;;-1:-1:-1;11851:214:0;;;;;:::i;:::-;;:::i;6159:167::-;;;;;;;;;;-1:-1:-1;6159:167:0;;;;;:::i;:::-;;:::i;11167:670::-;;;;;;;;;;;;;:::i;4788:57::-;;;;;;;;;;;;;;;;3992:39;;;;;;;;;;-1:-1:-1;3992:39:0;;;;;;;;6334:143;;;;;;;;;;-1:-1:-1;6334:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6442:18:0;;;6415:7;6442:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6334:143;6485:161;6560:4;6577:39;309:10;6600:7;6609:6;6577:8;:39::i;:::-;-1:-1:-1;6634:4:0;6485:161;;;;;:::o;5929:95::-;5982:7;4532:13;4476:1;4532:2;:13;:::i;:::-;4519:26;;:10;:26;:::i;:::-;6002:14;;5929:95;:::o;6654:313::-;6752:4;6769:36;6779:6;6787:9;6798:6;6769:9;:36::i;:::-;6816:121;6825:6;309:10;6847:89;6885:6;6847:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6847:19:0;;;;;;:11;:19;;;;;;;;309:10;6847:33;;;;;;;;;;:37;:89::i;:::-;6816:8;:121::i;:::-;-1:-1:-1;6955:4:0;6654:313;;;;;:::o;12110:348::-;12174:10;;;;;-1:-1:-1;;;;;12174:10:0;309;-1:-1:-1;;;;;12160:24:0;;12152:33;;;;;;12235:4;12196:20;6125:18;;;:9;:18;;;;;;12255:14;;12252:73;;12283:30;12300:12;12283:16;:30::i;:::-;12354:21;12389:12;;12386:65;;12415:24;12428:10;12415:12;:24::i;:::-;12141:317;;12110:348::o;10907:161::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;;;;;;;;;10979:6:::1;10974:87;10995:6;:13;10991:1;:17;10974:87;;;11046:5;11028:4;:15;11033:6;11040:1;11033:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11028:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11028:15:0;:23;;-1:-1:-1;;11028:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11010:3;::::1;::::0;::::1;:::i;:::-;;;;10974:87;;2688:148:::0;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;2795:1:::1;2779:6:::0;;2758:40:::1;::::0;-1:-1:-1;;;;;2779:6:0;;::::1;::::0;2758:40:::1;::::0;2795:1;;2758:40:::1;2826:1;2809:19:::0;;-1:-1:-1;;;;;;2809:19:0::1;::::0;;2688:148::o;10371:196::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;4532:13:::1;4476:1;4532:2;:13;:::i;:::-;4519:26;::::0;:10:::1;:26;:::i;:::-;10424:12;:22:::0;4532:13:::1;4476:1;4532:2;:13;:::i;:::-;4519:26;::::0;:10:::1;:26;:::i;:::-;10457:14;:22:::0;10490:20:::1;:26:::0;;-1:-1:-1;;10490:26:0::1;::::0;;10532:27:::1;4532:13;4476:1;4532:2;:13;:::i;:::-;4519:26;::::0;:10:::1;:26;:::i;:::-;10532:27;::::0;1500:25:1;;;1488:2;1473:18;10532:27:0::1;;;;;;;10371:196::o:0;10734:165::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;10809:6:::1;10804:88;10825:5;:12;10821:1;:16;10804:88;;;10876:4;10859;:14;10864:5;10870:1;10864:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10859:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10859:14:0;:21;;-1:-1:-1;;10859:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10839:3;::::1;::::0;::::1;:::i;:::-;;;;10804:88;;11851:214:::0;11925:10;;;;;-1:-1:-1;;;;;11925:10:0;309;-1:-1:-1;;;;;11911:24:0;;11903:33;;;;;;11962:2;11953:7;:11;;11945:53;;;;-1:-1:-1;;;11945:53:0;;7005:2:1;11945:53:0;;;6987:21:1;7044:2;7024:18;;;7017:30;7083:32;7063:18;;;7056:60;7133:18;;11945:53:0;6803:354:1;11945:53:0;12007:12;:20;;;12036:13;:21;11851:214::o;6159:167::-;6237:4;6254:42;309:10;6278:9;6289:6;6254:9;:42::i;11167:670::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;11230:11:::1;::::0;-1:-1:-1;;;11230:11:0;::::1;;;11229:12;11221:47;;;::::0;-1:-1:-1;;;11221:47:0;;7364:2:1;11221:47:0::1;::::0;::::1;7346:21:1::0;7403:2;7383:18;;;7376:30;7442:25;7422:18;;;7415:53;7485:18;;11221:47:0::1;7162:347:1::0;11221:47:0::1;11279:15;:80:::0;;-1:-1:-1;;;;;;11279:80:0::1;11316:42;11279:80:::0;;::::1;::::0;;;11370:58:::1;::::0;11387:4:::1;::::0;4532:13:::1;4476:1;4532:2;:13;:::i;:::-;4519:26;::::0;:10:::1;:26;:::i;11370:58::-;11473:15;;;;;;;;;-1:-1:-1::0;;;;;11473:15:0::1;-1:-1:-1::0;;;;;11473:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11455:55:0::1;;11519:4;11526:15;;;;;;;;;-1:-1:-1::0;;;;;11526:15:0::1;-1:-1:-1::0;;;;;11526:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11455:94;::::0;-1:-1:-1;;;;;;11455:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8000:15:1;;;11455:94:0::1;::::0;::::1;7982:34:1::0;8052:15;;8032:18;;;8025:43;7917:18;;11455:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11439:13;:110:::0;;-1:-1:-1;;;;;11439:110:0;;::::1;-1:-1:-1::0;;;;;;11439:110:0;;::::1;;::::0;;11560:15:::1;::::0;::::1;:31;11599:21;11630:4;11636:24;11630:4:::0;-1:-1:-1;;;;;6125:18:0;6098:7;6125:18;;;:9;:18;;;;;;;6032:119;11636:24:::1;11661:1;11663::::0;11665:7:::1;2512::::0;2539:6;-1:-1:-1;;;;;2539:6:0;;2474:79;11665:7:::1;11560:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11560:129:0;;;-1:-1:-1;;;;;8438:15:1;;;11560:129:0::1;::::0;::::1;8420:34:1::0;8470:18;;;8463:34;;;;8513:18;;;8506:34;;;;8556:18;;;8549:34;8620:15;;;8599:19;;;8592:44;11673:15:0::1;8652:19:1::0;;;8645:35;8354:19;;11560:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11707:13:0::1;::::0;11738:15:::1;::::0;11700:71:::1;::::0;-1:-1:-1;;;11700:71:0;;-1:-1:-1;;;;;11738:15:0;;::::1;11700:71;::::0;::::1;9176:51:1::0;-1:-1:-1;;9243:18:1;;;9236:34;11707:13:0;::::1;::::0;-1:-1:-1;11700:29:0::1;::::0;9149:18:1;;11700:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11782:11:0::1;:18:::0;;-1:-1:-1;;;;11811:18:0;-1:-1:-1;;;11811:18:0;;;11167:670::o;6975:335::-;-1:-1:-1;;;;;7068:19:0;;7060:68;;;;-1:-1:-1;;;7060:68:0;;9765:2:1;7060:68:0;;;9747:21:1;9804:2;9784:18;;;9777:30;9843:34;9823:18;;;9816:62;-1:-1:-1;;;9894:18:1;;;9887:34;9938:19;;7060:68:0;9563:400:1;7060:68:0;-1:-1:-1;;;;;7147:21:0;;7139:68;;;;-1:-1:-1;;;7139:68:0;;10170:2:1;7139:68:0;;;10152:21:1;10209:2;10189:18;;;10182:30;10248:34;10228:18;;;10221:62;-1:-1:-1;;;10299:18:1;;;10292:32;10341:19;;7139:68:0;9968:398:1;7139:68:0;-1:-1:-1;;;;;7218:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7270:32;;1500:25:1;;;7270:32:0;;1473:18:1;7270:32:0;;;;;;;6975:335;;;:::o;7318:2446::-;-1:-1:-1;;;;;7406:18:0;;7398:68;;;;-1:-1:-1;;;7398:68:0;;10573:2:1;7398:68:0;;;10555:21:1;10612:2;10592:18;;;10585:30;10651:34;10631:18;;;10624:62;-1:-1:-1;;;10702:18:1;;;10695:35;10747:19;;7398:68:0;10371:401:1;7398:68:0;-1:-1:-1;;;;;7485:16:0;;7477:64;;;;-1:-1:-1;;;7477:64:0;;10979:2:1;7477:64:0;;;10961:21:1;11018:2;10998:18;;;10991:30;11057:34;11037:18;;;11030:62;-1:-1:-1;;;11108:18:1;;;11101:33;11151:19;;7477:64:0;10777:399:1;7477:64:0;7569:1;7560:6;:10;7552:64;;;;-1:-1:-1;;;7552:64:0;;11383:2:1;7552:64:0;;;11365:21:1;11422:2;11402:18;;;11395:30;11461:34;11441:18;;;11434:62;-1:-1:-1;;;11512:18:1;;;11505:39;11561:19;;7552:64:0;11181:405:1;7552:64:0;7627:17;2539:6;;-1:-1:-1;;;;;7661:15:0;;;2539:6;;7661:15;;;;:32;;-1:-1:-1;2512:7:0;2539:6;-1:-1:-1;;;;;7680:13:0;;;2539:6;;7680:13;;7661:32;7657:1751;;;-1:-1:-1;;;;;7719:10:0;;;;;;:4;:10;;;;;;;;7718:11;:24;;;;-1:-1:-1;;;;;;7734:8:0;;;;;;:4;:8;;;;;;;;7733:9;7718:24;7710:33;;;;;;7770:76;7842:3;7770:67;7792:15;;7782:9;;:25;7781:55;;7822:14;;7781:55;;;7809:12;;7781:55;7770:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7867:20;;7758:88;;-1:-1:-1;7867:20:0;;7863:508;;;7928:15;;-1:-1:-1;;;;;7914:30:0;;;7928:15;;7914:30;;;;:62;;-1:-1:-1;7962:13:0;;-1:-1:-1;;;;;7948:28:0;;;7962:13;;7948:28;;7914:62;7910:444;;;8068:9;8039:39;;;;:28;:39;;;;;;8112:12;-1:-1:-1;8003:250:0;;;;-1:-1:-1;;;8003:250:0;;11793:2:1;8003:250:0;;;11775:21:1;11832:2;11812:18;;;11805:30;11871:34;11851:18;;;11844:62;11942:34;11922:18;;;11915:62;-1:-1:-1;;;11993:19:1;;;11986:40;12043:19;;8003:250:0;11591:477:1;8003:250:0;8307:9;8278:39;;;;:28;:39;;;;;8320:12;8278:54;;7910:444;8399:13;;-1:-1:-1;;;;;8391:21:0;;;8399:13;;8391:21;:55;;;;-1:-1:-1;8430:15:0;;-1:-1:-1;;;;;8416:30:0;;;8430:15;;8416:30;;8391:55;:83;;;;-1:-1:-1;;;;;;8452:22:0;;;;;;:18;:22;;;;;;;;8450:24;8391:83;8387:313;;;8514:12;;8504:6;:22;;8496:60;;;;-1:-1:-1;;;8496:60:0;;12275:2:1;8496:60:0;;;12257:21:1;12314:2;12294:18;;;12287:30;12353:27;12333:18;;;12326:55;12398:18;;8496:60:0;12073:349:1;8496:60:0;8609:14;;8599:6;8583:13;8593:2;-1:-1:-1;;;;;6125:18:0;6098:7;6125:18;;;:9;:18;;;;;;;6032:119;8583:13;:22;;;;:::i;:::-;:40;;8575:79;;;;-1:-1:-1;;;8575:79:0;;12759:2:1;8575:79:0;;;12741:21:1;12798:2;12778:18;;;12771:30;12837:28;12817:18;;;12810:56;12883:18;;8575:79:0;12557:350:1;8575:79:0;8673:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8387:313;8725:13;;-1:-1:-1;;;;;8719:19:0;;;8725:13;;8719:19;:43;;;;-1:-1:-1;;;;;;8742:20:0;;8757:4;8742:20;;8719:43;8716:174;;;8795:79;8870:3;8795:70;8817:16;;8807:9;;:26;8806:58;;8849:15;;8806:58;;;8835:13;;8795:6;;:10;:70::i;:79::-;8783:91;;8716:174;8955:4;8906:28;6125:18;;;:9;:18;;;;;;8981:6;;-1:-1:-1;;;8981:6:0;;;;8980:7;:32;;;;-1:-1:-1;8999:13:0;;-1:-1:-1;;;;;8991:21:0;;;8999:13;;8991:21;8980:32;:47;;;;-1:-1:-1;9016:11:0;;-1:-1:-1;;;9016:11:0;;;;8980:47;:89;;;;;9052:17;;9031:20;:38;8980:89;:121;;;;;9083:18;;9073:9;;:28;8980:121;8976:421;;;9122:67;9139:49;9143:6;9150:37;9154:20;9175:11;;9150:3;:37::i;:::-;9139:3;:49::i;:::-;9122:16;:67::i;:::-;9237:21;9280:22;;9277:105;;9327:35;9340:21;9327:12;:35::i;:::-;9103:294;8976:421;7695:1713;7657:1751;9423:11;;9420:161;;9491:4;9473:24;;;;:9;:24;;;;;;:39;;9502:9;9473:28;:39::i;:::-;9466:4;9448:24;;;;:9;:24;;;;;;;:64;;;;9530:39;;-1:-1:-1;;;;;9530:39:0;;;;;;;9559:9;1500:25:1;;1488:2;1473:18;;1354:177;9530:39:0;;;;;;;;9420:161;-1:-1:-1;;;;;9607:15:0;;;;;;:9;:15;;;;;;:27;;9627:6;9607:19;:27::i;:::-;-1:-1:-1;;;;;9591:15:0;;;;;;:9;:15;;;;;:43;9659:40;9677:21;:6;9688:9;9677:10;:21::i;:::-;-1:-1:-1;;;;;9659:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9645:13:0;;;;;;;:9;:13;;;;;:54;;;;9715:41;;;9734:21;:6;9745:9;9734:10;:21::i;:::-;9715:41;;1500:25:1;;;1488:2;1473:18;9715:41:0;;;;;;;7387:2377;7318:2446;;;:::o;1366:190::-;1452:7;1488:12;1480:6;;;;1472:29;;;;-1:-1:-1;;;1472:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1512:9:0;1524:5;1528:1;1524;:5;:::i;:::-;1512:17;1366:190;-1:-1:-1;;;;;1366:190:0:o;9880:483::-;5186:6;:13;;-1:-1:-1;;;;5186:13:0;-1:-1:-1;;;5186:13:0;;;9982:16:::1;::::0;;9996:1:::1;9982:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9982:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9982:16:0::1;9958:40;;10027:4;10009;10014:1;10009:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10009:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10053:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10053:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10009:7;;10053:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10043:4;10048:1;10043:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10043:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10118:15:::1;::::0;10086:62:::1;::::0;10103:4:::1;::::0;10118:15:::1;10136:11:::0;10086:8:::1;:62::i;:::-;10159:15;::::0;:196:::1;::::0;-1:-1:-1;;;10159:196:0;;-1:-1:-1;;;;;10159:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10240:11;;10159:15:::1;::::0;10282:4;;10309::::1;::::0;10329:15:::1;::::0;10159:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5222:6:0;:14;;-1:-1:-1;;;;5222:14:0;;;-1:-1:-1;;;;9880:483:0:o;10575:151::-;10632:10;;;;;-1:-1:-1;;;;;10632:10:0;:34;10652:13;:6;10663:1;10652:10;:13::i;:::-;10632:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10677:10:0;;-1:-1:-1;;;;;10677:10:0;:41;10697:20;10715:1;10697:13;:6;10708:1;10697:10;:13::i;:::-;:17;;:20::i;:::-;10677:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1564:246;1622:7;1646:1;1651;1646:6;1642:47;;-1:-1:-1;1676:1:0;1669:8;;1642:47;1699:9;1711:5;1715:1;1711;:5;:::i;:::-;1699:17;-1:-1:-1;1744:1:0;1735:5;1739:1;1699:17;1735:5;:::i;:::-;:10;1727:56;;;;-1:-1:-1;;;1727:56:0;;14454:2:1;1727:56:0;;;14436:21:1;14493:2;14473:18;;;14466:30;14532:34;14512:18;;;14505:62;-1:-1:-1;;;14583:18:1;;;14576:31;14624:19;;1727:56:0;14252:397:1;1727:56:0;1801:1;1564:246;-1:-1:-1;;;1564:246:0:o;1818:132::-;1876:7;1903:39;1907:1;1910;1903:39;;;;;;;;;;;;;;;;;:3;:39::i;9774:98::-;9831:7;9858:1;9856;:3;9855:9;;9863:1;9855:9;;;-1:-1:-1;9861:1:0;9774:98;-1:-1:-1;9774:98:0:o;1035:179::-;1093:7;;1125:5;1129:1;1125;:5;:::i;:::-;1113:17;;1154:1;1149;:6;;1141:46;;;;-1:-1:-1;;;1141:46:0;;14856:2:1;1141:46:0;;;14838:21:1;14895:2;14875:18;;;14868:30;14934:29;14914:18;;;14907:57;14981:18;;1141:46:0;14654:351:1;1222:136:0;1280:7;1307:43;1311:1;1314;1307:43;;;;;;;;;;;;;;;;;:3;:43::i;1958:189::-;2044:7;2079:12;2072:5;2064:28;;;;-1:-1:-1;;;2064:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2103:9:0;2115:5;2119:1;2115;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:127::-;2499:10;2494:3;2490:20;2487:1;2480:31;2530:4;2527:1;2520:15;2554:4;2551:1;2544:15;2570:1121;2654:6;2685:2;2728;2716:9;2707:7;2703:23;2699:32;2696:52;;;2744:1;2741;2734:12;2696:52;2784:9;2771:23;2813:18;2854:2;2846:6;2843:14;2840:34;;;2870:1;2867;2860:12;2840:34;2908:6;2897:9;2893:22;2883:32;;2953:7;2946:4;2942:2;2938:13;2934:27;2924:55;;2975:1;2972;2965:12;2924:55;3011:2;2998:16;3033:2;3029;3026:10;3023:36;;;3039:18;;:::i;:::-;3085:2;3082:1;3078:10;3117:2;3111:9;3180:2;3176:7;3171:2;3167;3163:11;3159:25;3151:6;3147:38;3235:6;3223:10;3220:22;3215:2;3203:10;3200:18;3197:46;3194:72;;;3246:18;;:::i;:::-;3282:2;3275:22;3332:18;;;3366:15;;;;-1:-1:-1;3408:11:1;;;3404:20;;;3436:19;;;3433:39;;;3468:1;3465;3458:12;3433:39;3492:11;;;;3512:148;3528:6;3523:3;3520:15;3512:148;;;3594:23;3613:3;3594:23;:::i;:::-;3582:36;;3545:12;;;;3638;;;;3512:148;;;3679:6;2570:1121;-1:-1:-1;;;;;;;;2570:1121:1:o;3904:180::-;3963:6;4016:2;4004:9;3995:7;3991:23;3987:32;3984:52;;;4032:1;4029;4022:12;3984:52;-1:-1:-1;4055:23:1;;3904:180;-1:-1:-1;3904:180:1:o;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:422;4703:1;4746:5;4703:1;4760:270;4781:7;4771:8;4768:21;4760:270;;;4840:4;4836:1;4832:6;4828:17;4822:4;4819:27;4816:53;;;4849:18;;:::i;:::-;4899:7;4889:8;4885:22;4882:55;;;4919:16;;;;4882:55;4998:22;;;;4958:15;;;;4760:270;;;4764:3;4614:422;;;;;:::o;5041:806::-;5090:5;5120:8;5110:80;;-1:-1:-1;5161:1:1;5175:5;;5110:80;5209:4;5199:76;;-1:-1:-1;5246:1:1;5260:5;;5199:76;5291:4;5309:1;5304:59;;;;5377:1;5372:130;;;;5284:218;;5304:59;5334:1;5325:10;;5348:5;;;5372:130;5409:3;5399:8;5396:17;5393:43;;;5416:18;;:::i;:::-;-1:-1:-1;;5472:1:1;5458:16;;5487:5;;5284:218;;5586:2;5576:8;5573:16;5567:3;5561:4;5558:13;5554:36;5548:2;5538:8;5535:16;5530:2;5524:4;5521:12;5517:35;5514:77;5511:159;;;-1:-1:-1;5623:19:1;;;5655:5;;5511:159;5702:34;5727:8;5721:4;5702:34;:::i;:::-;5772:6;5768:1;5764:6;5760:19;5751:7;5748:32;5745:58;;;5783:18;;:::i;:::-;5821:20;;5041:806;-1:-1:-1;;;5041:806:1:o;5852:140::-;5910:5;5939:47;5980:4;5970:8;5966:19;5960:4;5939:47;:::i;5997:168::-;6070:9;;;6101;;6118:15;;;6112:22;;6098:37;6088:71;;6139:18;;:::i;6170:356::-;6372:2;6354:21;;;6391:18;;;6384:30;6450:34;6445:2;6430:18;;6423:62;6517:2;6502:18;;6170:356::o;6531:127::-;6592:10;6587:3;6583:20;6580:1;6573:31;6623:4;6620:1;6613:15;6647:4;6644:1;6637:15;6663:135;6702:3;6723:17;;;6720:43;;6743:18;;:::i;:::-;-1:-1:-1;6790:1:1;6779:13;;6663:135::o;7514:251::-;7584:6;7637:2;7625:9;7616:7;7612:23;7608:32;7605:52;;;7653:1;7650;7643:12;7605:52;7685:9;7679:16;7704:31;7729:5;7704:31;:::i;8691:306::-;8779:6;8787;8795;8848:2;8836:9;8827:7;8823:23;8819:32;8816:52;;;8864:1;8861;8854:12;8816:52;8893:9;8887:16;8877:26;;8943:2;8932:9;8928:18;8922:25;8912:35;;8987:2;8976:9;8972:18;8966:25;8956:35;;8691:306;;;;;:::o;9281:277::-;9348:6;9401:2;9389:9;9380:7;9376:23;9372:32;9369:52;;;9417:1;9414;9407:12;9369:52;9449:9;9443:16;9502:5;9495:13;9488:21;9481:5;9478:32;9468:60;;9524:1;9521;9514:12;12427:125;12492:9;;;12513:10;;;12510:36;;;12526:18;;:::i;12912:128::-;12979:9;;;13000:11;;;12997:37;;;13014:18;;:::i;13045:980::-;13307:4;13355:3;13344:9;13340:19;13386:6;13375:9;13368:25;13412:2;13450:6;13445:2;13434:9;13430:18;13423:34;13493:3;13488:2;13477:9;13473:18;13466:31;13517:6;13552;13546:13;13583:6;13575;13568:22;13621:3;13610:9;13606:19;13599:26;;13660:2;13652:6;13648:15;13634:29;;13681:1;13691:195;13705:6;13702:1;13699:13;13691:195;;;13770:13;;-1:-1:-1;;;;;13766:39:1;13754:52;;13861:15;;;;13826:12;;;;13802:1;13720:9;13691:195;;;-1:-1:-1;;;;;;;13942:32:1;;;;13937:2;13922:18;;13915:60;-1:-1:-1;;;14006:3:1;13991:19;13984:35;13903:3;13045:980;-1:-1:-1;;;13045:980:1:o;14030:217::-;14070:1;14096;14086:132;;14140:10;14135:3;14131:20;14128:1;14121:31;14175:4;14172:1;14165:15;14203:4;14200:1;14193:15;14086:132;-1:-1:-1;14232:9:1;;14030:217::o

Swarm Source

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