ETH Price: $3,444.15 (+7.89%)
Gas: 15 Gwei

Token

Baby Grok (BGROK)
 

Overview

Max Total Supply

69,420,000,000 BGROK

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
970,961,945.221732377992004521 BGROK

Value
$0.00
0x74b4a6d0b0c8cb46c6780b901898c715401ad260
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:
BabyGrok

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-04
*/

// SPDX-License-Identifier: MIT

/*
Telegram : https://t.me/babygrok_eth
Website : https://babygrok.xyz
*/

pragma solidity 0.8.21;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract BabyGrok is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    // Taxes
    uint256 private _buyTax = 10;
    uint256 private _sellTax = 20;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 69420000000 * 10**_decimals;
    string private constant _name = unicode"Baby Grok";
    string private constant _symbol = unicode"BGROK";
    uint256 public _maxTxAmount = _tTotal * 10 / 1000;
    uint256 public _maxWalletSize = _tTotal * 100 / 10000;
    uint256 public _taxSwapThreshold= _tTotal * 50 / 10000;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        uint256 taxAmount = 0;

        if (from != owner() && to != owner()) {
            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed.");
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
                if(amount >= _taxSwapThreshold) {
                    swapTokensForEth(_taxSwapThreshold);
                } else {
                    swapTokensForEth(amount);
                }
            }
        }

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

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

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

    function setBuyTax(uint256 tax) external onlyOwner {
       _buyTax = tax;
    }

    function setSellTax(uint256 tax) external onlyOwner {
        _sellTax = tax;
    }
    
    function setMaxTransaction(uint256 percent) external onlyOwner {
        _maxTxAmount = _tTotal * percent / 1000;
    }

    function setMaxWallet(uint256 percent) external onlyOwner {
        _maxWalletSize = _tTotal * percent / 1000;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled=false;
    }

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

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160055f6101000a81548160ff021916908315150217905550600a60065560146007556103e8600a6012600a6200003d919062000642565b641029c123006200004f919062000692565b6200005b919062000692565b62000067919062000709565b60085561271060646012600a6200007f919062000642565b641029c1230062000091919062000692565b6200009d919062000692565b620000a9919062000709565b60095561271060326012600a620000c1919062000642565b641029c12300620000d3919062000692565b620000df919062000692565b620000eb919062000709565b600a555f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff0219169083151502179055503480156200012e575f80fd5b5060405162003a1638038062003a168339818101604052810190620001549190620007a5565b5f620001656200048260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000252919062000642565b641029c1230062000264919062000692565b60015f620002776200048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002c96200048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003f46200048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a62000452919062000642565b641029c1230062000464919062000692565b604051620004739190620007e6565b60405180910390a35062000801565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200053a57808604811115620005125762000511620004b0565b5b6001851615620005225780820291505b80810290506200053285620004dd565b9450620004f2565b94509492505050565b5f8262000554576001905062000626565b8162000563575f905062000626565b81600181146200057c57600281146200058757620005bd565b600191505062000626565b60ff8411156200059c576200059b620004b0565b5b8360020a915084821115620005b657620005b5620004b0565b5b5062000626565b5060208310610133831016604e8410600b8410161715620005f75782820a905083811115620005f157620005f0620004b0565b5b62000626565b620006068484846001620004e9565b9250905081840481111562000620576200061f620004b0565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200064e826200062d565b91506200065b8362000636565b92506200068a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000543565b905092915050565b5f6200069e826200062d565b9150620006ab836200062d565b9250828202620006bb816200062d565b91508282048414831517620006d557620006d4620004b0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000715826200062d565b915062000722836200062d565b925082620007355762000734620006dc565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200076f8262000744565b9050919050565b620007818162000763565b81146200078c575f80fd5b50565b5f815190506200079f8162000776565b92915050565b5f60208284031215620007bd57620007bc62000740565b5b5f620007cc848285016200078f565b91505092915050565b620007e0816200062d565b82525050565b5f602082019050620007fb5f830184620007d5565b92915050565b613207806200080f5f395ff3fe608060405260043610610138575f3560e01c80638da5cb5b116100aa578063bf474bed1161006e578063bf474bed146103fd578063c876d0b914610427578063c9567bf914610451578063dc1052e214610467578063dd62ed3e1461048f578063e884f260146104cb5761013f565b80638da5cb5b1461031b5780638f9a55c01461034557806395d89b411461036f578063a9059cbb14610399578063ab5a1887146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638cd09d50146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b6040516101649190612315565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906123c6565b61051e565b6040516101a0919061241e565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca9190612446565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f4919061245f565b61055f565b604051610206919061241e565b60405180910390f35b34801561021a575f80fd5b50610223610633565b60405161023091906124ca565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a91906124e3565b61063b565b005b34801561026c575f80fd5b506102876004803603810190610282919061250e565b61070e565b6040516102949190612446565b60405180910390f35b3480156102a8575f80fd5b506102b1610754565b005b3480156102be575f80fd5b506102c76108a2565b005b3480156102d4575f80fd5b506102dd6109ed565b6040516102ea9190612446565b60405180910390f35b3480156102fe575f80fd5b50610319600480360381019061031491906124e3565b6109f3565b005b348015610326575f80fd5b5061032f610a91565b60405161033c9190612548565b60405180910390f35b348015610350575f80fd5b50610359610ab8565b6040516103669190612446565b60405180910390f35b34801561037a575f80fd5b50610383610abe565b6040516103909190612315565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906123c6565b610afb565b6040516103cc919061241e565b60405180910390f35b3480156103e0575f80fd5b506103fb60048036038101906103f691906124e3565b610b18565b005b348015610408575f80fd5b50610411610beb565b60405161041e9190612446565b60405180910390f35b348015610432575f80fd5b5061043b610bf1565b604051610448919061241e565b60405180910390f35b34801561045c575f80fd5b50610465610c03565b005b348015610472575f80fd5b5061048d600480360381019061048891906124e3565b611126565b005b34801561049a575f80fd5b506104b560048036038101906104b09190612561565b6111c4565b6040516104c29190612446565b60405180910390f35b3480156104d6575f80fd5b506104df611246565b005b60606040518060400160405280600981526020017f426162792047726f6b0000000000000000000000000000000000000000000000815250905090565b5f61053161052a6112f5565b84846112fc565b6001905092915050565b5f6012600a61054a91906126fb565b641029c1230061055a9190612745565b905090565b5f61056b8484846114bf565b610628846105776112f5565b610623856040518060600160405280602881526020016131aa6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105da6112f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd59092919063ffffffff16565b6112fc565b600190509392505050565b5f6012905090565b6106436112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c6906127d0565b60405180910390fd5b6103e8816012600a6106e191906126fb565b641029c123006106f19190612745565b6106fb9190612745565b610705919061281b565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075c6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df906127d0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108aa6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906127d0565b60405180910390fd5b6012600a61094491906126fb565b641029c123006109549190612745565b6008819055506012600a61096891906126fb565b641029c123006109789190612745565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109c691906126fb565b641029c123006109d69190612745565b6040516109e39190612446565b60405180910390a1565b60085481565b6109fb6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7e906127d0565b60405180910390fd5b8060078190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600581526020017f4247524f4b000000000000000000000000000000000000000000000000000000815250905090565b5f610b0e610b076112f5565b84846114bf565b6001905092915050565b610b206112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba3906127d0565b60405180910390fd5b6103e8816012600a610bbe91906126fb565b641029c12300610bce9190612745565b610bd89190612745565b610be2919061281b565b60088190555050565b600a5481565b60055f9054906101000a900460ff1681565b610c0b6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8e906127d0565b60405180910390fd5b600c60149054906101000a900460ff1615610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90612895565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8430600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d6f91906126fb565b641029c12300610d7f9190612745565b6112fc565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1291906128c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc91906128c7565b6040518363ffffffff1660e01b8152600401610ed99291906128f2565b6020604051808303815f875af1158015610ef5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1991906128c7565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa03061070e565b5f80610faa610a91565b426040518863ffffffff1660e01b8152600401610fcc9695949392919061295b565b60606040518083038185885af1158015610fe8573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061100d91906129ce565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110ad929190612a1e565b6020604051808303815f875af11580156110c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ed9190612a6f565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b61112e6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b1906127d0565b60405180910390fd5b8060068190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61124e6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d1906127d0565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612b0a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf90612b98565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b29190612446565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612c26565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612cb4565b60405180910390fd5b5f81116115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612d42565b60405180910390fd5b5f6115e6610a91565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116545750611624610a91565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b255760055f9054906101000a900460ff16156117df57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117175750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117de574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612df6565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118885750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118db575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119a85761190860646118fa60065485611e3790919063ffffffff16565b611eae90919063ffffffff16565b905060085482111561194f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194690612e5e565b60405180910390fd5b6009548261195c8561070e565b6119669190612e7c565b11156119a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e90612ef9565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a6057611a5d6064611a4f60075485611e3790919063ffffffff16565b611eae90919063ffffffff16565b90505b5f611a6a3061070e565b9050600c60159054906101000a900460ff16158015611ad55750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611aed5750600c60169054906101000a900460ff165b8015611afa5750600a5481115b15611b2357600a548310611b1857611b13600a54611ef7565b611b22565b611b2183611ef7565b5b5b505b5f811115611c2457611b7d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c1b9190612446565b60405180910390a35b611c748260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d17611ccb82846121e190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dba84866121e190919063ffffffff16565b604051611dc79190612446565b60405180910390a350505050565b5f838311158290611e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e139190612315565b60405180910390fd5b505f8385611e2a9190612f17565b9050809150509392505050565b5f808303611e47575f9050611ea8565b5f8284611e549190612745565b9050828482611e63919061281b565b14611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a90612fba565b60405180910390fd5b809150505b92915050565b5f611eef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061222a565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f2e57611f2d612fd8565b5b604051908082528060200260200182016040528015611f5c5781602001602082028036833780820191505090505b50905030815f81518110611f7357611f72613005565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203b91906128c7565b8160018151811061204f5761204e613005565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120b530600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121399594939291906130e9565b5f604051808303815f87803b158015612150575f80fd5b505af1158015612162573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846121929190612e7c565b9050838110156121d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ce9061318b565b60405180910390fd5b8091505092915050565b5f61222283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd5565b905092915050565b5f8083118290612270576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122679190612315565b60405180910390fd5b505f838561227e919061281b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122c25780820151818401526020810190506122a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122e78261228b565b6122f18185612295565b93506123018185602086016122a5565b61230a816122cd565b840191505092915050565b5f6020820190508181035f83015261232d81846122dd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236282612339565b9050919050565b61237281612358565b811461237c575f80fd5b50565b5f8135905061238d81612369565b92915050565b5f819050919050565b6123a581612393565b81146123af575f80fd5b50565b5f813590506123c08161239c565b92915050565b5f80604083850312156123dc576123db612335565b5b5f6123e98582860161237f565b92505060206123fa858286016123b2565b9150509250929050565b5f8115159050919050565b61241881612404565b82525050565b5f6020820190506124315f83018461240f565b92915050565b61244081612393565b82525050565b5f6020820190506124595f830184612437565b92915050565b5f805f6060848603121561247657612475612335565b5b5f6124838682870161237f565b93505060206124948682870161237f565b92505060406124a5868287016123b2565b9150509250925092565b5f60ff82169050919050565b6124c4816124af565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b5f602082840312156124f8576124f7612335565b5b5f612505848285016123b2565b91505092915050565b5f6020828403121561252357612522612335565b5b5f6125308482850161237f565b91505092915050565b61254281612358565b82525050565b5f60208201905061255b5f830184612539565b92915050565b5f806040838503121561257757612576612335565b5b5f6125848582860161237f565b92505060206125958582860161237f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612621578086048111156125fd576125fc61259f565b5b600185161561260c5780820291505b808102905061261a856125cc565b94506125e1565b94509492505050565b5f8261263957600190506126f4565b81612646575f90506126f4565b816001811461265c576002811461266657612695565b60019150506126f4565b60ff8411156126785761267761259f565b5b8360020a91508482111561268f5761268e61259f565b5b506126f4565b5060208310610133831016604e8410600b84101617156126ca5782820a9050838111156126c5576126c461259f565b5b6126f4565b6126d784848460016125d8565b925090508184048111156126ee576126ed61259f565b5b81810290505b9392505050565b5f61270582612393565b9150612710836124af565b925061273d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461262a565b905092915050565b5f61274f82612393565b915061275a83612393565b925082820261276881612393565b9150828204841483151761277f5761277e61259f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127ba602083612295565b91506127c582612786565b602082019050919050565b5f6020820190508181035f8301526127e7816127ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61282582612393565b915061283083612393565b9250826128405761283f6127ee565b5b828204905092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61287f601783612295565b915061288a8261284b565b602082019050919050565b5f6020820190508181035f8301526128ac81612873565b9050919050565b5f815190506128c181612369565b92915050565b5f602082840312156128dc576128db612335565b5b5f6128e9848285016128b3565b91505092915050565b5f6040820190506129055f830185612539565b6129126020830184612539565b9392505050565b5f819050919050565b5f819050919050565b5f61294561294061293b84612919565b612922565b612393565b9050919050565b6129558161292b565b82525050565b5f60c08201905061296e5f830189612539565b61297b6020830188612437565b612988604083018761294c565b612995606083018661294c565b6129a26080830185612539565b6129af60a0830184612437565b979650505050505050565b5f815190506129c88161239c565b92915050565b5f805f606084860312156129e5576129e4612335565b5b5f6129f2868287016129ba565b9350506020612a03868287016129ba565b9250506040612a14868287016129ba565b9150509250925092565b5f604082019050612a315f830185612539565b612a3e6020830184612437565b9392505050565b612a4e81612404565b8114612a58575f80fd5b50565b5f81519050612a6981612a45565b92915050565b5f60208284031215612a8457612a83612335565b5b5f612a9184828501612a5b565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612af4602483612295565b9150612aff82612a9a565b604082019050919050565b5f6020820190508181035f830152612b2181612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b82602283612295565b9150612b8d82612b28565b604082019050919050565b5f6020820190508181035f830152612baf81612b76565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c10602583612295565b9150612c1b82612bb6565b604082019050919050565b5f6020820190508181035f830152612c3d81612c04565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c9e602383612295565b9150612ca982612c44565b604082019050919050565b5f6020820190508181035f830152612ccb81612c92565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d2c602983612295565b9150612d3782612cd2565b604082019050919050565b5f6020820190508181035f830152612d5981612d20565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612de0604983612295565b9150612deb82612d60565b606082019050919050565b5f6020820190508181035f830152612e0d81612dd4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e48601983612295565b9150612e5382612e14565b602082019050919050565b5f6020820190508181035f830152612e7581612e3c565b9050919050565b5f612e8682612393565b9150612e9183612393565b9250828201905080821115612ea957612ea861259f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ee3601a83612295565b9150612eee82612eaf565b602082019050919050565b5f6020820190508181035f830152612f1081612ed7565b9050919050565b5f612f2182612393565b9150612f2c83612393565b9250828203905081811115612f4457612f4361259f565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fa4602183612295565b9150612faf82612f4a565b604082019050919050565b5f6020820190508181035f830152612fd181612f98565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61306481612358565b82525050565b5f613075838361305b565b60208301905092915050565b5f602082019050919050565b5f61309782613032565b6130a1818561303c565b93506130ac8361304c565b805f5b838110156130dc5781516130c3888261306a565b97506130ce83613081565b9250506001810190506130af565b5085935050505092915050565b5f60a0820190506130fc5f830188612437565b613109602083018761294c565b818103604083015261311b818661308d565b905061312a6060830185612539565b6131376080830184612437565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613175601b83612295565b915061318082613141565b602082019050919050565b5f6020820190508181035f8301526131a281613169565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b67c6cf469fd7a88fcc8f2b6fc4e92524d7a10b480c137f53bc3185fb0272ac864736f6c63430008150033000000000000000000000000f0978aec23bb3ca107d2039dced714dc542e9b38

