ETH Price: $3,884.58 (+0.40%)

Token

ERC-20: PepeHoppyLandwolfDorkLordRedHotCockMattfur... (MLORD)
 

Overview

Max Total Supply

1,000,000,000 MLORD

Holders

659

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
452,962.200312412441182558 MLORD

Value
$0.00
0x2ba9fd1e2a648236e3ada1bb467318db08b7297b
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:
PepeHoppyLandwolfDorkLordRedHotCockMattfurieMemeLord

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 2023-09-13
*/

/**
Website: https://memelordtoken.vip/
**/
// SPDX-License-Identifier: MIT
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);
}

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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 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 PepeHoppyLandwolfDorkLordRedHotCockMattfurieMemeLord is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _FreeWallets;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    uint256 private constant onePercent = (_totalSupply)/100;
    uint256 private constant minimumSwapAmount = 40000;
    uint256 private maxSwap = onePercent / 2;
    uint256 public MaximumOneTrxAmount = onePercent;
    uint256 public MxWalletSize = onePercent;

    uint256 private InitialBlockNo;

    uint256 public buyTax = 25;
    uint256 public sellTax = 35;
    
    string private constant _name = "PepeHoppyLandwolfDorkLordRedHotCockMattfurieMemeLord";
    string private constant _symbol = "MLORD";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public FeesAddress ;
    address immutable public SecFeesWallet;

    bool private launch = false;

    constructor() {
        FeesAddress  = 0x05A46d939b98e9C7bCF898EC7878Cf8F1a3A1Fd2;
        SecFeesWallet = 0x05A46d939b98e9C7bCF898EC7878Cf8F1a3A1Fd2;
        _balance[msg.sender] = _totalSupply;
        _FreeWallets[FeesAddress ] = 1;
        _FreeWallets[msg.sender] = 1;
        _FreeWallets[address(this)] = 1;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

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


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

    function _addExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 1;
    }

    function _RemoveExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 0;
    }

    function FreeFromLimits() external onlyOwner {
        MaximumOneTrxAmount = _totalSupply;
        MxWalletSize = _totalSupply;
    }

    function ChangeTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax + newSellTax <= 70, "Tax too high");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0)
        {
            require(launch, "Trading not open");
            require(amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MxWalletSize, "MaxWallet Enabled at launch");
            if (block.number < InitialBlockNo + 2) {
                _tax = 60;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minimumSwapAmount) { 
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function manualSendBalance() external onlyOwner {
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    } 

    function manualSwapTokens(uint256 percent) external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        uint256 amtswap = (percent*contractBalance)/100;
        swapTokensForEth(amtswap);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FreeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaximumOneTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SecFeesWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_RemoveExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600260646012600a6200001891906200058f565b633b9aca00620000299190620005e0565b6200003591906200065a565b6200004191906200065a565b60045560646012600a6200005691906200058f565b633b9aca00620000679190620005e0565b6200007391906200065a565b60055560646012600a6200008891906200058f565b633b9aca00620000999190620005e0565b620000a591906200065a565b600655601960085560236009556000600b60146101000a81548160ff021916908315150217905550348015620000da57600080fd5b506000620000ed620003ed60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507305a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507305a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a6200022b91906200058f565b633b9aca006200023c9190620005e0565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000360620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003bf91906200058f565b633b9aca00620003d09190620005e0565b604051620003df9190620006a3565b60405180910390a3620006c0565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000483578086048111156200045b576200045a620003f5565b5b60018516156200046b5780820291505b80810290506200047b8562000424565b94506200043b565b94509492505050565b6000826200049e576001905062000571565b81620004ae576000905062000571565b8160018114620004c75760028114620004d25762000508565b600191505062000571565b60ff841115620004e757620004e6620003f5565b5b8360020a915084821115620005015762000500620003f5565b5b5062000571565b5060208310610133831016604e8410600b8410161715620005425782820a9050838111156200053c576200053b620003f5565b5b62000571565b62000551848484600162000431565b925090508184048111156200056b576200056a620003f5565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200059c8262000578565b9150620005a98362000582565b9250620005d87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200048c565b905092915050565b6000620005ed8262000578565b9150620005fa8362000578565b92508282026200060a8162000578565b91508282048414831517620006245762000623620003f5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006678262000578565b9150620006748362000578565b9250826200068757620006866200062b565b5b828204905092915050565b6200069d8162000578565b82525050565b6000602082019050620006ba600083018462000692565b92915050565b60805160a051613340620007026000396000818161081001528181610d4c0152611e8b0152600081816108a801528181610b260152611f2301526133406000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063bf6a1c0d1161008a578063dd62ed3e11610064578063dd62ed3e14610537578063e5d51dc714610574578063eaa446051461059d578063f2fde38b146105c65761018c565b8063bf6a1c0d146104cc578063cc1776d3146104e3578063d7f738581461050e5761018c565b8063715018a6146103cc5780638da5cb5b146103e357806395d89b411461040e57806397b2ebfe14610439578063a414f3e214610464578063a9059cbb1461048f5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105ef565b6040516101b391906123b1565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061246c565b61060f565b6040516101f091906124c7565b60405180910390f35b34801561020557600080fd5b5061020e61062d565b60405161021b91906124f1565b60405180910390f35b34801561023057600080fd5b50610239610651565b60405161024691906124f1565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061250c565b610657565b60405161028391906124c7565b60405180910390f35b34801561029857600080fd5b506102a1610777565b005b3480156102af57600080fd5b506102ca60048036038101906102c5919061255f565b610935565b005b3480156102d857600080fd5b506102e1610a12565b6040516102ee91906125a8565b60405180910390f35b34801561030357600080fd5b5061030c610a1b565b60405161031991906125d2565b60405180910390f35b34801561032e57600080fd5b50610337610a41565b60405161034491906124f1565b60405180910390f35b34801561035957600080fd5b50610362610a47565b005b34801561037057600080fd5b50610379610b24565b60405161038691906125d2565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061255f565b610b48565b6040516103c391906124f1565b60405180910390f35b3480156103d857600080fd5b506103e1610b91565b005b3480156103ef57600080fd5b506103f8610ce4565b60405161040591906125d2565b60405180910390f35b34801561041a57600080fd5b50610423610d0d565b60405161043091906123b1565b60405180910390f35b34801561044557600080fd5b5061044e610d4a565b60405161045b91906125d2565b60405180910390f35b34801561047057600080fd5b50610479610d6e565b60405161048691906124f1565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b1919061246c565b610d74565b6040516104c391906124c7565b60405180910390f35b3480156104d857600080fd5b506104e1610d92565b005b3480156104ef57600080fd5b506104f86112b6565b60405161050591906124f1565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061255f565b6112bc565b005b34801561054357600080fd5b5061055e600480360381019061055991906125ed565b611399565b60405161056b91906124f1565b60405180910390f35b34801561058057600080fd5b5061059b6004803603810190610596919061262d565b611420565b005b3480156105a957600080fd5b506105c460048036038101906105bf919061266d565b611516565b005b3480156105d257600080fd5b506105ed60048036038101906105e8919061255f565b6115e2565b005b60606040518060600160405280603481526020016132d760349139905090565b600061062361061c611683565b848461168b565b6001905092915050565b60006012600a61063d91906127fc565b633b9aca0061064c9190612847565b905090565b60055481565b6000610664848484611854565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af611683565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461076b5782811015610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d906128fb565b60405180910390fd5b61076a85610762611683565b85840361168b565b5b60019150509392505050565b61077f611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390612967565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a4761085291906129b6565b60405161085e90612a18565b60006040518083038185875af1925050503d806000811461089b576040519150601f19603f3d011682016040523d82523d6000602084013e6108a0565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16476040516108ea90612a18565b60006040518083038185875af1925050503d8060008114610927576040519150601f19603f3d011682016040523d82523d6000602084013e61092c565b606091505b50508091505050565b61093d611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190612967565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a4f611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390612967565b60405180910390fd5b6012600a610aea91906127fc565b633b9aca00610af99190612847565b6005819055506012600a610b0d91906127fc565b633b9aca00610b1c9190612847565b600681905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b99611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d90612967565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4d4c4f5244000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60065481565b6000610d88610d81611683565b8484611854565b6001905092915050565b610d9a611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e90612967565b60405180910390fd5b600b60149054906101000a900460ff1615610e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6e90612a79565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190612aae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100a9190612aae565b6040518363ffffffff1660e01b8152600401611027929190612adb565b6020604051808303816000875af1158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612aae565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110f330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6110df91906127fc565b633b9aca006110ee9190612847565b61168b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061113c30610b48565b600080611147610ce4565b426040518863ffffffff1660e01b815260040161116996959493929190612b49565b60606040518083038185885af1158015611187573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ac9190612bbf565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161124e929190612c12565b6020604051808303816000875af115801561126d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112919190612c67565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6112c4611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612967565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611428611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90612967565b60405180910390fd5b604681836114c39190612c94565b1115611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612d14565b60405180910390fd5b81600881905550806009819055505050565b61151e611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612967565b60405180910390fd5b60006115b630610b48565b90506000606482846115c89190612847565b6115d291906129b6565b90506115dd81611c48565b505050565b6115ea611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90612967565b60405180910390fd5b61168081611fb2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176090612e38565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161184791906124f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90612eca565b60405180910390fd5b60008111611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fd90612f36565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561199557506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611c3657600b60149054906101000a900460ff166119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e090612fa2565b60405180910390fd5b600554821115611a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a259061300e565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611aba575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b185760065482611acc85610b48565b611ad69190612c94565b1115611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e9061307a565b60405180910390fd5b5b6002600754611b279190612c94565b431015611b3757603c9050611c35565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b96576008549050611c34565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c33576000611bf630610b48565b9050619c40811115611c2c576000600454905083821115611c15578391505b80821115611c21578091505b611c2a82611c48565b505b6009549150505b5b5b5b611c42848484846120de565b50505050565b6000600267ffffffffffffffff811115611c6557611c6461309a565b5b604051908082528060200260200182016040528015611c935781602001602082028036833780820191505090505b5090503081600081518110611cab57611caa6130c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d769190612aae565b81600181518110611d8a57611d896130c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611df130600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461168b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e559594939291906131b6565b600060405180830381600087803b158015611e6f57600080fd5b505af1158015611e83573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47611ecd91906129b6565b604051611ed990612a18565b60006040518083038185875af1925050503d8060008114611f16576040519150601f19603f3d011682016040523d82523d6000602084013e611f1b565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611f6590612a18565b60006040518083038185875af1925050503d8060008114611fa2576040519150601f19603f3d011682016040523d82523d6000602084013e611fa7565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201890613282565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606482846120ee9190612847565b6120f891906129b6565b90506000818461210891906132a2565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215591906132a2565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e39190612c94565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122719190612c94565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161231191906124f1565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561235b578082015181840152602081019050612340565b60008484015250505050565b6000601f19601f8301169050919050565b600061238382612321565b61238d818561232c565b935061239d81856020860161233d565b6123a681612367565b840191505092915050565b600060208201905081810360008301526123cb8184612378565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612403826123d8565b9050919050565b612413816123f8565b811461241e57600080fd5b50565b6000813590506124308161240a565b92915050565b6000819050919050565b61244981612436565b811461245457600080fd5b50565b60008135905061246681612440565b92915050565b60008060408385031215612483576124826123d3565b5b600061249185828601612421565b92505060206124a285828601612457565b9150509250929050565b60008115159050919050565b6124c1816124ac565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6124eb81612436565b82525050565b600060208201905061250660008301846124e2565b92915050565b600080600060608486031215612525576125246123d3565b5b600061253386828701612421565b935050602061254486828701612421565b925050604061255586828701612457565b9150509250925092565b600060208284031215612575576125746123d3565b5b600061258384828501612421565b91505092915050565b600060ff82169050919050565b6125a28161258c565b82525050565b60006020820190506125bd6000830184612599565b92915050565b6125cc816123f8565b82525050565b60006020820190506125e760008301846125c3565b92915050565b60008060408385031215612604576126036123d3565b5b600061261285828601612421565b925050602061262385828601612421565b9150509250929050565b60008060408385031215612644576126436123d3565b5b600061265285828601612457565b925050602061266385828601612457565b9150509250929050565b600060208284031215612683576126826123d3565b5b600061269184828501612457565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612720578086048111156126fc576126fb61269a565b5b600185161561270b5780820291505b8081029050612719856126c9565b94506126e0565b94509492505050565b60008261273957600190506127f5565b8161274757600090506127f5565b816001811461275d576002811461276757612796565b60019150506127f5565b60ff8411156127795761277861269a565b5b8360020a9150848211156127905761278f61269a565b5b506127f5565b5060208310610133831016604e8410600b84101617156127cb5782820a9050838111156127c6576127c561269a565b5b6127f5565b6127d884848460016126d6565b925090508184048111156127ef576127ee61269a565b5b81810290505b9392505050565b600061280782612436565b91506128128361258c565b925061283f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612729565b905092915050565b600061285282612436565b915061285d83612436565b925082820261286b81612436565b915082820484148315176128825761288161269a565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006128e560288361232c565b91506128f082612889565b604082019050919050565b60006020820190508181036000830152612914816128d8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295160208361232c565b915061295c8261291b565b602082019050919050565b6000602082019050818103600083015261298081612944565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129c182612436565b91506129cc83612436565b9250826129dc576129db612987565b5b828204905092915050565b600081905092915050565b50565b6000612a026000836129e7565b9150612a0d826129f2565b600082019050919050565b6000612a23826129f5565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612a6360178361232c565b9150612a6e82612a2d565b602082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b600081519050612aa88161240a565b92915050565b600060208284031215612ac457612ac36123d3565b5b6000612ad284828501612a99565b91505092915050565b6000604082019050612af060008301856125c3565b612afd60208301846125c3565b9392505050565b6000819050919050565b6000819050919050565b6000612b33612b2e612b2984612b04565b612b0e565b612436565b9050919050565b612b4381612b18565b82525050565b600060c082019050612b5e60008301896125c3565b612b6b60208301886124e2565b612b786040830187612b3a565b612b856060830186612b3a565b612b9260808301856125c3565b612b9f60a08301846124e2565b979650505050505050565b600081519050612bb981612440565b92915050565b600080600060608486031215612bd857612bd76123d3565b5b6000612be686828701612baa565b9350506020612bf786828701612baa565b9250506040612c0886828701612baa565b9150509250925092565b6000604082019050612c2760008301856125c3565b612c3460208301846124e2565b9392505050565b612c44816124ac565b8114612c4f57600080fd5b50565b600081519050612c6181612c3b565b92915050565b600060208284031215612c7d57612c7c6123d3565b5b6000612c8b84828501612c52565b91505092915050565b6000612c9f82612436565b9150612caa83612436565b9250828201905080821115612cc257612cc161269a565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612cfe600c8361232c565b9150612d0982612cc8565b602082019050919050565b60006020820190508181036000830152612d2d81612cf1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d9060248361232c565b9150612d9b82612d34565b604082019050919050565b60006020820190508181036000830152612dbf81612d83565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e2260228361232c565b9150612e2d82612dc6565b604082019050919050565b60006020820190508181036000830152612e5181612e15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eb460258361232c565b9150612ebf82612e58565b604082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612f20601c8361232c565b9150612f2b82612eea565b602082019050919050565b60006020820190508181036000830152612f4f81612f13565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612f8c60108361232c565b9150612f9782612f56565b602082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612ff860178361232c565b915061300382612fc2565b602082019050919050565b6000602082019050818103600083015261302781612feb565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000613064601b8361232c565b915061306f8261302e565b602082019050919050565b6000602082019050818103600083015261309381613057565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61312d816123f8565b82525050565b600061313f8383613124565b60208301905092915050565b6000602082019050919050565b6000613163826130f8565b61316d8185613103565b935061317883613114565b8060005b838110156131a95781516131908882613133565b975061319b8361314b565b92505060018101905061317c565b5085935050505092915050565b600060a0820190506131cb60008301886124e2565b6131d86020830187612b3a565b81810360408301526131ea8186613158565b90506131f960608301856125c3565b61320660808301846124e2565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061326c60268361232c565b915061327782613210565b604082019050919050565b6000602082019050818103600083015261329b8161325f565b9050919050565b60006132ad82612436565b91506132b883612436565b92508282039050818111156132d0576132cf61269a565b5b9291505056fe50657065486f7070794c616e64776f6c66446f726b4c6f7264526564486f74436f636b4d61747466757269654d656d654c6f7264a26469706673582212200b09c783a2b5a615df256e56d70a96cb5f7791b5a7547a4b133d5c9936bf39e364736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063bf6a1c0d1161008a578063dd62ed3e11610064578063dd62ed3e14610537578063e5d51dc714610574578063eaa446051461059d578063f2fde38b146105c65761018c565b8063bf6a1c0d146104cc578063cc1776d3146104e3578063d7f738581461050e5761018c565b8063715018a6146103cc5780638da5cb5b146103e357806395d89b411461040e57806397b2ebfe14610439578063a414f3e214610464578063a9059cbb1461048f5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105ef565b6040516101b391906123b1565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061246c565b61060f565b6040516101f091906124c7565b60405180910390f35b34801561020557600080fd5b5061020e61062d565b60405161021b91906124f1565b60405180910390f35b34801561023057600080fd5b50610239610651565b60405161024691906124f1565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061250c565b610657565b60405161028391906124c7565b60405180910390f35b34801561029857600080fd5b506102a1610777565b005b3480156102af57600080fd5b506102ca60048036038101906102c5919061255f565b610935565b005b3480156102d857600080fd5b506102e1610a12565b6040516102ee91906125a8565b60405180910390f35b34801561030357600080fd5b5061030c610a1b565b60405161031991906125d2565b60405180910390f35b34801561032e57600080fd5b50610337610a41565b60405161034491906124f1565b60405180910390f35b34801561035957600080fd5b50610362610a47565b005b34801561037057600080fd5b50610379610b24565b60405161038691906125d2565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061255f565b610b48565b6040516103c391906124f1565b60405180910390f35b3480156103d857600080fd5b506103e1610b91565b005b3480156103ef57600080fd5b506103f8610ce4565b60405161040591906125d2565b60405180910390f35b34801561041a57600080fd5b50610423610d0d565b60405161043091906123b1565b60405180910390f35b34801561044557600080fd5b5061044e610d4a565b60405161045b91906125d2565b60405180910390f35b34801561047057600080fd5b50610479610d6e565b60405161048691906124f1565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b1919061246c565b610d74565b6040516104c391906124c7565b60405180910390f35b3480156104d857600080fd5b506104e1610d92565b005b3480156104ef57600080fd5b506104f86112b6565b60405161050591906124f1565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061255f565b6112bc565b005b34801561054357600080fd5b5061055e600480360381019061055991906125ed565b611399565b60405161056b91906124f1565b60405180910390f35b34801561058057600080fd5b5061059b6004803603810190610596919061262d565b611420565b005b3480156105a957600080fd5b506105c460048036038101906105bf919061266d565b611516565b005b3480156105d257600080fd5b506105ed60048036038101906105e8919061255f565b6115e2565b005b60606040518060600160405280603481526020016132d760349139905090565b600061062361061c611683565b848461168b565b6001905092915050565b60006012600a61063d91906127fc565b633b9aca0061064c9190612847565b905090565b60055481565b6000610664848484611854565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af611683565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461076b5782811015610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d906128fb565b60405180910390fd5b61076a85610762611683565b85840361168b565b5b60019150509392505050565b61077f611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390612967565b60405180910390fd5b60007f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff16600a4761085291906129b6565b60405161085e90612a18565b60006040518083038185875af1925050503d806000811461089b576040519150601f19603f3d011682016040523d82523d6000602084013e6108a0565b606091505b5050809150507f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff16476040516108ea90612a18565b60006040518083038185875af1925050503d8060008114610927576040519150601f19603f3d011682016040523d82523d6000602084013e61092c565b606091505b50508091505050565b61093d611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190612967565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a4f611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390612967565b60405180910390fd5b6012600a610aea91906127fc565b633b9aca00610af99190612847565b6005819055506012600a610b0d91906127fc565b633b9aca00610b1c9190612847565b600681905550565b7f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd281565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b99611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d90612967565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4d4c4f5244000000000000000000000000000000000000000000000000000000815250905090565b7f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd281565b60065481565b6000610d88610d81611683565b8484611854565b6001905092915050565b610d9a611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e90612967565b60405180910390fd5b600b60149054906101000a900460ff1615610e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6e90612a79565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190612aae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100a9190612aae565b6040518363ffffffff1660e01b8152600401611027929190612adb565b6020604051808303816000875af1158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612aae565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110f330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6110df91906127fc565b633b9aca006110ee9190612847565b61168b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061113c30610b48565b600080611147610ce4565b426040518863ffffffff1660e01b815260040161116996959493929190612b49565b60606040518083038185885af1158015611187573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ac9190612bbf565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161124e929190612c12565b6020604051808303816000875af115801561126d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112919190612c67565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6112c4611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612967565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611428611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90612967565b60405180910390fd5b604681836114c39190612c94565b1115611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612d14565b60405180910390fd5b81600881905550806009819055505050565b61151e611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612967565b60405180910390fd5b60006115b630610b48565b90506000606482846115c89190612847565b6115d291906129b6565b90506115dd81611c48565b505050565b6115ea611683565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90612967565b60405180910390fd5b61168081611fb2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176090612e38565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161184791906124f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90612eca565b60405180910390fd5b60008111611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fd90612f36565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561199557506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611c3657600b60149054906101000a900460ff166119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e090612fa2565b60405180910390fd5b600554821115611a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a259061300e565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611aba575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b185760065482611acc85610b48565b611ad69190612c94565b1115611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e9061307a565b60405180910390fd5b5b6002600754611b279190612c94565b431015611b3757603c9050611c35565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b96576008549050611c34565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c33576000611bf630610b48565b9050619c40811115611c2c576000600454905083821115611c15578391505b80821115611c21578091505b611c2a82611c48565b505b6009549150505b5b5b5b611c42848484846120de565b50505050565b6000600267ffffffffffffffff811115611c6557611c6461309a565b5b604051908082528060200260200182016040528015611c935781602001602082028036833780820191505090505b5090503081600081518110611cab57611caa6130c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d769190612aae565b81600181518110611d8a57611d896130c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611df130600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461168b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e559594939291906131b6565b600060405180830381600087803b158015611e6f57600080fd5b505af1158015611e83573d6000803e3d6000fd5b5050505060007f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff16600a47611ecd91906129b6565b604051611ed990612a18565b60006040518083038185875af1925050503d8060008114611f16576040519150601f19603f3d011682016040523d82523d6000602084013e611f1b565b606091505b5050809150507f00000000000000000000000005a46d939b98e9c7bcf898ec7878cf8f1a3a1fd273ffffffffffffffffffffffffffffffffffffffff1647604051611f6590612a18565b60006040518083038185875af1925050503d8060008114611fa2576040519150601f19603f3d011682016040523d82523d6000602084013e611fa7565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201890613282565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606482846120ee9190612847565b6120f891906129b6565b90506000818461210891906132a2565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215591906132a2565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e39190612c94565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122719190612c94565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161231191906124f1565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561235b578082015181840152602081019050612340565b60008484015250505050565b6000601f19601f8301169050919050565b600061238382612321565b61238d818561232c565b935061239d81856020860161233d565b6123a681612367565b840191505092915050565b600060208201905081810360008301526123cb8184612378565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612403826123d8565b9050919050565b612413816123f8565b811461241e57600080fd5b50565b6000813590506124308161240a565b92915050565b6000819050919050565b61244981612436565b811461245457600080fd5b50565b60008135905061246681612440565b92915050565b60008060408385031215612483576124826123d3565b5b600061249185828601612421565b92505060206124a285828601612457565b9150509250929050565b60008115159050919050565b6124c1816124ac565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6124eb81612436565b82525050565b600060208201905061250660008301846124e2565b92915050565b600080600060608486031215612525576125246123d3565b5b600061253386828701612421565b935050602061254486828701612421565b925050604061255586828701612457565b9150509250925092565b600060208284031215612575576125746123d3565b5b600061258384828501612421565b91505092915050565b600060ff82169050919050565b6125a28161258c565b82525050565b60006020820190506125bd6000830184612599565b92915050565b6125cc816123f8565b82525050565b60006020820190506125e760008301846125c3565b92915050565b60008060408385031215612604576126036123d3565b5b600061261285828601612421565b925050602061262385828601612421565b9150509250929050565b60008060408385031215612644576126436123d3565b5b600061265285828601612457565b925050602061266385828601612457565b9150509250929050565b600060208284031215612683576126826123d3565b5b600061269184828501612457565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612720578086048111156126fc576126fb61269a565b5b600185161561270b5780820291505b8081029050612719856126c9565b94506126e0565b94509492505050565b60008261273957600190506127f5565b8161274757600090506127f5565b816001811461275d576002811461276757612796565b60019150506127f5565b60ff8411156127795761277861269a565b5b8360020a9150848211156127905761278f61269a565b5b506127f5565b5060208310610133831016604e8410600b84101617156127cb5782820a9050838111156127c6576127c561269a565b5b6127f5565b6127d884848460016126d6565b925090508184048111156127ef576127ee61269a565b5b81810290505b9392505050565b600061280782612436565b91506128128361258c565b925061283f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612729565b905092915050565b600061285282612436565b915061285d83612436565b925082820261286b81612436565b915082820484148315176128825761288161269a565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006128e560288361232c565b91506128f082612889565b604082019050919050565b60006020820190508181036000830152612914816128d8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295160208361232c565b915061295c8261291b565b602082019050919050565b6000602082019050818103600083015261298081612944565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129c182612436565b91506129cc83612436565b9250826129dc576129db612987565b5b828204905092915050565b600081905092915050565b50565b6000612a026000836129e7565b9150612a0d826129f2565b600082019050919050565b6000612a23826129f5565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612a6360178361232c565b9150612a6e82612a2d565b602082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b600081519050612aa88161240a565b92915050565b600060208284031215612ac457612ac36123d3565b5b6000612ad284828501612a99565b91505092915050565b6000604082019050612af060008301856125c3565b612afd60208301846125c3565b9392505050565b6000819050919050565b6000819050919050565b6000612b33612b2e612b2984612b04565b612b0e565b612436565b9050919050565b612b4381612b18565b82525050565b600060c082019050612b5e60008301896125c3565b612b6b60208301886124e2565b612b786040830187612b3a565b612b856060830186612b3a565b612b9260808301856125c3565b612b9f60a08301846124e2565b979650505050505050565b600081519050612bb981612440565b92915050565b600080600060608486031215612bd857612bd76123d3565b5b6000612be686828701612baa565b9350506020612bf786828701612baa565b9250506040612c0886828701612baa565b9150509250925092565b6000604082019050612c2760008301856125c3565b612c3460208301846124e2565b9392505050565b612c44816124ac565b8114612c4f57600080fd5b50565b600081519050612c6181612c3b565b92915050565b600060208284031215612c7d57612c7c6123d3565b5b6000612c8b84828501612c52565b91505092915050565b6000612c9f82612436565b9150612caa83612436565b9250828201905080821115612cc257612cc161269a565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612cfe600c8361232c565b9150612d0982612cc8565b602082019050919050565b60006020820190508181036000830152612d2d81612cf1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d9060248361232c565b9150612d9b82612d34565b604082019050919050565b60006020820190508181036000830152612dbf81612d83565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e2260228361232c565b9150612e2d82612dc6565b604082019050919050565b60006020820190508181036000830152612e5181612e15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eb460258361232c565b9150612ebf82612e58565b604082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612f20601c8361232c565b9150612f2b82612eea565b602082019050919050565b60006020820190508181036000830152612f4f81612f13565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612f8c60108361232c565b9150612f9782612f56565b602082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612ff860178361232c565b915061300382612fc2565b602082019050919050565b6000602082019050818103600083015261302781612feb565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000613064601b8361232c565b915061306f8261302e565b602082019050919050565b6000602082019050818103600083015261309381613057565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61312d816123f8565b82525050565b600061313f8383613124565b60208301905092915050565b6000602082019050919050565b6000613163826130f8565b61316d8185613103565b935061317883613114565b8060005b838110156131a95781516131908882613133565b975061319b8361314b565b92505060018101905061317c565b5085935050505092915050565b600060a0820190506131cb60008301886124e2565b6131d86020830187612b3a565b81810360408301526131ea8186613158565b90506131f960608301856125c3565b61320660808301846124e2565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061326c60268361232c565b915061327782613210565b604082019050919050565b6000602082019050818103600083015261329b8161325f565b9050919050565b60006132ad82612436565b91506132b883612436565b92508282039050818111156132d0576132cf61269a565b5b9291505056fe50657065486f7070794c616e64776f6c66446f726b4c6f7264526564486f74436f636b4d61747466757269654d656d654c6f7264a26469706673582212200b09c783a2b5a615df256e56d70a96cb5f7791b5a7547a4b133d5c9936bf39e364736f6c63430008130033

Deployed Bytecode Sourcemap

2781:7787:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4361:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5195:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4638:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3391:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5363:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9399:237;;;;;;;;;;;;;:::i;:::-;;6988:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4547:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3798:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3533:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7219:136;;;;;;;;;;;;;:::i;:::-;;3833:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4746:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1833:148;;;;;;;;;;;;;:::i;:::-;;1265:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4452:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3877:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3445:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4872:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6294:686;;;;;;;;;;;;;:::i;:::-;;3566:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7102:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5045:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7363:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9645:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1479:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4361:83;4398:13;4431:5;;;;;;;;;;;;;;;;;4424:12;;4361:83;:::o;5195:160::-;5270:4;5286:39;5295:12;:10;:12::i;:::-;5309:7;5318:6;5286:8;:39::i;:::-;5343:4;5336:11;;5195:160;;;;:::o;4638:100::-;4691:7;3142:2;3204;:13;;;;:::i;:::-;3191:10;:26;;;;:::i;:::-;4711:19;;4638:100;:::o;3391:47::-;;;;:::o;5363:578::-;5461:4;5478:36;5488:6;5496:9;5507:6;5478:9;:36::i;:::-;5527:24;5554:11;:19;5566:6;5554:19;;;;;;;;;;;;;;;:33;5574:12;:10;:12::i;:::-;5554:33;;;;;;;;;;;;;;;;5527:60;;5621:17;5601:16;:37;5598:314;;5702:6;5682:16;:26;;5656:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5828:57;5837:6;5845:12;:10;:12::i;:::-;5878:6;5859:16;:25;5828:8;:57::i;:::-;5598:314;5929:4;5922:11;;;5363:578;;;;;:::o;9399:237::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9458:12:::1;9495:13;:18;;9545:2;9521:21;:26;;;;:::i;:::-;9495:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9481:71;;;;;9577:11;:17;;9602:21;9577:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9563:65;;;;;9447:189;9399:237::o:0;6988:106::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7085:1:::1;7062:12;:20;7075:6;7062:20;;;;;;;;;;;;;;;:24;;;;6988:106:::0;:::o;4547:83::-;4588:5;3142:2;4606:16;;4547:83;:::o;3798:28::-;;;;;;;;;;;;;:::o;3533:26::-;;;;:::o;7219:136::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3142:2:::1;3204;:13;;;;:::i;:::-;3191:10;:26;;;;:::i;:::-;7275:19;:34;;;;3142:2;3204;:13;;;;:::i;:::-;3191:10;:26;;;;:::i;:::-;7320:12;:27;;;;7219:136::o:0;3833:36::-;;;:::o;4746:118::-;4812:7;4839:8;:17;4848:7;4839:17;;;;;;;;;;;;;;;;4832:24;;4746:118;;;:::o;1833:148::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1940:1:::1;1903:40;;1924:6;::::0;::::1;;;;;;;;1903:40;;;;;;;;;;;;1971:1;1954:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1833:148::o:0;1265:79::-;1303:7;1330:6;;;;;;;;;;;1323:13;;1265:79;:::o;4452:87::-;4491:13;4524:7;;;;;;;;;;;;;;;;;4517:14;;4452:87;:::o;3877:38::-;;;:::o;3445:40::-;;;;:::o;4872:165::-;4949:4;4965:42;4975:12;:10;:12::i;:::-;4989:9;5000:6;4965:9;:42::i;:::-;5025:4;5018:11;;4872:165;;;;:::o;6294:686::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6357:6:::1;;;;;;;;;;;6356:7;6348:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6438;6401:15;;:80;;;;;;;;;;;;;;;;;;6526:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6508:55;;;6572:4;6579:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6508:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6492:13;;:110;;;;;;;;;;;;;;;;;;6613:63;6630:4;6645:15;;;;;;;;;;;3142:2;3204;:13;;;;:::i;:::-;3191:10;:26;;;;:::i;:::-;6613:8;:63::i;:::-;6697:15;;;;;;;;;;;:31;;;6736:21;6767:4;6773:24;6791:4;6773:9;:24::i;:::-;6798:1;6800::::0;6802:7:::1;:5;:7::i;:::-;6810:15;6697:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6844:13;;;;;;;;;;;6837:29;;;6875:15;;;;;;;;;;;6893:14;6837:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6928:4;6919:6;;:13;;;;;;;;;;;;;;;;;;6960:12;6943:14;:29;;;;6294:686::o:0;3566:27::-;;;;:::o;7102:109::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7202:1:::1;7179:12;:20;7192:6;7179:20;;;;;;;;;;;;;;;:24;;;;7102:109:::0;:::o;5045:142::-;5126:7;5152:11;:18;5164:5;5152:18;;;;;;;;;;;;;;;:27;5171:7;5152:27;;;;;;;;;;;;;;;;5145:34;;5045:142;;;;:::o;7363:211::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7487:2:::1;7473:10;7461:9;:22;;;;:::i;:::-;:28;;7453:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;7526:9;7517:6;:18;;;;7556:10;7546:7;:20;;;;7363:211:::0;;:::o;9645:225::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9718:23:::1;9744:24;9762:4;9744:9;:24::i;:::-;9718:50;;9779:15;9823:3;9806:15;9798:7;:23;;;;:::i;:::-;9797:29;;;;:::i;:::-;9779:47;;9837:25;9854:7;9837:16;:25::i;:::-;9707:163;;9645:225:::0;:::o;1479:109::-;1402:12;:10;:12::i;:::-;1392:22;;:6;;;;;;;;;;:22;;;1384:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1552:28:::1;1571:8;1552:18;:28::i;:::-;1479:109:::0;:::o;140:98::-;193:7;220:10;213:17;;140:98;:::o;5949:335::-;6059:1;6042:19;;:5;:19;;;6034:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6140:1;6121:21;;:7;:21;;;6113:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6222:6;6192:11;:18;6204:5;6192:18;;;;;;;;;;;;;;;:27;6211:7;6192:27;;;;;;;;;;;;;;;:36;;;;6260:7;6244:32;;6253:5;6244:32;;;6269:6;6244:32;;;;;;:::i;:::-;;;;;;;;5949:335;;;:::o;8024:1367::-;8128:1;8112:18;;:4;:18;;;8104:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8200:1;8191:6;:10;8183:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8245:12;8298:1;8276:12;:18;8289:4;8276:18;;;;;;;;;;;;;;;;:23;:48;;;;;8323:1;8303:12;:16;8316:2;8303:16;;;;;;;;;;;;;;;;:21;8276:48;8272:1063;;;8358:6;;;;;;;;;;;8350:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;8418:19;;8408:6;:29;;8400:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8490:13;;;;;;;;;;;8484:19;;:2;:19;;;;:44;;;;;8521:6;8507:21;;:2;:21;;;;8484:44;8480:128;;;8564:12;;8554:6;8538:13;8548:2;8538:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;8530:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8480:128;8659:1;8642:14;;:18;;;;:::i;:::-;8627:12;:33;8623:701;;;8688:2;8681:9;;8623:701;;;8743:13;;;;;;;;;;;8735:21;;:4;:21;;;8731:578;;8788:6;;8781:13;;8731:578;;;8830:13;;;;;;;;;;;8824:19;;:2;:19;;;8820:489;;8868:20;8891:24;8909:4;8891:9;:24::i;:::-;8868:47;;3332:5;8942:12;:32;8938:315;;;9004:12;9019:7;;9004:22;;9072:6;9057:12;:21;9053:48;;;9095:6;9080:21;;9053:48;9147:4;9132:12;:19;9128:44;;;9168:4;9153:19;;9128:44;9199:30;9216:12;9199:16;:30::i;:::-;8976:277;8938:315;9282:7;;9275:14;;8845:464;8820:489;8731:578;8623:701;8272:1063;9345:38;9360:4;9366:2;9370:6;9378:4;9345:14;:38::i;:::-;8093:1298;8024:1367;;;:::o;9878:652::-;9944:21;9982:1;9968:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9944:40;;10013:4;9995;10000:1;9995:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10039:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10029:4;10034:1;10029:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;10072:62;10089:4;10104:15;;;;;;;;;;;10122:11;10072:8;:62::i;:::-;10145:15;;;;;;;;;;;:66;;;10226:11;10252:1;10268:4;10295;10315:15;10145:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10352:12;10389:13;:18;;10439:2;10415:21;:26;;;;:::i;:::-;10389:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10375:71;;;;;10471:11;:17;;10496:21;10471:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10457:65;;;;;9933:597;;9878:652;:::o;1596:229::-;1690:1;1670:22;;:8;:22;;;1662:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1780:8;1751:38;;1772:6;;;;;;;;;;1751:38;;;;;;;;;;;;1809:8;1800:6;;:17;;;;;;;;;;;;;;;;;;1596:229;:::o;7582:434::-;7681:17;7719:3;7711:4;7702:6;:13;;;;:::i;:::-;7701:21;;;;:::i;:::-;7681:41;;7733:22;7767:9;7758:6;:18;;;;:::i;:::-;7733:43;;7823:6;7806:8;:14;7815:4;7806:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7789:8;:14;7798:4;7789:14;;;;;;;;;;;;;;;:40;;;;7870:14;7855:8;:12;7864:2;7855:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7840:8;:12;7849:2;7840:12;;;;;;;;;;;;;;;:44;;;;7947:9;7921:8;:23;7938:4;7921:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7895:8;:23;7912:4;7895:23;;;;;;;;;;;;;;;:61;;;;7989:2;7974:34;;7983:4;7974:34;;;7993:14;7974:34;;;;;;:::i;:::-;;;;;;;;7670:346;;7582:434;;;;:::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;1430:117::-;1539:1;1536;1529: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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:329::-;6559:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:119;;;6614:79;;:::i;:::-;6576:119;6734:1;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6705:117;6500:329;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:227::-;9905:34;9901:1;9893:6;9889:14;9882:58;9974:10;9969:2;9961:6;9957:15;9950:35;9765:227;:::o;9998:366::-;10140:3;10161:67;10225:2;10220:3;10161:67;:::i;:::-;10154:74;;10237:93;10326:3;10237:93;:::i;:::-;10355:2;10350:3;10346:12;10339:19;;9998:366;;;:::o;10370:419::-;10536:4;10574:2;10563:9;10559:18;10551:26;;10623:9;10617:4;10613:20;10609:1;10598:9;10594:17;10587:47;10651:131;10777:4;10651:131;:::i;:::-;10643:139;;10370:419;;;:::o;10795:182::-;10935:34;10931:1;10923:6;10919:14;10912:58;10795:182;:::o;10983:366::-;11125:3;11146:67;11210:2;11205:3;11146:67;:::i;:::-;11139:74;;11222:93;11311:3;11222:93;:::i;:::-;11340:2;11335:3;11331:12;11324:19;;10983:366;;;:::o;11355:419::-;11521:4;11559:2;11548:9;11544:18;11536:26;;11608:9;11602:4;11598:20;11594:1;11583:9;11579:17;11572:47;11636:131;11762:4;11636:131;:::i;:::-;11628:139;;11355:419;;;:::o;11780:180::-;11828:77;11825:1;11818:88;11925:4;11922:1;11915:15;11949:4;11946:1;11939:15;11966:185;12006:1;12023:20;12041:1;12023:20;:::i;:::-;12018:25;;12057:20;12075:1;12057:20;:::i;:::-;12052:25;;12096:1;12086:35;;12101:18;;:::i;:::-;12086:35;12143:1;12140;12136:9;12131:14;;11966:185;;;;:::o;12157:147::-;12258:11;12295:3;12280:18;;12157:147;;;;:::o;12310:114::-;;:::o;12430:398::-;12589:3;12610:83;12691:1;12686:3;12610:83;:::i;:::-;12603:90;;12702:93;12791:3;12702:93;:::i;:::-;12820:1;12815:3;12811:11;12804:18;;12430:398;;;:::o;12834:379::-;13018:3;13040:147;13183:3;13040:147;:::i;:::-;13033:154;;13204:3;13197:10;;12834:379;;;:::o;13219:173::-;13359:25;13355:1;13347:6;13343:14;13336:49;13219:173;:::o;13398:366::-;13540:3;13561:67;13625:2;13620:3;13561:67;:::i;:::-;13554:74;;13637:93;13726:3;13637:93;:::i;:::-;13755:2;13750:3;13746:12;13739:19;;13398:366;;;:::o;13770:419::-;13936:4;13974:2;13963:9;13959:18;13951:26;;14023:9;14017:4;14013:20;14009:1;13998:9;13994:17;13987:47;14051:131;14177:4;14051:131;:::i;:::-;14043:139;;13770:419;;;:::o;14195:143::-;14252:5;14283:6;14277:13;14268:22;;14299:33;14326:5;14299:33;:::i;:::-;14195:143;;;;:::o;14344:351::-;14414:6;14463:2;14451:9;14442:7;14438:23;14434:32;14431:119;;;14469:79;;:::i;:::-;14431:119;14589:1;14614:64;14670:7;14661:6;14650:9;14646:22;14614:64;:::i;:::-;14604:74;;14560:128;14344:351;;;;:::o;14701:332::-;14822:4;14860:2;14849:9;14845:18;14837:26;;14873:71;14941:1;14930:9;14926:17;14917:6;14873:71;:::i;:::-;14954:72;15022:2;15011:9;15007:18;14998:6;14954:72;:::i;:::-;14701:332;;;;;:::o;15039:85::-;15084:7;15113:5;15102:16;;15039:85;;;:::o;15130:60::-;15158:3;15179:5;15172:12;;15130:60;;;:::o;15196:158::-;15254:9;15287:61;15305:42;15314:32;15340:5;15314:32;:::i;:::-;15305:42;:::i;:::-;15287:61;:::i;:::-;15274:74;;15196:158;;;:::o;15360:147::-;15455:45;15494:5;15455:45;:::i;:::-;15450:3;15443:58;15360:147;;:::o;15513:807::-;15762:4;15800:3;15789:9;15785:19;15777:27;;15814:71;15882:1;15871:9;15867:17;15858:6;15814:71;:::i;:::-;15895:72;15963:2;15952:9;15948:18;15939:6;15895:72;:::i;:::-;15977:80;16053:2;16042:9;16038:18;16029:6;15977:80;:::i;:::-;16067;16143:2;16132:9;16128:18;16119:6;16067:80;:::i;:::-;16157:73;16225:3;16214:9;16210:19;16201:6;16157:73;:::i;:::-;16240;16308:3;16297:9;16293:19;16284:6;16240:73;:::i;:::-;15513:807;;;;;;;;;:::o;16326:143::-;16383:5;16414:6;16408:13;16399:22;;16430:33;16457:5;16430:33;:::i;:::-;16326:143;;;;:::o;16475:663::-;16563:6;16571;16579;16628:2;16616:9;16607:7;16603:23;16599:32;16596:119;;;16634:79;;:::i;:::-;16596:119;16754:1;16779:64;16835:7;16826:6;16815:9;16811:22;16779:64;:::i;:::-;16769:74;;16725:128;16892:2;16918:64;16974:7;16965:6;16954:9;16950:22;16918:64;:::i;:::-;16908:74;;16863:129;17031:2;17057:64;17113:7;17104:6;17093:9;17089:22;17057:64;:::i;:::-;17047:74;;17002:129;16475:663;;;;;:::o;17144:332::-;17265:4;17303:2;17292:9;17288:18;17280:26;;17316:71;17384:1;17373:9;17369:17;17360:6;17316:71;:::i;:::-;17397:72;17465:2;17454:9;17450:18;17441:6;17397:72;:::i;:::-;17144:332;;;;;:::o;17482:116::-;17552:21;17567:5;17552:21;:::i;:::-;17545:5;17542:32;17532:60;;17588:1;17585;17578:12;17532:60;17482:116;:::o;17604:137::-;17658:5;17689:6;17683:13;17674:22;;17705:30;17729:5;17705:30;:::i;:::-;17604:137;;;;:::o;17747:345::-;17814:6;17863:2;17851:9;17842:7;17838:23;17834:32;17831:119;;;17869:79;;:::i;:::-;17831:119;17989:1;18014:61;18067:7;18058:6;18047:9;18043:22;18014:61;:::i;:::-;18004:71;;17960:125;17747:345;;;;:::o;18098:191::-;18138:3;18157:20;18175:1;18157:20;:::i;:::-;18152:25;;18191:20;18209:1;18191:20;:::i;:::-;18186:25;;18234:1;18231;18227:9;18220:16;;18255:3;18252:1;18249:10;18246:36;;;18262:18;;:::i;:::-;18246:36;18098:191;;;;:::o;18295:162::-;18435:14;18431:1;18423:6;18419:14;18412:38;18295:162;:::o;18463:366::-;18605:3;18626:67;18690:2;18685:3;18626:67;:::i;:::-;18619:74;;18702:93;18791:3;18702:93;:::i;:::-;18820:2;18815:3;18811:12;18804:19;;18463:366;;;:::o;18835:419::-;19001:4;19039:2;19028:9;19024:18;19016:26;;19088:9;19082:4;19078:20;19074:1;19063:9;19059:17;19052:47;19116:131;19242:4;19116:131;:::i;:::-;19108:139;;18835:419;;;:::o;19260:223::-;19400:34;19396:1;19388:6;19384:14;19377:58;19469:6;19464:2;19456:6;19452:15;19445:31;19260:223;:::o;19489:366::-;19631:3;19652:67;19716:2;19711:3;19652:67;:::i;:::-;19645:74;;19728:93;19817:3;19728:93;:::i;:::-;19846:2;19841:3;19837:12;19830:19;;19489:366;;;:::o;19861:419::-;20027:4;20065:2;20054:9;20050:18;20042:26;;20114:9;20108:4;20104:20;20100:1;20089:9;20085:17;20078:47;20142:131;20268:4;20142:131;:::i;:::-;20134:139;;19861:419;;;:::o;20286:221::-;20426:34;20422:1;20414:6;20410:14;20403:58;20495:4;20490:2;20482:6;20478:15;20471:29;20286:221;:::o;20513:366::-;20655:3;20676:67;20740:2;20735:3;20676:67;:::i;:::-;20669:74;;20752:93;20841:3;20752:93;:::i;:::-;20870:2;20865:3;20861:12;20854:19;;20513:366;;;:::o;20885:419::-;21051:4;21089:2;21078:9;21074:18;21066:26;;21138:9;21132:4;21128:20;21124:1;21113:9;21109:17;21102:47;21166:131;21292:4;21166:131;:::i;:::-;21158:139;;20885:419;;;:::o;21310:224::-;21450:34;21446:1;21438:6;21434:14;21427:58;21519:7;21514:2;21506:6;21502:15;21495:32;21310:224;:::o;21540:366::-;21682:3;21703:67;21767:2;21762:3;21703:67;:::i;:::-;21696:74;;21779:93;21868:3;21779:93;:::i;:::-;21897:2;21892:3;21888:12;21881:19;;21540:366;;;:::o;21912:419::-;22078:4;22116:2;22105:9;22101:18;22093:26;;22165:9;22159:4;22155:20;22151:1;22140:9;22136:17;22129:47;22193:131;22319:4;22193:131;:::i;:::-;22185:139;;21912:419;;;:::o;22337:178::-;22477:30;22473:1;22465:6;22461:14;22454:54;22337:178;:::o;22521:366::-;22663:3;22684:67;22748:2;22743:3;22684:67;:::i;:::-;22677:74;;22760:93;22849:3;22760:93;:::i;:::-;22878:2;22873:3;22869:12;22862:19;;22521:366;;;:::o;22893:419::-;23059:4;23097:2;23086:9;23082:18;23074:26;;23146:9;23140:4;23136:20;23132:1;23121:9;23117:17;23110:47;23174:131;23300:4;23174:131;:::i;:::-;23166:139;;22893:419;;;:::o;23318:166::-;23458:18;23454:1;23446:6;23442:14;23435:42;23318:166;:::o;23490:366::-;23632:3;23653:67;23717:2;23712:3;23653:67;:::i;:::-;23646:74;;23729:93;23818:3;23729:93;:::i;:::-;23847:2;23842:3;23838:12;23831:19;;23490:366;;;:::o;23862:419::-;24028:4;24066:2;24055:9;24051:18;24043:26;;24115:9;24109:4;24105:20;24101:1;24090:9;24086:17;24079:47;24143:131;24269:4;24143:131;:::i;:::-;24135:139;;23862:419;;;:::o;24287:173::-;24427:25;24423:1;24415:6;24411:14;24404:49;24287:173;:::o;24466:366::-;24608:3;24629:67;24693:2;24688:3;24629:67;:::i;:::-;24622:74;;24705:93;24794:3;24705:93;:::i;:::-;24823:2;24818:3;24814:12;24807:19;;24466:366;;;:::o;24838:419::-;25004:4;25042:2;25031:9;25027:18;25019:26;;25091:9;25085:4;25081:20;25077:1;25066:9;25062:17;25055:47;25119:131;25245:4;25119:131;:::i;:::-;25111:139;;24838:419;;;:::o;25263:177::-;25403:29;25399:1;25391:6;25387:14;25380:53;25263:177;:::o;25446:366::-;25588:3;25609:67;25673:2;25668:3;25609:67;:::i;:::-;25602:74;;25685:93;25774:3;25685:93;:::i;:::-;25803:2;25798:3;25794:12;25787:19;;25446:366;;;:::o;25818:419::-;25984:4;26022:2;26011:9;26007:18;25999:26;;26071:9;26065:4;26061:20;26057:1;26046:9;26042:17;26035:47;26099:131;26225:4;26099:131;:::i;:::-;26091:139;;25818:419;;;:::o;26243:180::-;26291:77;26288:1;26281:88;26388:4;26385:1;26378:15;26412:4;26409:1;26402:15;26429:180;26477:77;26474:1;26467:88;26574:4;26571:1;26564:15;26598:4;26595:1;26588:15;26615:114;26682:6;26716:5;26710:12;26700:22;;26615:114;;;:::o;26735:184::-;26834:11;26868:6;26863:3;26856:19;26908:4;26903:3;26899:14;26884:29;;26735:184;;;;:::o;26925:132::-;26992:4;27015:3;27007:11;;27045:4;27040:3;27036:14;27028:22;;26925:132;;;:::o;27063:108::-;27140:24;27158:5;27140:24;:::i;:::-;27135:3;27128:37;27063:108;;:::o;27177:179::-;27246:10;27267:46;27309:3;27301:6;27267:46;:::i;:::-;27345:4;27340:3;27336:14;27322:28;;27177:179;;;;:::o;27362:113::-;27432:4;27464;27459:3;27455:14;27447:22;;27362:113;;;:::o;27511:732::-;27630:3;27659:54;27707:5;27659:54;:::i;:::-;27729:86;27808:6;27803:3;27729:86;:::i;:::-;27722:93;;27839:56;27889:5;27839:56;:::i;:::-;27918:7;27949:1;27934:284;27959:6;27956:1;27953:13;27934:284;;;28035:6;28029:13;28062:63;28121:3;28106:13;28062:63;:::i;:::-;28055:70;;28148:60;28201:6;28148:60;:::i;:::-;28138:70;;27994:224;27981:1;27978;27974:9;27969:14;;27934:284;;;27938:14;28234:3;28227:10;;27635:608;;;27511:732;;;;:::o;28249:831::-;28512:4;28550:3;28539:9;28535:19;28527:27;;28564:71;28632:1;28621:9;28617:17;28608:6;28564:71;:::i;:::-;28645:80;28721:2;28710:9;28706:18;28697:6;28645:80;:::i;:::-;28772:9;28766:4;28762:20;28757:2;28746:9;28742:18;28735:48;28800:108;28903:4;28894:6;28800:108;:::i;:::-;28792:116;;28918:72;28986:2;28975:9;28971:18;28962:6;28918:72;:::i;:::-;29000:73;29068:3;29057:9;29053:19;29044:6;29000:73;:::i;:::-;28249:831;;;;;;;;:::o;29086:225::-;29226:34;29222:1;29214:6;29210:14;29203:58;29295:8;29290:2;29282:6;29278:15;29271:33;29086:225;:::o;29317:366::-;29459:3;29480:67;29544:2;29539:3;29480:67;:::i;:::-;29473:74;;29556:93;29645:3;29556:93;:::i;:::-;29674:2;29669:3;29665:12;29658:19;;29317:366;;;:::o;29689:419::-;29855:4;29893:2;29882:9;29878:18;29870:26;;29942:9;29936:4;29932:20;29928:1;29917:9;29913:17;29906:47;29970:131;30096:4;29970:131;:::i;:::-;29962:139;;29689:419;;;:::o;30114:194::-;30154:4;30174:20;30192:1;30174:20;:::i;:::-;30169:25;;30208:20;30226:1;30208:20;:::i;:::-;30203:25;;30252:1;30249;30245:9;30237:17;;30276:1;30270:4;30267:11;30264:37;;;30281:18;;:::i;:::-;30264:37;30114:194;;;;:::o

Swarm Source

ipfs://0b09c783a2b5a615df256e56d70a96cb5f7791b5a7547a4b133d5c9936bf39e3
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.