ETH Price: $3,240.46 (-0.42%)

Token

NOBUSHI - A WARRIOR'S JOURNEY (NOBU)
 

Overview

Max Total Supply

1,000,000 NOBU

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0.78732509 NOBU

Value
$0.00
0x3ee8632ecd34cba8a3312aedead91eed3af0aee0
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:
NOBUSHI

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-06
*/

/**

NOBUSHI - A WARRIOR'S JOURNEY

https://t.me/NOBUSHIeth

* 2%  max wallet on launch
* Zero Tax
* Liquidity Locked 
* Renounced Contract
* Anyone can lift max limits after 50 buys by calling public function "RemoveLimits"


**/

pragma solidity 0.8.9;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

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

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

    uint256 private _initialTax=0;
    uint256 private _finalTax=0;
    uint256 private _reduceTaxAt=30;
    uint256 private _preventSwapBefore=15;
    uint256 public _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"NOBUSHI - A WARRIOR'S JOURNEY";
    string private constant _symbol = unicode"NOBU";
    uint256 public _maxTxAmount =   20000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000 * 10**_decimals;
    uint256 public _taxSwapThreshold=10000 * 10**_decimals;
    uint256 public _maxTaxSwap=20000 * 10**_decimals;

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

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

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

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

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

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

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

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


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

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

    function removeLimits() external {
        require(_buyCount>=50);
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }



    receive() external payable {}

    function manualSwap() external {
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        sendETHToFee(address(this).balance);
    }
}

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":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006006556000600755601e600855600f6009556000600a556008600a6200002d9190620005fb565b614e206200003c91906200064c565b600b556008600a6200004f9190620005fb565b614e206200005e91906200064c565b600c556008600a620000719190620005fb565b6127106200008091906200064c565b600d556008600a620000939190620005fb565b614e20620000a291906200064c565b600e556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550348015620000e857600080fd5b506000620000fb6200043060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001a96200043060201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a620001f99190620005fb565b620f42406200020991906200064c565b600160006200021d6200043060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002716200043860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003a46200043060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a620004039190620005fb565b620f42406200041391906200064c565b604051620004229190620006be565b60405180910390a3620006db565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004ef57808604811115620004c757620004c662000461565b5b6001851615620004d75780820291505b8081029050620004e78562000490565b9450620004a7565b94509492505050565b6000826200050a5760019050620005dd565b816200051a5760009050620005dd565b81600181146200053357600281146200053e5762000574565b6001915050620005dd565b60ff84111562000553576200055262000461565b5b8360020a9150848211156200056d576200056c62000461565b5b50620005dd565b5060208310610133831016604e8410600b8410161715620005ae5782820a905083811115620005a857620005a762000461565b5b620005dd565b620005bd84848460016200049d565b92509050818404811115620005d757620005d662000461565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200060882620005e4565b91506200061583620005ee565b9250620006447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004f8565b905092915050565b60006200065982620005e4565b91506200066683620005e4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006a257620006a162000461565b5b828202905092915050565b620006b881620005e4565b82525050565b6000602082019050620006d56000830184620006ad565b92915050565b6131d880620006eb6000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ed578063bf474bed1461042a578063c9567bf914610455578063d34628cc1461046c578063dd62ed3e14610495578063f4293890146104d257610140565b8063751039fc1461032a5780637d1db4a5146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b806327b1a8e9116100fd57806327b1a8e914610240578063313ce5671461026b57806331c2d8471461029657806351bc3c85146102bf57806370a08231146102d6578063715018a61461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e9565b604051610167919061215a565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612224565b610526565b6040516101a4919061227f565b60405180910390f35b3480156101b957600080fd5b506101c2610544565b6040516101cf91906122a9565b60405180910390f35b3480156101e457600080fd5b506101ed61054a565b6040516101fa91906122a9565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906122c4565b61056d565b604051610237919061227f565b60405180910390f35b34801561024c57600080fd5b50610255610646565b60405161026291906122a9565b60405180910390f35b34801561027757600080fd5b5061028061064c565b60405161028d9190612333565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190612496565b610655565b005b3480156102cb57600080fd5b506102d461077f565b005b3480156102e257600080fd5b506102fd60048036038101906102f891906124df565b610792565b60405161030a91906122a9565b60405180910390f35b34801561031f57600080fd5b506103286107db565b005b34801561033657600080fd5b5061033f61092e565b005b34801561034d57600080fd5b506103566109d6565b60405161036391906122a9565b60405180910390f35b34801561037857600080fd5b506103816109dc565b60405161038e919061251b565b60405180910390f35b3480156103a357600080fd5b506103ac610a05565b6040516103b991906122a9565b60405180910390f35b3480156103ce57600080fd5b506103d7610a0b565b6040516103e4919061215a565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612224565b610a48565b604051610421919061227f565b60405180910390f35b34801561043657600080fd5b5061043f610a66565b60405161044c91906122a9565b60405180910390f35b34801561046157600080fd5b5061046a610a6c565b005b34801561047857600080fd5b50610493600480360381019061048e9190612496565b610fee565b005b3480156104a157600080fd5b506104bc60048036038101906104b79190612536565b611118565b6040516104c991906122a9565b60405180910390f35b3480156104de57600080fd5b506104e761119f565b005b60606040518060400160405280601d81526020017f4e4f4255534849202d20412057415252494f522753204a4f55524e4559000000815250905090565b600061053a6105336111aa565b84846111b2565b6001905092915050565b600e5481565b60006008600a61055a91906126d8565b620f42406105689190612723565b905090565b600061057a84848461137d565b61063b846105866111aa565b6106368560405180606001604052806028815260200161317b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ec6111aa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b809092919063ffffffff16565b6111b2565b600190509392505050565b600a5481565b60006008905090565b61065d6111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906127c9565b60405180910390fd5b60005b815181101561077b5760006004600084848151811061070f5761070e6127e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061077390612818565b9150506106ed565b5050565b61079061078b30610792565b611be4565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e36111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610867906127c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6032600a54101561093e57600080fd5b6008600a61094c91906126d8565b620f424061095a9190612723565b600b819055506008600a61096e91906126d8565b620f424061097c9190612723565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6109b191906126d8565b620f42406109bf9190612723565b6040516109cc91906122a9565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600481526020017f4e4f425500000000000000000000000000000000000000000000000000000000815250905090565b6000610a5c610a556111aa565b848461137d565b6001905092915050565b600d5481565b610a746111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af8906127c9565b60405180910390fd5b601060149054906101000a900460ff1615610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b48906128ad565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bee30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610bdb91906126d8565b620f4240610be99190612723565b6111b2565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5657600080fd5b505afa158015610c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8e91906128e2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1257600080fd5b505afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a91906128e2565b6040518363ffffffff1660e01b8152600401610d6792919061290f565b602060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db991906128e2565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e4230610792565b600080610e4d6109dc565b426040518863ffffffff1660e01b8152600401610e6f9695949392919061297d565b6060604051808303818588803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec191906129f3565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f99929190612a46565b602060405180830381600087803b158015610fb357600080fd5b505af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb9190612a9b565b50565b610ff66111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a906127c9565b60405180910390fd5b60005b8151811015611114576001600460008484815181106110a8576110a76127e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061110c90612818565b915050611086565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111a847611e6c565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990612b3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612bcc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161137091906122a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490612c5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612cf0565b60405180910390fd5b600081116114a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149790612d82565b60405180910390fd5b60006114aa6109dc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561151857506114e86109dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118c357600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115ca57600080fd5b601060159054906101000a900460ff1661161d5761161a606461160c600854600a54116115f9576006546115fd565b6007545b85611ed890919063ffffffff16565b611f5390919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116c85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117d957600b54821115611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f90612dee565b60405180910390fd5b600c548261177585610792565b61177f9190612e0e565b11156117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b790612eb0565b60405180910390fd5b600a60008154809291906117d390612818565b91905055505b60006117e430610792565b9050601060159054906101000a900460ff161580156118515750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156118695750601060169054906101000a900460ff165b80156118765750600d5481115b80156118855750600954600a54115b156118c1576118a76118a28461189d84600e54611f9d565b611f9d565b611be4565b600047905060008111156118bf576118be47611e6c565b5b505b505b61191582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119bc61196e8284611fb690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a618486611fb690919063ffffffff16565b604051611a6e91906122a9565b60405180910390a36000811115611b7a57611ad181600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7191906122a9565b60405180910390a35b50505050565b6000838311158290611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf919061215a565b60405180910390fd5b5060008385611bd79190612ed0565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c1c57611c1b612353565b5b604051908082528060200260200182016040528015611c4a5781602001602082028036833780820191505090505b5090503081600081518110611c6257611c616127e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d0457600080fd5b505afa158015611d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3c91906128e2565b81600181518110611d5057611d4f6127e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111b2565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e1b959493929190612fc2565b600060405180830381600087803b158015611e3557600080fd5b505af1158015611e49573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ed4573d6000803e3d6000fd5b5050565b600080831415611eeb5760009050611f4d565b60008284611ef99190612723565b9050828482611f08919061304b565b14611f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3f906130ee565b60405180910390fd5b809150505b92915050565b6000611f9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061205e565b905092915050565b6000818311611fac5782611fae565b815b905092915050565b6000611ff883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b80565b905092915050565b600080828461200f9190612e0e565b905083811015612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b9061315a565b60405180910390fd5b8091505092915050565b600080831182906120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c919061215a565b60405180910390fd5b50600083856120b4919061304b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120fb5780820151818401526020810190506120e0565b8381111561210a576000848401525b50505050565b6000601f19601f8301169050919050565b600061212c826120c1565b61213681856120cc565b93506121468185602086016120dd565b61214f81612110565b840191505092915050565b600060208201905081810360008301526121748184612121565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121bb82612190565b9050919050565b6121cb816121b0565b81146121d657600080fd5b50565b6000813590506121e8816121c2565b92915050565b6000819050919050565b612201816121ee565b811461220c57600080fd5b50565b60008135905061221e816121f8565b92915050565b6000806040838503121561223b5761223a612186565b5b6000612249858286016121d9565b925050602061225a8582860161220f565b9150509250929050565b60008115159050919050565b61227981612264565b82525050565b60006020820190506122946000830184612270565b92915050565b6122a3816121ee565b82525050565b60006020820190506122be600083018461229a565b92915050565b6000806000606084860312156122dd576122dc612186565b5b60006122eb868287016121d9565b93505060206122fc868287016121d9565b925050604061230d8682870161220f565b9150509250925092565b600060ff82169050919050565b61232d81612317565b82525050565b60006020820190506123486000830184612324565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61238b82612110565b810181811067ffffffffffffffff821117156123aa576123a9612353565b5b80604052505050565b60006123bd61217c565b90506123c98282612382565b919050565b600067ffffffffffffffff8211156123e9576123e8612353565b5b602082029050602081019050919050565b600080fd5b600061241261240d846123ce565b6123b3565b90508083825260208201905060208402830185811115612435576124346123fa565b5b835b8181101561245e578061244a88826121d9565b845260208401935050602081019050612437565b5050509392505050565b600082601f83011261247d5761247c61234e565b5b813561248d8482602086016123ff565b91505092915050565b6000602082840312156124ac576124ab612186565b5b600082013567ffffffffffffffff8111156124ca576124c961218b565b5b6124d684828501612468565b91505092915050565b6000602082840312156124f5576124f4612186565b5b6000612503848285016121d9565b91505092915050565b612515816121b0565b82525050565b6000602082019050612530600083018461250c565b92915050565b6000806040838503121561254d5761254c612186565b5b600061255b858286016121d9565b925050602061256c858286016121d9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125fc578086048111156125d8576125d7612576565b5b60018516156125e75780820291505b80810290506125f5856125a5565b94506125bc565b94509492505050565b60008261261557600190506126d1565b8161262357600090506126d1565b8160018114612639576002811461264357612672565b60019150506126d1565b60ff84111561265557612654612576565b5b8360020a91508482111561266c5761266b612576565b5b506126d1565b5060208310610133831016604e8410600b84101617156126a75782820a9050838111156126a2576126a1612576565b5b6126d1565b6126b484848460016125b2565b925090508184048111156126cb576126ca612576565b5b81810290505b9392505050565b60006126e3826121ee565b91506126ee83612317565b925061271b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612605565b905092915050565b600061272e826121ee565b9150612739836121ee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277257612771612576565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127b36020836120cc565b91506127be8261277d565b602082019050919050565b600060208201905081810360008301526127e2816127a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612823826121ee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561285657612855612576565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128976017836120cc565b91506128a282612861565b602082019050919050565b600060208201905081810360008301526128c68161288a565b9050919050565b6000815190506128dc816121c2565b92915050565b6000602082840312156128f8576128f7612186565b5b6000612906848285016128cd565b91505092915050565b6000604082019050612924600083018561250c565b612931602083018461250c565b9392505050565b6000819050919050565b6000819050919050565b600061296761296261295d84612938565b612942565b6121ee565b9050919050565b6129778161294c565b82525050565b600060c082019050612992600083018961250c565b61299f602083018861229a565b6129ac604083018761296e565b6129b9606083018661296e565b6129c6608083018561250c565b6129d360a083018461229a565b979650505050505050565b6000815190506129ed816121f8565b92915050565b600080600060608486031215612a0c57612a0b612186565b5b6000612a1a868287016129de565b9350506020612a2b868287016129de565b9250506040612a3c868287016129de565b9150509250925092565b6000604082019050612a5b600083018561250c565b612a68602083018461229a565b9392505050565b612a7881612264565b8114612a8357600080fd5b50565b600081519050612a9581612a6f565b92915050565b600060208284031215612ab157612ab0612186565b5b6000612abf84828501612a86565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b246024836120cc565b9150612b2f82612ac8565b604082019050919050565b60006020820190508181036000830152612b5381612b17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb66022836120cc565b9150612bc182612b5a565b604082019050919050565b60006020820190508181036000830152612be581612ba9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c486025836120cc565b9150612c5382612bec565b604082019050919050565b60006020820190508181036000830152612c7781612c3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cda6023836120cc565b9150612ce582612c7e565b604082019050919050565b60006020820190508181036000830152612d0981612ccd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d6c6029836120cc565b9150612d7782612d10565b604082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612dd86019836120cc565b9150612de382612da2565b602082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b6000612e19826121ee565b9150612e24836121ee565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e5957612e58612576565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e9a601a836120cc565b9150612ea582612e64565b602082019050919050565b60006020820190508181036000830152612ec981612e8d565b9050919050565b6000612edb826121ee565b9150612ee6836121ee565b925082821015612ef957612ef8612576565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f39816121b0565b82525050565b6000612f4b8383612f30565b60208301905092915050565b6000602082019050919050565b6000612f6f82612f04565b612f798185612f0f565b9350612f8483612f20565b8060005b83811015612fb5578151612f9c8882612f3f565b9750612fa783612f57565b925050600181019050612f88565b5085935050505092915050565b600060a082019050612fd7600083018861229a565b612fe4602083018761296e565b8181036040830152612ff68186612f64565b9050613005606083018561250c565b613012608083018461229a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613056826121ee565b9150613061836121ee565b9250826130715761307061301c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d86021836120cc565b91506130e38261307c565b604082019050919050565b60006020820190508181036000830152613107816130cb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613144601b836120cc565b915061314f8261310e565b602082019050919050565b6000602082019050818103600083015261317381613137565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220012c7a1d10067a4bb2c66bf89e76dac0f0f3e9dc0e8466746344d75a7c9c887a64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ed578063bf474bed1461042a578063c9567bf914610455578063d34628cc1461046c578063dd62ed3e14610495578063f4293890146104d257610140565b8063751039fc1461032a5780637d1db4a5146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b806327b1a8e9116100fd57806327b1a8e914610240578063313ce5671461026b57806331c2d8471461029657806351bc3c85146102bf57806370a08231146102d6578063715018a61461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e9565b604051610167919061215a565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612224565b610526565b6040516101a4919061227f565b60405180910390f35b3480156101b957600080fd5b506101c2610544565b6040516101cf91906122a9565b60405180910390f35b3480156101e457600080fd5b506101ed61054a565b6040516101fa91906122a9565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906122c4565b61056d565b604051610237919061227f565b60405180910390f35b34801561024c57600080fd5b50610255610646565b60405161026291906122a9565b60405180910390f35b34801561027757600080fd5b5061028061064c565b60405161028d9190612333565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190612496565b610655565b005b3480156102cb57600080fd5b506102d461077f565b005b3480156102e257600080fd5b506102fd60048036038101906102f891906124df565b610792565b60405161030a91906122a9565b60405180910390f35b34801561031f57600080fd5b506103286107db565b005b34801561033657600080fd5b5061033f61092e565b005b34801561034d57600080fd5b506103566109d6565b60405161036391906122a9565b60405180910390f35b34801561037857600080fd5b506103816109dc565b60405161038e919061251b565b60405180910390f35b3480156103a357600080fd5b506103ac610a05565b6040516103b991906122a9565b60405180910390f35b3480156103ce57600080fd5b506103d7610a0b565b6040516103e4919061215a565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612224565b610a48565b604051610421919061227f565b60405180910390f35b34801561043657600080fd5b5061043f610a66565b60405161044c91906122a9565b60405180910390f35b34801561046157600080fd5b5061046a610a6c565b005b34801561047857600080fd5b50610493600480360381019061048e9190612496565b610fee565b005b3480156104a157600080fd5b506104bc60048036038101906104b79190612536565b611118565b6040516104c991906122a9565b60405180910390f35b3480156104de57600080fd5b506104e761119f565b005b60606040518060400160405280601d81526020017f4e4f4255534849202d20412057415252494f522753204a4f55524e4559000000815250905090565b600061053a6105336111aa565b84846111b2565b6001905092915050565b600e5481565b60006008600a61055a91906126d8565b620f42406105689190612723565b905090565b600061057a84848461137d565b61063b846105866111aa565b6106368560405180606001604052806028815260200161317b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ec6111aa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b809092919063ffffffff16565b6111b2565b600190509392505050565b600a5481565b60006008905090565b61065d6111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906127c9565b60405180910390fd5b60005b815181101561077b5760006004600084848151811061070f5761070e6127e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061077390612818565b9150506106ed565b5050565b61079061078b30610792565b611be4565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e36111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610867906127c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6032600a54101561093e57600080fd5b6008600a61094c91906126d8565b620f424061095a9190612723565b600b819055506008600a61096e91906126d8565b620f424061097c9190612723565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6109b191906126d8565b620f42406109bf9190612723565b6040516109cc91906122a9565b60405180910390a1565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600481526020017f4e4f425500000000000000000000000000000000000000000000000000000000815250905090565b6000610a5c610a556111aa565b848461137d565b6001905092915050565b600d5481565b610a746111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af8906127c9565b60405180910390fd5b601060149054906101000a900460ff1615610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b48906128ad565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bee30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610bdb91906126d8565b620f4240610be99190612723565b6111b2565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5657600080fd5b505afa158015610c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8e91906128e2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1257600080fd5b505afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a91906128e2565b6040518363ffffffff1660e01b8152600401610d6792919061290f565b602060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db991906128e2565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e4230610792565b600080610e4d6109dc565b426040518863ffffffff1660e01b8152600401610e6f9695949392919061297d565b6060604051808303818588803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec191906129f3565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f99929190612a46565b602060405180830381600087803b158015610fb357600080fd5b505af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb9190612a9b565b50565b610ff66111aa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a906127c9565b60405180910390fd5b60005b8151811015611114576001600460008484815181106110a8576110a76127e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061110c90612818565b915050611086565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111a847611e6c565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990612b3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612bcc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161137091906122a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490612c5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612cf0565b60405180910390fd5b600081116114a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149790612d82565b60405180910390fd5b60006114aa6109dc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561151857506114e86109dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118c357600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115ca57600080fd5b601060159054906101000a900460ff1661161d5761161a606461160c600854600a54116115f9576006546115fd565b6007545b85611ed890919063ffffffff16565b611f5390919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116c85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117d957600b54821115611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f90612dee565b60405180910390fd5b600c548261177585610792565b61177f9190612e0e565b11156117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b790612eb0565b60405180910390fd5b600a60008154809291906117d390612818565b91905055505b60006117e430610792565b9050601060159054906101000a900460ff161580156118515750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156118695750601060169054906101000a900460ff165b80156118765750600d5481115b80156118855750600954600a54115b156118c1576118a76118a28461189d84600e54611f9d565b611f9d565b611be4565b600047905060008111156118bf576118be47611e6c565b5b505b505b61191582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119bc61196e8284611fb690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a618486611fb690919063ffffffff16565b604051611a6e91906122a9565b60405180910390a36000811115611b7a57611ad181600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7191906122a9565b60405180910390a35b50505050565b6000838311158290611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf919061215a565b60405180910390fd5b5060008385611bd79190612ed0565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c1c57611c1b612353565b5b604051908082528060200260200182016040528015611c4a5781602001602082028036833780820191505090505b5090503081600081518110611c6257611c616127e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d0457600080fd5b505afa158015611d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3c91906128e2565b81600181518110611d5057611d4f6127e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111b2565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e1b959493929190612fc2565b600060405180830381600087803b158015611e3557600080fd5b505af1158015611e49573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ed4573d6000803e3d6000fd5b5050565b600080831415611eeb5760009050611f4d565b60008284611ef99190612723565b9050828482611f08919061304b565b14611f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3f906130ee565b60405180910390fd5b809150505b92915050565b6000611f9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061205e565b905092915050565b6000818311611fac5782611fae565b815b905092915050565b6000611ff883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b80565b905092915050565b600080828461200f9190612e0e565b905083811015612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b9061315a565b60405180910390fd5b8091505092915050565b600080831182906120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c919061215a565b60405180910390fd5b50600083856120b4919061304b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120fb5780820151818401526020810190506120e0565b8381111561210a576000848401525b50505050565b6000601f19601f8301169050919050565b600061212c826120c1565b61213681856120cc565b93506121468185602086016120dd565b61214f81612110565b840191505092915050565b600060208201905081810360008301526121748184612121565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121bb82612190565b9050919050565b6121cb816121b0565b81146121d657600080fd5b50565b6000813590506121e8816121c2565b92915050565b6000819050919050565b612201816121ee565b811461220c57600080fd5b50565b60008135905061221e816121f8565b92915050565b6000806040838503121561223b5761223a612186565b5b6000612249858286016121d9565b925050602061225a8582860161220f565b9150509250929050565b60008115159050919050565b61227981612264565b82525050565b60006020820190506122946000830184612270565b92915050565b6122a3816121ee565b82525050565b60006020820190506122be600083018461229a565b92915050565b6000806000606084860312156122dd576122dc612186565b5b60006122eb868287016121d9565b93505060206122fc868287016121d9565b925050604061230d8682870161220f565b9150509250925092565b600060ff82169050919050565b61232d81612317565b82525050565b60006020820190506123486000830184612324565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61238b82612110565b810181811067ffffffffffffffff821117156123aa576123a9612353565b5b80604052505050565b60006123bd61217c565b90506123c98282612382565b919050565b600067ffffffffffffffff8211156123e9576123e8612353565b5b602082029050602081019050919050565b600080fd5b600061241261240d846123ce565b6123b3565b90508083825260208201905060208402830185811115612435576124346123fa565b5b835b8181101561245e578061244a88826121d9565b845260208401935050602081019050612437565b5050509392505050565b600082601f83011261247d5761247c61234e565b5b813561248d8482602086016123ff565b91505092915050565b6000602082840312156124ac576124ab612186565b5b600082013567ffffffffffffffff8111156124ca576124c961218b565b5b6124d684828501612468565b91505092915050565b6000602082840312156124f5576124f4612186565b5b6000612503848285016121d9565b91505092915050565b612515816121b0565b82525050565b6000602082019050612530600083018461250c565b92915050565b6000806040838503121561254d5761254c612186565b5b600061255b858286016121d9565b925050602061256c858286016121d9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125fc578086048111156125d8576125d7612576565b5b60018516156125e75780820291505b80810290506125f5856125a5565b94506125bc565b94509492505050565b60008261261557600190506126d1565b8161262357600090506126d1565b8160018114612639576002811461264357612672565b60019150506126d1565b60ff84111561265557612654612576565b5b8360020a91508482111561266c5761266b612576565b5b506126d1565b5060208310610133831016604e8410600b84101617156126a75782820a9050838111156126a2576126a1612576565b5b6126d1565b6126b484848460016125b2565b925090508184048111156126cb576126ca612576565b5b81810290505b9392505050565b60006126e3826121ee565b91506126ee83612317565b925061271b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612605565b905092915050565b600061272e826121ee565b9150612739836121ee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277257612771612576565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127b36020836120cc565b91506127be8261277d565b602082019050919050565b600060208201905081810360008301526127e2816127a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612823826121ee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561285657612855612576565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128976017836120cc565b91506128a282612861565b602082019050919050565b600060208201905081810360008301526128c68161288a565b9050919050565b6000815190506128dc816121c2565b92915050565b6000602082840312156128f8576128f7612186565b5b6000612906848285016128cd565b91505092915050565b6000604082019050612924600083018561250c565b612931602083018461250c565b9392505050565b6000819050919050565b6000819050919050565b600061296761296261295d84612938565b612942565b6121ee565b9050919050565b6129778161294c565b82525050565b600060c082019050612992600083018961250c565b61299f602083018861229a565b6129ac604083018761296e565b6129b9606083018661296e565b6129c6608083018561250c565b6129d360a083018461229a565b979650505050505050565b6000815190506129ed816121f8565b92915050565b600080600060608486031215612a0c57612a0b612186565b5b6000612a1a868287016129de565b9350506020612a2b868287016129de565b9250506040612a3c868287016129de565b9150509250925092565b6000604082019050612a5b600083018561250c565b612a68602083018461229a565b9392505050565b612a7881612264565b8114612a8357600080fd5b50565b600081519050612a9581612a6f565b92915050565b600060208284031215612ab157612ab0612186565b5b6000612abf84828501612a86565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b246024836120cc565b9150612b2f82612ac8565b604082019050919050565b60006020820190508181036000830152612b5381612b17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb66022836120cc565b9150612bc182612b5a565b604082019050919050565b60006020820190508181036000830152612be581612ba9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c486025836120cc565b9150612c5382612bec565b604082019050919050565b60006020820190508181036000830152612c7781612c3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cda6023836120cc565b9150612ce582612c7e565b604082019050919050565b60006020820190508181036000830152612d0981612ccd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d6c6029836120cc565b9150612d7782612d10565b604082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612dd86019836120cc565b9150612de382612da2565b602082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b6000612e19826121ee565b9150612e24836121ee565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e5957612e58612576565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e9a601a836120cc565b9150612ea582612e64565b602082019050919050565b60006020820190508181036000830152612ec981612e8d565b9050919050565b6000612edb826121ee565b9150612ee6836121ee565b925082821015612ef957612ef8612576565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f39816121b0565b82525050565b6000612f4b8383612f30565b60208301905092915050565b6000602082019050919050565b6000612f6f82612f04565b612f798185612f0f565b9350612f8483612f20565b8060005b83811015612fb5578151612f9c8882612f3f565b9750612fa783612f57565b925050600181019050612f88565b5085935050505092915050565b600060a082019050612fd7600083018861229a565b612fe4602083018761296e565b8181036040830152612ff68186612f64565b9050613005606083018561250c565b613012608083018461229a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613056826121ee565b9150613061836121ee565b9250826130715761307061301c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d86021836120cc565b91506130e38261307c565b604082019050919050565b60006020820190508181036000830152613107816130cb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613144601b836120cc565b915061314f8261310e565b602082019050919050565b6000602082019050818103600083015261317381613137565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220012c7a1d10067a4bb2c66bf89e76dac0f0f3e9dc0e8466746344d75a7c9c887a64736f6c63430008090033