Deployed Bytecode

0x608060405260043610610138575f3560e01c80638da5cb5b116100aa578063bf474bed1161006e578063bf474bed146103fd578063c876d0b914610427578063c9567bf914610451578063dc1052e214610467578063dd62ed3e1461048f578063e884f260146104cb5761013f565b80638da5cb5b1461031b5780638f9a55c01461034557806395d89b411461036f578063a9059cbb14610399578063ab5a1887146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638cd09d50146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b6040516101649190612315565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906123c6565b61051e565b6040516101a0919061241e565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca9190612446565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f4919061245f565b61055f565b604051610206919061241e565b60405180910390f35b34801561021a575f80fd5b50610223610633565b60405161023091906124ca565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a91906124e3565b61063b565b005b34801561026c575f80fd5b506102876004803603810190610282919061250e565b61070e565b6040516102949190612446565b60405180910390f35b3480156102a8575f80fd5b506102b1610754565b005b3480156102be575f80fd5b506102c76108a2565b005b3480156102d4575f80fd5b506102dd6109ed565b6040516102ea9190612446565b60405180910390f35b3480156102fe575f80fd5b50610319600480360381019061031491906124e3565b6109f3565b005b348015610326575f80fd5b5061032f610a91565b60405161033c9190612548565b60405180910390f35b348015610350575f80fd5b50610359610ab8565b6040516103669190612446565b60405180910390f35b34801561037a575f80fd5b50610383610abe565b6040516103909190612315565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906123c6565b610afb565b6040516103cc919061241e565b60405180910390f35b3480156103e0575f80fd5b506103fb60048036038101906103f691906124e3565b610b18565b005b348015610408575f80fd5b50610411610beb565b60405161041e9190612446565b60405180910390f35b348015610432575f80fd5b5061043b610bf1565b604051610448919061241e565b60405180910390f35b34801561045c575f80fd5b50610465610c03565b005b348015610472575f80fd5b5061048d600480360381019061048891906124e3565b611126565b005b34801561049a575f80fd5b506104b560048036038101906104b09190612561565b6111c4565b6040516104c29190612446565b60405180910390f35b3480156104d6575f80fd5b506104df611246565b005b60606040518060400160405280600981526020017f426162792047726f6b0000000000000000000000000000000000000000000000815250905090565b5f61053161052a6112f5565b84846112fc565b6001905092915050565b5f6012600a61054a91906126fb565b641029c1230061055a9190612745565b905090565b5f61056b8484846114bf565b610628846105776112f5565b610623856040518060600160405280602881526020016131aa6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105da6112f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd59092919063ffffffff16565b6112fc565b600190509392505050565b5f6012905090565b6106436112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c6906127d0565b60405180910390fd5b6103e8816012600a6106e191906126fb565b641029c123006106f19190612745565b6106fb9190612745565b610705919061281b565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075c6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df906127d0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108aa6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906127d0565b60405180910390fd5b6012600a61094491906126fb565b641029c123006109549190612745565b6008819055506012600a61096891906126fb565b641029c123006109789190612745565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109c691906126fb565b641029c123006109d69190612745565b6040516109e39190612446565b60405180910390a1565b60085481565b6109fb6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7e906127d0565b60405180910390fd5b8060078190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600581526020017f4247524f4b000000000000000000000000000000000000000000000000000000815250905090565b5f610b0e610b076112f5565b84846114bf565b6001905092915050565b610b206112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba3906127d0565b60405180910390fd5b6103e8816012600a610bbe91906126fb565b641029c12300610bce9190612745565b610bd89190612745565b610be2919061281b565b60088190555050565b600a5481565b60055f9054906101000a900460ff1681565b610c0b6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8e906127d0565b60405180910390fd5b600c60149054906101000a900460ff1615610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90612895565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8430600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d6f91906126fb565b641029c12300610d7f9190612745565b6112fc565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1291906128c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc91906128c7565b6040518363ffffffff1660e01b8152600401610ed99291906128f2565b6020604051808303815f875af1158015610ef5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1991906128c7565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa03061070e565b5f80610faa610a91565b426040518863ffffffff1660e01b8152600401610fcc9695949392919061295b565b60606040518083038185885af1158015610fe8573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061100d91906129ce565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110ad929190612a1e565b6020604051808303815f875af11580156110c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ed9190612a6f565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b61112e6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b1906127d0565b60405180910390fd5b8060068190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61124e6112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d1906127d0565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612b0a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf90612b98565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b29190612446565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612c26565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612cb4565b60405180910390fd5b5f81116115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612d42565b60405180910390fd5b5f6115e6610a91565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116545750611624610a91565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b255760055f9054906101000a900460ff16156117df57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117175750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117de574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612df6565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118885750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118db575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119a85761190860646118fa60065485611e3790919063ffffffff16565b611eae90919063ffffffff16565b905060085482111561194f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194690612e5e565b60405180910390fd5b6009548261195c8561070e565b6119669190612e7c565b11156119a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e90612ef9565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a6057611a5d6064611a4f60075485611e3790919063ffffffff16565b611eae90919063ffffffff16565b90505b5f611a6a3061070e565b9050600c60159054906101000a900460ff16158015611ad55750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611aed5750600c60169054906101000a900460ff165b8015611afa5750600a5481115b15611b2357600a548310611b1857611b13600a54611ef7565b611b22565b611b2183611ef7565b5b5b505b5f811115611c2457611b7d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c1b9190612446565b60405180910390a35b611c748260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d17611ccb82846121e190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dba84866121e190919063ffffffff16565b604051611dc79190612446565b60405180910390a350505050565b5f838311158290611e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e139190612315565b60405180910390fd5b505f8385611e2a9190612f17565b9050809150509392505050565b5f808303611e47575f9050611ea8565b5f8284611e549190612745565b9050828482611e63919061281b565b14611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a90612fba565b60405180910390fd5b809150505b92915050565b5f611eef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061222a565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f2e57611f2d612fd8565b5b604051908082528060200260200182016040528015611f5c5781602001602082028036833780820191505090505b50905030815f81518110611f7357611f72613005565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203b91906128c7565b8160018151811061204f5761204e613005565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120b530600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121399594939291906130e9565b5f604051808303815f87803b158015612150575f80fd5b505af1158015612162573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846121929190612e7c565b9050838110156121d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ce9061318b565b60405180910390fd5b8091505092915050565b5f61222283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd5565b905092915050565b5f8083118290612270576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122679190612315565b60405180910390fd5b505f838561227e919061281b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122c25780820151818401526020810190506122a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122e78261228b565b6122f18185612295565b93506123018185602086016122a5565b61230a816122cd565b840191505092915050565b5f6020820190508181035f83015261232d81846122dd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236282612339565b9050919050565b61237281612358565b811461237c575f80fd5b50565b5f8135905061238d81612369565b92915050565b5f819050919050565b6123a581612393565b81146123af575f80fd5b50565b5f813590506123c08161239c565b92915050565b5f80604083850312156123dc576123db612335565b5b5f6123e98582860161237f565b92505060206123fa858286016123b2565b9150509250929050565b5f8115159050919050565b61241881612404565b82525050565b5f6020820190506124315f83018461240f565b92915050565b61244081612393565b82525050565b5f6020820190506124595f830184612437565b92915050565b5f805f6060848603121561247657612475612335565b5b5f6124838682870161237f565b93505060206124948682870161237f565b92505060406124a5868287016123b2565b9150509250925092565b5f60ff82169050919050565b6124c4816124af565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b5f602082840312156124f8576124f7612335565b5b5f612505848285016123b2565b91505092915050565b5f6020828403121561252357612522612335565b5b5f6125308482850161237f565b91505092915050565b61254281612358565b82525050565b5f60208201905061255b5f830184612539565b92915050565b5f806040838503121561257757612576612335565b5b5f6125848582860161237f565b92505060206125958582860161237f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612621578086048111156125fd576125fc61259f565b5b600185161561260c5780820291505b808102905061261a856125cc565b94506125e1565b94509492505050565b5f8261263957600190506126f4565b81612646575f90506126f4565b816001811461265c576002811461266657612695565b60019150506126f4565b60ff8411156126785761267761259f565b5b8360020a91508482111561268f5761268e61259f565b5b506126f4565b5060208310610133831016604e8410600b84101617156126ca5782820a9050838111156126c5576126c461259f565b5b6126f4565b6126d784848460016125d8565b925090508184048111156126ee576126ed61259f565b5b81810290505b9392505050565b5f61270582612393565b9150612710836124af565b925061273d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461262a565b905092915050565b5f61274f82612393565b915061275a83612393565b925082820261276881612393565b9150828204841483151761277f5761277e61259f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127ba602083612295565b91506127c582612786565b602082019050919050565b5f6020820190508181035f8301526127e7816127ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61282582612393565b915061283083612393565b9250826128405761283f6127ee565b5b828204905092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61287f601783612295565b915061288a8261284b565b602082019050919050565b5f6020820190508181035f8301526128ac81612873565b9050919050565b5f815190506128c181612369565b92915050565b5f602082840312156128dc576128db612335565b5b5f6128e9848285016128b3565b91505092915050565b5f6040820190506129055f830185612539565b6129126020830184612539565b9392505050565b5f819050919050565b5f819050919050565b5f61294561294061293b84612919565b612922565b612393565b9050919050565b6129558161292b565b82525050565b5f60c08201905061296e5f830189612539565b61297b6020830188612437565b612988604083018761294c565b612995606083018661294c565b6129a26080830185612539565b6129af60a0830184612437565b979650505050505050565b5f815190506129c88161239c565b92915050565b5f805f606084860312156129e5576129e4612335565b5b5f6129f2868287016129ba565b9350506020612a03868287016129ba565b9250506040612a14868287016129ba565b9150509250925092565b5f604082019050612a315f830185612539565b612a3e6020830184612437565b9392505050565b612a4e81612404565b8114612a58575f80fd5b50565b5f81519050612a6981612a45565b92915050565b5f60208284031215612a8457612a83612335565b5b5f612a9184828501612a5b565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612af4602483612295565b9150612aff82612a9a565b604082019050919050565b5f6020820190508181035f830152612b2181612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b82602283612295565b9150612b8d82612b28565b604082019050919050565b5f6020820190508181035f830152612baf81612b76565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c10602583612295565b9150612c1b82612bb6565b604082019050919050565b5f6020820190508181035f830152612c3d81612c04565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c9e602383612295565b9150612ca982612c44565b604082019050919050565b5f6020820190508181035f830152612ccb81612c92565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d2c602983612295565b9150612d3782612cd2565b604082019050919050565b5f6020820190508181035f830152612d5981612d20565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612de0604983612295565b9150612deb82612d60565b606082019050919050565b5f6020820190508181035f830152612e0d81612dd4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e48601983612295565b9150612e5382612e14565b602082019050919050565b5f6020820190508181035f830152612e7581612e3c565b9050919050565b5f612e8682612393565b9150612e9183612393565b9250828201905080821115612ea957612ea861259f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ee3601a83612295565b9150612eee82612eaf565b602082019050919050565b5f6020820190508181035f830152612f1081612ed7565b9050919050565b5f612f2182612393565b9150612f2c83612393565b9250828203905081811115612f4457612f4361259f565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fa4602183612295565b9150612faf82612f4a565b604082019050919050565b5f6020820190508181035f830152612fd181612f98565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61306481612358565b82525050565b5f613075838361305b565b60208301905092915050565b5f602082019050919050565b5f61309782613032565b6130a1818561303c565b93506130ac8361304c565b805f5b838110156130dc5781516130c3888261306a565b97506130ce83613081565b9250506001810190506130af565b5085935050505092915050565b5f60a0820190506130fc5f830188612437565b613109602083018761294c565b818103604083015261311b818661308d565b905061312a6060830185612539565b6131376080830184612437565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613175601b83612295565b915061318082613141565b602082019050919050565b5f6020820190508181035f8301526131a281613169565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b67c6cf469fd7a88fcc8f2b6fc4e92524d7a10b480c137f53bc3185fb0272ac864736f6c63430008150033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000f0978aec23bb3ca107d2039dced714dc542e9b38

