ETH Price: $2,297.49 (-5.19%)

Token

ya boi skittles (SKITTLE)
 

Overview

Max Total Supply

69,000,000 SKITTLE

Holders

39

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
536,996.827385011 SKITTLE

Value
$0.00
0x98e8a05a4acfcdba68ff96234db27a2bbad6a1a5
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:
yaboiskittles

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-28
*/

/**

ya boi skittles

Website: https://www.yaboiskittles.vip/
Telegram: https://t.me/skittletoken
Twitter : https://twitter.com/skittletoken

**/

// SPDX-License-Identifier: Unlicensed

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

interface IERC20 {
   
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    event Approval (address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    
}

library SafeMath {



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

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

    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 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, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, 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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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


}

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 yaboiskittles is Context, IERC20, Ownable 
{
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => mapping (address => uint256)) private _allowances;

    address payable private _taxWallet;

    uint256 private _initialBuyTax=8;
    uint256 private _initialSellTax=12;

    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;

    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;

    uint256 firstBlock;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 69000000 * 10**_decimals;

    string private constant _name = unicode"ya boi skittles";
    string private constant _symbol = unicode"SKITTLE";

    uint256 public _maxTxAmount = 1380000 * 10**_decimals;
    uint256 public _maxWalletSize = 1380000 * 10**_decimals;

    uint256 public _taxSwapThreshold= 500000 * 10**_decimals;
    uint256 public _maxTaxSwap= 500000 * 10**_decimals;

    bool private inSwap = false;
    bool private swapEnabled = false;

    address private uniswapV2Pair;
    bool private tradingOpen;