Deployed Bytecode Sourcemap

3684:7269:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5373:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6206:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4652:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5650:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6375:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4197:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5559:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9875:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10765:92;;;;;;;;;;;;;:::i;:::-;;5753:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2765:148;;;;;;;;;;;;;:::i;:::-;;9412:183;;;;;;;;;;;;;:::i;:::-;;4471:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2551:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4531:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5464:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5880:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4591:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10045:671;;;;;;;;;;;;;:::i;:::-;;9703:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6055:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10865:85;;;;;;;;;;;;;:::i;:::-;;5373:83;5410:13;5443:5;;;;;;;;;;;;;;;;;5436:12;;5373:83;:::o;6206:161::-;6281:4;6298:39;6307:12;:10;:12::i;:::-;6321:7;6330:6;6298:8;:39::i;:::-;6355:4;6348:11;;6206:161;;;;:::o;4652:48::-;;;;:::o;5650:95::-;5703:7;4267:1;4320:2;:13;;;;:::i;:::-;4310:7;:23;;;;:::i;:::-;5723:14;;5650:95;:::o;6375:313::-;6473:4;6490:36;6500:6;6508:9;6519:6;6490:9;:36::i;:::-;6537:121;6546:6;6554:12;:10;:12::i;:::-;6568:89;6606:6;6568:89;;;;;;;;;;;;;;;;;:11;:19;6580:6;6568:19;;;;;;;;;;;;;;;:33;6588:12;:10;:12::i;:::-;6568:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6537:8;:121::i;:::-;6676:4;6669:11;;6375:313;;;;;:::o;4197:26::-;;;;:::o;5559:83::-;5600:5;4267:1;5618:16;;5559:83;:::o;9875:162::-;2688:12;:10;:12::i;:::-;2678:22;;:6;;;;;;;;;;:22;;;2670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9948:6:::1;9943:87;9964:6;:13;9960:1;:17;9943:87;;;10015:5;9997:4;:15;10002:6;10009:1;10002:9;;;;;;;;:::i;:::-;;;;;;;;9997:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9979:3;;;;;:::i;:::-;;;;9943:87;;;;9875:162:::0;:::o;10765:92::-;10807:42;10824:24;10842:4;10824:9;:24::i;:::-;10807:16;:42::i;:::-;10765:92::o;5753:119::-;5819:7;5846:9;:18;5856:7;5846:18;;;;;;;;;;;;;;;;5839:25;;5753:119;;;:::o;2765:148::-;2688:12;:10;:12::i;:::-;2678:22;;:6;;;;;;;;;;:22;;;2670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2872:1:::1;2835:40;;2856:6;::::0;::::1;;;;;;;;2835:40;;;;;;;;;;;;2903:1;2886:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2765:148::o:0;9412:183::-;9475:2;9464:9;;:13;;9456:22;;;;;;4267:1;4320:2;:13;;;;:::i;:::-;4310:7;:23;;;;:::i;:::-;9489:12;:22;;;;4267:1;4320:2;:13;;;;:::i;:::-;4310:7;:23;;;;:::i;:::-;9522:14;:22;;;;9560:27;4267:1;4320:2;:13;;;;:::i;:::-;4310:7;:23;;;;:::i;:::-;9560:27;;;;;;:::i;:::-;;;;;;;;9412:183::o;4471:53::-;;;;:::o;2551:79::-;2589:7;2616:6;;;;;;;;;;;2609:13;;2551:79;:::o;4531:53::-;;;;:::o;5464:87::-;5503:13;5536:7;;;;;;;;;;;;;;;;;5529:14;;5464:87;:::o;5880:167::-;5958:4;5975:42;5985:12;:10;:12::i;:::-;5999:9;6010:6;5975:9;:42::i;:::-;6035:4;6028:11;;5880:167;;;;:::o;4591:54::-;;;;:::o;10045:671::-;2688:12;:10;:12::i;:::-;2678:22;;:6;;;;;;;;;;:22;;;2670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10109:11:::1;;;;;;;;;;;10108:12;10100:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10195:42;10158:15;;:80;;;;;;;;;;;;;;;;;;10249:58;10266:4;10281:15;;;;;;;;;;;4267:1;4320:2;:13;;;;:::i;:::-;4310:7;:23;;;;:::i;:::-;10249:8;:58::i;:::-;10352:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10334:55;;;10398:4;10405:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10334:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10318:13;;:110;;;;;;;;;;;;;;;;;;10439:15;;;;;;;;;;;:31;;;10478:21;10509:4;10515:24;10533:4;10515:9;:24::i;:::-;10540:1;10542::::0;10544:7:::1;:5;:7::i;:::-;10552:15;10439:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10593:4;10579:11;;:18;;;;;;;;;;;;;;;;;;10622:4;10608:11;;:18;;;;;;;;;;;;;;;;;;10644:13;;;;;;;;;;;10637:29;;;10675:15;;;;;;;;;;;10693:14;10637:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10045:671::o:0;9703:164::-;2688:12;:10;:12::i;:::-;2678:22;;:6;;;;;;;;;;:22;;;2670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9777:6:::1;9772:88;9793:5;:12;9789:1;:16;9772:88;;;9844:4;9827;:14;9832:5;9838:1;9832:8;;;;;;;;:::i;:::-;;;;;;;;9827:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9807:3;;;;;:::i;:::-;;;;9772:88;;;;9703:164:::0;:::o;6055:143::-;6136:7;6163:11;:18;6175:5;6163:18;;;;;;;;;;;;;;;:27;6182:7;6163:27;;;;;;;;;;;;;;;;6156:34;;6055:143;;;;:::o;10865:85::-;10907:35;10920:21;10907:12;:35::i;:::-;10865:85::o;306:98::-;359:7;386:10;379:17;;306:98;:::o;6696:335::-;6806:1;6789:19;;:5;:19;;;;6781:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6887:1;6868:21;;:7;:21;;;;6860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6969:6;6939:11;:18;6951:5;6939:18;;;;;;;;;;;;;;;:27;6958:7;6939:27;;;;;;;;;;;;;;;:36;;;;7007:7;6991:32;;7000:5;6991:32;;;7016:6;6991:32;;;;;;:::i;:::-;;;;;;;;6696:335;;;:::o;7039:1766::-;7143:1;7127:18;;:4;:18;;;;7119:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7220:1;7206:16;;:2;:16;;;;7198:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7290:1;7281:6;:10;7273:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7348:17;7390:7;:5;:7::i;:::-;7382:15;;:4;:15;;;;:32;;;;;7407:7;:5;:7::i;:::-;7401:13;;:2;:13;;;;7382:32;7378:1071;;;7440:4;:10;7445:4;7440:10;;;;;;;;;;;;;;;;;;;;;;;;;7439:11;:24;;;;;7455:4;:8;7460:2;7455:8;;;;;;;;;;;;;;;;;;;;;;;;;7454:9;7439:24;7431:33;;;;;;7483:6;;;;;;;;;;;7479:123;;7519:67;7582:3;7519:58;7541:12;;7531:9;;:22;7530:46;;7565:11;;7530:46;;;7555:9;;7530:46;7519:6;:10;;:58;;;;:::i;:::-;:62;;:67;;;;:::i;:::-;7507:79;;7479:123;7630:13;;;;;;;;;;;7622:21;;:4;:21;;;:55;;;;;7661:15;;;;;;;;;;;7647:30;;:2;:30;;;;7622:55;:83;;;;;7683:18;:22;7702:2;7683:22;;;;;;;;;;;;;;;;;;;;;;;;;7681:24;7622:83;7618:313;;;7745:12;;7735:6;:22;;7727:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7840:14;;7830:6;7814:13;7824:2;7814:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7806:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7904:9;;:11;;;;;;;;;:::i;:::-;;;;;;7618:313;7947:28;7978:24;7996:4;7978:9;:24::i;:::-;7947:55;;8022:6;;;;;;;;;;;8021:7;:32;;;;;8040:13;;;;;;;;;;;8032:21;;:4;:21;;;;8021:32;:47;;;;;8057:11;;;;;;;;;;;8021:47;:89;;;;;8093:17;;8072:20;:38;8021:89;:121;;;;;8124:18;;8114:9;;:28;8021:121;8017:421;;;8163:67;8180:49;8184:6;8191:37;8195:20;8216:11;;8191:3;:37::i;:::-;8180:3;:49::i;:::-;8163:16;:67::i;:::-;8249:26;8278:21;8249:50;;8342:1;8321:18;:22;8318:105;;;8368:35;8381:21;8368:12;:35::i;:::-;8318:105;8144:294;8017:421;7416:1033;7378:1071;8477:27;8497:6;8477:9;:15;8487:4;8477:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8461:9;:15;8471:4;8461:15;;;;;;;;;;;;;;;:43;;;;8529:40;8547:21;8558:9;8547:6;:10;;:21;;;;:::i;:::-;8529:9;:13;8539:2;8529:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8515:9;:13;8525:2;8515:13;;;;;;;;;;;;;;;:54;;;;8600:2;8585:41;;8594:4;8585:41;;;8604:21;8615:9;8604:6;:10;;:21;;;;:::i;:::-;8585:41;;;;;;:::i;:::-;;;;;;;;8650:1;8640:9;:11;8637:161;;;8690:39;8719:9;8690;:24;8708:4;8690:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8665:9;:24;8683:4;8665:24;;;;;;;;;;;;;;;:64;;;;8770:4;8747:39;;8756:4;8747:39;;;8776:9;8747:39;;;;;;:::i;:::-;;;;;;;;8637:161;7108:1697;7039:1766;;;:::o;1443:190::-;1529:7;1562:1;1557;:6;;1565:12;1549:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1589:9;1605:1;1601;:5;;;;:::i;:::-;1589:17;;1624:1;1617:8;;;1443:190;;;;;:::o;8921:483::-;4991:4;4982:6;;:13;;;;;;;;;;;;;;;;;;8999:21:::1;9037:1;9023:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8999:40;;9068:4;9050;9055:1;9050:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9094:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9084:4;9089:1;9084:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9127:62;9144:4;9159:15;;;;;;;;;;;9177:11;9127:8;:62::i;:::-;9200:15;;;;;;;;;;;:66;;;9281:11;9307:1;9323:4;9350;9370:15;9200:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8988:416;5027:5:::0;5018:6;;:14;;;;;;;;;;;;;;;;;;8921:483;:::o;9603:92::-;9660:10;;;;;;;;;;;:19;;:27;9680:6;9660:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9603:92;:::o;1641:246::-;1699:7;1728:1;1723;:6;1719:47;;;1753:1;1746:8;;;;1719:47;1776:9;1792:1;1788;:5;;;;:::i;:::-;1776:17;;1821:1;1816;1812;:5;;;;:::i;:::-;:10;1804:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1878:1;1871:8;;;1641:246;;;;;:::o;1895:132::-;1953:7;1980:39;1984:1;1987;1980:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1973:46;;1895:132;;;;:::o;8815:98::-;8872:7;8899:1;8897;:3;8896:9;;8904:1;8896:9;;;8902:1;8896:9;8889:16;;8815:98;;;;:::o;1299:136::-;1357:7;1384:43;1388:1;1391;1384:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1377:50;;1299:136;;;;:::o;1112:179::-;1170:7;1190:9;1206:1;1202;:5;;;;:::i;:::-;1190:17;;1231:1;1226;:6;;1218:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1282:1;1275:8;;;1112:179;;;;:::o;2035:189::-;2121:7;2153:1;2149;:5;2156:12;2141:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2180:9;2196:1;2192;:5;;;;:::i;:::-;2180:17;;2215:1;2208:8;;;2035: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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:117::-;5010:1;5007;5000:12;5024:180;5072:77;5069:1;5062:88;5169:4;5166:1;5159:15;5193:4;5190:1;5183:15;5210:281;5293:27;5315:4;5293:27;:::i;:::-;5285:6;5281:40;5423:6;5411:10;5408:22;5387:18;5375:10;5372:34;5369:62;5366:88;;;5434:18;;:::i;:::-;5366:88;5474:10;5470:2;5463:22;5253:238;5210:281;;:::o;5497:129::-;5531:6;5558:20;;:::i;:::-;5548:30;;5587:33;5615:4;5607:6;5587:33;:::i;:::-;5497:129;;;:::o;5632:311::-;5709:4;5799:18;5791:6;5788:30;5785:56;;;5821:18;;:::i;:::-;5785:56;5871:4;5863:6;5859:17;5851:25;;5931:4;5925;5921:15;5913:23;;5632:311;;;:::o;5949:117::-;6058:1;6055;6048:12;6089:710;6185:5;6210:81;6226:64;6283:6;6226:64;:::i;:::-;6210:81;:::i;:::-;6201:90;;6311:5;6340:6;6333:5;6326:21;6374:4;6367:5;6363:16;6356:23;;6427:4;6419:6;6415:17;6407:6;6403:30;6456:3;6448:6;6445:15;6442:122;;;6475:79;;:::i;:::-;6442:122;6590:6;6573:220;6607:6;6602:3;6599:15;6573:220;;;6682:3;6711:37;6744:3;6732:10;6711:37;:::i;:::-;6706:3;6699:50;6778:4;6773:3;6769:14;6762:21;;6649:144;6633:4;6628:3;6624:14;6617:21;;6573:220;;;6577:21;6191:608;;6089:710;;;;;:::o;6822:370::-;6893:5;6942:3;6935:4;6927:6;6923:17;6919:27;6909:122;;6950:79;;:::i;:::-;6909:122;7067:6;7054:20;7092:94;7182:3;7174:6;7167:4;7159:6;7155:17;7092:94;:::i;:::-;7083:103;;6899:293;6822:370;;;;:::o;7198:539::-;7282:6;7331:2;7319:9;7310:7;7306:23;7302:32;7299:119;;;7337:79;;:::i;:::-;7299:119;7485:1;7474:9;7470:17;7457:31;7515:18;7507:6;7504:30;7501:117;;;7537:79;;:::i;:::-;7501:117;7642:78;7712:7;7703:6;7692:9;7688:22;7642:78;:::i;:::-;7632:88;;7428:302;7198:539;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:180::-;8958:77;8955:1;8948:88;9055:4;9052:1;9045:15;9079:4;9076:1;9069:15;9096:102;9138:8;9185:5;9182:1;9178:13;9157:34;;9096:102;;;:::o;9204:848::-;9265:5;9272:4;9296:6;9287:15;;9320:5;9311:14;;9334:712;9355:1;9345:8;9342:15;9334:712;;;9450:4;9445:3;9441:14;9435:4;9432:24;9429:50;;;9459:18;;:::i;:::-;9429:50;9509:1;9499:8;9495:16;9492:451;;;9924:4;9917:5;9913:16;9904:25;;9492:451;9974:4;9968;9964:15;9956:23;;10004:32;10027:8;10004:32;:::i;:::-;9992:44;;9334:712;;;9204:848;;;;;;;:::o;10058:1073::-;10112:5;10303:8;10293:40;;10324:1;10315:10;;10326:5;;10293:40;10352:4;10342:36;;10369:1;10360:10;;10371:5;;10342:36;10438:4;10486:1;10481:27;;;;10522:1;10517:191;;;;10431:277;;10481:27;10499:1;10490:10;;10501:5;;;10517:191;10562:3;10552:8;10549:17;10546:43;;;10569:18;;:::i;:::-;10546:43;10618:8;10615:1;10611:16;10602:25;;10653:3;10646:5;10643:14;10640:40;;;10660:18;;:::i;:::-;10640:40;10693:5;;;10431:277;;10817:2;10807:8;10804:16;10798:3;10792:4;10789:13;10785:36;10767:2;10757:8;10754:16;10749:2;10743:4;10740:12;10736:35;10720:111;10717:246;;;10873:8;10867:4;10863:19;10854:28;;10908:3;10901:5;10898:14;10895:40;;;10915:18;;:::i;:::-;10895:40;10948:5;;10717:246;10988:42;11026:3;11016:8;11010:4;11007:1;10988:42;:::i;:::-;10973:57;;;;11062:4;11057:3;11053:14;11046:5;11043:25;11040:51;;;11071:18;;:::i;:::-;11040:51;11120:4;11113:5;11109:16;11100:25;;10058:1073;;;;;;:::o;11137:281::-;11195:5;11219:23;11237:4;11219:23;:::i;:::-;11211:31;;11263:25;11279:8;11263:25;:::i;:::-;11251:37;;11307:104;11344:66;11334:8;11328:4;11307:104;:::i;:::-;11298:113;;11137:281;;;;:::o;11424:348::-;11464:7;11487:20;11505:1;11487:20;:::i;:::-;11482:25;;11521:20;11539:1;11521:20;:::i;:::-;11516:25;;11709:1;11641:66;11637:74;11634:1;11631:81;11626:1;11619:9;11612:17;11608:105;11605:131;;;11716:18;;:::i;:::-;11605:131;11764:1;11761;11757:9;11746:20;;11424:348;;;;:::o;11778:182::-;11918:34;11914:1;11906:6;11902:14;11895:58;11778:182;:::o;11966:366::-;12108:3;12129:67;12193:2;12188:3;12129:67;:::i;:::-;12122:74;;12205:93;12294:3;12205:93;:::i;:::-;12323:2;12318:3;12314:12;12307:19;;11966:366;;;:::o;12338:419::-;12504:4;12542:2;12531:9;12527:18;12519:26;;12591:9;12585:4;12581:20;12577:1;12566:9;12562:17;12555:47;12619:131;12745:4;12619:131;:::i;:::-;12611:139;;12338:419;;;:::o;12763:180::-;12811:77;12808:1;12801:88;12908:4;12905:1;12898:15;12932:4;12929:1;12922:15;12949:233;12988:3;13011:24;13029:5;13011:24;:::i;:::-;13002:33;;13057:66;13050:5;13047:77;13044:103;;;13127:18;;:::i;:::-;13044:103;13174:1;13167:5;13163:13;13156:20;;12949:233;;;:::o;13188:173::-;13328:25;13324:1;13316:6;13312:14;13305:49;13188:173;:::o;13367:366::-;13509:3;13530:67;13594:2;13589:3;13530:67;:::i;:::-;13523:74;;13606:93;13695:3;13606:93;:::i;:::-;13724:2;13719:3;13715:12;13708:19;;13367:366;;;:::o;13739:419::-;13905:4;13943:2;13932:9;13928:18;13920:26;;13992:9;13986:4;13982:20;13978:1;13967:9;13963:17;13956:47;14020:131;14146:4;14020:131;:::i;:::-;14012:139;;13739:419;;;:::o;14164:143::-;14221:5;14252:6;14246:13;14237:22;;14268:33;14295:5;14268:33;:::i;:::-;14164:143;;;;:::o;14313:351::-;14383:6;14432:2;14420:9;14411:7;14407:23;14403:32;14400:119;;;14438:79;;:::i;:::-;14400:119;14558:1;14583:64;14639:7;14630:6;14619:9;14615:22;14583:64;:::i;:::-;14573:74;;14529:128;14313:351;;;;:::o;14670:332::-;14791:4;14829:2;14818:9;14814:18;14806:26;;14842:71;14910:1;14899:9;14895:17;14886:6;14842:71;:::i;:::-;14923:72;14991:2;14980:9;14976:18;14967:6;14923:72;:::i;:::-;14670:332;;;;;:::o;15008:85::-;15053:7;15082:5;15071:16;;15008:85;;;:::o;15099:60::-;15127:3;15148:5;15141:12;;15099:60;;;:::o;15165:158::-;15223:9;15256:61;15274:42;15283:32;15309:5;15283:32;:::i;:::-;15274:42;:::i;:::-;15256:61;:::i;:::-;15243:74;;15165:158;;;:::o;15329:147::-;15424:45;15463:5;15424:45;:::i;:::-;15419:3;15412:58;15329:147;;:::o;15482:807::-;15731:4;15769:3;15758:9;15754:19;15746:27;;15783:71;15851:1;15840:9;15836:17;15827:6;15783:71;:::i;:::-;15864:72;15932:2;15921:9;15917:18;15908:6;15864:72;:::i;:::-;15946:80;16022:2;16011:9;16007:18;15998:6;15946:80;:::i;:::-;16036;16112:2;16101:9;16097:18;16088:6;16036:80;:::i;:::-;16126:73;16194:3;16183:9;16179:19;16170:6;16126:73;:::i;:::-;16209;16277:3;16266:9;16262:19;16253:6;16209:73;:::i;:::-;15482:807;;;;;;;;;:::o;16295:143::-;16352:5;16383:6;16377:13;16368:22;;16399:33;16426:5;16399:33;:::i;:::-;16295:143;;;;:::o;16444:663::-;16532:6;16540;16548;16597:2;16585:9;16576:7;16572:23;16568:32;16565:119;;;16603:79;;:::i;:::-;16565:119;16723:1;16748:64;16804:7;16795:6;16784:9;16780:22;16748:64;:::i;:::-;16738:74;;16694:128;16861:2;16887:64;16943:7;16934:6;16923:9;16919:22;16887:64;:::i;:::-;16877:74;;16832:129;17000:2;17026:64;17082:7;17073:6;17062:9;17058:22;17026:64;:::i;:::-;17016:74;;16971:129;16444:663;;;;;:::o;17113:332::-;17234:4;17272:2;17261:9;17257:18;17249:26;;17285:71;17353:1;17342:9;17338:17;17329:6;17285:71;:::i;:::-;17366:72;17434:2;17423:9;17419:18;17410:6;17366:72;:::i;:::-;17113:332;;;;;:::o;17451:116::-;17521:21;17536:5;17521:21;:::i;:::-;17514:5;17511:32;17501:60;;17557:1;17554;17547:12;17501:60;17451:116;:::o;17573:137::-;17627:5;17658:6;17652:13;17643:22;;17674:30;17698:5;17674:30;:::i;:::-;17573:137;;;;:::o;17716:345::-;17783:6;17832:2;17820:9;17811:7;17807:23;17803:32;17800:119;;;17838:79;;:::i;:::-;17800:119;17958:1;17983:61;18036:7;18027:6;18016:9;18012:22;17983:61;:::i;:::-;17973:71;;17929:125;17716:345;;;;:::o;18067:223::-;18207:34;18203:1;18195:6;18191:14;18184:58;18276:6;18271:2;18263:6;18259:15;18252:31;18067:223;:::o;18296:366::-;18438:3;18459:67;18523:2;18518:3;18459:67;:::i;:::-;18452:74;;18535:93;18624:3;18535:93;:::i;:::-;18653:2;18648:3;18644:12;18637:19;;18296:366;;;:::o;18668:419::-;18834:4;18872:2;18861:9;18857:18;18849:26;;18921:9;18915:4;18911:20;18907:1;18896:9;18892:17;18885:47;18949:131;19075:4;18949:131;:::i;:::-;18941:139;;18668:419;;;:::o;19093:221::-;19233:34;19229:1;19221:6;19217:14;19210:58;19302:4;19297:2;19289:6;19285:15;19278:29;19093:221;:::o;19320:366::-;19462:3;19483:67;19547:2;19542:3;19483:67;:::i;:::-;19476:74;;19559:93;19648:3;19559:93;:::i;:::-;19677:2;19672:3;19668:12;19661:19;;19320:366;;;:::o;19692:419::-;19858:4;19896:2;19885:9;19881:18;19873:26;;19945:9;19939:4;19935:20;19931:1;19920:9;19916:17;19909:47;19973:131;20099:4;19973:131;:::i;:::-;19965:139;;19692:419;;;:::o;20117:224::-;20257:34;20253:1;20245:6;20241:14;20234:58;20326:7;20321:2;20313:6;20309:15;20302:32;20117:224;:::o;20347:366::-;20489:3;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20503:74;;20586:93;20675:3;20586:93;:::i;:::-;20704:2;20699:3;20695:12;20688:19;;20347:366;;;:::o;20719:419::-;20885:4;20923:2;20912:9;20908:18;20900:26;;20972:9;20966:4;20962:20;20958:1;20947:9;20943:17;20936:47;21000:131;21126:4;21000:131;:::i;:::-;20992:139;;20719:419;;;:::o;21144:222::-;21284:34;21280:1;21272:6;21268:14;21261:58;21353:5;21348:2;21340:6;21336:15;21329:30;21144:222;:::o;21372:366::-;21514:3;21535:67;21599:2;21594:3;21535:67;:::i;:::-;21528:74;;21611:93;21700:3;21611:93;:::i;:::-;21729:2;21724:3;21720:12;21713:19;;21372:366;;;:::o;21744:419::-;21910:4;21948:2;21937:9;21933:18;21925:26;;21997:9;21991:4;21987:20;21983:1;21972:9;21968:17;21961:47;22025:131;22151:4;22025:131;:::i;:::-;22017:139;;21744:419;;;:::o;22169:228::-;22309:34;22305:1;22297:6;22293:14;22286:58;22378:11;22373:2;22365:6;22361:15;22354:36;22169:228;:::o;22403:366::-;22545:3;22566:67;22630:2;22625:3;22566:67;:::i;:::-;22559:74;;22642:93;22731:3;22642:93;:::i;:::-;22760:2;22755:3;22751:12;22744:19;;22403:366;;;:::o;22775:419::-;22941:4;22979:2;22968:9;22964:18;22956:26;;23028:9;23022:4;23018:20;23014:1;23003:9;22999:17;22992:47;23056:131;23182:4;23056:131;:::i;:::-;23048:139;;22775:419;;;:::o;23200:175::-;23340:27;23336:1;23328:6;23324:14;23317:51;23200:175;:::o;23381:366::-;23523:3;23544:67;23608:2;23603:3;23544:67;:::i;:::-;23537:74;;23620:93;23709:3;23620:93;:::i;:::-;23738:2;23733:3;23729:12;23722:19;;23381:366;;;:::o;23753:419::-;23919:4;23957:2;23946:9;23942:18;23934:26;;24006:9;24000:4;23996:20;23992:1;23981:9;23977:17;23970:47;24034:131;24160:4;24034:131;:::i;:::-;24026:139;;23753:419;;;:::o;24178:305::-;24218:3;24237:20;24255:1;24237:20;:::i;:::-;24232:25;;24271:20;24289:1;24271:20;:::i;:::-;24266:25;;24425:1;24357:66;24353:74;24350:1;24347:81;24344:107;;;24431:18;;:::i;:::-;24344:107;24475:1;24472;24468:9;24461:16;;24178:305;;;;:::o;24489:176::-;24629:28;24625:1;24617:6;24613:14;24606:52;24489:176;:::o;24671:366::-;24813:3;24834:67;24898:2;24893:3;24834:67;:::i;:::-;24827:74;;24910:93;24999:3;24910:93;:::i;:::-;25028:2;25023:3;25019:12;25012:19;;24671:366;;;:::o;25043:419::-;25209:4;25247:2;25236:9;25232:18;25224:26;;25296:9;25290:4;25286:20;25282:1;25271:9;25267:17;25260:47;25324:131;25450:4;25324:131;:::i;:::-;25316:139;;25043:419;;;:::o;25468:191::-;25508:4;25528:20;25546:1;25528:20;:::i;:::-;25523:25;;25562:20;25580:1;25562:20;:::i;:::-;25557:25;;25601:1;25598;25595:8;25592:34;;;25606:18;;:::i;:::-;25592:34;25651:1;25648;25644:9;25636:17;;25468:191;;;;:::o;25665:114::-;25732:6;25766:5;25760:12;25750:22;;25665:114;;;:::o;25785:184::-;25884:11;25918:6;25913:3;25906:19;25958:4;25953:3;25949:14;25934:29;;25785:184;;;;:::o;25975:132::-;26042:4;26065:3;26057:11;;26095:4;26090:3;26086:14;26078:22;;25975:132;;;:::o;26113:108::-;26190:24;26208:5;26190:24;:::i;:::-;26185:3;26178:37;26113:108;;:::o;26227:179::-;26296:10;26317:46;26359:3;26351:6;26317:46;:::i;:::-;26395:4;26390:3;26386:14;26372:28;;26227:179;;;;:::o;26412:113::-;26482:4;26514;26509:3;26505:14;26497:22;;26412:113;;;:::o;26561:732::-;26680:3;26709:54;26757:5;26709:54;:::i;:::-;26779:86;26858:6;26853:3;26779:86;:::i;:::-;26772:93;;26889:56;26939:5;26889:56;:::i;:::-;26968:7;26999:1;26984:284;27009:6;27006:1;27003:13;26984:284;;;27085:6;27079:13;27112:63;27171:3;27156:13;27112:63;:::i;:::-;27105:70;;27198:60;27251:6;27198:60;:::i;:::-;27188:70;;27044:224;27031:1;27028;27024:9;27019:14;;26984:284;;;26988:14;27284:3;27277:10;;26685:608;;;26561:732;;;;:::o;27299:831::-;27562:4;27600:3;27589:9;27585:19;27577:27;;27614:71;27682:1;27671:9;27667:17;27658:6;27614:71;:::i;:::-;27695:80;27771:2;27760:9;27756:18;27747:6;27695:80;:::i;:::-;27822:9;27816:4;27812:20;27807:2;27796:9;27792:18;27785:48;27850:108;27953:4;27944:6;27850:108;:::i;:::-;27842:116;;27968:72;28036:2;28025:9;28021:18;28012:6;27968:72;:::i;:::-;28050:73;28118:3;28107:9;28103:19;28094:6;28050:73;:::i;:::-;27299:831;;;;;;;;:::o;28136:180::-;28184:77;28181:1;28174:88;28281:4;28278:1;28271:15;28305:4;28302:1;28295:15;28322:185;28362:1;28379:20;28397:1;28379:20;:::i;:::-;28374:25;;28413:20;28431:1;28413:20;:::i;:::-;28408:25;;28452:1;28442:35;;28457:18;;:::i;:::-;28442:35;28499:1;28496;28492:9;28487:14;;28322:185;;;;:::o;28513:220::-;28653:34;28649:1;28641:6;28637:14;28630:58;28722:3;28717:2;28709:6;28705:15;28698:28;28513:220;:::o;28739:366::-;28881:3;28902:67;28966:2;28961:3;28902:67;:::i;:::-;28895:74;;28978:93;29067:3;28978:93;:::i;:::-;29096:2;29091:3;29087:12;29080:19;;28739:366;;;:::o;29111:419::-;29277:4;29315:2;29304:9;29300:18;29292:26;;29364:9;29358:4;29354:20;29350:1;29339:9;29335:17;29328:47;29392:131;29518:4;29392:131;:::i;:::-;29384:139;;29111:419;;;:::o;29536:177::-;29676:29;29672:1;29664:6;29660:14;29653:53;29536:177;:::o;29719:366::-;29861:3;29882:67;29946:2;29941:3;29882:67;:::i;:::-;29875:74;;29958:93;30047:3;29958:93;:::i;:::-;30076:2;30071:3;30067:12;30060:19;;29719:366;;;:::o;30091:419::-;30257:4;30295:2;30284:9;30280:18;30272:26;;30344:9;30338:4;30334:20;30330:1;30319:9;30315:17;30308:47;30372:131;30498:4;30372:131;:::i;:::-;30364:139;;30091:419;;;:::o

Swarm Source

ipfs://012c7a1d10067a4bb2c66bf89e76dac0f0f3e9dc0e8466746344d75a7c9c887a
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.