-----Decoded View---------------
Arg [0] : taxWallet (address): 0xF0978aec23BB3ca107D2039dCeD714DC542E9b38

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f0978aec23bb3ca107d2039dced714dc542e9b38


Deployed Bytecode Sourcemap

3553:7330:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5158:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5991:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5435:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6160:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5344:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9710:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5538:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2634:148;;;;;;;;;;;;;:::i;:::-;;9836:196;;;;;;;;;;;;;:::i;:::-;;4301:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9484:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2420:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4357:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5249:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5665:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9581:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4417:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3900:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10144:699;;;;;;;;;;;;;:::i;:::-;;9394:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5840:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10040:96;;;;;;;;;;;;;:::i;:::-;;5158:83;5195:13;5228:5;;;;;;;;;;;;;;;;;5221:12;;5158:83;:::o;5991:161::-;6066:4;6083:39;6092:12;:10;:12::i;:::-;6106:7;6115:6;6083:8;:39::i;:::-;6140:4;6133:11;;5991:161;;;;:::o;5435:95::-;5488:7;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;5508:14;;5435:95;:::o;6160:313::-;6258:4;6275:36;6285:6;6293:9;6304:6;6275:9;:36::i;:::-;6322:121;6331:6;6339:12;:10;:12::i;:::-;6353:89;6391:6;6353:89;;;;;;;;;;;;;;;;;:11;:19;6365:6;6353:19;;;;;;;;;;;;;;;:33;6373:12;:10;:12::i;:::-;6353:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6322:8;:121::i;:::-;6461:4;6454:11;;6160:313;;;;;:::o;5344:83::-;5385:5;4111:2;5403:16;;5344:83;:::o;9710:118::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9816:4:::1;9806:7;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;9796:17;;;;:::i;:::-;:24;;;;:::i;:::-;9779:14;:41;;;;9710:118:::0;:::o;5538:119::-;5604:7;5631:9;:18;5641:7;5631:18;;;;;;;;;;;;;;;;5624:25;;5538:119;;;:::o;2634:148::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2741:1:::1;2704:40;;2725:6;::::0;::::1;;;;;;;;2704:40;;;;;;;;;;;;2772:1;2755:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2634:148::o:0;9836:196::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4111:2:::1;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;9889:12;:22;;;;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;9922:14;:22;;;;9976:5;9955:20;;:26;;;;;;;;;;;;;;;;;;9997:27;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;9997;;;;;;:::i;:::-;;;;;;;;9836:196::o:0;4301:49::-;;;;:::o;9484:85::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9558:3:::1;9547:8;:14;;;;9484:85:::0;:::o;2420:79::-;2458:7;2485:6;;;;;;;;;;;2478:13;;2420:79;:::o;4357:53::-;;;;:::o;5249:87::-;5288:13;5321:7;;;;;;;;;;;;;;;;;5314:14;;5249:87;:::o;5665:167::-;5743:4;5760:42;5770:12;:10;:12::i;:::-;5784:9;5795:6;5760:9;:42::i;:::-;5820:4;5813:11;;5665:167;;;;:::o;9581:121::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9690:4:::1;9680:7;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;9670:17;;;;:::i;:::-;:24;;;;:::i;:::-;9655:12;:39;;;;9581:121:::0;:::o;4417:54::-;;;;:::o;3900:39::-;;;;;;;;;;;;;:::o;10144:699::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10208:11:::1;;;;;;;;;;;10207:12;10199:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10308:42;10257:15;;:108;;;;;;;;;;;;;;;;;;10376:58;10393:4;10408:15;;;;;;;;;;;4111:2;4169;:13;;;;:::i;:::-;4155:11;:27;;;;:::i;:::-;10376:8;:58::i;:::-;10479:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10461:55;;;10525:4;10532:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10461:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10445:13;;:110;;;;;;;;;;;;;;;;;;10566:15;;;;;;;;;;;:31;;;10605:21;10636:4;10642:24;10660:4;10642:9;:24::i;:::-;10667:1;10669::::0;10671:7:::1;:5;:7::i;:::-;10679:15;10566:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10713:13;;;;;;;;;;;10706:29;;;10744:15;;;;;;;;;;;10762:14;10706:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10802:4;10788:11;;:18;;;;;;;;;;;;;;;;;;10831:4;10817:11;;:18;;;;;;;;;;;;;;;;;;10144:699::o:0;9394:82::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9465:3:::1;9455:7;:13;;;;9394:82:::0;:::o;5840:143::-;5921:7;5948:11;:18;5960:5;5948:18;;;;;;;;;;;;;;;:27;5967:7;5948:27;;;;;;;;;;;;;;;;5941:34;;5840:143;;;;:::o;10040:96::-;2557:12;:10;:12::i;:::-;2547:22;;:6;;;;;;;;;;:22;;;2539:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10123:5:::1;10102:20;;:26;;;;;;;;;;;;;;;;;;10040:96::o:0;175:98::-;228:7;255:10;248:17;;175:98;:::o;6481:335::-;6591:1;6574:19;;:5;:19;;;6566:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6672:1;6653:21;;:7;:21;;;6645:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6754:6;6724:11;:18;6736:5;6724:18;;;;;;;;;;;;;;;:27;6743:7;6724:27;;;;;;;;;;;;;;;:36;;;;6792:7;6776:32;;6785:5;6776:32;;;6801:6;6776:32;;;;;;:::i;:::-;;;;;;;;6481:335;;;:::o;6824:2065::-;6928:1;6912:18;;:4;:18;;;6904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7005:1;6991:16;;:2;:16;;;6983:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7075:1;7066:6;:10;7058:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7135:17;7181:7;:5;:7::i;:::-;7173:15;;:4;:15;;;;:32;;;;;7198:7;:5;:7::i;:::-;7192:13;;:2;:13;;;;7173:32;7169:1348;;;7226:20;;;;;;;;;;;7222:388;;;7285:15;;;;;;;;;;;7271:30;;:2;:30;;;;:62;;;;;7319:13;;;;;;;;;;;7305:28;;:2;:28;;;;7271:62;7267:328;;;7408:12;7366:28;:39;7395:9;7366:39;;;;;;;;;;;;;;;;:54;7358:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;7563:12;7521:28;:39;7550:9;7521:39;;;;;;;;;;;;;;;:54;;;;7267:328;7222:388;7638:13;;;;;;;;;;;7630:21;;:4;:21;;;:55;;;;;7669:15;;;;;;;;;;;7655:30;;:2;:30;;;;7630:55;:82;;;;;7690:18;:22;7709:2;7690:22;;;;;;;;;;;;;;;;;;;;;;;;;7689:23;7630:82;7626:340;;;7745:28;7769:3;7745:19;7756:7;;7745:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7733:40;;7810:12;;7800:6;:22;;7792:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7905:14;;7895:6;7879:13;7889:2;7879:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7871:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7626:340;7992:13;;;;;;;;;;;7986:19;;:2;:19;;;:44;;;;;8025:4;8009:21;;:4;:21;;;;7986:44;7982:126;;;8063:29;8088:3;8063:20;8074:8;;8063:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8051:41;;7982:126;8124:28;8155:24;8173:4;8155:9;:24::i;:::-;8124:55;;8199:6;;;;;;;;;;;8198:7;:30;;;;;8215:13;;;;;;;;;;;8209:19;;:2;:19;;;8198:30;:45;;;;;8232:11;;;;;;;;;;;8198:45;:89;;;;;8270:17;;8247:20;:40;8198:89;8194:312;;;8321:17;;8311:6;:27;8308:183;;8363:35;8380:17;;8363:16;:35::i;:::-;8308:183;;;8447:24;8464:6;8447:16;:24::i;:::-;8308:183;8194:312;7207:1310;7169:1348;8544:1;8532:9;:13;8529:171;;;8589:39;8618:9;8589;:24;8607:4;8589:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8562:9;:24;8580:4;8562:24;;;;;;;;;;;;;;;:66;;;;8671:4;8648:40;;8657:4;8648:40;;;8678:9;8648:40;;;;;;:::i;:::-;;;;;;;;8529:171;8730:27;8750:6;8730:9;:15;8740:4;8730:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8712:9;:15;8722:4;8712:15;;;;;;;;;;;;;;;:45;;;;8784:40;8802:21;8813:9;8802:6;:10;;:21;;;;:::i;:::-;8784:9;:13;8794:2;8784:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8768:9;:13;8778:2;8768:13;;;;;;;;;;;;;;;:56;;;;8855:2;8840:41;;8849:4;8840:41;;;8859:21;8870:9;8859:6;:10;;:21;;;;:::i;:::-;8840:41;;;;;;:::i;:::-;;;;;;;;6893:1996;6824:2065;;;:::o;1312:190::-;1398:7;1431:1;1426;:6;;1434:12;1418:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1458:9;1474:1;1470;:5;;;;:::i;:::-;1458:17;;1493:1;1486:8;;;1312:190;;;;;:::o;1510:246::-;1568:7;1597:1;1592;:6;1588:47;;1622:1;1615:8;;;;1588:47;1645:9;1661:1;1657;:5;;;;:::i;:::-;1645:17;;1690:1;1685;1681;:5;;;;:::i;:::-;:10;1673:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1747:1;1740:8;;;1510:246;;;;;:::o;1764:132::-;1822:7;1849:39;1853:1;1856;1849:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1842:46;;1764:132;;;;:::o;8897:489::-;4762:4;4753:6;;:13;;;;;;;;;;;;;;;;;;8975:21:::1;9013:1;8999:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8975:40;;9044:4;9026;9031:1;9026:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9070:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9060:4;9065:1;9060:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9103:62;9120:4;9135:15;;;;;;;;;;;9153:11;9103:8;:62::i;:::-;9176:15;;;;;;;;;;;:66;;;9257:11;9283:1;9299:4;9326:10;;;;;;;;;;;9352:15;9176:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8964:422;4798:5:::0;4789:6;;:14;;;;;;;;;;;;;;;;;;8897:489;:::o;981:179::-;1039:7;1059:9;1075:1;1071;:5;;;;:::i;:::-;1059:17;;1100:1;1095;:6;;1087:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1151:1;1144:8;;;981:179;;;;:::o;1168:136::-;1226:7;1253:43;1257:1;1260;1253:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1246:50;;1168:136;;;;:::o;1904:189::-;1990:7;2022:1;2018;:5;2025:12;2010:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2049:9;2065:1;2061;:5;;;;:::i;:::-;2049:17;;2084:1;2077:8;;;1904:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;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:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:102;6583:8;6630:5;6627:1;6623:13;6602:34;;6541:102;;;:::o;6649:848::-;6710:5;6717:4;6741:6;6732:15;;6765:5;6756:14;;6779:712;6800:1;6790:8;6787:15;6779:712;;;6895:4;6890:3;6886:14;6880:4;6877:24;6874:50;;;6904:18;;:::i;:::-;6874:50;6954:1;6944:8;6940:16;6937:451;;;7369:4;7362:5;7358:16;7349:25;;6937:451;7419:4;7413;7409:15;7401:23;;7449:32;7472:8;7449:32;:::i;:::-;7437:44;;6779:712;;;6649:848;;;;;;;:::o;7503:1073::-;7557:5;7748:8;7738:40;;7769:1;7760:10;;7771:5;;7738:40;7797:4;7787:36;;7814:1;7805:10;;7816:5;;7787:36;7883:4;7931:1;7926:27;;;;7967:1;7962:191;;;;7876:277;;7926:27;7944:1;7935:10;;7946:5;;;7962:191;8007:3;7997:8;7994:17;7991:43;;;8014:18;;:::i;:::-;7991:43;8063:8;8060:1;8056:16;8047:25;;8098:3;8091:5;8088:14;8085:40;;;8105:18;;:::i;:::-;8085:40;8138:5;;;7876:277;;8262:2;8252:8;8249:16;8243:3;8237:4;8234:13;8230:36;8212:2;8202:8;8199:16;8194:2;8188:4;8185:12;8181:35;8165:111;8162:246;;;8318:8;8312:4;8308:19;8299:28;;8353:3;8346:5;8343:14;8340:40;;;8360:18;;:::i;:::-;8340:40;8393:5;;8162:246;8433:42;8471:3;8461:8;8455:4;8452:1;8433:42;:::i;:::-;8418:57;;;;8507:4;8502:3;8498:14;8491:5;8488:25;8485:51;;;8516:18;;:::i;:::-;8485:51;8565:4;8558:5;8554:16;8545:25;;7503:1073;;;;;;:::o;8582:281::-;8640:5;8664:23;8682:4;8664:23;:::i;:::-;8656:31;;8708:25;8724:8;8708:25;:::i;:::-;8696:37;;8752:104;8789:66;8779:8;8773:4;8752:104;:::i;:::-;8743:113;;8582:281;;;;:::o;8869:410::-;8909:7;8932:20;8950:1;8932:20;:::i;:::-;8927:25;;8966:20;8984:1;8966:20;:::i;:::-;8961:25;;9021:1;9018;9014:9;9043:30;9061:11;9043:30;:::i;:::-;9032:41;;9222:1;9213:7;9209:15;9206:1;9203:22;9183:1;9176:9;9156:83;9133:139;;9252:18;;:::i;:::-;9133:139;8917:362;8869:410;;;;:::o;9285:182::-;9425:34;9421:1;9413:6;9409:14;9402:58;9285:182;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9473:366;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;9845:419;;;:::o;10270:180::-;10318:77;10315:1;10308:88;10415:4;10412:1;10405:15;10439:4;10436:1;10429:15;10456:185;10496:1;10513:20;10531:1;10513:20;:::i;:::-;10508:25;;10547:20;10565:1;10547:20;:::i;:::-;10542:25;;10586:1;10576:35;;10591:18;;:::i;:::-;10576:35;10633:1;10630;10626:9;10621:14;;10456:185;;;;:::o;10647:173::-;10787:25;10783:1;10775:6;10771:14;10764:49;10647:173;:::o;10826:366::-;10968:3;10989:67;11053:2;11048:3;10989:67;:::i;:::-;10982:74;;11065:93;11154:3;11065:93;:::i;:::-;11183:2;11178:3;11174:12;11167:19;;10826:366;;;:::o;11198:419::-;11364:4;11402:2;11391:9;11387:18;11379:26;;11451:9;11445:4;11441:20;11437:1;11426:9;11422:17;11415:47;11479:131;11605:4;11479:131;:::i;:::-;11471:139;;11198:419;;;:::o;11623:143::-;11680:5;11711:6;11705:13;11696:22;;11727:33;11754:5;11727:33;:::i;:::-;11623:143;;;;:::o;11772:351::-;11842:6;11891:2;11879:9;11870:7;11866:23;11862:32;11859:119;;;11897:79;;:::i;:::-;11859:119;12017:1;12042:64;12098:7;12089:6;12078:9;12074:22;12042:64;:::i;:::-;12032:74;;11988:128;11772:351;;;;:::o;12129:332::-;12250:4;12288:2;12277:9;12273:18;12265:26;;12301:71;12369:1;12358:9;12354:17;12345:6;12301:71;:::i;:::-;12382:72;12450:2;12439:9;12435:18;12426:6;12382:72;:::i;:::-;12129:332;;;;;:::o;12467:85::-;12512:7;12541:5;12530:16;;12467:85;;;:::o;12558:60::-;12586:3;12607:5;12600:12;;12558:60;;;:::o;12624:158::-;12682:9;12715:61;12733:42;12742:32;12768:5;12742:32;:::i;:::-;12733:42;:::i;:::-;12715:61;:::i;:::-;12702:74;;12624:158;;;:::o;12788:147::-;12883:45;12922:5;12883:45;:::i;:::-;12878:3;12871:58;12788:147;;:::o;12941:807::-;13190:4;13228:3;13217:9;13213:19;13205:27;;13242:71;13310:1;13299:9;13295:17;13286:6;13242:71;:::i;:::-;13323:72;13391:2;13380:9;13376:18;13367:6;13323:72;:::i;:::-;13405:80;13481:2;13470:9;13466:18;13457:6;13405:80;:::i;:::-;13495;13571:2;13560:9;13556:18;13547:6;13495:80;:::i;:::-;13585:73;13653:3;13642:9;13638:19;13629:6;13585:73;:::i;:::-;13668;13736:3;13725:9;13721:19;13712:6;13668:73;:::i;:::-;12941:807;;;;;;;;;:::o;13754:143::-;13811:5;13842:6;13836:13;13827:22;;13858:33;13885:5;13858:33;:::i;:::-;13754:143;;;;:::o;13903:663::-;13991:6;13999;14007;14056:2;14044:9;14035:7;14031:23;14027:32;14024:119;;;14062:79;;:::i;:::-;14024:119;14182:1;14207:64;14263:7;14254:6;14243:9;14239:22;14207:64;:::i;:::-;14197:74;;14153:128;14320:2;14346:64;14402:7;14393:6;14382:9;14378:22;14346:64;:::i;:::-;14336:74;;14291:129;14459:2;14485:64;14541:7;14532:6;14521:9;14517:22;14485:64;:::i;:::-;14475:74;;14430:129;13903:663;;;;;:::o;14572:332::-;14693:4;14731:2;14720:9;14716:18;14708:26;;14744:71;14812:1;14801:9;14797:17;14788:6;14744:71;:::i;:::-;14825:72;14893:2;14882:9;14878:18;14869:6;14825:72;:::i;:::-;14572:332;;;;;:::o;14910:116::-;14980:21;14995:5;14980:21;:::i;:::-;14973:5;14970:32;14960:60;;15016:1;15013;15006:12;14960:60;14910:116;:::o;15032:137::-;15086:5;15117:6;15111:13;15102:22;;15133:30;15157:5;15133:30;:::i;:::-;15032:137;;;;:::o;15175:345::-;15242:6;15291:2;15279:9;15270:7;15266:23;15262:32;15259:119;;;15297:79;;:::i;:::-;15259:119;15417:1;15442:61;15495:7;15486:6;15475:9;15471:22;15442:61;:::i;:::-;15432:71;;15388:125;15175:345;;;;:::o;15526:223::-;15666:34;15662:1;15654:6;15650:14;15643:58;15735:6;15730:2;15722:6;15718:15;15711:31;15526:223;:::o;15755:366::-;15897:3;15918:67;15982:2;15977:3;15918:67;:::i;:::-;15911:74;;15994:93;16083:3;15994:93;:::i;:::-;16112:2;16107:3;16103:12;16096:19;;15755:366;;;:::o;16127:419::-;16293:4;16331:2;16320:9;16316:18;16308:26;;16380:9;16374:4;16370:20;16366:1;16355:9;16351:17;16344:47;16408:131;16534:4;16408:131;:::i;:::-;16400:139;;16127:419;;;:::o;16552:221::-;16692:34;16688:1;16680:6;16676:14;16669:58;16761:4;16756:2;16748:6;16744:15;16737:29;16552:221;:::o;16779:366::-;16921:3;16942:67;17006:2;17001:3;16942:67;:::i;:::-;16935:74;;17018:93;17107:3;17018:93;:::i;:::-;17136:2;17131:3;17127:12;17120:19;;16779:366;;;:::o;17151:419::-;17317:4;17355:2;17344:9;17340:18;17332:26;;17404:9;17398:4;17394:20;17390:1;17379:9;17375:17;17368:47;17432:131;17558:4;17432:131;:::i;:::-;17424:139;;17151:419;;;:::o;17576:224::-;17716:34;17712:1;17704:6;17700:14;17693:58;17785:7;17780:2;17772:6;17768:15;17761:32;17576:224;:::o;17806:366::-;17948:3;17969:67;18033:2;18028:3;17969:67;:::i;:::-;17962:74;;18045:93;18134:3;18045:93;:::i;:::-;18163:2;18158:3;18154:12;18147:19;;17806:366;;;:::o;18178:419::-;18344:4;18382:2;18371:9;18367:18;18359:26;;18431:9;18425:4;18421:20;18417:1;18406:9;18402:17;18395:47;18459:131;18585:4;18459:131;:::i;:::-;18451:139;;18178:419;;;:::o;18603:222::-;18743:34;18739:1;18731:6;18727:14;18720:58;18812:5;18807:2;18799:6;18795:15;18788:30;18603:222;:::o;18831:366::-;18973:3;18994:67;19058:2;19053:3;18994:67;:::i;:::-;18987:74;;19070:93;19159:3;19070:93;:::i;:::-;19188:2;19183:3;19179:12;19172:19;;18831:366;;;:::o;19203:419::-;19369:4;19407:2;19396:9;19392:18;19384:26;;19456:9;19450:4;19446:20;19442:1;19431:9;19427:17;19420:47;19484:131;19610:4;19484:131;:::i;:::-;19476:139;;19203:419;;;:::o;19628:228::-;19768:34;19764:1;19756:6;19752:14;19745:58;19837:11;19832:2;19824:6;19820:15;19813:36;19628:228;:::o;19862:366::-;20004:3;20025:67;20089:2;20084:3;20025:67;:::i;:::-;20018:74;;20101:93;20190:3;20101:93;:::i;:::-;20219:2;20214:3;20210:12;20203:19;;19862:366;;;:::o;20234:419::-;20400:4;20438:2;20427:9;20423:18;20415:26;;20487:9;20481:4;20477:20;20473:1;20462:9;20458:17;20451:47;20515:131;20641:4;20515:131;:::i;:::-;20507:139;;20234:419;;;:::o;20659:297::-;20799:34;20795:1;20787:6;20783:14;20776:58;20868:34;20863:2;20855:6;20851:15;20844:59;20937:11;20932:2;20924:6;20920:15;20913:36;20659:297;:::o;20962:366::-;21104:3;21125:67;21189:2;21184:3;21125:67;:::i;:::-;21118:74;;21201:93;21290:3;21201:93;:::i;:::-;21319:2;21314:3;21310:12;21303:19;;20962:366;;;:::o;21334:419::-;21500:4;21538:2;21527:9;21523:18;21515:26;;21587:9;21581:4;21577:20;21573:1;21562:9;21558:17;21551:47;21615:131;21741:4;21615:131;:::i;:::-;21607:139;;21334:419;;;:::o;21759:175::-;21899:27;21895:1;21887:6;21883:14;21876:51;21759:175;:::o;21940:366::-;22082:3;22103:67;22167:2;22162:3;22103:67;:::i;:::-;22096:74;;22179:93;22268:3;22179:93;:::i;:::-;22297:2;22292:3;22288:12;22281:19;;21940:366;;;:::o;22312:419::-;22478:4;22516:2;22505:9;22501:18;22493:26;;22565:9;22559:4;22555:20;22551:1;22540:9;22536:17;22529:47;22593:131;22719:4;22593:131;:::i;:::-;22585:139;;22312:419;;;:::o;22737:191::-;22777:3;22796:20;22814:1;22796:20;:::i;:::-;22791:25;;22830:20;22848:1;22830:20;:::i;:::-;22825:25;;22873:1;22870;22866:9;22859:16;;22894:3;22891:1;22888:10;22885:36;;;22901:18;;:::i;:::-;22885:36;22737:191;;;;:::o;22934:176::-;23074:28;23070:1;23062:6;23058:14;23051:52;22934:176;:::o;23116:366::-;23258:3;23279:67;23343:2;23338:3;23279:67;:::i;:::-;23272:74;;23355:93;23444:3;23355:93;:::i;:::-;23473:2;23468:3;23464:12;23457:19;;23116:366;;;:::o;23488:419::-;23654:4;23692:2;23681:9;23677:18;23669:26;;23741:9;23735:4;23731:20;23727:1;23716:9;23712:17;23705:47;23769:131;23895:4;23769:131;:::i;:::-;23761:139;;23488:419;;;:::o;23913:194::-;23953:4;23973:20;23991:1;23973:20;:::i;:::-;23968:25;;24007:20;24025:1;24007:20;:::i;:::-;24002:25;;24051:1;24048;24044:9;24036:17;;24075:1;24069:4;24066:11;24063:37;;;24080:18;;:::i;:::-;24063:37;23913:194;;;;:::o;24113:220::-;24253:34;24249:1;24241:6;24237:14;24230:58;24322:3;24317:2;24309:6;24305:15;24298:28;24113:220;:::o;24339:366::-;24481:3;24502:67;24566:2;24561:3;24502:67;:::i;:::-;24495:74;;24578:93;24667:3;24578:93;:::i;:::-;24696:2;24691:3;24687:12;24680:19;;24339:366;;;:::o;24711:419::-;24877:4;24915:2;24904:9;24900:18;24892:26;;24964:9;24958:4;24954:20;24950:1;24939:9;24935:17;24928:47;24992:131;25118:4;24992:131;:::i;:::-;24984:139;;24711:419;;;:::o;25136:180::-;25184:77;25181:1;25174:88;25281:4;25278:1;25271:15;25305:4;25302:1;25295:15;25322:180;25370:77;25367:1;25360:88;25467:4;25464:1;25457:15;25491:4;25488:1;25481:15;25508:114;25575:6;25609:5;25603:12;25593:22;;25508:114;;;:::o;25628:184::-;25727:11;25761:6;25756:3;25749:19;25801:4;25796:3;25792:14;25777:29;;25628:184;;;;:::o;25818:132::-;25885:4;25908:3;25900:11;;25938:4;25933:3;25929:14;25921:22;;25818:132;;;:::o;25956:108::-;26033:24;26051:5;26033:24;:::i;:::-;26028:3;26021:37;25956:108;;:::o;26070:179::-;26139:10;26160:46;26202:3;26194:6;26160:46;:::i;:::-;26238:4;26233:3;26229:14;26215:28;;26070:179;;;;:::o;26255:113::-;26325:4;26357;26352:3;26348:14;26340:22;;26255:113;;;:::o;26404:732::-;26523:3;26552:54;26600:5;26552:54;:::i;:::-;26622:86;26701:6;26696:3;26622:86;:::i;:::-;26615:93;;26732:56;26782:5;26732:56;:::i;:::-;26811:7;26842:1;26827:284;26852:6;26849:1;26846:13;26827:284;;;26928:6;26922:13;26955:63;27014:3;26999:13;26955:63;:::i;:::-;26948:70;;27041:60;27094:6;27041:60;:::i;:::-;27031:70;;26887:224;26874:1;26871;26867:9;26862:14;;26827:284;;;26831:14;27127:3;27120:10;;26528:608;;;26404:732;;;;:::o;27142:831::-;27405:4;27443:3;27432:9;27428:19;27420:27;;27457:71;27525:1;27514:9;27510:17;27501:6;27457:71;:::i;:::-;27538:80;27614:2;27603:9;27599:18;27590:6;27538:80;:::i;:::-;27665:9;27659:4;27655:20;27650:2;27639:9;27635:18;27628:48;27693:108;27796:4;27787:6;27693:108;:::i;:::-;27685:116;;27811:72;27879:2;27868:9;27864:18;27855:6;27811:72;:::i;:::-;27893:73;27961:3;27950:9;27946:19;27937:6;27893:73;:::i;:::-;27142:831;;;;;;;;:::o;27979:177::-;28119:29;28115:1;28107:6;28103:14;28096:53;27979:177;:::o;28162:366::-;28304:3;28325:67;28389:2;28384:3;28325:67;:::i;:::-;28318:74;;28401:93;28490:3;28401:93;:::i;:::-;28519:2;28514:3;28510:12;28503:19;;28162:366;;;:::o;28534:419::-;28700:4;28738:2;28727:9;28723:18;28715:26;;28787:9;28781:4;28777:20;28773:1;28762:9;28758:17;28751:47;28815:131;28941:4;28815:131;:::i;:::-;28807:139;;28534:419;;;:::o

Swarm Source

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