ETH Price: $3,137.57 (-5.98%)
Gas: 9 Gwei

Token

韭菜联盟·以暴制暴·陈桂林维权Dao (陈桂林)
 

Overview

Max Total Supply

1,000,000,000,000 陈桂林

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
91,268,161.107961543127749209 陈桂林

Value
$0.00
0x1d5f62336dd0b737e13a7edc85932bf98f27e3b2
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:
weiquandao

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-30
*/

// SPDX-License-Identifier: NONE

//$陈桂林 我们代表广大韭菜心声,替韭菜们除暴安良,33税用于"除害基金",合约已开源,LP已烧

pragma solidity 0.8.19;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract weiquandao 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;
    uint8 private _BuyTax=5;
    uint8 private _SellTax=5;
    uint256 private _totalSupply=1000000000000;
    uint8 private constant _decimals = 18;
    uint256 private _tTotal = _totalSupply * 10**_decimals;
    string private constant _name = unicode"韭菜联盟·以暴制暴·陈桂林维权Dao";
    string private constant _symbol = unicode"陈桂林";
    uint256 public _maxTxAmount = _tTotal;
    uint256 public _maxWalletSize = _tTotal;
    uint256 public _taxSwapThreshold=_tTotal.div(15000);
    uint256 public _maxTaxSwap=_tTotal.div(100);

    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 setTax(uint8 _newBuyTax,uint8 _newSellTax) public onlyOwner{
        _SellTax=_newSellTax;
        _BuyTax=_newBuyTax;
    }

    function getTax() public view returns(uint8 Buytax,uint8 Selltax)
    {
        return (_BuyTax, _SellTax);
    }


    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 view 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 (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(from == uniswapV2Pair && to!= address(this) ){
                taxAmount = amount.mul(_BuyTax).div(100);
            }else if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_SellTax).div(100);
            }

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

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

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

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


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

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

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

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>=0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    
    function blackList(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"botCheck","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTax","outputs":[{"internalType":"uint8","name":"Buytax","type":"uint8"},{"internalType":"uint8","name":"Selltax","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_newBuyTax","type":"uint8"},{"internalType":"uint8","name":"_newSellTax","type":"uint8"}],"name":"setTax","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":"view","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"}]