    IUniswapV2Router02 private uniswapV2Router;

    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap 
    {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[owner()] = true;
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;


        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 totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

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

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

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

        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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

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

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

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;

        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addSkittles() external onlyOwner() 
    {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    }

    function enableTrade() external onlyOwner() 
    {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }


    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addSkittles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"remBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526008600655600c6007555f6008555f6009556014600a556014600b556014600c555f600e556009600a620000399190620005ed565b62150ea06200004991906200063d565b600f556009600a6200005c9190620005ed565b62150ea06200006c91906200063d565b6010556009600a6200007f9190620005ed565b6207a1206200008f91906200063d565b6011556009600a620000a29190620005ed565b6207a120620000b291906200063d565b6012555f60135f6101000a81548160ff0219169083151502179055505f601360016101000a81548160ff021916908315150217905550348015620000f4575f80fd5b505f620001066200042d60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160025f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160025f620002826200043460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620002e16200042d60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620003309190620005ed565b63041cdb406200034191906200063d565b60015f620003546200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620003a16200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003ff9190620005ed565b63041cdb406200041091906200063d565b6040516200041f919062000698565b60405180910390a3620006b3565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004e557808604811115620004bd57620004bc6200045b565b5b6001851615620004cd5780820291505b8081029050620004dd8562000488565b94506200049d565b94509492505050565b5f82620004ff5760019050620005d1565b816200050e575f9050620005d1565b8160018114620005275760028114620005325762000568565b6001915050620005d1565b60ff8411156200054757620005466200045b565b5b8360020a9150848211156200056157620005606200045b565b5b50620005d1565b5060208310610133831016604e8410600b8410161715620005a25782820a9050838111156200059c576200059b6200045b565b5b620005d1565b620005b1848484600162000494565b92509050818404811115620005cb57620005ca6200045b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005f982620005d8565b91506200060683620005e1565b9250620006357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004ee565b905092915050565b5f6200064982620005d8565b91506200065683620005d8565b92508282026200066681620005d8565b9150828204841483151762000680576200067f6200045b565b5b5092915050565b6200069281620005d8565b82525050565b5f602082019050620006ad5f83018462000687565b92915050565b61334f80620006c15f395ff3fe60806040526004361061012c575f3560e01c806370a08231116100aa5780638f9a55c01161006e5780638f9a55c0146103b557806395d89b41146103df578063a9059cbb14610409578063bf474bed14610445578063dd62ed3e1461046f578063ed4cb28e146104ab57610133565b806370a08231146102f9578063715018a614610335578063751039fc1461034b5780637d1db4a5146103615780638da5cb5b1461038b57610133565b806321bbcbb1116100f157806321bbcbb11461020757806322e504f81461022f57806323b872dd14610257578063313ce567146102935780633bbac579146102bd57610133565b806299d3861461013757806306fdde031461014d578063095ea7b3146101775780630faee56f146101b357806318160ddd146101dd57610133565b3661013357005b5f80fd5b348015610142575f80fd5b5061014b6104c1565b005b348015610158575f80fd5b5061016161077b565b60405161016e919061238e565b60405180910390f35b348015610182575f80fd5b5061019d6004803603810190610198919061244c565b6107b8565b6040516101aa91906124a4565b60405180910390f35b3480156101be575f80fd5b506101c76107d5565b6040516101d491906124cc565b60405180910390f35b3480156101e8575f80fd5b506101f16107db565b6040516101fe91906124cc565b60405180910390f35b348015610212575f80fd5b5061022d60048036038101906102289190612625565b6107fe565b005b34801561023a575f80fd5b5061025560048036038101906102509190612625565b610923565b005b348015610262575f80fd5b5061027d6004803603810190610278919061266c565b610a47565b60405161028a91906124a4565b60405180910390f35b34801561029e575f80fd5b506102a7610b1b565b6040516102b491906126d7565b60405180910390f35b3480156102c8575f80fd5b506102e360048036038101906102de91906126f0565b610b23565b6040516102f091906124a4565b60405180910390f35b348015610304575f80fd5b5061031f600480360381019061031a91906126f0565b610b75565b60405161032c91906124cc565b60405180910390f35b348015610340575f80fd5b50610349610bbb565b005b348015610356575f80fd5b5061035f610d09565b005b34801561036c575f80fd5b50610375610e38565b60405161038291906124cc565b60405180910390f35b348015610396575f80fd5b5061039f610e3e565b6040516103ac919061272a565b60405180910390f35b3480156103c0575f80fd5b506103c9610e65565b6040516103d691906124cc565b60405180910390f35b3480156103ea575f80fd5b506103f3610e6b565b604051610400919061238e565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061244c565b610ea8565b60405161043c91906124a4565b60405180910390f35b348015610450575f80fd5b50610459610ec5565b60405161046691906124cc565b60405180910390f35b34801561047a575f80fd5b5061049560048036038101906104909190612743565b610ecb565b6040516104a291906124cc565b60405180910390f35b3480156104b6575f80fd5b506104bf610f4d565b005b6104c9611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c906127cb565b60405180910390fd5b601360169054906101000a900460ff16156105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90612833565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306105ed30610b75565b5f806105f7610e3e565b426040518863ffffffff1660e01b815260040161061996959493929190612893565b60606040518083038185885af1158015610635573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065a9190612906565b505050601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016106fb929190612956565b6020604051808303815f875af1158015610717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073b91906129a7565b506001601360016101000a81548160ff0219169083151502179055506001601360166101000a81548160ff02191690831515021790555043600d81905550565b60606040518060400160405280600f81526020017f796120626f6920736b6974746c65730000000000000000000000000000000000815250905090565b5f6107cb6107c4611254565b848461125b565b6001905092915050565b60125481565b5f6009600a6107ea9190612b2e565b63041cdb406107f99190612b78565b905090565b610806611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610889906127cb565b60405180910390fd5b5f5b815181101561091f57600160035f8484815181106108b5576108b4612bb9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061091790612be6565b915050610894565b5050565b61092b611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae906127cb565b60405180910390fd5b5f5b8151811015610a43575f60035f8484815181106109d9576109d8612bb9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a3b90612be6565b9150506109b9565b5050565b5f610a5384848461141e565b610b1084610a5f611254565b610b0b856040518060600160405280602881526020016132f26028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ac2611254565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611de19092919063ffffffff16565b61125b565b600190509392505050565b5f6009905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc3611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c46906127cb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d11611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d94906127cb565b60405180910390fd5b6009600a610dab9190612b2e565b63041cdb40610dba9190612b78565b600f819055506009600a610dce9190612b2e565b63041cdb40610ddd9190612b78565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610e129190612b2e565b63041cdb40610e219190612b78565b604051610e2e91906124cc565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f534b4954544c4500000000000000000000000000000000000000000000000000815250905090565b5f610ebb610eb4611254565b848461141e565b6001905092915050565b60115481565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f55611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd8906127cb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061107d3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6110699190612b2e565b63041cdb406110789190612b78565b61125b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110b9190612c41565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611191573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b59190612c41565b6040518363ffffffff1660e01b81526004016111d2929190612c6c565b6020604051808303815f875af11580156111ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112129190612c41565b601360026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090612d03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90612d91565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161141191906124cc565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612ead565b60405180910390fd5b5f811161153c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153390612f3b565b60405180910390fd5b5f611545610e3e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b35750611583610e3e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b315760035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611656575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61165e575f80fd5b61169a606461168c600a54600e54116116795760065461167d565b6008545b85611e4390919063ffffffff16565b611eba90919063ffffffff16565b9050601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611746575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611799575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561187c57600f548211156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612fa3565b60405180910390fd5b601054826117f085610b75565b6117fa9190612fc1565b111561183b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118329061303e565b60405180910390fd5b436003600d5461184b9190612fc1565b11156118645761185a83611f03565b15611863575f80fd5b5b600e5f81548092919061187690612be6565b91905055505b601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611921575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197f576010548261193385610b75565b61193d9190612fc1565b111561197e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119759061303e565b60405180910390fd5b5b601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a0857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a4c57611a496064611a3b600b54600e5411611a2857600754611a2c565b6009545b85611e4390919063ffffffff16565b611eba90919063ffffffff16565b90505b5f611a5630610b75565b905060135f9054906101000a900460ff16158015611ac15750601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ad95750601360019054906101000a900460ff165b8015611ae6575060115481115b8015611af55750600c54600e54115b15611b2f57611b17611b1284611b0d84601254611f14565b611f14565b611f2c565b5f4790505f811115611b2d57611b2c47612195565b5b505b505b5f811115611c3057611b898160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c2791906124cc565b60405180910390a35b611c808260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d23611cd7828461225a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dc6848661225a90919063ffffffff16565b604051611dd391906124cc565b60405180910390a350505050565b5f838311158290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f919061238e565b60405180910390fd5b505f8385611e36919061305c565b9050809150509392505050565b5f808303611e53575f9050611eb4565b5f8284611e609190612b78565b9050828482611e6f91906130bc565b14611eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea69061315c565b60405180910390fd5b809150505b92915050565b5f611efb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122a3565b905092915050565b5f80823b90505f8111915050919050565b5f818311611f225782611f24565b815b905092915050565b600160135f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f6257611f616124e9565b5b604051908082528060200260200182016040528015611f905781602001602082028036833780820191505090505b50905030815f81518110611fa757611fa6612bb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061206f9190612c41565b8160018151811061208357612082612bb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120e93060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461125b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161214b959493929190613231565b5f604051808303815f87803b158015612162575f80fd5b505af1158015612174573d5f803e3d5ffd5b50505050505f60135f6101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121f9573d5f803e3d5ffd5b5050565b5f80828461220b9190612fc1565b905083811015612250576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612247906132d3565b60405180910390fd5b8091505092915050565b5f61229b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de1565b905092915050565b5f80831182906122e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e0919061238e565b60405180910390fd5b505f83856122f791906130bc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561233b578082015181840152602081019050612320565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61236082612304565b61236a818561230e565b935061237a81856020860161231e565b61238381612346565b840191505092915050565b5f6020820190508181035f8301526123a68184612356565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123e8826123bf565b9050919050565b6123f8816123de565b8114612402575f80fd5b50565b5f81359050612413816123ef565b92915050565b5f819050919050565b61242b81612419565b8114612435575f80fd5b50565b5f8135905061244681612422565b92915050565b5f8060408385031215612462576124616123b7565b5b5f61246f85828601612405565b925050602061248085828601612438565b9150509250929050565b5f8115159050919050565b61249e8161248a565b82525050565b5f6020820190506124b75f830184612495565b92915050565b6124c681612419565b82525050565b5f6020820190506124df5f8301846124bd565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61251f82612346565b810181811067ffffffffffffffff8211171561253e5761253d6124e9565b5b80604052505050565b5f6125506123ae565b905061255c8282612516565b919050565b5f67ffffffffffffffff82111561257b5761257a6124e9565b5b602082029050602081019050919050565b5f80fd5b5f6125a261259d84612561565b612547565b905080838252602082019050602084028301858111156125c5576125c461258c565b5b835b818110156125ee57806125da8882612405565b8452602084019350506020810190506125c7565b5050509392505050565b5f82601f83011261260c5761260b6124e5565b5b813561261c848260208601612590565b91505092915050565b5f6020828403121561263a576126396123b7565b5b5f82013567ffffffffffffffff811115612657576126566123bb565b5b612663848285016125f8565b91505092915050565b5f805f60608486031215612683576126826123b7565b5b5f61269086828701612405565b93505060206126a186828701612405565b92505060406126b286828701612438565b9150509250925092565b5f60ff82169050919050565b6126d1816126bc565b82525050565b5f6020820190506126ea5f8301846126c8565b92915050565b5f60208284031215612705576127046123b7565b5b5f61271284828501612405565b91505092915050565b612724816123de565b82525050565b5f60208201905061273d5f83018461271b565b92915050565b5f8060408385031215612759576127586123b7565b5b5f61276685828601612405565b925050602061277785828601612405565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127b560208361230e565b91506127c082612781565b602082019050919050565b5f6020820190508181035f8301526127e2816127a9565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61281d60178361230e565b9150612828826127e9565b602082019050919050565b5f6020820190508181035f83015261284a81612811565b9050919050565b5f819050919050565b5f819050919050565b5f61287d61287861287384612851565b61285a565b612419565b9050919050565b61288d81612863565b82525050565b5f60c0820190506128a65f83018961271b565b6128b360208301886124bd565b6128c06040830187612884565b6128cd6060830186612884565b6128da608083018561271b565b6128e760a08301846124bd565b979650505050505050565b5f8151905061290081612422565b92915050565b5f805f6060848603121561291d5761291c6123b7565b5b5f61292a868287016128f2565b935050602061293b868287016128f2565b925050604061294c868287016128f2565b9150509250925092565b5f6040820190506129695f83018561271b565b61297660208301846124bd565b9392505050565b6129868161248a565b8114612990575f80fd5b50565b5f815190506129a18161297d565b92915050565b5f602082840312156129bc576129bb6123b7565b5b5f6129c984828501612993565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612a5457808604811115612a3057612a2f6129d2565b5b6001851615612a3f5780820291505b8081029050612a4d856129ff565b9450612a14565b94509492505050565b5f82612a6c5760019050612b27565b81612a79575f9050612b27565b8160018114612a8f5760028114612a9957612ac8565b6001915050612b27565b60ff841115612aab57612aaa6129d2565b5b8360020a915084821115612ac257612ac16129d2565b5b50612b27565b5060208310610133831016604e8410600b8410161715612afd5782820a905083811115612af857612af76129d2565b5b612b27565b612b0a8484846001612a0b565b92509050818404811115612b2157612b206129d2565b5b81810290505b9392505050565b5f612b3882612419565b9150612b43836126bc565b9250612b707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a5d565b905092915050565b5f612b8282612419565b9150612b8d83612419565b9250828202612b9b81612419565b91508282048414831517612bb257612bb16129d2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612bf082612419565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2257612c216129d2565b5b600182019050919050565b5f81519050612c3b816123ef565b92915050565b5f60208284031215612c5657612c556123b7565b5b5f612c6384828501612c2d565b91505092915050565b5f604082019050612c7f5f83018561271b565b612c8c602083018461271b565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ced60248361230e565b9150612cf882612c93565b604082019050919050565b5f6020820190508181035f830152612d1a81612ce1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d7b60228361230e565b9150612d8682612d21565b604082019050919050565b5f6020820190508181035f830152612da881612d6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e0960258361230e565b9150612e1482612daf565b604082019050919050565b5f6020820190508181035f830152612e3681612dfd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e9760238361230e565b9150612ea282612e3d565b604082019050919050565b5f6020820190508181035f830152612ec481612e8b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f2560298361230e565b9150612f3082612ecb565b604082019050919050565b5f6020820190508181035f830152612f5281612f19565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f8d60198361230e565b9150612f9882612f59565b602082019050919050565b5f6020820190508181035f830152612fba81612f81565b9050919050565b5f612fcb82612419565b9150612fd683612419565b9250828201905080821115612fee57612fed6129d2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613028601a8361230e565b915061303382612ff4565b602082019050919050565b5f6020820190508181035f8301526130558161301c565b9050919050565b5f61306682612419565b915061307183612419565b9250828203905081811115613089576130886129d2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130c682612419565b91506130d183612419565b9250826130e1576130e061308f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61314660218361230e565b9150613151826130ec565b604082019050919050565b5f6020820190508181035f8301526131738161313a565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131ac816123de565b82525050565b5f6131bd83836131a3565b60208301905092915050565b5f602082019050919050565b5f6131df8261317a565b6131e98185613184565b93506131f483613194565b805f5b8381101561322457815161320b88826131b2565b9750613216836131c9565b9250506001810190506131f7565b5085935050505092915050565b5f60a0820190506132445f8301886124bd565b6132516020830187612884565b818103604083015261326381866131d5565b9050613272606083018561271b565b61327f60808301846124bd565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bd601b8361230e565b91506132c882613289565b602082019050919050565b5f6020820190508181035f8301526132ea816132b1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220183c2cb27d4bf1cc69093c90ee0f7d24a02aa72243829d26c63fd8cae842ccb264736f6c63430008140033

Deployed Bytecode

0x60806040526004361061012c575f3560e01c806370a08231116100aa5780638f9a55c01161006e5780638f9a55c0146103b557806395d89b41146103df578063a9059cbb14610409578063bf474bed14610445578063dd62ed3e1461046f578063ed4cb28e146104ab57610133565b806370a08231146102f9578063715018a614610335578063751039fc1461034b5780637d1db4a5146103615780638da5cb5b1461038b57610133565b806321bbcbb1116100f157806321bbcbb11461020757806322e504f81461022f57806323b872dd14610257578063313ce567146102935780633bbac579146102bd57610133565b806299d3861461013757806306fdde031461014d578063095ea7b3146101775780630faee56f146101b357806318160ddd146101dd57610133565b3661013357005b5f80fd5b348015610142575f80fd5b5061014b6104c1565b005b348015610158575f80fd5b5061016161077b565b60405161016e919061238e565b60405180910390f35b348015610182575f80fd5b5061019d6004803603810190610198919061244c565b6107b8565b6040516101aa91906124a4565b60405180910390f35b3480156101be575f80fd5b506101c76107d5565b6040516101d491906124cc565b60405180910390f35b3480156101e8575f80fd5b506101f16107db565b6040516101fe91906124cc565b60405180910390f35b348015610212575f80fd5b5061022d60048036038101906102289190612625565b6107fe565b005b34801561023a575f80fd5b5061025560048036038101906102509190612625565b610923565b005b348015610262575f80fd5b5061027d6004803603810190610278919061266c565b610a47565b60405161028a91906124a4565b60405180910390f35b34801561029e575f80fd5b506102a7610b1b565b6040516102b491906126d7565b60405180910390f35b3480156102c8575f80fd5b506102e360048036038101906102de91906126f0565b610b23565b6040516102f091906124a4565b60405180910390f35b348015610304575f80fd5b5061031f600480360381019061031a91906126f0565b610b75565b60405161032c91906124cc565b60405180910390f35b348015610340575f80fd5b50610349610bbb565b005b348015610356575f80fd5b5061035f610d09565b005b34801561036c575f80fd5b50610375610e38565b60405161038291906124cc565b60405180910390f35b348015610396575f80fd5b5061039f610e3e565b6040516103ac919061272a565b60405180910390f35b3480156103c0575f80fd5b506103c9610e65565b6040516103d691906124cc565b60405180910390f35b3480156103ea575f80fd5b506103f3610e6b565b604051610400919061238e565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061244c565b610ea8565b60405161043c91906124a4565b60405180910390f35b348015610450575f80fd5b50610459610ec5565b60405161046691906124cc565b60405180910390f35b34801561047a575f80fd5b5061049560048036038101906104909190612743565b610ecb565b6040516104a291906124cc565b60405180910390f35b3480156104b6575f80fd5b506104bf610f4d565b005b6104c9611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c906127cb565b60405180910390fd5b601360169054906101000a900460ff16156105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90612833565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306105ed30610b75565b5f806105f7610e3e565b426040518863ffffffff1660e01b815260040161061996959493929190612893565b60606040518083038185885af1158015610635573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065a9190612906565b505050601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016106fb929190612956565b6020604051808303815f875af1158015610717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073b91906129a7565b506001601360016101000a81548160ff0219169083151502179055506001601360166101000a81548160ff02191690831515021790555043600d81905550565b60606040518060400160405280600f81526020017f796120626f6920736b6974746c65730000000000000000000000000000000000815250905090565b5f6107cb6107c4611254565b848461125b565b6001905092915050565b60125481565b5f6009600a6107ea9190612b2e565b63041cdb406107f99190612b78565b905090565b610806611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610889906127cb565b60405180910390fd5b5f5b815181101561091f57600160035f8484815181106108b5576108b4612bb9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061091790612be6565b915050610894565b5050565b61092b611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae906127cb565b60405180910390fd5b5f5b8151811015610a43575f60035f8484815181106109d9576109d8612bb9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a3b90612be6565b9150506109b9565b5050565b5f610a5384848461141e565b610b1084610a5f611254565b610b0b856040518060600160405280602881526020016132f26028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ac2611254565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611de19092919063ffffffff16565b61125b565b600190509392505050565b5f6009905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc3611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c46906127cb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d11611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d94906127cb565b60405180910390fd5b6009600a610dab9190612b2e565b63041cdb40610dba9190612b78565b600f819055506009600a610dce9190612b2e565b63041cdb40610ddd9190612b78565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610e129190612b2e565b63041cdb40610e219190612b78565b604051610e2e91906124cc565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f534b4954544c4500000000000000000000000000000000000000000000000000815250905090565b5f610ebb610eb4611254565b848461141e565b6001905092915050565b60115481565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f55611254565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd8906127cb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061107d3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6110699190612b2e565b63041cdb406110789190612b78565b61125b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110b9190612c41565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611191573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b59190612c41565b6040518363ffffffff1660e01b81526004016111d2929190612c6c565b6020604051808303815f875af11580156111ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112129190612c41565b601360026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090612d03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90612d91565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161141191906124cc565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612ead565b60405180910390fd5b5f811161153c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153390612f3b565b60405180910390fd5b5f611545610e3e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b35750611583610e3e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b315760035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611656575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61165e575f80fd5b61169a606461168c600a54600e54116116795760065461167d565b6008545b85611e4390919063ffffffff16565b611eba90919063ffffffff16565b9050601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611746575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611799575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561187c57600f548211156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612fa3565b60405180910390fd5b601054826117f085610b75565b6117fa9190612fc1565b111561183b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118329061303e565b60405180910390fd5b436003600d5461184b9190612fc1565b11156118645761185a83611f03565b15611863575f80fd5b5b600e5f81548092919061187690612be6565b91905055505b601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611921575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197f576010548261193385610b75565b61193d9190612fc1565b111561197e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119759061303e565b60405180910390fd5b5b601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a0857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a4c57611a496064611a3b600b54600e5411611a2857600754611a2c565b6009545b85611e4390919063ffffffff16565b611eba90919063ffffffff16565b90505b5f611a5630610b75565b905060135f9054906101000a900460ff16158015611ac15750601360029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ad95750601360019054906101000a900460ff165b8015611ae6575060115481115b8015611af55750600c54600e54115b15611b2f57611b17611b1284611b0d84601254611f14565b611f14565b611f2c565b5f4790505f811115611b2d57611b2c47612195565b5b505b505b5f811115611c3057611b898160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c2791906124cc565b60405180910390a35b611c808260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d23611cd7828461225a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dc6848661225a90919063ffffffff16565b604051611dd391906124cc565b60405180910390a350505050565b5f838311158290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f919061238e565b60405180910390fd5b505f8385611e36919061305c565b9050809150509392505050565b5f808303611e53575f9050611eb4565b5f8284611e609190612b78565b9050828482611e6f91906130bc565b14611eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea69061315c565b60405180910390fd5b809150505b92915050565b5f611efb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122a3565b905092915050565b5f80823b90505f8111915050919050565b5f818311611f225782611f24565b815b905092915050565b600160135f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f6257611f616124e9565b5b604051908082528060200260200182016040528015611f905781602001602082028036833780820191505090505b50905030815f81518110611fa757611fa6612bb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061206f9190612c41565b8160018151811061208357612082612bb9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120e93060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461125b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161214b959493929190613231565b5f604051808303815f87803b158015612162575f80fd5b505af1158015612174573d5f803e3d5ffd5b50505050505f60135f6101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121f9573d5f803e3d5ffd5b5050565b5f80828461220b9190612fc1565b905083811015612250576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612247906132d3565b60405180910390fd5b8091505092915050565b5f61229b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de1565b905092915050565b5f80831182906122e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e0919061238e565b60405180910390fd5b505f83856122f791906130bc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561233b578082015181840152602081019050612320565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61236082612304565b61236a818561230e565b935061237a81856020860161231e565b61238381612346565b840191505092915050565b5f6020820190508181035f8301526123a68184612356565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123e8826123bf565b9050919050565b6123f8816123de565b8114612402575f80fd5b50565b5f81359050612413816123ef565b92915050565b5f819050919050565b61242b81612419565b8114612435575f80fd5b50565b5f8135905061244681612422565b92915050565b5f8060408385031215612462576124616123b7565b5b5f61246f85828601612405565b925050602061248085828601612438565b9150509250929050565b5f8115159050919050565b61249e8161248a565b82525050565b5f6020820190506124b75f830184612495565b92915050565b6124c681612419565b82525050565b5f6020820190506124df5f8301846124bd565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61251f82612346565b810181811067ffffffffffffffff8211171561253e5761253d6124e9565b5b80604052505050565b5f6125506123ae565b905061255c8282612516565b919050565b5f67ffffffffffffffff82111561257b5761257a6124e9565b5b602082029050602081019050919050565b5f80fd5b5f6125a261259d84612561565b612547565b905080838252602082019050602084028301858111156125c5576125c461258c565b5b835b818110156125ee57806125da8882612405565b8452602084019350506020810190506125c7565b5050509392505050565b5f82601f83011261260c5761260b6124e5565b5b813561261c848260208601612590565b91505092915050565b5f6020828403121561263a576126396123b7565b5b5f82013567ffffffffffffffff811115612657576126566123bb565b5b612663848285016125f8565b91505092915050565b5f805f60608486031215612683576126826123b7565b5b5f61269086828701612405565b93505060206126a186828701612405565b92505060406126b286828701612438565b9150509250925092565b5f60ff82169050919050565b6126d1816126bc565b82525050565b5f6020820190506126ea5f8301846126c8565b92915050565b5f60208284031215612705576127046123b7565b5b5f61271284828501612405565b91505092915050565b612724816123de565b82525050565b5f60208201905061273d5f83018461271b565b92915050565b5f8060408385031215612759576127586123b7565b5b5f61276685828601612405565b925050602061277785828601612405565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127b560208361230e565b91506127c082612781565b602082019050919050565b5f6020820190508181035f8301526127e2816127a9565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61281d60178361230e565b9150612828826127e9565b602082019050919050565b5f6020820190508181035f83015261284a81612811565b9050919050565b5f819050919050565b5f819050919050565b5f61287d61287861287384612851565b61285a565b612419565b9050919050565b61288d81612863565b82525050565b5f60c0820190506128a65f83018961271b565b6128b360208301886124bd565b6128c06040830187612884565b6128cd6060830186612884565b6128da608083018561271b565b6128e760a08301846124bd565b979650505050505050565b5f8151905061290081612422565b92915050565b5f805f6060848603121561291d5761291c6123b7565b5b5f61292a868287016128f2565b935050602061293b868287016128f2565b925050604061294c868287016128f2565b9150509250925092565b5f6040820190506129695f83018561271b565b61297660208301846124bd565b9392505050565b6129868161248a565b8114612990575f80fd5b50565b5f815190506129a18161297d565b92915050565b5f602082840312156129bc576129bb6123b7565b5b5f6129c984828501612993565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612a5457808604811115612a3057612a2f6129d2565b5b6001851615612a3f5780820291505b8081029050612a4d856129ff565b9450612a14565b94509492505050565b5f82612a6c5760019050612b27565b81612a79575f9050612b27565b8160018114612a8f5760028114612a9957612ac8565b6001915050612b27565b60ff841115612aab57612aaa6129d2565b5b8360020a915084821115612ac257612ac16129d2565b5b50612b27565b5060208310610133831016604e8410600b8410161715612afd5782820a905083811115612af857612af76129d2565b5b612b27565b612b0a8484846001612a0b565b92509050818404811115612b2157612b206129d2565b5b81810290505b9392505050565b5f612b3882612419565b9150612b43836126bc565b9250612b707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a5d565b905092915050565b5f612b8282612419565b9150612b8d83612419565b9250828202612b9b81612419565b91508282048414831517612bb257612bb16129d2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612bf082612419565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2257612c216129d2565b5b600182019050919050565b5f81519050612c3b816123ef565b92915050565b5f60208284031215612c5657612c556123b7565b5b5f612c6384828501612c2d565b91505092915050565b5f604082019050612c7f5f83018561271b565b612c8c602083018461271b565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ced60248361230e565b9150612cf882612c93565b604082019050919050565b5f6020820190508181035f830152612d1a81612ce1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d7b60228361230e565b9150612d8682612d21565b604082019050919050565b5f6020820190508181035f830152612da881612d6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e0960258361230e565b9150612e1482612daf565b604082019050919050565b5f6020820190508181035f830152612e3681612dfd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e9760238361230e565b9150612ea282612e3d565b604082019050919050565b5f6020820190508181035f830152612ec481612e8b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f2560298361230e565b9150612f3082612ecb565b604082019050919050565b5f6020820190508181035f830152612f5281612f19565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f8d60198361230e565b9150612f9882612f59565b602082019050919050565b5f6020820190508181035f830152612fba81612f81565b9050919050565b5f612fcb82612419565b9150612fd683612419565b9250828201905080821115612fee57612fed6129d2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613028601a8361230e565b915061303382612ff4565b602082019050919050565b5f6020820190508181035f8301526130558161301c565b9050919050565b5f61306682612419565b915061307183612419565b9250828203905081811115613089576130886129d2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130c682612419565b91506130d183612419565b9250826130e1576130e061308f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61314660218361230e565b9150613151826130ec565b604082019050919050565b5f6020820190508181035f8301526131738161313a565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131ac816123de565b82525050565b5f6131bd83836131a3565b60208301905092915050565b5f602082019050919050565b5f6131df8261317a565b6131e98185613184565b93506131f483613194565b805f5b8381101561322457815161320b88826131b2565b9750613216836131c9565b9250506001810190506131f7565b5085935050505092915050565b5f60a0820190506132445f8301886124bd565b6132516020830187612884565b818103604083015261326381866131d5565b9050613272606083018561271b565b61327f60808301846124bd565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bd601b8361230e565b91506132c882613289565b602082019050919050565b5f6020820190508181035f8301526132ea816132b1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220183c2cb27d4bf1cc69093c90ee0f7d24a02aa72243829d26c63fd8cae842ccb264736f6c63430008140033

Deployed Bytecode Sourcemap

3659:8155:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11336:434;;;;;;;;;;;;;:::i;:::-;;5540:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6047:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4801:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5726:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10436:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10260:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6734:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5956:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10063;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5829:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2524:148;;;;;;;;;;;;;:::i;:::-;;10607:161;;;;;;;;;;;;;:::i;:::-;;4614:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2807:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4674:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5631:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6559:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4738:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7055:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10989:339;;;;;;;;;;;;;:::i;:::-;;11336:434;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11406:11:::1;;;;;;;;;;;11405:12;11397:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11455:15;;;;;;;;;;;:31;;;11494:21;11525:4;11531:24;11549:4;11531:9;:24::i;:::-;11556:1;11558::::0;11560:7:::1;:5;:7::i;:::-;11568:15;11455:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11602:13;;;;;;;;;;;11595:29;;;11633:15;;;;;;;;;;;11651:14;11595:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11693:4;11679:11;;:18;;;;;;;;;;;;;;;;;;11722:4;11708:11;;:18;;;;;;;;;;;;;;;;;;11750:12;11737:10;:25;;;;11336:434::o:0;5540:83::-;5577:13;5610:5;;;;;;;;;;;;;;;;;5603:12;;5540:83;:::o;6047:161::-;6122:4;6139:39;6148:12;:10;:12::i;:::-;6162:7;6171:6;6139:8;:39::i;:::-;6196:4;6189:11;;6047:161;;;;:::o;4801:50::-;;;;:::o;5726:95::-;5779:7;4416:1;4470:2;:13;;;;:::i;:::-;4459:8;:24;;;;:::i;:::-;5799:14;;5726:95;:::o;10436:163::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10509:6:::1;10504:88;10525:5;:12;10521:1;:16;10504:88;;;10576:4;10559;:14;10564:5;10570:1;10564:8;;;;;;;;:::i;:::-;;;;;;;;10559:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10539:3;;;;;:::i;:::-;;;;10504:88;;;;10436:163:::0;:::o;10260:168::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10339:6:::1;10334:87;10355:6;:13;10351:1;:17;10334:87;;;10406:5;10388:4;:15;10393:6;10400:1;10393:9;;;;;;;;:::i;:::-;;;;;;;;10388:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10370:3;;;;;:::i;:::-;;;;10334:87;;;;10260:168:::0;:::o;6734:313::-;6832:4;6849:36;6859:6;6867:9;6878:6;6849:9;:36::i;:::-;6896:121;6905:6;6913:12;:10;:12::i;:::-;6927:89;6965:6;6927:89;;;;;;;;;;;;;;;;;:11;:19;6939:6;6927:19;;;;;;;;;;;;;;;:33;6947:12;:10;:12::i;:::-;6927:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6896:8;:121::i;:::-;7035:4;7028:11;;6734:313;;;;;:::o;5956:83::-;5997:5;4416:1;6015:16;;5956:83;:::o;10063:::-;10110:4;10131;:7;10136:1;10131:7;;;;;;;;;;;;;;;;;;;;;;;;;10124:14;;10063:83;;;:::o;5829:119::-;5895:7;5922:9;:18;5932:7;5922:18;;;;;;;;;;;;;;;;5915:25;;5829:119;;;:::o;2524:148::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2631:1:::1;2594:40;;2615:6;::::0;::::1;;;;;;;;2594:40;;;;;;;;;;;;2662:1;2645:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2524:148::o:0;10607:161::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4416:1:::1;4470:2;:13;;;;:::i;:::-;4459:8;:24;;;;:::i;:::-;10660:12;:22;;;;4416:1;4470:2;:13;;;;:::i;:::-;4459:8;:24;;;;:::i;:::-;10693:14;:22;;;;10733:27;4416:1;4470:2;:13;;;;:::i;:::-;4459:8;:24;;;;:::i;:::-;10733:27;;;;;;:::i;:::-;;;;;;;;10607:161::o:0;4614:53::-;;;;:::o;2807:79::-;2845:7;2872:6;;;;;;;;;;;2865:13;;2807:79;:::o;4674:55::-;;;;:::o;5631:87::-;5670:13;5703:7;;;;;;;;;;;;;;;;;5696:14;;5631:87;:::o;6559:167::-;6637:4;6654:42;6664:12;:10;:12::i;:::-;6678:9;6689:6;6654:9;:42::i;:::-;6714:4;6707:11;;6559:167;;;;:::o;4738:56::-;;;;:::o;7055:143::-;7136:7;7163:11;:18;7175:5;7163:18;;;;;;;;;;;;;;;:27;7182:7;7163:27;;;;;;;;;;;;;;;;7156:34;;7055:143;;;;:::o;10989:339::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11087:42:::1;11050:15;;:80;;;;;;;;;;;;;;;;;;11141:58;11158:4;11173:15;;;;;;;;;;;4416:1;4470:2;:13;;;;:::i;:::-;4459:8;:24;;;;:::i;:::-;11141:8;:58::i;:::-;11244:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11226:55;;;11290:4;11297:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11226:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11210:13;;:110;;;;;;;;;;;;;;;;;;10989:339::o:0;257:98::-;310:7;337:10;330:17;;257:98;:::o;6216:335::-;6326:1;6309:19;;:5;:19;;;6301:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6407:1;6388:21;;:7;:21;;;6380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6489:6;6459:11;:18;6471:5;6459:18;;;;;;;;;;;;;;;:27;6478:7;6459:27;;;;;;;;;;;;;;;:36;;;;6527:7;6511:32;;6520:5;6511:32;;;6536:6;6511:32;;;;;;:::i;:::-;;;;;;;;6216:335;;;:::o;7206:2258::-;7310:1;7294:18;;:4;:18;;;7286:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7387:1;7373:16;;:2;:16;;;7365:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7457:1;7448:6;:10;7440:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7515:17;7557:7;:5;:7::i;:::-;7549:15;;:4;:15;;;;:32;;;;;7574:7;:5;:7::i;:::-;7568:13;;:2;:13;;;;7549:32;7545:1561;;;7607:4;:10;7612:4;7607:10;;;;;;;;;;;;;;;;;;;;;;;;;7606:11;:24;;;;;7622:4;:8;7627:2;7622:8;;;;;;;;;;;;;;;;;;;;;;;;;7621:9;7606:24;7598:33;;;;;;7658:76;7730:3;7658:67;7680:15;;7670:9;;:25;7669:55;;7710:14;;7669:55;;;7697:12;;7669:55;7658:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7646:88;;7763:13;;;;;;;;;;;7755:21;;:4;:21;;;:55;;;;;7794:15;;;;;;;;;;;7780:30;;:2;:30;;;;7755:55;:83;;;;;7816:18;:22;7835:2;7816:22;;;;;;;;;;;;;;;;;;;;;;;;;7814:24;7755:83;7751:450;;;7892:12;;7882:6;:22;;7874:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7987:14;;7977:6;7961:13;7971:2;7961:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7953:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8075:12;8070:1;8057:10;;:14;;;;:::i;:::-;:30;8053:103;;;8121:14;8132:2;8121:10;:14::i;:::-;8120:15;8112:24;;;;;;8053:103;8174:9;;:11;;;;;;;;;:::i;:::-;;;;;;7751:450;8227:13;;;;;;;;;;;8221:19;;:2;:19;;;;:47;;;;;8246:18;:22;8265:2;8246:22;;;;;;;;;;;;;;;;;;;;;;;;;8244:24;8221:47;8217:181;;;8337:14;;8327:6;8311:13;8321:2;8311:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8303:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8217:181;8423:13;;;;;;;;;;;8417:19;;:2;:19;;;:43;;;;;8455:4;8440:20;;:4;:20;;;;8417:43;8414:174;;;8493:79;8568:3;8493:70;8515:16;;8505:9;;:26;8504:58;;8547:15;;8504:58;;;8533:13;;8504:58;8493:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8481:91;;8414:174;8604:28;8635:24;8653:4;8635:9;:24::i;:::-;8604:55;;8679:6;;;;;;;;;;;8678:7;:32;;;;;8697:13;;;;;;;;;;;8689:21;;:2;:21;;;8678:32;:47;;;;;8714:11;;;;;;;;;;;8678:47;:89;;;;;8750:17;;8729:20;:38;8678:89;:121;;;;;8781:18;;8771:9;;:28;8678:121;8674:421;;;8820:67;8837:49;8841:6;8848:37;8852:20;8873:11;;8848:3;:37::i;:::-;8837:3;:49::i;:::-;8820:16;:67::i;:::-;8906:26;8935:21;8906:50;;8999:1;8978:18;:22;8975:105;;;9025:35;9038:21;9025:12;:35::i;:::-;8975:105;8801:294;8674:421;7583:1523;7545:1561;9131:1;9121:9;:11;9118:161;;;9171:39;9200:9;9171;:24;9189:4;9171:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9146:9;:24;9164:4;9146:24;;;;;;;;;;;;;;;:64;;;;9251:4;9228:39;;9237:4;9228:39;;;9257:9;9228:39;;;;;;:::i;:::-;;;;;;;;9118:161;9305:27;9325:6;9305:9;:15;9315:4;9305:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9289:9;:15;9299:4;9289:15;;;;;;;;;;;;;;;:43;;;;9359:40;9377:21;9388:9;9377:6;:10;;:21;;;;:::i;:::-;9359:9;:13;9369:2;9359:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9345:9;:13;9355:2;9345:13;;;;;;;;;;;;;;;:54;;;;9430:2;9415:41;;9424:4;9415:41;;;9434:21;9445:9;9434:6;:10;;:21;;;;:::i;:::-;9415:41;;;;;;:::i;:::-;;;;;;;;7275:2189;7206:2258;;;:::o;2007:190::-;2093:7;2126:1;2121;:6;;2129:12;2113:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2153:9;2169:1;2165;:5;;;;:::i;:::-;2153:17;;2188:1;2181:8;;;2007:190;;;;;:::o;1562:246::-;1620:7;1649:1;1644;:6;1640:47;;1674:1;1667:8;;;;1640:47;1697:9;1713:1;1709;:5;;;;:::i;:::-;1697:17;;1742:1;1737;1733;:5;;;;:::i;:::-;:10;1725:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1799:1;1792:8;;;1562:246;;;;;:::o;1081:132::-;1139:7;1166:39;1170:1;1173;1166:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1159:46;;1081:132;;;;:::o;10776:205::-;10835:4;10852:12;10929:7;10917:20;10909:28;;10972:1;10965:4;:8;10958:15;;;10776:205;;;:::o;10154:98::-;10211:7;10238:1;10236;:3;10235:9;;10243:1;10235:9;;;10241:1;10235:9;10228:16;;10154:98;;;;:::o;9472:483::-;5154:4;5145:6;;:13;;;;;;;;;;;;;;;;;;9550:21:::1;9588:1;9574:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9550:40;;9619:4;9601;9606:1;9601:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9645:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9635:4;9640:1;9635:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9678:62;9695:4;9710:15;;;;;;;;;;;9728:11;9678:8;:62::i;:::-;9751:15;;;;;;;;;;;:66;;;9832:11;9858:1;9874:4;9901;9921:15;9751:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9539:416;5190:5:::0;5181:6;;:14;;;;;;;;;;;;;;;;;;9472:483;:::o;9963:92::-;10020:10;;;;;;;;;;;:19;;:27;10040:6;10020:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9963:92;:::o;1816:179::-;1874:7;1894:9;1910:1;1906;:5;;;;:::i;:::-;1894:17;;1935:1;1930;:6;;1922:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1986:1;1979:8;;;1816:179;;;;:::o;1418:136::-;1476:7;1503:43;1507:1;1510;1503:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1496:50;;1418:136;;;;:::o;1221:189::-;1307:7;1339:1;1335;:5;1342:12;1327:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1366:9;1382:1;1378;:5;;;;:::i;:::-;1366:17;;1401:1;1394:8;;;1221:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:117::-;3907:1;3904;3897:12;3921:180;3969:77;3966:1;3959:88;4066:4;4063:1;4056:15;4090:4;4087:1;4080:15;4107:281;4190:27;4212:4;4190:27;:::i;:::-;4182:6;4178:40;4320:6;4308:10;4305:22;4284:18;4272:10;4269:34;4266:62;4263:88;;;4331:18;;:::i;:::-;4263:88;4371:10;4367:2;4360:22;4150:238;4107:281;;:::o;4394:129::-;4428:6;4455:20;;:::i;:::-;4445:30;;4484:33;4512:4;4504:6;4484:33;:::i;:::-;4394:129;;;:::o;4529:311::-;4606:4;4696:18;4688:6;4685:30;4682:56;;;4718:18;;:::i;:::-;4682:56;4768:4;4760:6;4756:17;4748:25;;4828:4;4822;4818:15;4810:23;;4529:311;;;:::o;4846:117::-;4955:1;4952;4945:12;4986:710;5082:5;5107:81;5123:64;5180:6;5123:64;:::i;:::-;5107:81;:::i;:::-;5098:90;;5208:5;5237:6;5230:5;5223:21;5271:4;5264:5;5260:16;5253:23;;5324:4;5316:6;5312:17;5304:6;5300:30;5353:3;5345:6;5342:15;5339:122;;;5372:79;;:::i;:::-;5339:122;5487:6;5470:220;5504:6;5499:3;5496:15;5470:220;;;5579:3;5608:37;5641:3;5629:10;5608:37;:::i;:::-;5603:3;5596:50;5675:4;5670:3;5666:14;5659:21;;5546:144;5530:4;5525:3;5521:14;5514:21;;5470:220;;;5474:21;5088:608;;4986:710;;;;;:::o;5719:370::-;5790:5;5839:3;5832:4;5824:6;5820:17;5816:27;5806:122;;5847:79;;:::i;:::-;5806:122;5964:6;5951:20;5989:94;6079:3;6071:6;6064:4;6056:6;6052:17;5989:94;:::i;:::-;5980:103;;5796:293;5719:370;;;;:::o;6095:539::-;6179:6;6228:2;6216:9;6207:7;6203:23;6199:32;6196:119;;;6234:79;;:::i;:::-;6196:119;6382:1;6371:9;6367:17;6354:31;6412:18;6404:6;6401:30;6398:117;;;6434:79;;:::i;:::-;6398:117;6539:78;6609:7;6600:6;6589:9;6585:22;6539:78;:::i;:::-;6529:88;;6325:302;6095:539;;;;:::o;6640:619::-;6717:6;6725;6733;6782:2;6770:9;6761:7;6757:23;6753:32;6750:119;;;6788:79;;:::i;:::-;6750:119;6908:1;6933:53;6978:7;6969:6;6958:9;6954:22;6933:53;:::i;:::-;6923:63;;6879:117;7035:2;7061:53;7106:7;7097:6;7086:9;7082:22;7061:53;:::i;:::-;7051:63;;7006:118;7163:2;7189:53;7234:7;7225:6;7214:9;7210:22;7189:53;:::i;:::-;7179:63;;7134:118;6640:619;;;;;:::o;7265:86::-;7300:7;7340:4;7333:5;7329:16;7318:27;;7265:86;;;:::o;7357:112::-;7440:22;7456:5;7440:22;:::i;:::-;7435:3;7428:35;7357:112;;:::o;7475:214::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7615:67;7679:1;7668:9;7664:17;7655:6;7615:67;:::i;:::-;7475:214;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:182::-;9002:34;8998:1;8990:6;8986:14;8979:58;8862:182;:::o;9050:366::-;9192:3;9213:67;9277:2;9272:3;9213:67;:::i;:::-;9206:74;;9289:93;9378:3;9289:93;:::i;:::-;9407:2;9402:3;9398:12;9391:19;;9050:366;;;:::o;9422:419::-;9588:4;9626:2;9615:9;9611:18;9603:26;;9675:9;9669:4;9665:20;9661:1;9650:9;9646:17;9639:47;9703:131;9829:4;9703:131;:::i;:::-;9695:139;;9422:419;;;:::o;9847:173::-;9987:25;9983:1;9975:6;9971:14;9964:49;9847:173;:::o;10026:366::-;10168:3;10189:67;10253:2;10248:3;10189:67;:::i;:::-;10182:74;;10265:93;10354:3;10265:93;:::i;:::-;10383:2;10378:3;10374:12;10367:19;;10026:366;;;:::o;10398:419::-;10564:4;10602:2;10591:9;10587:18;10579:26;;10651:9;10645:4;10641:20;10637:1;10626:9;10622:17;10615:47;10679:131;10805:4;10679:131;:::i;:::-;10671:139;;10398:419;;;:::o;10823:85::-;10868:7;10897:5;10886:16;;10823:85;;;:::o;10914:60::-;10942:3;10963:5;10956:12;;10914:60;;;:::o;10980:158::-;11038:9;11071:61;11089:42;11098:32;11124:5;11098:32;:::i;:::-;11089:42;:::i;:::-;11071:61;:::i;:::-;11058:74;;10980:158;;;:::o;11144:147::-;11239:45;11278:5;11239:45;:::i;:::-;11234:3;11227:58;11144:147;;:::o;11297:807::-;11546:4;11584:3;11573:9;11569:19;11561:27;;11598:71;11666:1;11655:9;11651:17;11642:6;11598:71;:::i;:::-;11679:72;11747:2;11736:9;11732:18;11723:6;11679:72;:::i;:::-;11761:80;11837:2;11826:9;11822:18;11813:6;11761:80;:::i;:::-;11851;11927:2;11916:9;11912:18;11903:6;11851:80;:::i;:::-;11941:73;12009:3;11998:9;11994:19;11985:6;11941:73;:::i;:::-;12024;12092:3;12081:9;12077:19;12068:6;12024:73;:::i;:::-;11297:807;;;;;;;;;:::o;12110:143::-;12167:5;12198:6;12192:13;12183:22;;12214:33;12241:5;12214:33;:::i;:::-;12110:143;;;;:::o;12259:663::-;12347:6;12355;12363;12412:2;12400:9;12391:7;12387:23;12383:32;12380:119;;;12418:79;;:::i;:::-;12380:119;12538:1;12563:64;12619:7;12610:6;12599:9;12595:22;12563:64;:::i;:::-;12553:74;;12509:128;12676:2;12702:64;12758:7;12749:6;12738:9;12734:22;12702:64;:::i;:::-;12692:74;;12647:129;12815:2;12841:64;12897:7;12888:6;12877:9;12873:22;12841:64;:::i;:::-;12831:74;;12786:129;12259:663;;;;;:::o;12928:332::-;13049:4;13087:2;13076:9;13072:18;13064:26;;13100:71;13168:1;13157:9;13153:17;13144:6;13100:71;:::i;:::-;13181:72;13249:2;13238:9;13234:18;13225:6;13181:72;:::i;:::-;12928:332;;;;;:::o;13266:116::-;13336:21;13351:5;13336:21;:::i;:::-;13329:5;13326:32;13316:60;;13372:1;13369;13362:12;13316:60;13266:116;:::o;13388:137::-;13442:5;13473:6;13467:13;13458:22;;13489:30;13513:5;13489:30;:::i;:::-;13388:137;;;;:::o;13531:345::-;13598:6;13647:2;13635:9;13626:7;13622:23;13618:32;13615:119;;;13653:79;;:::i;:::-;13615:119;13773:1;13798:61;13851:7;13842:6;13831:9;13827:22;13798:61;:::i;:::-;13788:71;;13744:125;13531:345;;;;:::o;13882:180::-;13930:77;13927:1;13920:88;14027:4;14024:1;14017:15;14051:4;14048:1;14041:15;14068:102;14110:8;14157:5;14154:1;14150:13;14129:34;;14068:102;;;:::o;14176:848::-;14237:5;14244:4;14268:6;14259:15;;14292:5;14283:14;;14306:712;14327:1;14317:8;14314:15;14306:712;;;14422:4;14417:3;14413:14;14407:4;14404:24;14401:50;;;14431:18;;:::i;:::-;14401:50;14481:1;14471:8;14467:16;14464:451;;;14896:4;14889:5;14885:16;14876:25;;14464:451;14946:4;14940;14936:15;14928:23;;14976:32;14999:8;14976:32;:::i;:::-;14964:44;;14306:712;;;14176:848;;;;;;;:::o;15030:1073::-;15084:5;15275:8;15265:40;;15296:1;15287:10;;15298:5;;15265:40;15324:4;15314:36;;15341:1;15332:10;;15343:5;;15314:36;15410:4;15458:1;15453:27;;;;15494:1;15489:191;;;;15403:277;;15453:27;15471:1;15462:10;;15473:5;;;15489:191;15534:3;15524:8;15521:17;15518:43;;;15541:18;;:::i;:::-;15518:43;15590:8;15587:1;15583:16;15574:25;;15625:3;15618:5;15615:14;15612:40;;;15632:18;;:::i;:::-;15612:40;15665:5;;;15403:277;;15789:2;15779:8;15776:16;15770:3;15764:4;15761:13;15757:36;15739:2;15729:8;15726:16;15721:2;15715:4;15712:12;15708:35;15692:111;15689:246;;;15845:8;15839:4;15835:19;15826:28;;15880:3;15873:5;15870:14;15867:40;;;15887:18;;:::i;:::-;15867:40;15920:5;;15689:246;15960:42;15998:3;15988:8;15982:4;15979:1;15960:42;:::i;:::-;15945:57;;;;16034:4;16029:3;16025:14;16018:5;16015:25;16012:51;;;16043:18;;:::i;:::-;16012:51;16092:4;16085:5;16081:16;16072:25;;15030:1073;;;;;;:::o;16109:281::-;16167:5;16191:23;16209:4;16191:23;:::i;:::-;16183:31;;16235:25;16251:8;16235:25;:::i;:::-;16223:37;;16279:104;16316:66;16306:8;16300:4;16279:104;:::i;:::-;16270:113;;16109:281;;;;:::o;16396:410::-;16436:7;16459:20;16477:1;16459:20;:::i;:::-;16454:25;;16493:20;16511:1;16493:20;:::i;:::-;16488:25;;16548:1;16545;16541:9;16570:30;16588:11;16570:30;:::i;:::-;16559:41;;16749:1;16740:7;16736:15;16733:1;16730:22;16710:1;16703:9;16683:83;16660:139;;16779:18;;:::i;:::-;16660:139;16444:362;16396:410;;;;:::o;16812:180::-;16860:77;16857:1;16850:88;16957:4;16954:1;16947:15;16981:4;16978:1;16971:15;16998:233;17037:3;17060:24;17078:5;17060:24;:::i;:::-;17051:33;;17106:66;17099:5;17096:77;17093:103;;17176:18;;:::i;:::-;17093:103;17223:1;17216:5;17212:13;17205:20;;16998:233;;;:::o;17237:143::-;17294:5;17325:6;17319:13;17310:22;;17341:33;17368:5;17341:33;:::i;:::-;17237:143;;;;:::o;17386:351::-;17456:6;17505:2;17493:9;17484:7;17480:23;17476:32;17473:119;;;17511:79;;:::i;:::-;17473:119;17631:1;17656:64;17712:7;17703:6;17692:9;17688:22;17656:64;:::i;:::-;17646:74;;17602:128;17386:351;;;;:::o;17743:332::-;17864:4;17902:2;17891:9;17887:18;17879:26;;17915:71;17983:1;17972:9;17968:17;17959:6;17915:71;:::i;:::-;17996:72;18064:2;18053:9;18049:18;18040:6;17996:72;:::i;:::-;17743:332;;;;;:::o;18081:223::-;18221:34;18217:1;18209:6;18205:14;18198:58;18290:6;18285:2;18277:6;18273:15;18266:31;18081:223;:::o;18310:366::-;18452:3;18473:67;18537:2;18532:3;18473:67;:::i;:::-;18466:74;;18549:93;18638:3;18549:93;:::i;:::-;18667:2;18662:3;18658:12;18651:19;;18310:366;;;:::o;18682:419::-;18848:4;18886:2;18875:9;18871:18;18863:26;;18935:9;18929:4;18925:20;18921:1;18910:9;18906:17;18899:47;18963:131;19089:4;18963:131;:::i;:::-;18955:139;;18682:419;;;:::o;19107:221::-;19247:34;19243:1;19235:6;19231:14;19224:58;19316:4;19311:2;19303:6;19299:15;19292:29;19107:221;:::o;19334:366::-;19476:3;19497:67;19561:2;19556:3;19497:67;:::i;:::-;19490:74;;19573:93;19662:3;19573:93;:::i;:::-;19691:2;19686:3;19682:12;19675:19;;19334:366;;;:::o;19706:419::-;19872:4;19910:2;19899:9;19895:18;19887:26;;19959:9;19953:4;19949:20;19945:1;19934:9;19930:17;19923:47;19987:131;20113:4;19987:131;:::i;:::-;19979:139;;19706:419;;;:::o;20131:224::-;20271:34;20267:1;20259:6;20255:14;20248:58;20340:7;20335:2;20327:6;20323:15;20316:32;20131:224;:::o;20361:366::-;20503:3;20524:67;20588:2;20583:3;20524:67;:::i;:::-;20517:74;;20600:93;20689:3;20600:93;:::i;:::-;20718:2;20713:3;20709:12;20702:19;;20361:366;;;:::o;20733:419::-;20899:4;20937:2;20926:9;20922:18;20914:26;;20986:9;20980:4;20976:20;20972:1;20961:9;20957:17;20950:47;21014:131;21140:4;21014:131;:::i;:::-;21006:139;;20733:419;;;:::o;21158:222::-;21298:34;21294:1;21286:6;21282:14;21275:58;21367:5;21362:2;21354:6;21350:15;21343:30;21158:222;:::o;21386:366::-;21528:3;21549:67;21613:2;21608:3;21549:67;:::i;:::-;21542:74;;21625:93;21714:3;21625:93;:::i;:::-;21743:2;21738:3;21734:12;21727:19;;21386:366;;;:::o;21758:419::-;21924:4;21962:2;21951:9;21947:18;21939:26;;22011:9;22005:4;22001:20;21997:1;21986:9;21982:17;21975:47;22039:131;22165:4;22039:131;:::i;:::-;22031:139;;21758:419;;;:::o;22183:228::-;22323:34;22319:1;22311:6;22307:14;22300:58;22392:11;22387:2;22379:6;22375:15;22368:36;22183:228;:::o;22417:366::-;22559:3;22580:67;22644:2;22639:3;22580:67;:::i;:::-;22573:74;;22656:93;22745:3;22656:93;:::i;:::-;22774:2;22769:3;22765:12;22758:19;;22417:366;;;:::o;22789:419::-;22955:4;22993:2;22982:9;22978:18;22970:26;;23042:9;23036:4;23032:20;23028:1;23017:9;23013:17;23006:47;23070:131;23196:4;23070:131;:::i;:::-;23062:139;;22789:419;;;:::o;23214:175::-;23354:27;23350:1;23342:6;23338:14;23331:51;23214:175;:::o;23395:366::-;23537:3;23558:67;23622:2;23617:3;23558:67;:::i;:::-;23551:74;;23634:93;23723:3;23634:93;:::i;:::-;23752:2;23747:3;23743:12;23736:19;;23395:366;;;:::o;23767:419::-;23933:4;23971:2;23960:9;23956:18;23948:26;;24020:9;24014:4;24010:20;24006:1;23995:9;23991:17;23984:47;24048:131;24174:4;24048:131;:::i;:::-;24040:139;;23767:419;;;:::o;24192:191::-;24232:3;24251:20;24269:1;24251:20;:::i;:::-;24246:25;;24285:20;24303:1;24285:20;:::i;:::-;24280:25;;24328:1;24325;24321:9;24314:16;;24349:3;24346:1;24343:10;24340:36;;;24356:18;;:::i;:::-;24340:36;24192:191;;;;:::o;24389:176::-;24529:28;24525:1;24517:6;24513:14;24506:52;24389:176;:::o;24571:366::-;24713:3;24734:67;24798:2;24793:3;24734:67;:::i;:::-;24727:74;;24810:93;24899:3;24810:93;:::i;:::-;24928:2;24923:3;24919:12;24912:19;;24571:366;;;:::o;24943:419::-;25109:4;25147:2;25136:9;25132:18;25124:26;;25196:9;25190:4;25186:20;25182:1;25171:9;25167:17;25160:47;25224:131;25350:4;25224:131;:::i;:::-;25216:139;;24943:419;;;:::o;25368:194::-;25408:4;25428:20;25446:1;25428:20;:::i;:::-;25423:25;;25462:20;25480:1;25462:20;:::i;:::-;25457:25;;25506:1;25503;25499:9;25491:17;;25530:1;25524:4;25521:11;25518:37;;;25535:18;;:::i;:::-;25518:37;25368:194;;;;:::o;25568:180::-;25616:77;25613:1;25606:88;25713:4;25710:1;25703:15;25737:4;25734:1;25727:15;25754:185;25794:1;25811:20;25829:1;25811:20;:::i;:::-;25806:25;;25845:20;25863:1;25845:20;:::i;:::-;25840:25;;25884:1;25874:35;;25889:18;;:::i;:::-;25874:35;25931:1;25928;25924:9;25919:14;;25754:185;;;;:::o;25945:220::-;26085:34;26081:1;26073:6;26069:14;26062:58;26154:3;26149:2;26141:6;26137:15;26130:28;25945:220;:::o;26171:366::-;26313:3;26334:67;26398:2;26393:3;26334:67;:::i;:::-;26327:74;;26410:93;26499:3;26410:93;:::i;:::-;26528:2;26523:3;26519:12;26512:19;;26171:366;;;:::o;26543:419::-;26709:4;26747:2;26736:9;26732:18;26724:26;;26796:9;26790:4;26786:20;26782:1;26771:9;26767:17;26760:47;26824:131;26950:4;26824:131;:::i;:::-;26816:139;;26543:419;;;:::o;26968:114::-;27035:6;27069:5;27063:12;27053:22;;26968:114;;;:::o;27088:184::-;27187:11;27221:6;27216:3;27209:19;27261:4;27256:3;27252:14;27237:29;;27088:184;;;;:::o;27278:132::-;27345:4;27368:3;27360:11;;27398:4;27393:3;27389:14;27381:22;;27278:132;;;:::o;27416:108::-;27493:24;27511:5;27493:24;:::i;:::-;27488:3;27481:37;27416:108;;:::o;27530:179::-;27599:10;27620:46;27662:3;27654:6;27620:46;:::i;:::-;27698:4;27693:3;27689:14;27675:28;;27530:179;;;;:::o;27715:113::-;27785:4;27817;27812:3;27808:14;27800:22;;27715:113;;;:::o;27864:732::-;27983:3;28012:54;28060:5;28012:54;:::i;:::-;28082:86;28161:6;28156:3;28082:86;:::i;:::-;28075:93;;28192:56;28242:5;28192:56;:::i;:::-;28271:7;28302:1;28287:284;28312:6;28309:1;28306:13;28287:284;;;28388:6;28382:13;28415:63;28474:3;28459:13;28415:63;:::i;:::-;28408:70;;28501:60;28554:6;28501:60;:::i;:::-;28491:70;;28347:224;28334:1;28331;28327:9;28322:14;;28287:284;;;28291:14;28587:3;28580:10;;27988:608;;;27864:732;;;;:::o;28602:831::-;28865:4;28903:3;28892:9;28888:19;28880:27;;28917:71;28985:1;28974:9;28970:17;28961:6;28917:71;:::i;:::-;28998:80;29074:2;29063:9;29059:18;29050:6;28998:80;:::i;:::-;29125:9;29119:4;29115:20;29110:2;29099:9;29095:18;29088:48;29153:108;29256:4;29247:6;29153:108;:::i;:::-;29145:116;;29271:72;29339:2;29328:9;29324:18;29315:6;29271:72;:::i;:::-;29353:73;29421:3;29410:9;29406:19;29397:6;29353:73;:::i;:::-;28602:831;;;;;;;;:::o;29439:177::-;29579:29;29575:1;29567:6;29563:14;29556:53;29439:177;:::o;29622:366::-;29764:3;29785:67;29849:2;29844:3;29785:67;:::i;:::-;29778:74;;29861:93;29950:3;29861:93;:::i;:::-;29979:2;29974:3;29970:12;29963:19;;29622:366;;;:::o;29994:419::-;30160:4;30198:2;30187:9;30183:18;30175:26;;30247:9;30241:4;30237:20;30233:1;30222:9;30218:17;30211:47;30275:131;30401:4;30275:131;:::i;:::-;30267:139;;29994:419;;;:::o

Swarm Source

ipfs://183c2cb27d4bf1cc69093c90ee0f7d24a02aa72243829d26c63fd8cae842ccb2
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.