608060405260058060146101000a81548160ff021916908360ff16021790555060058060156101000a81548160ff021916908360ff16021790555064e8d4a510006006556012600a6200005391906200067e565b600654620000629190620006cf565b6007556007546008556007546009556200008a613a98600754620003f960201b90919060201c565b600a55620000a56064600754620003f960201b90919060201c565b600b556000600d60156101000a81548160ff0219169083151502179055506000600d60166101000a81548160ff021916908315150217905550348015620000eb57600080fd5b506000620000fe6200044b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ac6200044b60201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460016000620002036200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002576200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200038a6200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620003eb91906200072b565b60405180910390a36200086d565b60006200044383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200047c60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008083118290620004c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004bd9190620007e2565b60405180910390fd5b5060008385620004d7919062000835565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000572578086048111156200054a5762000549620004e4565b5b60018516156200055a5780820291505b80810290506200056a8562000513565b94506200052a565b94509492505050565b6000826200058d576001905062000660565b816200059d576000905062000660565b8160018114620005b65760028114620005c157620005f7565b600191505062000660565b60ff841115620005d657620005d5620004e4565b5b8360020a915084821115620005f057620005ef620004e4565b5b5062000660565b5060208310610133831016604e8410600b8410161715620006315782820a9050838111156200062b576200062a620004e4565b5b62000660565b62000640848484600162000520565b925090508184048111156200065a5762000659620004e4565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200068b8262000667565b9150620006988362000671565b9250620006c77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200057b565b905092915050565b6000620006dc8262000667565b9150620006e98362000667565b9250828202620006f98162000667565b91508282048414831517620007135762000712620004e4565b5b5092915050565b620007258162000667565b82525050565b60006020820190506200074260008301846200071a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200078457808201518184015260208101905062000767565b60008484015250505050565b6000601f19601f8301169050919050565b6000620007ae8262000748565b620007ba818562000753565b9350620007cc81856020860162000764565b620007d78162000790565b840191505092915050565b60006020820190508181036000830152620007fe8184620007a1565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008428262000667565b91506200084f8362000667565b92508262000862576200086162000806565b5b828204905092915050565b613330806200087d6000396000f3fe6080604052600436106101395760003560e01c806382c8028b116100ab578063a9059cbb1161006f578063a9059cbb14610400578063a9128ff01461043d578063bf474bed14610466578063c7c4a4c914610491578063c9567bf9146104ce578063dd62ed3e146104e557610140565b806382c8028b1461032d5780638da5cb5b146103565780638f9a55c01461038157806395d89b41146103ac5780639bf41135146103d757610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b57806354b762a61461028257806370a08231146102ae578063715018a6146102eb5780637d1db4a51461030257610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610522565b60405161016791906123a8565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612472565b610542565b6040516101a491906124cd565b60405180910390f35b3480156101b957600080fd5b506101c2610560565b6040516101cf91906124f7565b60405180910390f35b3480156101e457600080fd5b506101ed610566565b6040516101fa91906124f7565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612512565b610570565b60405161023791906124cd565b60405180910390f35b34801561024c57600080fd5b50610255610649565b6040516102629190612581565b60405180910390f35b34801561027757600080fd5b50610280610652565b005b34801561028e57600080fd5b506102976106ee565b6040516102a592919061259c565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906125c5565b610719565b6040516102e291906124f7565b60405180910390f35b3480156102f757600080fd5b50610300610762565b005b34801561030e57600080fd5b506103176108b5565b60405161032491906124f7565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f919061273a565b6108bb565b005b34801561036257600080fd5b5061036b6109e5565b6040516103789190612792565b60405180910390f35b34801561038d57600080fd5b50610396610a0e565b6040516103a391906124f7565b60405180910390f35b3480156103b857600080fd5b506103c1610a14565b6040516103ce91906123a8565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f9919061273a565b610a51565b005b34801561040c57600080fd5b5061042760048036038101906104229190612472565b610b7b565b60405161043491906124cd565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f91906127d9565b610b99565b005b34801561047257600080fd5b5061047b610c68565b60405161048891906124f7565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b391906125c5565b610c6e565b6040516104c591906124cd565b60405180910390f35b3480156104da57600080fd5b506104e3610cc4565b005b3480156104f157600080fd5b5061050c60048036038101906105079190612819565b611253565b60405161051991906124f7565b60405180910390f35b60606040518060600160405280602e81526020016132cd602e9139905090565b600061055661054f6112da565b84846112e2565b6001905092915050565b600b5481565b6000600754905090565b600061057d8484846114ab565b61063e846105896112da565b610639856040518060600160405280602881526020016132a560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ef6112da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc89092919063ffffffff16565b6112e2565b600190509392505050565b60006012905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106936112da565b73ffffffffffffffffffffffffffffffffffffffff16146106b357600080fd5b60006106be30610719565b9050600081106106d2576106d181611e2c565b5b600047905060008111156106ea576106e9816120c4565b5b5050565b600080600560149054906101000a900460ff16600560159054906101000a900460ff16915091509091565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61076a6112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee906128a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b6108c36112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610950576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610947906128a5565b60405180910390fd5b60005b81518110156109e157600160046000848481518110610975576109746128c5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109d990612923565b915050610953565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600981526020017fe99988e6a182e69e970000000000000000000000000000000000000000000000815250905090565b610a596112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add906128a5565b60405180910390fd5b60005b8151811015610b7757600060046000848481518110610b0b57610b0a6128c5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b6f90612923565b915050610ae9565b5050565b6000610b8f610b886112da565b84846114ab565b6001905092915050565b610ba16112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c25906128a5565b60405180910390fd5b80600560156101000a81548160ff021916908360ff16021790555081600560146101000a81548160ff021916908360ff1602179055505050565b600a5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ccc6112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d50906128a5565b60405180910390fd5b600d60149054906101000a900460ff1615610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da0906129b7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e2d30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166007546112e2565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe91906129ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b91906129ec565b6040518363ffffffff1660e01b8152600401610f88929190612a19565b6020604051808303816000875af1158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906129ec565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061105430610719565b60008061105f6109e5565b426040518863ffffffff1660e01b815260040161108196959493929190612a87565b60606040518083038185885af115801561109f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c49190612afd565b505050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611166929190612b50565b6020604051808303816000875af1158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612ba5565b506111c0600560075461213090919063ffffffff16565b6008819055506111dc600560075461213090919063ffffffff16565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60075460405161121391906124f7565b60405180910390a16001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612c44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b790612cd6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161149e91906124f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612d68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158090612dfa565b60405180910390fd5b600081116115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c390612e8c565b60405180910390fd5b60006115d66109e5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561164457506116146109e5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b0b57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116ed5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116f657600080fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117a15750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f75750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561189a57600854821115611841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183890612ef8565b60405180910390fd5b6009548261184e85610719565b6118589190612f18565b1115611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612f98565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561192357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611967576119606064611952600560149054906101000a900460ff1660ff168561217a90919063ffffffff16565b61213090919063ffffffff16565b9050611a31565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119f057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3057611a2d6064611a1f600560159054906101000a900460ff1660ff168561217a90919063ffffffff16565b61213090919063ffffffff16565b90505b5b6000611a3c30610719565b9050600d60159054906101000a900460ff16158015611aa85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ac05750600d60169054906101000a900460ff165b8015611acd5750600a5481115b15611b0957611aef611aea84611ae584600b546121f4565b6121f4565b611e2c565b60004790506000811115611b0757611b06476120c4565b5b505b505b6000811115611c0f57611b6681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c0691906124f7565b60405180910390a35b611c6182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461226b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d08611cba828461226b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dad848661226b90919063ffffffff16565b604051611dba91906124f7565b60405180910390a350505050565b6000838311158290611e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0791906123a8565b60405180910390fd5b5060008385611e1f9190612fb8565b9050809150509392505050565b6001600d60156101000a81548160ff02191690831515021790555060008103156120a657600d60149054906101000a900460ff16156120a6576000600267ffffffffffffffff811115611e8257611e816125f7565b5b604051908082528060200260200182016040528015611eb05781602001602082028036833780820191505090505b5090503081600081518110611ec857611ec76128c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9391906129ec565b81600181518110611fa757611fa66128c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061200e30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e2565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120729594939291906130aa565b600060405180830381600087803b15801561208c57600080fd5b505af11580156120a0573d6000803e3d6000fd5b50505050505b6000600d60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561212c573d6000803e3d6000fd5b5050565b600061217283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b5565b905092915050565b600080830361218c57600090506121ee565b6000828461219a9190613104565b90508284826121a99190613175565b146121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e090613218565b60405180910390fd5b809150505b92915050565b60008183116122035782612205565b815b905092915050565b600080828461221c9190612f18565b905083811015612261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225890613284565b60405180910390fd5b8091505092915050565b60006122ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dc8565b905092915050565b600080831182906122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f391906123a8565b60405180910390fd5b506000838561230b9190613175565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612352578082015181840152602081019050612337565b60008484015250505050565b6000601f19601f8301169050919050565b600061237a82612318565b6123848185612323565b9350612394818560208601612334565b61239d8161235e565b840191505092915050565b600060208201905081810360008301526123c2818461236f565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612409826123de565b9050919050565b612419816123fe565b811461242457600080fd5b50565b60008135905061243681612410565b92915050565b6000819050919050565b61244f8161243c565b811461245a57600080fd5b50565b60008135905061246c81612446565b92915050565b60008060408385031215612489576124886123d4565b5b600061249785828601612427565b92505060206124a88582860161245d565b9150509250929050565b60008115159050919050565b6124c7816124b2565b82525050565b60006020820190506124e260008301846124be565b92915050565b6124f18161243c565b82525050565b600060208201905061250c60008301846124e8565b92915050565b60008060006060848603121561252b5761252a6123d4565b5b600061253986828701612427565b935050602061254a86828701612427565b925050604061255b8682870161245d565b9150509250925092565b600060ff82169050919050565b61257b81612565565b82525050565b60006020820190506125966000830184612572565b92915050565b60006040820190506125b16000830185612572565b6125be6020830184612572565b9392505050565b6000602082840312156125db576125da6123d4565b5b60006125e984828501612427565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61262f8261235e565b810181811067ffffffffffffffff8211171561264e5761264d6125f7565b5b80604052505050565b60006126616123ca565b905061266d8282612626565b919050565b600067ffffffffffffffff82111561268d5761268c6125f7565b5b602082029050602081019050919050565b600080fd5b60006126b66126b184612672565b612657565b905080838252602082019050602084028301858111156126d9576126d861269e565b5b835b8181101561270257806126ee8882612427565b8452602084019350506020810190506126db565b5050509392505050565b600082601f830112612721576127206125f2565b5b81356127318482602086016126a3565b91505092915050565b6000602082840312156127505761274f6123d4565b5b600082013567ffffffffffffffff81111561276e5761276d6123d9565b5b61277a8482850161270c565b91505092915050565b61278c816123fe565b82525050565b60006020820190506127a76000830184612783565b92915050565b6127b681612565565b81146127c157600080fd5b50565b6000813590506127d3816127ad565b92915050565b600080604083850312156127f0576127ef6123d4565b5b60006127fe858286016127c4565b925050602061280f858286016127c4565b9150509250929050565b600080604083850312156128305761282f6123d4565b5b600061283e85828601612427565b925050602061284f85828601612427565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061288f602083612323565b915061289a82612859565b602082019050919050565b600060208201905081810360008301526128be81612882565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061292e8261243c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129605761295f6128f4565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129a1601783612323565b91506129ac8261296b565b602082019050919050565b600060208201905081810360008301526129d081612994565b9050919050565b6000815190506129e681612410565b92915050565b600060208284031215612a0257612a016123d4565b5b6000612a10848285016129d7565b91505092915050565b6000604082019050612a2e6000830185612783565b612a3b6020830184612783565b9392505050565b6000819050919050565b6000819050919050565b6000612a71612a6c612a6784612a42565b612a4c565b61243c565b9050919050565b612a8181612a56565b82525050565b600060c082019050612a9c6000830189612783565b612aa960208301886124e8565b612ab66040830187612a78565b612ac36060830186612a78565b612ad06080830185612783565b612add60a08301846124e8565b979650505050505050565b600081519050612af781612446565b92915050565b600080600060608486031215612b1657612b156123d4565b5b6000612b2486828701612ae8565b9350506020612b3586828701612ae8565b9250506040612b4686828701612ae8565b9150509250925092565b6000604082019050612b656000830185612783565b612b7260208301846124e8565b9392505050565b612b82816124b2565b8114612b8d57600080fd5b50565b600081519050612b9f81612b79565b92915050565b600060208284031215612bbb57612bba6123d4565b5b6000612bc984828501612b90565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c2e602483612323565b9150612c3982612bd2565b604082019050919050565b60006020820190508181036000830152612c5d81612c21565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cc0602283612323565b9150612ccb82612c64565b604082019050919050565b60006020820190508181036000830152612cef81612cb3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d52602583612323565b9150612d5d82612cf6565b604082019050919050565b60006020820190508181036000830152612d8181612d45565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612de4602383612323565b9150612def82612d88565b604082019050919050565b60006020820190508181036000830152612e1381612dd7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e76602983612323565b9150612e8182612e1a565b604082019050919050565b60006020820190508181036000830152612ea581612e69565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ee2601983612323565b9150612eed82612eac565b602082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b6000612f238261243c565b9150612f2e8361243c565b9250828201905080821115612f4657612f456128f4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f82601a83612323565b9150612f8d82612f4c565b602082019050919050565b60006020820190508181036000830152612fb181612f75565b9050919050565b6000612fc38261243c565b9150612fce8361243c565b9250828203905081811115612fe657612fe56128f4565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613021816123fe565b82525050565b60006130338383613018565b60208301905092915050565b6000602082019050919050565b600061305782612fec565b6130618185612ff7565b935061306c83613008565b8060005b8381101561309d5781516130848882613027565b975061308f8361303f565b925050600181019050613070565b5085935050505092915050565b600060a0820190506130bf60008301886124e8565b6130cc6020830187612a78565b81810360408301526130de818661304c565b90506130ed6060830185612783565b6130fa60808301846124e8565b9695505050505050565b600061310f8261243c565b915061311a8361243c565b92508282026131288161243c565b9150828204841483151761313f5761313e6128f4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131808261243c565b915061318b8361243c565b92508261319b5761319a613146565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613202602183612323565b915061320d826131a6565b604082019050919050565b60006020820190508181036000830152613231816131f5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061326e601b83612323565b915061327982613238565b602082019050919050565b6000602082019050818103600083015261329d81613261565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365e99fade88f9ce88194e79b9fc2b7e4bba5e69ab4e588b6e69ab4c2b7e99988e6a182e69e97e7bbb4e69d8344616fa26469706673582212208505de3f4cca9ef55eba457a5ebaba9d56a762fe10e4478f735161bf1fea5e3f64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806382c8028b116100ab578063a9059cbb1161006f578063a9059cbb14610400578063a9128ff01461043d578063bf474bed14610466578063c7c4a4c914610491578063c9567bf9146104ce578063dd62ed3e146104e557610140565b806382c8028b1461032d5780638da5cb5b146103565780638f9a55c01461038157806395d89b41146103ac5780639bf41135146103d757610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b57806354b762a61461028257806370a08231146102ae578063715018a6146102eb5780637d1db4a51461030257610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610522565b60405161016791906123a8565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612472565b610542565b6040516101a491906124cd565b60405180910390f35b3480156101b957600080fd5b506101c2610560565b6040516101cf91906124f7565b60405180910390f35b3480156101e457600080fd5b506101ed610566565b6040516101fa91906124f7565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612512565b610570565b60405161023791906124cd565b60405180910390f35b34801561024c57600080fd5b50610255610649565b6040516102629190612581565b60405180910390f35b34801561027757600080fd5b50610280610652565b005b34801561028e57600080fd5b506102976106ee565b6040516102a592919061259c565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906125c5565b610719565b6040516102e291906124f7565b60405180910390f35b3480156102f757600080fd5b50610300610762565b005b34801561030e57600080fd5b506103176108b5565b60405161032491906124f7565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f919061273a565b6108bb565b005b34801561036257600080fd5b5061036b6109e5565b6040516103789190612792565b60405180910390f35b34801561038d57600080fd5b50610396610a0e565b6040516103a391906124f7565b60405180910390f35b3480156103b857600080fd5b506103c1610a14565b6040516103ce91906123a8565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f9919061273a565b610a51565b005b34801561040c57600080fd5b5061042760048036038101906104229190612472565b610b7b565b60405161043491906124cd565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f91906127d9565b610b99565b005b34801561047257600080fd5b5061047b610c68565b60405161048891906124f7565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b391906125c5565b610c6e565b6040516104c591906124cd565b60405180910390f35b3480156104da57600080fd5b506104e3610cc4565b005b3480156104f157600080fd5b5061050c60048036038101906105079190612819565b611253565b60405161051991906124f7565b60405180910390f35b60606040518060600160405280602e81526020016132cd602e9139905090565b600061055661054f6112da565b84846112e2565b6001905092915050565b600b5481565b6000600754905090565b600061057d8484846114ab565b61063e846105896112da565b610639856040518060600160405280602881526020016132a560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ef6112da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc89092919063ffffffff16565b6112e2565b600190509392505050565b60006012905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106936112da565b73ffffffffffffffffffffffffffffffffffffffff16146106b357600080fd5b60006106be30610719565b9050600081106106d2576106d181611e2c565b5b600047905060008111156106ea576106e9816120c4565b5b5050565b600080600560149054906101000a900460ff16600560159054906101000a900460ff16915091509091565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61076a6112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee906128a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b6108c36112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610950576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610947906128a5565b60405180910390fd5b60005b81518110156109e157600160046000848481518110610975576109746128c5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109d990612923565b915050610953565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600981526020017fe99988e6a182e69e970000000000000000000000000000000000000000000000815250905090565b610a596112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add906128a5565b60405180910390fd5b60005b8151811015610b7757600060046000848481518110610b0b57610b0a6128c5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b6f90612923565b915050610ae9565b5050565b6000610b8f610b886112da565b84846114ab565b6001905092915050565b610ba16112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c25906128a5565b60405180910390fd5b80600560156101000a81548160ff021916908360ff16021790555081600560146101000a81548160ff021916908360ff1602179055505050565b600a5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ccc6112da565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d50906128a5565b60405180910390fd5b600d60149054906101000a900460ff1615610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da0906129b7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e2d30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166007546112e2565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe91906129ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b91906129ec565b6040518363ffffffff1660e01b8152600401610f88929190612a19565b6020604051808303816000875af1158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906129ec565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061105430610719565b60008061105f6109e5565b426040518863ffffffff1660e01b815260040161108196959493929190612a87565b60606040518083038185885af115801561109f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c49190612afd565b505050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611166929190612b50565b6020604051808303816000875af1158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612ba5565b506111c0600560075461213090919063ffffffff16565b6008819055506111dc600560075461213090919063ffffffff16565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60075460405161121391906124f7565b60405180910390a16001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612c44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b790612cd6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161149e91906124f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612d68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158090612dfa565b60405180910390fd5b600081116115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c390612e8c565b60405180910390fd5b60006115d66109e5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561164457506116146109e5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b0b57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116ed5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116f657600080fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117a15750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f75750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561189a57600854821115611841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183890612ef8565b60405180910390fd5b6009548261184e85610719565b6118589190612f18565b1115611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612f98565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561192357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611967576119606064611952600560149054906101000a900460ff1660ff168561217a90919063ffffffff16565b61213090919063ffffffff16565b9050611a31565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119f057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3057611a2d6064611a1f600560159054906101000a900460ff1660ff168561217a90919063ffffffff16565b61213090919063ffffffff16565b90505b5b6000611a3c30610719565b9050600d60159054906101000a900460ff16158015611aa85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ac05750600d60169054906101000a900460ff165b8015611acd5750600a5481115b15611b0957611aef611aea84611ae584600b546121f4565b6121f4565b611e2c565b60004790506000811115611b0757611b06476120c4565b5b505b505b6000811115611c0f57611b6681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c0691906124f7565b60405180910390a35b611c6182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461226b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d08611cba828461226b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dad848661226b90919063ffffffff16565b604051611dba91906124f7565b60405180910390a350505050565b6000838311158290611e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0791906123a8565b60405180910390fd5b5060008385611e1f9190612fb8565b9050809150509392505050565b6001600d60156101000a81548160ff02191690831515021790555060008103156120a657600d60149054906101000a900460ff16156120a6576000600267ffffffffffffffff811115611e8257611e816125f7565b5b604051908082528060200260200182016040528015611eb05781602001602082028036833780820191505090505b5090503081600081518110611ec857611ec76128c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9391906129ec565b81600181518110611fa757611fa66128c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061200e30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e2565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120729594939291906130aa565b600060405180830381600087803b15801561208c57600080fd5b505af11580156120a0573d6000803e3d6000fd5b50505050505b6000600d60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561212c573d6000803e3d6000fd5b5050565b600061217283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122b5565b905092915050565b600080830361218c57600090506121ee565b6000828461219a9190613104565b90508284826121a99190613175565b146121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e090613218565b60405180910390fd5b809150505b92915050565b60008183116122035782612205565b815b905092915050565b600080828461221c9190612f18565b905083811015612261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225890613284565b60405180910390fd5b8091505092915050565b60006122ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dc8565b905092915050565b600080831182906122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f391906123a8565b60405180910390fd5b506000838561230b9190613175565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612352578082015181840152602081019050612337565b60008484015250505050565b6000601f19601f8301169050919050565b600061237a82612318565b6123848185612323565b9350612394818560208601612334565b61239d8161235e565b840191505092915050565b600060208201905081810360008301526123c2818461236f565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612409826123de565b9050919050565b612419816123fe565b811461242457600080fd5b50565b60008135905061243681612410565b92915050565b6000819050919050565b61244f8161243c565b811461245a57600080fd5b50565b60008135905061246c81612446565b92915050565b60008060408385031215612489576124886123d4565b5b600061249785828601612427565b92505060206124a88582860161245d565b9150509250929050565b60008115159050919050565b6124c7816124b2565b82525050565b60006020820190506124e260008301846124be565b92915050565b6124f18161243c565b82525050565b600060208201905061250c60008301846124e8565b92915050565b60008060006060848603121561252b5761252a6123d4565b5b600061253986828701612427565b935050602061254a86828701612427565b925050604061255b8682870161245d565b9150509250925092565b600060ff82169050919050565b61257b81612565565b82525050565b60006020820190506125966000830184612572565b92915050565b60006040820190506125b16000830185612572565b6125be6020830184612572565b9392505050565b6000602082840312156125db576125da6123d4565b5b60006125e984828501612427565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61262f8261235e565b810181811067ffffffffffffffff8211171561264e5761264d6125f7565b5b80604052505050565b60006126616123ca565b905061266d8282612626565b919050565b600067ffffffffffffffff82111561268d5761268c6125f7565b5b602082029050602081019050919050565b600080fd5b60006126b66126b184612672565b612657565b905080838252602082019050602084028301858111156126d9576126d861269e565b5b835b8181101561270257806126ee8882612427565b8452602084019350506020810190506126db565b5050509392505050565b600082601f830112612721576127206125f2565b5b81356127318482602086016126a3565b91505092915050565b6000602082840312156127505761274f6123d4565b5b600082013567ffffffffffffffff81111561276e5761276d6123d9565b5b61277a8482850161270c565b91505092915050565b61278c816123fe565b82525050565b60006020820190506127a76000830184612783565b92915050565b6127b681612565565b81146127c157600080fd5b50565b6000813590506127d3816127ad565b92915050565b600080604083850312156127f0576127ef6123d4565b5b60006127fe858286016127c4565b925050602061280f858286016127c4565b9150509250929050565b600080604083850312156128305761282f6123d4565b5b600061283e85828601612427565b925050602061284f85828601612427565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061288f602083612323565b915061289a82612859565b602082019050919050565b600060208201905081810360008301526128be81612882565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061292e8261243c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129605761295f6128f4565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129a1601783612323565b91506129ac8261296b565b602082019050919050565b600060208201905081810360008301526129d081612994565b9050919050565b6000815190506129e681612410565b92915050565b600060208284031215612a0257612a016123d4565b5b6000612a10848285016129d7565b91505092915050565b6000604082019050612a2e6000830185612783565b612a3b6020830184612783565b9392505050565b6000819050919050565b6000819050919050565b6000612a71612a6c612a6784612a42565b612a4c565b61243c565b9050919050565b612a8181612a56565b82525050565b600060c082019050612a9c6000830189612783565b612aa960208301886124e8565b612ab66040830187612a78565b612ac36060830186612a78565b612ad06080830185612783565b612add60a08301846124e8565b979650505050505050565b600081519050612af781612446565b92915050565b600080600060608486031215612b1657612b156123d4565b5b6000612b2486828701612ae8565b9350506020612b3586828701612ae8565b9250506040612b4686828701612ae8565b9150509250925092565b6000604082019050612b656000830185612783565b612b7260208301846124e8565b9392505050565b612b82816124b2565b8114612b8d57600080fd5b50565b600081519050612b9f81612b79565b92915050565b600060208284031215612bbb57612bba6123d4565b5b6000612bc984828501612b90565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c2e602483612323565b9150612c3982612bd2565b604082019050919050565b60006020820190508181036000830152612c5d81612c21565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cc0602283612323565b9150612ccb82612c64565b604082019050919050565b60006020820190508181036000830152612cef81612cb3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d52602583612323565b9150612d5d82612cf6565b604082019050919050565b60006020820190508181036000830152612d8181612d45565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612de4602383612323565b9150612def82612d88565b604082019050919050565b60006020820190508181036000830152612e1381612dd7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e76602983612323565b9150612e8182612e1a565b604082019050919050565b60006020820190508181036000830152612ea581612e69565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ee2601983612323565b9150612eed82612eac565b602082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b6000612f238261243c565b9150612f2e8361243c565b9250828201905080821115612f4657612f456128f4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f82601a83612323565b9150612f8d82612f4c565b602082019050919050565b60006020820190508181036000830152612fb181612f75565b9050919050565b6000612fc38261243c565b9150612fce8361243c565b9250828203905081811115612fe657612fe56128f4565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613021816123fe565b82525050565b60006130338383613018565b60208301905092915050565b6000602082019050919050565b600061305782612fec565b6130618185612ff7565b935061306c83613008565b8060005b8381101561309d5781516130848882613027565b975061308f8361303f565b925050600181019050613070565b5085935050505092915050565b600060a0820190506130bf60008301886124e8565b6130cc6020830187612a78565b81810360408301526130de818661304c565b90506130ed6060830185612783565b6130fa60808301846124e8565b9695505050505050565b600061310f8261243c565b915061311a8361243c565b92508282026131288161243c565b9150828204841483151761313f5761313e6128f4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131808261243c565b915061318b8361243c565b92508261319b5761319a613146565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613202602183612323565b915061320d826131a6565b604082019050919050565b60006020820190508181036000830152613231816131f5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061326e601b83612323565b915061327982613238565b602082019050919050565b6000602082019050818103600083015261329d81613261565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365e99fade88f9ce88194e79b9fc2b7e4bba5e69ab4e588b6e69ab4c2b7e99988e6a182e69e97e7bbb4e69d8344616fa26469706673582212208505de3f4cca9ef55eba457a5ebaba9d56a762fe10e4478f735161bf1fea5e3f64736f6c63430008130033

Deployed Bytecode Sourcemap

3601:7793:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5463:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6296:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4479:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5740:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6465:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5649:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10680:349;;;;;;;;;;;;;:::i;:::-;;5337:116;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;5843:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2682:148;;;;;;;;;;;;;:::i;:::-;;4331:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11041:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2468:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4375:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5554:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11215:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5970:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4421:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9741:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9841:794;;;;;;;;;;;;;:::i;:::-;;6145:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5463:83;5500:13;5533:5;;;;;;;;;;;;;;;;;5526:12;;5463:83;:::o;6296:161::-;6371:4;6388:39;6397:12;:10;:12::i;:::-;6411:7;6420:6;6388:8;:39::i;:::-;6445:4;6438:11;;6296:161;;;;:::o;4479:43::-;;;;:::o;5740:95::-;5793:7;5820;;5813:14;;5740:95;:::o;6465:313::-;6563:4;6580:36;6590:6;6598:9;6609:6;6580:9;:36::i;:::-;6627:121;6636:6;6644:12;:10;:12::i;:::-;6658:89;6696:6;6658:89;;;;;;;;;;;;;;;;;:11;:19;6670:6;6658:19;;;;;;;;;;;;;;;:33;6678:12;:10;:12::i;:::-;6658:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6627:8;:121::i;:::-;6766:4;6759:11;;6465:313;;;;;:::o;5649:83::-;5690:5;4108:2;5708:16;;5649:83;:::o;10680:349::-;10744:10;;;;;;;;;;;10730:24;;:12;:10;:12::i;:::-;:24;;;10722:33;;;;;;10766:20;10787:24;10805:4;10787:9;:24::i;:::-;10766:45;;10839:1;10825:12;:15;10822:74;;10854:30;10871:12;10854:16;:30::i;:::-;10822:74;10906:18;10925:21;10906:40;;10971:1;10960:10;:12;10957:65;;;10986:24;10999:10;10986:12;:24::i;:::-;10957:65;10711:318;;10680:349::o;5337:116::-;5375:12;5388:13;5427:7;;;;;;;;;;;5436:8;;;;;;;;;;;5419:26;;;;5337:116;;:::o;5843:119::-;5909:7;5936:9;:18;5946:7;5936:18;;;;;;;;;;;;;;;;5929:25;;5843:119;;;:::o;2682:148::-;2605:12;:10;:12::i;:::-;2595:22;;:6;;;;;;;;;;:22;;;2587:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2789:1:::1;2752:40;;2773:6;::::0;::::1;;;;;;;;2752:40;;;;;;;;;;;;2820:1;2803:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2682:148::o:0;4331:37::-;;;;:::o;11041:166::-;2605:12;:10;:12::i;:::-;2595:22;;:6;;;;;;;;;;:22;;;2587:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11117:6:::1;11112:88;11133:5;:12;11129:1;:16;11112:88;;;11184:4;11167;:14;11172:5;11178:1;11172:8;;;;;;;;:::i;:::-;;;;;;;;11167:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11147:3;;;;;:::i;:::-;;;;11112:88;;;;11041:166:::0;:::o;2468:79::-;2506:7;2533:6;;;;;;;;;;;2526:13;;2468:79;:::o;4375:39::-;;;;:::o;5554:87::-;5593:13;5626:7;;;;;;;;;;;;;;;;;5619:14;;5554:87;:::o;11215:170::-;2605:12;:10;:12::i;:::-;2595:22;;:6;;;;;;;;;;:22;;;2587:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11296:6:::1;11291:87;11312:6;:13;11308:1;:17;11291:87;;;11363:5;11345:4;:15;11350:6;11357:1;11350:9;;;;;;;;:::i;:::-;;;;;;;;11345:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11327:3;;;;;:::i;:::-;;;;11291:87;;;;11215:170:::0;:::o;5970:167::-;6048:4;6065:42;6075:12;:10;:12::i;:::-;6089:9;6100:6;6065:9;:42::i;:::-;6125:4;6118:11;;5970:167;;;;:::o;5193:136::-;2605:12;:10;:12::i;:::-;2595:22;;:6;;;;;;;;;;:22;;;2587:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5281:11:::1;5272:8;;:20;;;;;;;;;;;;;;;;;;5311:10;5303:7;;:18;;;;;;;;;;;;;;;;;;5193:136:::0;;:::o;4421:51::-;;;;:::o;9741:86::-;9791:4;9812;:7;9817:1;9812:7;;;;;;;;;;;;;;;;;;;;;;;;;9805:14;;9741:86;;;:::o;9841:794::-;2605:12;:10;:12::i;:::-;2595:22;;:6;;;;;;;;;;:22;;;2587:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9905:11:::1;;;;;;;;;;;9904:12;9896:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9991:42;9954:15;;:80;;;;;;;;;;;;;;;;;;10045:58;10062:4;10077:15;;;;;;;;;;;10095:7;;10045:8;:58::i;:::-;10148:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10130:55;;;10194:4;10201:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10130:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10114:13;;:110;;;;;;;;;;;;;;;;;;10235:15;;;;;;;;;;;:31;;;10274:21;10305:4;10311:24;10329:4;10311:9;:24::i;:::-;10336:1;10338::::0;10340:7:::1;:5;:7::i;:::-;10348:15;10235:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10382:13;;;;;;;;;;;10375:29;;;10413:15;;;;;;;;;;;10431:14;10375:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10472:14;10484:1;10472:7;;:11;;:14;;;;:::i;:::-;10457:12;:29;;;;10512:14;10524:1;10512:7;;:11;;:14;;;;:::i;:::-;10497;:29;;;;10542:27;10561:7;;10542:27;;;;;;:::i;:::-;;;;;;;;10594:4;10580:11;;:18;;;;;;;;;;;;;;;;;;10623:4;10609:11;;:18;;;;;;;;;;;;;;;;;;9841:794::o:0;6145:143::-;6226:7;6253:11;:18;6265:5;6253:18;;;;;;;;;;;;;;;:27;6272:7;6253:27;;;;;;;;;;;;;;;;6246:34;;6145:143;;;;:::o;223:98::-;276:7;303:10;296:17;;223:98;:::o;6786:335::-;6896:1;6879:19;;:5;:19;;;6871:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6977:1;6958:21;;:7;:21;;;6950:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7059:6;7029:11;:18;7041:5;7029:18;;;;;;;;;;;;;;;:27;7048:7;7029:27;;;;;;;;;;;;;;;:36;;;;7097:7;7081:32;;7090:5;7081:32;;;7106:6;7081:32;;;;;;:::i;:::-;;;;;;;;6786:335;;;:::o;7127:1835::-;7233:1;7217:18;;:4;:18;;;7209:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7310:1;7296:16;;:2;:16;;;7288:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7380:1;7371:6;:10;7363:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7438:17;7480:7;:5;:7::i;:::-;7472:15;;:4;:15;;;;:32;;;;;7497:7;:5;:7::i;:::-;7491:13;;:2;:13;;;;7472:32;7468:1138;;;7530:4;:10;7535:4;7530:10;;;;;;;;;;;;;;;;;;;;;;;;;7529:11;:24;;;;;7545:4;:8;7550:2;7545:8;;;;;;;;;;;;;;;;;;;;;;;;;7544:9;7529:24;7521:33;;;;;;7583:13;;;;;;;;;;;7575:21;;:4;:21;;;:55;;;;;7614:15;;;;;;;;;;;7600:30;;:2;:30;;;;7575:55;:83;;;;;7636:18;:22;7655:2;7636:22;;;;;;;;;;;;;;;;;;;;;;;;;7634:24;7575:83;7571:283;;;7698:12;;7688:6;:22;;7680:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7793:14;;7783:6;7767:13;7777:2;7767:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7759:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7571:283;7881:13;;;;;;;;;;;7873:21;;:4;:21;;;:43;;;;;7911:4;7898:18;;:2;:18;;;;7873:43;7870:252;;;7949:28;7973:3;7949:19;7960:7;;;;;;;;;;;7949:19;;:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7937:40;;7870:252;;;8007:13;;;;;;;;;;;8001:19;;:2;:19;;;:43;;;;;8039:4;8024:20;;:4;:20;;;;8001:43;7998:124;;;8077:29;8102:3;8077:20;8088:8;;;;;;;;;;;8077:20;;:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8065:41;;7998:124;7870:252;8138:28;8169:24;8187:4;8169:9;:24::i;:::-;8138:55;;8213:6;;;;;;;;;;;8212:7;:30;;;;;8229:13;;;;;;;;;;;8223:19;;:2;:19;;;8212:30;:45;;;;;8246:11;;;;;;;;;;;8212:45;:87;;;;;8282:17;;8261:20;:38;8212:87;8208:387;;;8320:67;8337:49;8341:6;8348:37;8352:20;8373:11;;8348:3;:37::i;:::-;8337:3;:49::i;:::-;8320:16;:67::i;:::-;8406:26;8435:21;8406:50;;8499:1;8478:18;:22;8475:105;;;8525:35;8538:21;8525:12;:35::i;:::-;8475:105;8301:294;8208:387;7506:1100;7468:1138;8631:1;8621:9;:11;8618:161;;;8671:39;8700:9;8671;:24;8689:4;8671:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8646:9;:24;8664:4;8646:24;;;;;;;;;;;;;;;:64;;;;8751:4;8728:39;;8737:4;8728:39;;;8757:9;8728:39;;;;;;:::i;:::-;;;;;;;;8618:161;8805:27;8825:6;8805:9;:15;8815:4;8805:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8789:9;:15;8799:4;8789:15;;;;;;;;;;;;;;;:43;;;;8857:40;8875:21;8886:9;8875:6;:10;;:21;;;;:::i;:::-;8857:9;:13;8867:2;8857:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8843:9;:13;8853:2;8843:13;;;;;;;;;;;;;;;:54;;;;8928:2;8913:41;;8922:4;8913:41;;;8932:21;8943:9;8932:6;:10;;:21;;;;:::i;:::-;8913:41;;;;;;:::i;:::-;;;;;;;;7196:1766;7127:1835;;;:::o;1360:190::-;1446:7;1479:1;1474;:6;;1482:12;1466:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1506:9;1522:1;1518;:5;;;;:::i;:::-;1506:17;;1541:1;1534:8;;;1360:190;;;;;:::o;9076:555::-;4813:4;4804:6;;:13;;;;;;;;;;;;;;;;;;9170:1:::1;9157:11;:14:::0;9154:27;9173:7:::1;9154:27;9195:11;;;;;;;;;;;9191:25:::0;9208:7:::1;9191:25;9226:21;9264:1;9250:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9226:40;;9295:4;9277;9282:1;9277:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9321:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9311:4;9316:1;9311:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9354:62;9371:4;9386:15;;;;;;;;;;;9404:11;9354:8;:62::i;:::-;9427:15;;;;;;;;;;;:66;;;9508:11;9534:1;9550:4;9577;9597:15;9427:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9143:488;4828:1;4849:5:::0;4840:6;;:14;;;;;;;;;;;;;;;;;;9076:555;:::o;9641:92::-;9698:10;;;;;;;;;;;:19;;:27;9718:6;9698:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9641:92;:::o;1812:132::-;1870:7;1897:39;1901:1;1904;1897:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1890:46;;1812:132;;;;:::o;1558:246::-;1616:7;1645:1;1640;:6;1636:47;;1670:1;1663:8;;;;1636:47;1693:9;1709:1;1705;:5;;;;:::i;:::-;1693:17;;1738:1;1733;1729;:5;;;;:::i;:::-;:10;1721:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1795:1;1788:8;;;1558:246;;;;;:::o;8970:98::-;9027:7;9054:1;9052;:3;9051:9;;9059:1;9051:9;;;9057:1;9051:9;9044:16;;8970:98;;;;:::o;1029:179::-;1087:7;1107:9;1123:1;1119;:5;;;;:::i;:::-;1107:17;;1148:1;1143;:6;;1135:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1199:1;1192:8;;;1029:179;;;;:::o;1216:136::-;1274:7;1301:43;1305:1;1308;1301:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1294:50;;1216:136;;;;:::o;1952:189::-;2038:7;2070:1;2066;:5;2073:12;2058:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2097:9;2113:1;2109;:5;;;;:::i;:::-;2097:17;;2132:1;2125:8;;;1952:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:316::-;4966:4;5004:2;4993:9;4989:18;4981:26;;5017:67;5081:1;5070:9;5066:17;5057:6;5017:67;:::i;:::-;5094:68;5158:2;5147:9;5143:18;5134:6;5094:68;:::i;:::-;4853:316;;;;;:::o;5175:329::-;5234:6;5283:2;5271:9;5262:7;5258:23;5254:32;5251:119;;;5289:79;;:::i;:::-;5251:119;5409:1;5434:53;5479:7;5470:6;5459:9;5455:22;5434:53;:::i;:::-;5424:63;;5380:117;5175:329;;;;:::o;5510:117::-;5619:1;5616;5609:12;5633:180;5681:77;5678:1;5671:88;5778:4;5775:1;5768:15;5802:4;5799:1;5792:15;5819:281;5902:27;5924:4;5902:27;:::i;:::-;5894:6;5890:40;6032:6;6020:10;6017:22;5996:18;5984:10;5981:34;5978:62;5975:88;;;6043:18;;:::i;:::-;5975:88;6083:10;6079:2;6072:22;5862:238;5819:281;;:::o;6106:129::-;6140:6;6167:20;;:::i;:::-;6157:30;;6196:33;6224:4;6216:6;6196:33;:::i;:::-;6106:129;;;:::o;6241:311::-;6318:4;6408:18;6400:6;6397:30;6394:56;;;6430:18;;:::i;:::-;6394:56;6480:4;6472:6;6468:17;6460:25;;6540:4;6534;6530:15;6522:23;;6241:311;;;:::o;6558:117::-;6667:1;6664;6657:12;6698:710;6794:5;6819:81;6835:64;6892:6;6835:64;:::i;:::-;6819:81;:::i;:::-;6810:90;;6920:5;6949:6;6942:5;6935:21;6983:4;6976:5;6972:16;6965:23;;7036:4;7028:6;7024:17;7016:6;7012:30;7065:3;7057:6;7054:15;7051:122;;;7084:79;;:::i;:::-;7051:122;7199:6;7182:220;7216:6;7211:3;7208:15;7182:220;;;7291:3;7320:37;7353:3;7341:10;7320:37;:::i;:::-;7315:3;7308:50;7387:4;7382:3;7378:14;7371:21;;7258:144;7242:4;7237:3;7233:14;7226:21;;7182:220;;;7186:21;6800:608;;6698:710;;;;;:::o;7431:370::-;7502:5;7551:3;7544:4;7536:6;7532:17;7528:27;7518:122;;7559:79;;:::i;:::-;7518:122;7676:6;7663:20;7701:94;7791:3;7783:6;7776:4;7768:6;7764:17;7701:94;:::i;:::-;7692:103;;7508:293;7431:370;;;;:::o;7807:539::-;7891:6;7940:2;7928:9;7919:7;7915:23;7911:32;7908:119;;;7946:79;;:::i;:::-;7908:119;8094:1;8083:9;8079:17;8066:31;8124:18;8116:6;8113:30;8110:117;;;8146:79;;:::i;:::-;8110:117;8251:78;8321:7;8312:6;8301:9;8297:22;8251:78;:::i;:::-;8241:88;;8037:302;7807:539;;;;:::o;8352:118::-;8439:24;8457:5;8439:24;:::i;:::-;8434:3;8427:37;8352:118;;:::o;8476:222::-;8569:4;8607:2;8596:9;8592:18;8584:26;;8620:71;8688:1;8677:9;8673:17;8664:6;8620:71;:::i;:::-;8476:222;;;;:::o;8704:118::-;8775:22;8791:5;8775:22;:::i;:::-;8768:5;8765:33;8755:61;;8812:1;8809;8802:12;8755:61;8704:118;:::o;8828:135::-;8872:5;8910:6;8897:20;8888:29;;8926:31;8951:5;8926:31;:::i;:::-;8828:135;;;;:::o;8969:466::-;9033:6;9041;9090:2;9078:9;9069:7;9065:23;9061:32;9058:119;;;9096:79;;:::i;:::-;9058:119;9216:1;9241:51;9284:7;9275:6;9264:9;9260:22;9241:51;:::i;:::-;9231:61;;9187:115;9341:2;9367:51;9410:7;9401:6;9390:9;9386:22;9367:51;:::i;:::-;9357:61;;9312:116;8969:466;;;;;:::o;9441:474::-;9509:6;9517;9566:2;9554:9;9545:7;9541:23;9537:32;9534:119;;;9572:79;;:::i;:::-;9534:119;9692:1;9717:53;9762:7;9753:6;9742:9;9738:22;9717:53;:::i;:::-;9707:63;;9663:117;9819:2;9845:53;9890:7;9881:6;9870:9;9866:22;9845:53;:::i;:::-;9835:63;;9790:118;9441:474;;;;;:::o;9921:182::-;10061:34;10057:1;10049:6;10045:14;10038:58;9921:182;:::o;10109:366::-;10251:3;10272:67;10336:2;10331:3;10272:67;:::i;:::-;10265:74;;10348:93;10437:3;10348:93;:::i;:::-;10466:2;10461:3;10457:12;10450:19;;10109:366;;;:::o;10481:419::-;10647:4;10685:2;10674:9;10670:18;10662:26;;10734:9;10728:4;10724:20;10720:1;10709:9;10705:17;10698:47;10762:131;10888:4;10762:131;:::i;:::-;10754:139;;10481:419;;;:::o;10906:180::-;10954:77;10951:1;10944:88;11051:4;11048:1;11041:15;11075:4;11072:1;11065:15;11092:180;11140:77;11137:1;11130:88;11237:4;11234:1;11227:15;11261:4;11258:1;11251:15;11278:233;11317:3;11340:24;11358:5;11340:24;:::i;:::-;11331:33;;11386:66;11379:5;11376:77;11373:103;;11456:18;;:::i;:::-;11373:103;11503:1;11496:5;11492:13;11485:20;;11278:233;;;:::o;11517:173::-;11657:25;11653:1;11645:6;11641:14;11634:49;11517:173;:::o;11696:366::-;11838:3;11859:67;11923:2;11918:3;11859:67;:::i;:::-;11852:74;;11935:93;12024:3;11935:93;:::i;:::-;12053:2;12048:3;12044:12;12037:19;;11696:366;;;:::o;12068:419::-;12234:4;12272:2;12261:9;12257:18;12249:26;;12321:9;12315:4;12311:20;12307:1;12296:9;12292:17;12285:47;12349:131;12475:4;12349:131;:::i;:::-;12341:139;;12068:419;;;:::o;12493:143::-;12550:5;12581:6;12575:13;12566:22;;12597:33;12624:5;12597:33;:::i;:::-;12493:143;;;;:::o;12642:351::-;12712:6;12761:2;12749:9;12740:7;12736:23;12732:32;12729:119;;;12767:79;;:::i;:::-;12729:119;12887:1;12912:64;12968:7;12959:6;12948:9;12944:22;12912:64;:::i;:::-;12902:74;;12858:128;12642:351;;;;:::o;12999:332::-;13120:4;13158:2;13147:9;13143:18;13135:26;;13171:71;13239:1;13228:9;13224:17;13215:6;13171:71;:::i;:::-;13252:72;13320:2;13309:9;13305:18;13296:6;13252:72;:::i;:::-;12999:332;;;;;:::o;13337:85::-;13382:7;13411:5;13400:16;;13337:85;;;:::o;13428:60::-;13456:3;13477:5;13470:12;;13428:60;;;:::o;13494:158::-;13552:9;13585:61;13603:42;13612:32;13638:5;13612:32;:::i;:::-;13603:42;:::i;:::-;13585:61;:::i;:::-;13572:74;;13494:158;;;:::o;13658:147::-;13753:45;13792:5;13753:45;:::i;:::-;13748:3;13741:58;13658:147;;:::o;13811:807::-;14060:4;14098:3;14087:9;14083:19;14075:27;;14112:71;14180:1;14169:9;14165:17;14156:6;14112:71;:::i;:::-;14193:72;14261:2;14250:9;14246:18;14237:6;14193:72;:::i;:::-;14275:80;14351:2;14340:9;14336:18;14327:6;14275:80;:::i;:::-;14365;14441:2;14430:9;14426:18;14417:6;14365:80;:::i;:::-;14455:73;14523:3;14512:9;14508:19;14499:6;14455:73;:::i;:::-;14538;14606:3;14595:9;14591:19;14582:6;14538:73;:::i;:::-;13811:807;;;;;;;;;:::o;14624:143::-;14681:5;14712:6;14706:13;14697:22;;14728:33;14755:5;14728:33;:::i;:::-;14624:143;;;;:::o;14773:663::-;14861:6;14869;14877;14926:2;14914:9;14905:7;14901:23;14897:32;14894:119;;;14932:79;;:::i;:::-;14894:119;15052:1;15077:64;15133:7;15124:6;15113:9;15109:22;15077:64;:::i;:::-;15067:74;;15023:128;15190:2;15216:64;15272:7;15263:6;15252:9;15248:22;15216:64;:::i;:::-;15206:74;;15161:129;15329:2;15355:64;15411:7;15402:6;15391:9;15387:22;15355:64;:::i;:::-;15345:74;;15300:129;14773:663;;;;;:::o;15442:332::-;15563:4;15601:2;15590:9;15586:18;15578:26;;15614:71;15682:1;15671:9;15667:17;15658:6;15614:71;:::i;:::-;15695:72;15763:2;15752:9;15748:18;15739:6;15695:72;:::i;:::-;15442:332;;;;;:::o;15780:116::-;15850:21;15865:5;15850:21;:::i;:::-;15843:5;15840:32;15830:60;;15886:1;15883;15876:12;15830:60;15780:116;:::o;15902:137::-;15956:5;15987:6;15981:13;15972:22;;16003:30;16027:5;16003:30;:::i;:::-;15902:137;;;;:::o;16045:345::-;16112:6;16161:2;16149:9;16140:7;16136:23;16132:32;16129:119;;;16167:79;;:::i;:::-;16129:119;16287:1;16312:61;16365:7;16356:6;16345:9;16341:22;16312:61;:::i;:::-;16302:71;;16258:125;16045:345;;;;:::o;16396:223::-;16536:34;16532:1;16524:6;16520:14;16513:58;16605:6;16600:2;16592:6;16588:15;16581:31;16396:223;:::o;16625:366::-;16767:3;16788:67;16852:2;16847:3;16788:67;:::i;:::-;16781:74;;16864:93;16953:3;16864:93;:::i;:::-;16982:2;16977:3;16973:12;16966:19;;16625:366;;;:::o;16997:419::-;17163:4;17201:2;17190:9;17186:18;17178:26;;17250:9;17244:4;17240:20;17236:1;17225:9;17221:17;17214:47;17278:131;17404:4;17278:131;:::i;:::-;17270:139;;16997:419;;;:::o;17422:221::-;17562:34;17558:1;17550:6;17546:14;17539:58;17631:4;17626:2;17618:6;17614:15;17607:29;17422:221;:::o;17649:366::-;17791:3;17812:67;17876:2;17871:3;17812:67;:::i;:::-;17805:74;;17888:93;17977:3;17888:93;:::i;:::-;18006:2;18001:3;17997:12;17990:19;;17649:366;;;:::o;18021:419::-;18187:4;18225:2;18214:9;18210:18;18202:26;;18274:9;18268:4;18264:20;18260:1;18249:9;18245:17;18238:47;18302:131;18428:4;18302:131;:::i;:::-;18294:139;;18021:419;;;:::o;18446:224::-;18586:34;18582:1;18574:6;18570:14;18563:58;18655:7;18650:2;18642:6;18638:15;18631:32;18446:224;:::o;18676:366::-;18818:3;18839:67;18903:2;18898:3;18839:67;:::i;:::-;18832:74;;18915:93;19004:3;18915:93;:::i;:::-;19033:2;19028:3;19024:12;19017:19;;18676:366;;;:::o;19048:419::-;19214:4;19252:2;19241:9;19237:18;19229:26;;19301:9;19295:4;19291:20;19287:1;19276:9;19272:17;19265:47;19329:131;19455:4;19329:131;:::i;:::-;19321:139;;19048:419;;;:::o;19473:222::-;19613:34;19609:1;19601:6;19597:14;19590:58;19682:5;19677:2;19669:6;19665:15;19658:30;19473:222;:::o;19701:366::-;19843:3;19864:67;19928:2;19923:3;19864:67;:::i;:::-;19857:74;;19940:93;20029:3;19940:93;:::i;:::-;20058:2;20053:3;20049:12;20042:19;;19701:366;;;:::o;20073:419::-;20239:4;20277:2;20266:9;20262:18;20254:26;;20326:9;20320:4;20316:20;20312:1;20301:9;20297:17;20290:47;20354:131;20480:4;20354:131;:::i;:::-;20346:139;;20073:419;;;:::o;20498:228::-;20638:34;20634:1;20626:6;20622:14;20615:58;20707:11;20702:2;20694:6;20690:15;20683:36;20498:228;:::o;20732:366::-;20874:3;20895:67;20959:2;20954:3;20895:67;:::i;:::-;20888:74;;20971:93;21060:3;20971:93;:::i;:::-;21089:2;21084:3;21080:12;21073:19;;20732:366;;;:::o;21104:419::-;21270:4;21308:2;21297:9;21293:18;21285:26;;21357:9;21351:4;21347:20;21343:1;21332:9;21328:17;21321:47;21385:131;21511:4;21385:131;:::i;:::-;21377:139;;21104:419;;;:::o;21529:175::-;21669:27;21665:1;21657:6;21653:14;21646:51;21529:175;:::o;21710:366::-;21852:3;21873:67;21937:2;21932:3;21873:67;:::i;:::-;21866:74;;21949:93;22038:3;21949:93;:::i;:::-;22067:2;22062:3;22058:12;22051:19;;21710:366;;;:::o;22082:419::-;22248:4;22286:2;22275:9;22271:18;22263:26;;22335:9;22329:4;22325:20;22321:1;22310:9;22306:17;22299:47;22363:131;22489:4;22363:131;:::i;:::-;22355:139;;22082:419;;;:::o;22507:191::-;22547:3;22566:20;22584:1;22566:20;:::i;:::-;22561:25;;22600:20;22618:1;22600:20;:::i;:::-;22595:25;;22643:1;22640;22636:9;22629:16;;22664:3;22661:1;22658:10;22655:36;;;22671:18;;:::i;:::-;22655:36;22507:191;;;;:::o;22704:176::-;22844:28;22840:1;22832:6;22828:14;22821:52;22704:176;:::o;22886:366::-;23028:3;23049:67;23113:2;23108:3;23049:67;:::i;:::-;23042:74;;23125:93;23214:3;23125:93;:::i;:::-;23243:2;23238:3;23234:12;23227:19;;22886:366;;;:::o;23258:419::-;23424:4;23462:2;23451:9;23447:18;23439:26;;23511:9;23505:4;23501:20;23497:1;23486:9;23482:17;23475:47;23539:131;23665:4;23539:131;:::i;:::-;23531:139;;23258:419;;;:::o;23683:194::-;23723:4;23743:20;23761:1;23743:20;:::i;:::-;23738:25;;23777:20;23795:1;23777:20;:::i;:::-;23772:25;;23821:1;23818;23814:9;23806:17;;23845:1;23839:4;23836:11;23833:37;;;23850:18;;:::i;:::-;23833:37;23683:194;;;;:::o;23883:114::-;23950:6;23984:5;23978:12;23968:22;;23883:114;;;:::o;24003:184::-;24102:11;24136:6;24131:3;24124:19;24176:4;24171:3;24167:14;24152:29;;24003:184;;;;:::o;24193:132::-;24260:4;24283:3;24275:11;;24313:4;24308:3;24304:14;24296:22;;24193:132;;;:::o;24331:108::-;24408:24;24426:5;24408:24;:::i;:::-;24403:3;24396:37;24331:108;;:::o;24445:179::-;24514:10;24535:46;24577:3;24569:6;24535:46;:::i;:::-;24613:4;24608:3;24604:14;24590:28;;24445:179;;;;:::o;24630:113::-;24700:4;24732;24727:3;24723:14;24715:22;;24630:113;;;:::o;24779:732::-;24898:3;24927:54;24975:5;24927:54;:::i;:::-;24997:86;25076:6;25071:3;24997:86;:::i;:::-;24990:93;;25107:56;25157:5;25107:56;:::i;:::-;25186:7;25217:1;25202:284;25227:6;25224:1;25221:13;25202:284;;;25303:6;25297:13;25330:63;25389:3;25374:13;25330:63;:::i;:::-;25323:70;;25416:60;25469:6;25416:60;:::i;:::-;25406:70;;25262:224;25249:1;25246;25242:9;25237:14;;25202:284;;;25206:14;25502:3;25495:10;;24903:608;;;24779:732;;;;:::o;25517:831::-;25780:4;25818:3;25807:9;25803:19;25795:27;;25832:71;25900:1;25889:9;25885:17;25876:6;25832:71;:::i;:::-;25913:80;25989:2;25978:9;25974:18;25965:6;25913:80;:::i;:::-;26040:9;26034:4;26030:20;26025:2;26014:9;26010:18;26003:48;26068:108;26171:4;26162:6;26068:108;:::i;:::-;26060:116;;26186:72;26254:2;26243:9;26239:18;26230:6;26186:72;:::i;:::-;26268:73;26336:3;26325:9;26321:19;26312:6;26268:73;:::i;:::-;25517:831;;;;;;;;:::o;26354:410::-;26394:7;26417:20;26435:1;26417:20;:::i;:::-;26412:25;;26451:20;26469:1;26451:20;:::i;:::-;26446:25;;26506:1;26503;26499:9;26528:30;26546:11;26528:30;:::i;:::-;26517:41;;26707:1;26698:7;26694:15;26691:1;26688:22;26668:1;26661:9;26641:83;26618:139;;26737:18;;:::i;:::-;26618:139;26402:362;26354:410;;;;:::o;26770:180::-;26818:77;26815:1;26808:88;26915:4;26912:1;26905:15;26939:4;26936:1;26929:15;26956:185;26996:1;27013:20;27031:1;27013:20;:::i;:::-;27008:25;;27047:20;27065:1;27047:20;:::i;:::-;27042:25;;27086:1;27076:35;;27091:18;;:::i;:::-;27076:35;27133:1;27130;27126:9;27121:14;;26956:185;;;;:::o;27147:220::-;27287:34;27283:1;27275:6;27271:14;27264:58;27356:3;27351:2;27343:6;27339:15;27332:28;27147:220;:::o;27373:366::-;27515:3;27536:67;27600:2;27595:3;27536:67;:::i;:::-;27529:74;;27612:93;27701:3;27612:93;:::i;:::-;27730:2;27725:3;27721:12;27714:19;;27373:366;;;:::o;27745:419::-;27911:4;27949:2;27938:9;27934:18;27926:26;;27998:9;27992:4;27988:20;27984:1;27973:9;27969:17;27962:47;28026:131;28152:4;28026:131;:::i;:::-;28018:139;;27745:419;;;:::o;28170:177::-;28310:29;28306:1;28298:6;28294:14;28287:53;28170:177;:::o;28353:366::-;28495:3;28516:67;28580:2;28575:3;28516:67;:::i;:::-;28509:74;;28592:93;28681:3;28592:93;:::i;:::-;28710:2;28705:3;28701:12;28694:19;;28353:366;;;:::o;28725:419::-;28891:4;28929:2;28918:9;28914:18;28906:26;;28978:9;28972:4;28968:20;28964:1;28953:9;28949:17;28942:47;29006:131;29132:4;29006:131;:::i;:::-;28998:139;;28725:419;;;:::o

Swarm Source

ipfs://8505de3f4cca9ef55eba457a5ebaba9d56a762fe10e4478f735161bf1fea5e3f
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.