ETH Price: $3,708.70 (+3.06%)

Token

ERC-20: Snaptify (SNAP)
 

Overview

Max Total Supply

1,000,000 SNAP

Holders

162

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
879.537952016011386756 SNAP

Value
$0.00
0x059f687e36e8eadf284bc4cc80cc7df3b2026f97
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:
SNAP

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 2024-02-13
*/

// SPDX-License-Identifier: MIT

/*
Telegram : https://t.me/snaptifyportal
Twitter : https://twitter.com/snaptify
Website : https://snaptify.net/
*/

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 SNAP 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 = 20;
    uint256 private _sellTax = 25;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Snaptify";
    string private constant _symbol = unicode"SNAP";
    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 {
        require(tax <= 25, "Tax should be less than or equal to 25");
        _buyTax = tax;
    }

    function setSellTax(uint256 tax) external onlyOwner {
        require(tax <= 25, "Tax should be less than or equal to 25");
        _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"}]

6080604052600160055f6101000a81548160ff021916908315150217905550601460065560196007556103e8600a6012600a6200003d919062000638565b620f42406200004d919062000688565b62000059919062000688565b620000659190620006ff565b60085561271060646012600a6200007d919062000638565b620f42406200008d919062000688565b62000099919062000688565b620000a59190620006ff565b60095561271060326012600a620000bd919062000638565b620f4240620000cd919062000688565b620000d9919062000688565b620000e59190620006ff565b600a555f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff02191690831515021790555034801562000128575f80fd5b5060405162003b1438038062003b1483398181016040528101906200014e91906200079b565b5f6200015f6200047860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200024c919062000638565b620f42406200025c919062000688565b60015f6200026f6200047860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002c16200047f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003ec6200047860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200044a919062000638565b620f42406200045a919062000688565b604051620004699190620007dc565b60405180910390a350620007f7565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200053057808604811115620005085762000507620004a6565b5b6001851615620005185780820291505b80810290506200052885620004d3565b9450620004e8565b94509492505050565b5f826200054a57600190506200061c565b8162000559575f90506200061c565b81600181146200057257600281146200057d57620005b3565b60019150506200061c565b60ff841115620005925762000591620004a6565b5b8360020a915084821115620005ac57620005ab620004a6565b5b506200061c565b5060208310610133831016604e8410600b8410161715620005ed5782820a905083811115620005e757620005e6620004a6565b5b6200061c565b620005fc8484846001620004df565b92509050818404811115620006165762000615620004a6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006448262000623565b915062000651836200062c565b9250620006807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000539565b905092915050565b5f620006948262000623565b9150620006a18362000623565b9250828202620006b18162000623565b91508282048414831517620006cb57620006ca620004a6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200070b8262000623565b9150620007188362000623565b9250826200072b576200072a620006d2565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000765826200073a565b9050919050565b620007778162000759565b811462000782575f80fd5b50565b5f8151905062000795816200076c565b92915050565b5f60208284031215620007b357620007b262000736565b5b5f620007c28482850162000785565b91505092915050565b620007d68162000623565b82525050565b5f602082019050620007f15f830184620007cb565b92915050565b61330f80620008055f395ff3fe608060405260043610610138575f3560e01c80638da5cb5b116100aa578063bf474bed1161006e578063bf474bed146103fd578063c876d0b914610427578063c9567bf914610451578063dc1052e214610467578063dd62ed3e1461048f578063e884f260146104cb5761013f565b80638da5cb5b1461031b5780638f9a55c01461034557806395d89b411461036f578063a9059cbb14610399578063ab5a1887146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638cd09d50146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b604051610164919061238f565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612440565b61051e565b6040516101a09190612498565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca91906124c0565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f491906124d9565b61055d565b6040516102069190612498565b60405180910390f35b34801561021a575f80fd5b50610223610631565b6040516102309190612544565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a919061255d565b610639565b005b34801561026c575f80fd5b5061028760048036038101906102829190612588565b61070a565b60405161029491906124c0565b60405180910390f35b3480156102a8575f80fd5b506102b1610750565b005b3480156102be575f80fd5b506102c761089e565b005b3480156102d4575f80fd5b506102dd6109e3565b6040516102ea91906124c0565b60405180910390f35b3480156102fe575f80fd5b506103196004803603810190610314919061255d565b6109e9565b005b348015610326575f80fd5b5061032f610acb565b60405161033c91906125c2565b60405180910390f35b348015610350575f80fd5b50610359610af2565b60405161036691906124c0565b60405180910390f35b34801561037a575f80fd5b50610383610af8565b604051610390919061238f565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba9190612440565b610b35565b6040516103cc9190612498565b60405180910390f35b3480156103e0575f80fd5b506103fb60048036038101906103f6919061255d565b610b52565b005b348015610408575f80fd5b50610411610c23565b60405161041e91906124c0565b60405180910390f35b348015610432575f80fd5b5061043b610c29565b6040516104489190612498565b60405180910390f35b34801561045c575f80fd5b50610465610c3b565b005b348015610472575f80fd5b5061048d6004803603810190610488919061255d565b61115c565b005b34801561049a575f80fd5b506104b560048036038101906104b091906125db565b61123e565b6040516104c291906124c0565b60405180910390f35b3480156104d6575f80fd5b506104df6112c0565b005b60606040518060400160405280600881526020017f536e617074696679000000000000000000000000000000000000000000000000815250905090565b5f61053161052a61136f565b8484611376565b6001905092915050565b5f6012600a61054a9190612775565b620f424061055891906127bf565b905090565b5f610569848484611539565b6106268461057561136f565b610621856040518060600160405280602881526020016132b26028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d861136f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e4f9092919063ffffffff16565b611376565b600190509392505050565b5f6012905090565b61064161136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c49061284a565b60405180910390fd5b6103e8816012600a6106df9190612775565b620f42406106ed91906127bf565b6106f791906127bf565b6107019190612895565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075861136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107db9061284a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108a661136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610932576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109299061284a565b60405180910390fd5b6012600a6109409190612775565b620f424061094e91906127bf565b6008819055506012600a6109629190612775565b620f424061097091906127bf565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109be9190612775565b620f42406109cc91906127bf565b6040516109d991906124c0565b60405180910390a1565b60085481565b6109f161136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a749061284a565b60405180910390fd5b6019811115610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab890612935565b60405180910390fd5b8060078190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f534e415000000000000000000000000000000000000000000000000000000000815250905090565b5f610b48610b4161136f565b8484611539565b6001905092915050565b610b5a61136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd9061284a565b60405180910390fd5b6103e8816012600a610bf89190612775565b620f4240610c0691906127bf565b610c1091906127bf565b610c1a9190612895565b60088190555050565b600a5481565b60055f9054906101000a900460ff1681565b610c4361136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc69061284a565b60405180910390fd5b600c60149054906101000a900460ff1615610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d169061299d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dba30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610da79190612775565b620f4240610db591906127bf565b611376565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4891906129cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef291906129cf565b6040518363ffffffff1660e01b8152600401610f0f9291906129fa565b6020604051808303815f875af1158015610f2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4f91906129cf565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fd63061070a565b5f80610fe0610acb565b426040518863ffffffff1660e01b815260040161100296959493929190612a63565b60606040518083038185885af115801561101e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110439190612ad6565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110e3929190612b26565b6020604051808303815f875af11580156110ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111239190612b77565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b61116461136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e79061284a565b60405180910390fd5b6019811115611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122b90612935565b60405180910390fd5b8060068190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112c861136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b9061284a565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612c12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612ca0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161152c91906124c0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159e90612d2e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c90612dbc565b60405180910390fd5b5f8111611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90612e4a565b60405180910390fd5b5f611660610acb565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116ce575061169e610acb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9f5760055f9054906101000a900460ff161561185957600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117915750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611858574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c90612efe565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119025750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611955575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2257611982606461197460065485611eb190919063ffffffff16565b611f2890919063ffffffff16565b90506008548211156119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c090612f66565b60405180910390fd5b600954826119d68561070a565b6119e09190612f84565b1115611a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1890613001565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611aaa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ada57611ad76064611ac960075485611eb190919063ffffffff16565b611f2890919063ffffffff16565b90505b5f611ae43061070a565b9050600c60159054906101000a900460ff16158015611b4f5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b675750600c60169054906101000a900460ff165b8015611b745750600a5481115b15611b9d57600a548310611b9257611b8d600a54611f71565b611b9c565b611b9b83611f71565b5b5b505b5f811115611c9e57611bf78160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fe90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9591906124c0565b60405180910390a35b611cee8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d91611d45828461225b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fe90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e34848661225b90919063ffffffff16565b604051611e4191906124c0565b60405180910390a350505050565b5f838311158290611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d919061238f565b60405180910390fd5b505f8385611ea4919061301f565b9050809150509392505050565b5f808303611ec1575f9050611f22565b5f8284611ece91906127bf565b9050828482611edd9190612895565b14611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f14906130c2565b60405180910390fd5b809150505b92915050565b5f611f6983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122a4565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611fa857611fa76130e0565b5b604051908082528060200260200182016040528015611fd65781602001602082028036833780820191505090505b50905030815f81518110611fed57611fec61310d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b591906129cf565b816001815181106120c9576120c861310d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061212f30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611376565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121b39594939291906131f1565b5f604051808303815f87803b1580156121ca575f80fd5b505af11580156121dc573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f80828461220c9190612f84565b905083811015612251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224890613293565b60405180910390fd5b8091505092915050565b5f61229c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e4f565b905092915050565b5f80831182906122ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e1919061238f565b60405180910390fd5b505f83856122f89190612895565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561233c578082015181840152602081019050612321565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61236182612305565b61236b818561230f565b935061237b81856020860161231f565b61238481612347565b840191505092915050565b5f6020820190508181035f8301526123a78184612357565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123dc826123b3565b9050919050565b6123ec816123d2565b81146123f6575f80fd5b50565b5f81359050612407816123e3565b92915050565b5f819050919050565b61241f8161240d565b8114612429575f80fd5b50565b5f8135905061243a81612416565b92915050565b5f8060408385031215612456576124556123af565b5b5f612463858286016123f9565b92505060206124748582860161242c565b9150509250929050565b5f8115159050919050565b6124928161247e565b82525050565b5f6020820190506124ab5f830184612489565b92915050565b6124ba8161240d565b82525050565b5f6020820190506124d35f8301846124b1565b92915050565b5f805f606084860312156124f0576124ef6123af565b5b5f6124fd868287016123f9565b935050602061250e868287016123f9565b925050604061251f8682870161242c565b9150509250925092565b5f60ff82169050919050565b61253e81612529565b82525050565b5f6020820190506125575f830184612535565b92915050565b5f60208284031215612572576125716123af565b5b5f61257f8482850161242c565b91505092915050565b5f6020828403121561259d5761259c6123af565b5b5f6125aa848285016123f9565b91505092915050565b6125bc816123d2565b82525050565b5f6020820190506125d55f8301846125b3565b92915050565b5f80604083850312156125f1576125f06123af565b5b5f6125fe858286016123f9565b925050602061260f858286016123f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561269b5780860481111561267757612676612619565b5b60018516156126865780820291505b808102905061269485612646565b945061265b565b94509492505050565b5f826126b3576001905061276e565b816126c0575f905061276e565b81600181146126d657600281146126e05761270f565b600191505061276e565b60ff8411156126f2576126f1612619565b5b8360020a91508482111561270957612708612619565b5b5061276e565b5060208310610133831016604e8410600b84101617156127445782820a90508381111561273f5761273e612619565b5b61276e565b6127518484846001612652565b9250905081840481111561276857612767612619565b5b81810290505b9392505050565b5f61277f8261240d565b915061278a83612529565b92506127b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126a4565b905092915050565b5f6127c98261240d565b91506127d48361240d565b92508282026127e28161240d565b915082820484148315176127f9576127f8612619565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283460208361230f565b915061283f82612800565b602082019050919050565b5f6020820190508181035f83015261286181612828565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61289f8261240d565b91506128aa8361240d565b9250826128ba576128b9612868565b5b828204905092915050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2032350000000000000000000000000000000000000000000000000000602082015250565b5f61291f60268361230f565b915061292a826128c5565b604082019050919050565b5f6020820190508181035f83015261294c81612913565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298760178361230f565b915061299282612953565b602082019050919050565b5f6020820190508181035f8301526129b48161297b565b9050919050565b5f815190506129c9816123e3565b92915050565b5f602082840312156129e4576129e36123af565b5b5f6129f1848285016129bb565b91505092915050565b5f604082019050612a0d5f8301856125b3565b612a1a60208301846125b3565b9392505050565b5f819050919050565b5f819050919050565b5f612a4d612a48612a4384612a21565b612a2a565b61240d565b9050919050565b612a5d81612a33565b82525050565b5f60c082019050612a765f8301896125b3565b612a8360208301886124b1565b612a906040830187612a54565b612a9d6060830186612a54565b612aaa60808301856125b3565b612ab760a08301846124b1565b979650505050505050565b5f81519050612ad081612416565b92915050565b5f805f60608486031215612aed57612aec6123af565b5b5f612afa86828701612ac2565b9350506020612b0b86828701612ac2565b9250506040612b1c86828701612ac2565b9150509250925092565b5f604082019050612b395f8301856125b3565b612b4660208301846124b1565b9392505050565b612b568161247e565b8114612b60575f80fd5b50565b5f81519050612b7181612b4d565b92915050565b5f60208284031215612b8c57612b8b6123af565b5b5f612b9984828501612b63565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bfc60248361230f565b9150612c0782612ba2565b604082019050919050565b5f6020820190508181035f830152612c2981612bf0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c8a60228361230f565b9150612c9582612c30565b604082019050919050565b5f6020820190508181035f830152612cb781612c7e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1860258361230f565b9150612d2382612cbe565b604082019050919050565b5f6020820190508181035f830152612d4581612d0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612da660238361230f565b9150612db182612d4c565b604082019050919050565b5f6020820190508181035f830152612dd381612d9a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3460298361230f565b9150612e3f82612dda565b604082019050919050565b5f6020820190508181035f830152612e6181612e28565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612ee860498361230f565b9150612ef382612e68565b606082019050919050565b5f6020820190508181035f830152612f1581612edc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f5060198361230f565b9150612f5b82612f1c565b602082019050919050565b5f6020820190508181035f830152612f7d81612f44565b9050919050565b5f612f8e8261240d565b9150612f998361240d565b9250828201905080821115612fb157612fb0612619565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612feb601a8361230f565b9150612ff682612fb7565b602082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b5f6130298261240d565b91506130348361240d565b925082820390508181111561304c5761304b612619565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130ac60218361230f565b91506130b782613052565b604082019050919050565b5f6020820190508181035f8301526130d9816130a0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61316c816123d2565b82525050565b5f61317d8383613163565b60208301905092915050565b5f602082019050919050565b5f61319f8261313a565b6131a98185613144565b93506131b483613154565b805f5b838110156131e45781516131cb8882613172565b97506131d683613189565b9250506001810190506131b7565b5085935050505092915050565b5f60a0820190506132045f8301886124b1565b6132116020830187612a54565b81810360408301526132238186613195565b905061323260608301856125b3565b61323f60808301846124b1565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61327d601b8361230f565b915061328882613249565b602082019050919050565b5f6020820190508181035f8301526132aa81613271565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201033de8a9534bb9a78b0d28afaabe4228f7edfe9c37915fd38a89778ea1c25ed64736f6c634300081500330000000000000000000000001eed5b4dc921156999a39a804bc5295839e5b424

Deployed Bytecode

0x608060405260043610610138575f3560e01c80638da5cb5b116100aa578063bf474bed1161006e578063bf474bed146103fd578063c876d0b914610427578063c9567bf914610451578063dc1052e214610467578063dd62ed3e1461048f578063e884f260146104cb5761013f565b80638da5cb5b1461031b5780638f9a55c01461034557806395d89b411461036f578063a9059cbb14610399578063ab5a1887146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638cd09d50146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b604051610164919061238f565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612440565b61051e565b6040516101a09190612498565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca91906124c0565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f491906124d9565b61055d565b6040516102069190612498565b60405180910390f35b34801561021a575f80fd5b50610223610631565b6040516102309190612544565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a919061255d565b610639565b005b34801561026c575f80fd5b5061028760048036038101906102829190612588565b61070a565b60405161029491906124c0565b60405180910390f35b3480156102a8575f80fd5b506102b1610750565b005b3480156102be575f80fd5b506102c761089e565b005b3480156102d4575f80fd5b506102dd6109e3565b6040516102ea91906124c0565b60405180910390f35b3480156102fe575f80fd5b506103196004803603810190610314919061255d565b6109e9565b005b348015610326575f80fd5b5061032f610acb565b60405161033c91906125c2565b60405180910390f35b348015610350575f80fd5b50610359610af2565b60405161036691906124c0565b60405180910390f35b34801561037a575f80fd5b50610383610af8565b604051610390919061238f565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba9190612440565b610b35565b6040516103cc9190612498565b60405180910390f35b3480156103e0575f80fd5b506103fb60048036038101906103f6919061255d565b610b52565b005b348015610408575f80fd5b50610411610c23565b60405161041e91906124c0565b60405180910390f35b348015610432575f80fd5b5061043b610c29565b6040516104489190612498565b60405180910390f35b34801561045c575f80fd5b50610465610c3b565b005b348015610472575f80fd5b5061048d6004803603810190610488919061255d565b61115c565b005b34801561049a575f80fd5b506104b560048036038101906104b091906125db565b61123e565b6040516104c291906124c0565b60405180910390f35b3480156104d6575f80fd5b506104df6112c0565b005b60606040518060400160405280600881526020017f536e617074696679000000000000000000000000000000000000000000000000815250905090565b5f61053161052a61136f565b8484611376565b6001905092915050565b5f6012600a61054a9190612775565b620f424061055891906127bf565b905090565b5f610569848484611539565b6106268461057561136f565b610621856040518060600160405280602881526020016132b26028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d861136f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e4f9092919063ffffffff16565b611376565b600190509392505050565b5f6012905090565b61064161136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c49061284a565b60405180910390fd5b6103e8816012600a6106df9190612775565b620f42406106ed91906127bf565b6106f791906127bf565b6107019190612895565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075861136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107db9061284a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108a661136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610932576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109299061284a565b60405180910390fd5b6012600a6109409190612775565b620f424061094e91906127bf565b6008819055506012600a6109629190612775565b620f424061097091906127bf565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109be9190612775565b620f42406109cc91906127bf565b6040516109d991906124c0565b60405180910390a1565b60085481565b6109f161136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a749061284a565b60405180910390fd5b6019811115610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab890612935565b60405180910390fd5b8060078190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f534e415000000000000000000000000000000000000000000000000000000000815250905090565b5f610b48610b4161136f565b8484611539565b6001905092915050565b610b5a61136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd9061284a565b60405180910390fd5b6103e8816012600a610bf89190612775565b620f4240610c0691906127bf565b610c1091906127bf565b610c1a9190612895565b60088190555050565b600a5481565b60055f9054906101000a900460ff1681565b610c4361136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc69061284a565b60405180910390fd5b600c60149054906101000a900460ff1615610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d169061299d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dba30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610da79190612775565b620f4240610db591906127bf565b611376565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4891906129cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef291906129cf565b6040518363ffffffff1660e01b8152600401610f0f9291906129fa565b6020604051808303815f875af1158015610f2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4f91906129cf565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fd63061070a565b5f80610fe0610acb565b426040518863ffffffff1660e01b815260040161100296959493929190612a63565b60606040518083038185885af115801561101e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110439190612ad6565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110e3929190612b26565b6020604051808303815f875af11580156110ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111239190612b77565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b61116461136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e79061284a565b60405180910390fd5b6019811115611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122b90612935565b60405180910390fd5b8060068190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112c861136f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b9061284a565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612c12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612ca0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161152c91906124c0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159e90612d2e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c90612dbc565b60405180910390fd5b5f8111611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90612e4a565b60405180910390fd5b5f611660610acb565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116ce575061169e610acb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9f5760055f9054906101000a900460ff161561185957600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117915750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611858574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c90612efe565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119025750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611955575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2257611982606461197460065485611eb190919063ffffffff16565b611f2890919063ffffffff16565b90506008548211156119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c090612f66565b60405180910390fd5b600954826119d68561070a565b6119e09190612f84565b1115611a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1890613001565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611aaa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ada57611ad76064611ac960075485611eb190919063ffffffff16565b611f2890919063ffffffff16565b90505b5f611ae43061070a565b9050600c60159054906101000a900460ff16158015611b4f5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b675750600c60169054906101000a900460ff165b8015611b745750600a5481115b15611b9d57600a548310611b9257611b8d600a54611f71565b611b9c565b611b9b83611f71565b5b5b505b5f811115611c9e57611bf78160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fe90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9591906124c0565b60405180910390a35b611cee8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d91611d45828461225b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121fe90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e34848661225b90919063ffffffff16565b604051611e4191906124c0565b60405180910390a350505050565b5f838311158290611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d919061238f565b60405180910390fd5b505f8385611ea4919061301f565b9050809150509392505050565b5f808303611ec1575f9050611f22565b5f8284611ece91906127bf565b9050828482611edd9190612895565b14611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f14906130c2565b60405180910390fd5b809150505b92915050565b5f611f6983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122a4565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611fa857611fa76130e0565b5b604051908082528060200260200182016040528015611fd65781602001602082028036833780820191505090505b50905030815f81518110611fed57611fec61310d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b591906129cf565b816001815181106120c9576120c861310d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061212f30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611376565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121b39594939291906131f1565b5f604051808303815f87803b1580156121ca575f80fd5b505af11580156121dc573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f80828461220c9190612f84565b905083811015612251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224890613293565b60405180910390fd5b8091505092915050565b5f61229c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e4f565b905092915050565b5f80831182906122ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e1919061238f565b60405180910390fd5b505f83856122f89190612895565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561233c578082015181840152602081019050612321565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61236182612305565b61236b818561230f565b935061237b81856020860161231f565b61238481612347565b840191505092915050565b5f6020820190508181035f8301526123a78184612357565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123dc826123b3565b9050919050565b6123ec816123d2565b81146123f6575f80fd5b50565b5f81359050612407816123e3565b92915050565b5f819050919050565b61241f8161240d565b8114612429575f80fd5b50565b5f8135905061243a81612416565b92915050565b5f8060408385031215612456576124556123af565b5b5f612463858286016123f9565b92505060206124748582860161242c565b9150509250929050565b5f8115159050919050565b6124928161247e565b82525050565b5f6020820190506124ab5f830184612489565b92915050565b6124ba8161240d565b82525050565b5f6020820190506124d35f8301846124b1565b92915050565b5f805f606084860312156124f0576124ef6123af565b5b5f6124fd868287016123f9565b935050602061250e868287016123f9565b925050604061251f8682870161242c565b9150509250925092565b5f60ff82169050919050565b61253e81612529565b82525050565b5f6020820190506125575f830184612535565b92915050565b5f60208284031215612572576125716123af565b5b5f61257f8482850161242c565b91505092915050565b5f6020828403121561259d5761259c6123af565b5b5f6125aa848285016123f9565b91505092915050565b6125bc816123d2565b82525050565b5f6020820190506125d55f8301846125b3565b92915050565b5f80604083850312156125f1576125f06123af565b5b5f6125fe858286016123f9565b925050602061260f858286016123f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561269b5780860481111561267757612676612619565b5b60018516156126865780820291505b808102905061269485612646565b945061265b565b94509492505050565b5f826126b3576001905061276e565b816126c0575f905061276e565b81600181146126d657600281146126e05761270f565b600191505061276e565b60ff8411156126f2576126f1612619565b5b8360020a91508482111561270957612708612619565b5b5061276e565b5060208310610133831016604e8410600b84101617156127445782820a90508381111561273f5761273e612619565b5b61276e565b6127518484846001612652565b9250905081840481111561276857612767612619565b5b81810290505b9392505050565b5f61277f8261240d565b915061278a83612529565b92506127b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126a4565b905092915050565b5f6127c98261240d565b91506127d48361240d565b92508282026127e28161240d565b915082820484148315176127f9576127f8612619565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283460208361230f565b915061283f82612800565b602082019050919050565b5f6020820190508181035f83015261286181612828565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61289f8261240d565b91506128aa8361240d565b9250826128ba576128b9612868565b5b828204905092915050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2032350000000000000000000000000000000000000000000000000000602082015250565b5f61291f60268361230f565b915061292a826128c5565b604082019050919050565b5f6020820190508181035f83015261294c81612913565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298760178361230f565b915061299282612953565b602082019050919050565b5f6020820190508181035f8301526129b48161297b565b9050919050565b5f815190506129c9816123e3565b92915050565b5f602082840312156129e4576129e36123af565b5b5f6129f1848285016129bb565b91505092915050565b5f604082019050612a0d5f8301856125b3565b612a1a60208301846125b3565b9392505050565b5f819050919050565b5f819050919050565b5f612a4d612a48612a4384612a21565b612a2a565b61240d565b9050919050565b612a5d81612a33565b82525050565b5f60c082019050612a765f8301896125b3565b612a8360208301886124b1565b612a906040830187612a54565b612a9d6060830186612a54565b612aaa60808301856125b3565b612ab760a08301846124b1565b979650505050505050565b5f81519050612ad081612416565b92915050565b5f805f60608486031215612aed57612aec6123af565b5b5f612afa86828701612ac2565b9350506020612b0b86828701612ac2565b9250506040612b1c86828701612ac2565b9150509250925092565b5f604082019050612b395f8301856125b3565b612b4660208301846124b1565b9392505050565b612b568161247e565b8114612b60575f80fd5b50565b5f81519050612b7181612b4d565b92915050565b5f60208284031215612b8c57612b8b6123af565b5b5f612b9984828501612b63565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bfc60248361230f565b9150612c0782612ba2565b604082019050919050565b5f6020820190508181035f830152612c2981612bf0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c8a60228361230f565b9150612c9582612c30565b604082019050919050565b5f6020820190508181035f830152612cb781612c7e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1860258361230f565b9150612d2382612cbe565b604082019050919050565b5f6020820190508181035f830152612d4581612d0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612da660238361230f565b9150612db182612d4c565b604082019050919050565b5f6020820190508181035f830152612dd381612d9a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3460298361230f565b9150612e3f82612dda565b604082019050919050565b5f6020820190508181035f830152612e6181612e28565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612ee860498361230f565b9150612ef382612e68565b606082019050919050565b5f6020820190508181035f830152612f1581612edc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f5060198361230f565b9150612f5b82612f1c565b602082019050919050565b5f6020820190508181035f830152612f7d81612f44565b9050919050565b5f612f8e8261240d565b9150612f998361240d565b9250828201905080821115612fb157612fb0612619565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612feb601a8361230f565b9150612ff682612fb7565b602082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b5f6130298261240d565b91506130348361240d565b925082820390508181111561304c5761304b612619565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130ac60218361230f565b91506130b782613052565b604082019050919050565b5f6020820190508181035f8301526130d9816130a0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61316c816123d2565b82525050565b5f61317d8383613163565b60208301905092915050565b5f602082019050919050565b5f61319f8261313a565b6131a98185613144565b93506131b483613154565b805f5b838110156131e45781516131cb8882613172565b97506131d683613189565b9250506001810190506131b7565b5085935050505092915050565b5f60a0820190506132045f8301886124b1565b6132116020830187612a54565b81810360408301526132238186613195565b905061323260608301856125b3565b61323f60808301846124b1565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61327d601b8361230f565b915061328882613249565b602082019050919050565b5f6020820190508181035f8301526132aa81613271565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201033de8a9534bb9a78b0d28afaabe4228f7edfe9c37915fd38a89778ea1c25ed64736f6c63430008150033

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

0000000000000000000000001eed5b4dc921156999a39a804bc5295839e5b424

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001eed5b4dc921156999a39a804bc5295839e5b424


Deployed Bytecode Sourcemap

3596:7464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6024:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5468:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6193:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5377:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9886:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5571:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2677:148;;;;;;;;;;;;;:::i;:::-;;10012:196;;;;;;;;;;;;;:::i;:::-;;4334:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9589:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2463:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4390:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5282:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5698:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9757:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4450:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3939:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10320:699;;;;;;;;;;;;;:::i;:::-;;9427:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10216:96;;;;;;;;;;;;;:::i;:::-;;5191:83;5228:13;5261:5;;;;;;;;;;;;;;;;;5254:12;;5191:83;:::o;6024:161::-;6099:4;6116:39;6125:12;:10;:12::i;:::-;6139:7;6148:6;6116:8;:39::i;:::-;6173:4;6166:11;;6024:161;;;;:::o;5468:95::-;5521:7;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;5541:14;;5468:95;:::o;6193:313::-;6291:4;6308:36;6318:6;6326:9;6337:6;6308:9;:36::i;:::-;6355:121;6364:6;6372:12;:10;:12::i;:::-;6386:89;6424:6;6386:89;;;;;;;;;;;;;;;;;:11;:19;6398:6;6386:19;;;;;;;;;;;;;;;:33;6406:12;:10;:12::i;:::-;6386:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6355:8;:121::i;:::-;6494:4;6487:11;;6193:313;;;;;:::o;5377:83::-;5418:5;4150:2;5436:16;;5377:83;:::o;9886:118::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9992:4:::1;9982:7;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;9972:17;;;;:::i;:::-;:24;;;;:::i;:::-;9955:14;:41;;;;9886:118:::0;:::o;5571:119::-;5637:7;5664:9;:18;5674:7;5664:18;;;;;;;;;;;;;;;;5657:25;;5571:119;;;:::o;2677:148::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2784:1:::1;2747:40;;2768:6;::::0;::::1;;;;;;;;2747:40;;;;;;;;;;;;2815:1;2798:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2677:148::o:0;10012:196::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4150:2:::1;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;10065:12;:22;;;;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;10098:14;:22;;;;10152:5;10131:20;;:26;;;;;;;;;;;;;;;;;;10173:27;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;10173:27;;;;;;:::i;:::-;;;;;;;;10012:196::o:0;4334:49::-;;;;:::o;9589:156::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9667:2:::1;9660:3;:9;;9652:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9734:3;9723:8;:14;;;;9589:156:::0;:::o;2463:79::-;2501:7;2528:6;;;;;;;;;;;2521:13;;2463:79;:::o;4390:53::-;;;;:::o;5282:87::-;5321:13;5354:7;;;;;;;;;;;;;;;;;5347:14;;5282:87;:::o;5698:167::-;5776:4;5793:42;5803:12;:10;:12::i;:::-;5817:9;5828:6;5793:9;:42::i;:::-;5853:4;5846:11;;5698:167;;;;:::o;9757:121::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9866:4:::1;9856:7;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;9846:17;;;;:::i;:::-;:24;;;;:::i;:::-;9831:12;:39;;;;9757:121:::0;:::o;4450:54::-;;;;:::o;3939:39::-;;;;;;;;;;;;;:::o;10320:699::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10384:11:::1;;;;;;;;;;;10383:12;10375:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10484:42;10433:15;;:108;;;;;;;;;;;;;;;;;;10552:58;10569:4;10584:15;;;;;;;;;;;4150:2;4204;:13;;;;:::i;:::-;4194:7;:23;;;;:::i;:::-;10552:8;:58::i;:::-;10655:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10637:55;;;10701:4;10708:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10637:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10621:13;;:110;;;;;;;;;;;;;;;;;;10742:15;;;;;;;;;;;:31;;;10781:21;10812:4;10818:24;10836:4;10818:9;:24::i;:::-;10843:1;10845::::0;10847:7:::1;:5;:7::i;:::-;10855:15;10742:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10889:13;;;;;;;;;;;10882:29;;;10920:15;;;;;;;;;;;10938:14;10882:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10978:4;10964:11;;:18;;;;;;;;;;;;;;;;;;11007:4;10993:11;;:18;;;;;;;;;;;;;;;;;;10320:699::o:0;9427:154::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9504:2:::1;9497:3;:9;;9489:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9570:3;9560:7;:13;;;;9427:154:::0;:::o;5873:143::-;5954:7;5981:11;:18;5993:5;5981:18;;;;;;;;;;;;;;;:27;6000:7;5981:27;;;;;;;;;;;;;;;;5974:34;;5873:143;;;;:::o;10216:96::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10299:5:::1;10278:20;;:26;;;;;;;;;;;;;;;;;;10216:96::o:0;218:98::-;271:7;298:10;291:17;;218:98;:::o;6514:335::-;6624:1;6607:19;;:5;:19;;;6599:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6705:1;6686:21;;:7;:21;;;6678:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6787:6;6757:11;:18;6769:5;6757:18;;;;;;;;;;;;;;;:27;6776:7;6757:27;;;;;;;;;;;;;;;:36;;;;6825:7;6809:32;;6818:5;6809:32;;;6834:6;6809:32;;;;;;:::i;:::-;;;;;;;;6514:335;;;:::o;6857:2065::-;6961:1;6945:18;;:4;:18;;;6937:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7038:1;7024:16;;:2;:16;;;7016:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7108:1;7099:6;:10;7091:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7168:17;7214:7;:5;:7::i;:::-;7206:15;;:4;:15;;;;:32;;;;;7231:7;:5;:7::i;:::-;7225:13;;:2;:13;;;;7206:32;7202:1348;;;7259:20;;;;;;;;;;;7255:388;;;7318:15;;;;;;;;;;;7304:30;;:2;:30;;;;:62;;;;;7352:13;;;;;;;;;;;7338:28;;:2;:28;;;;7304:62;7300:328;;;7441:12;7399:28;:39;7428:9;7399:39;;;;;;;;;;;;;;;;:54;7391:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;7596:12;7554:28;:39;7583:9;7554:39;;;;;;;;;;;;;;;:54;;;;7300:328;7255:388;7671:13;;;;;;;;;;;7663:21;;:4;:21;;;:55;;;;;7702:15;;;;;;;;;;;7688:30;;:2;:30;;;;7663:55;:82;;;;;7723:18;:22;7742:2;7723:22;;;;;;;;;;;;;;;;;;;;;;;;;7722:23;7663:82;7659:340;;;7778:28;7802:3;7778:19;7789:7;;7778:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7766:40;;7843:12;;7833:6;:22;;7825:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7938:14;;7928:6;7912:13;7922:2;7912:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7904:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7659:340;8025:13;;;;;;;;;;;8019:19;;:2;:19;;;:44;;;;;8058:4;8042:21;;:4;:21;;;;8019:44;8015:126;;;8096:29;8121:3;8096:20;8107:8;;8096:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8084:41;;8015:126;8157:28;8188:24;8206:4;8188:9;:24::i;:::-;8157:55;;8232:6;;;;;;;;;;;8231:7;:30;;;;;8248:13;;;;;;;;;;;8242:19;;:2;:19;;;8231:30;:45;;;;;8265:11;;;;;;;;;;;8231:45;:89;;;;;8303:17;;8280:20;:40;8231:89;8227:312;;;8354:17;;8344:6;:27;8341:183;;8396:35;8413:17;;8396:16;:35::i;:::-;8341:183;;;8480:24;8497:6;8480:16;:24::i;:::-;8341:183;8227:312;7240:1310;7202:1348;8577:1;8565:9;:13;8562:171;;;8622:39;8651:9;8622;:24;8640:4;8622:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8595:9;:24;8613:4;8595:24;;;;;;;;;;;;;;;:66;;;;8704:4;8681:40;;8690:4;8681:40;;;8711:9;8681:40;;;;;;:::i;:::-;;;;;;;;8562:171;8763:27;8783:6;8763:9;:15;8773:4;8763:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8745:9;:15;8755:4;8745:15;;;;;;;;;;;;;;;:45;;;;8817:40;8835:21;8846:9;8835:6;:10;;:21;;;;:::i;:::-;8817:9;:13;8827:2;8817:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8801:9;:13;8811:2;8801:13;;;;;;;;;;;;;;;:56;;;;8888:2;8873:41;;8882:4;8873:41;;;8892:21;8903:9;8892:6;:10;;:21;;;;:::i;:::-;8873:41;;;;;;:::i;:::-;;;;;;;;6926:1996;6857:2065;;;:::o;1355:190::-;1441:7;1474:1;1469;:6;;1477:12;1461:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1501:9;1517:1;1513;:5;;;;:::i;:::-;1501:17;;1536:1;1529:8;;;1355:190;;;;;:::o;1553:246::-;1611:7;1640:1;1635;:6;1631:47;;1665:1;1658:8;;;;1631:47;1688:9;1704:1;1700;:5;;;;:::i;:::-;1688:17;;1733:1;1728;1724;:5;;;;:::i;:::-;:10;1716:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1790:1;1783:8;;;1553:246;;;;;:::o;1807:132::-;1865:7;1892:39;1896:1;1899;1892:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1885:46;;1807:132;;;;:::o;8930:489::-;4795:4;4786:6;;:13;;;;;;;;;;;;;;;;;;9008:21:::1;9046:1;9032:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9008:40;;9077:4;9059;9064:1;9059:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9103:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9093:4;9098:1;9093:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9136:62;9153:4;9168:15;;;;;;;;;;;9186:11;9136:8;:62::i;:::-;9209:15;;;;;;;;;;;:66;;;9290:11;9316:1;9332:4;9359:10;;;;;;;;;;;9385:15;9209:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8997:422;4831:5:::0;4822:6;;:14;;;;;;;;;;;;;;;;;;8930:489;:::o;1024:179::-;1082:7;1102:9;1118:1;1114;:5;;;;:::i;:::-;1102:17;;1143:1;1138;:6;;1130:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1194:1;1187:8;;;1024:179;;;;:::o;1211:136::-;1269:7;1296:43;1300:1;1303;1296:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1289:50;;1211:136;;;;:::o;1947:189::-;2033:7;2065:1;2061;:5;2068:12;2053:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2092:9;2108:1;2104;:5;;;;:::i;:::-;2092:17;;2127:1;2120:8;;;1947: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:225::-;10787:34;10783:1;10775:6;10771:14;10764:58;10856:8;10851:2;10843:6;10839:15;10832:33;10647:225;:::o;10878:366::-;11020:3;11041:67;11105:2;11100:3;11041:67;:::i;:::-;11034:74;;11117:93;11206:3;11117:93;:::i;:::-;11235:2;11230:3;11226:12;11219:19;;10878:366;;;:::o;11250:419::-;11416:4;11454:2;11443:9;11439:18;11431:26;;11503:9;11497:4;11493:20;11489:1;11478:9;11474:17;11467:47;11531:131;11657:4;11531:131;:::i;:::-;11523:139;;11250:419;;;:::o;11675:173::-;11815:25;11811:1;11803:6;11799:14;11792:49;11675:173;:::o;11854:366::-;11996:3;12017:67;12081:2;12076:3;12017:67;:::i;:::-;12010:74;;12093:93;12182:3;12093:93;:::i;:::-;12211:2;12206:3;12202:12;12195:19;;11854:366;;;:::o;12226:419::-;12392:4;12430:2;12419:9;12415:18;12407:26;;12479:9;12473:4;12469:20;12465:1;12454:9;12450:17;12443:47;12507:131;12633:4;12507:131;:::i;:::-;12499:139;;12226:419;;;:::o;12651:143::-;12708:5;12739:6;12733:13;12724:22;;12755:33;12782:5;12755:33;:::i;:::-;12651:143;;;;:::o;12800:351::-;12870:6;12919:2;12907:9;12898:7;12894:23;12890:32;12887:119;;;12925:79;;:::i;:::-;12887:119;13045:1;13070:64;13126:7;13117:6;13106:9;13102:22;13070:64;:::i;:::-;13060:74;;13016:128;12800:351;;;;:::o;13157:332::-;13278:4;13316:2;13305:9;13301:18;13293:26;;13329:71;13397:1;13386:9;13382:17;13373:6;13329:71;:::i;:::-;13410:72;13478:2;13467:9;13463:18;13454:6;13410:72;:::i;:::-;13157:332;;;;;:::o;13495:85::-;13540:7;13569:5;13558:16;;13495:85;;;:::o;13586:60::-;13614:3;13635:5;13628:12;;13586:60;;;:::o;13652:158::-;13710:9;13743:61;13761:42;13770:32;13796:5;13770:32;:::i;:::-;13761:42;:::i;:::-;13743:61;:::i;:::-;13730:74;;13652:158;;;:::o;13816:147::-;13911:45;13950:5;13911:45;:::i;:::-;13906:3;13899:58;13816:147;;:::o;13969:807::-;14218:4;14256:3;14245:9;14241:19;14233:27;;14270:71;14338:1;14327:9;14323:17;14314:6;14270:71;:::i;:::-;14351:72;14419:2;14408:9;14404:18;14395:6;14351:72;:::i;:::-;14433:80;14509:2;14498:9;14494:18;14485:6;14433:80;:::i;:::-;14523;14599:2;14588:9;14584:18;14575:6;14523:80;:::i;:::-;14613:73;14681:3;14670:9;14666:19;14657:6;14613:73;:::i;:::-;14696;14764:3;14753:9;14749:19;14740:6;14696:73;:::i;:::-;13969:807;;;;;;;;;:::o;14782:143::-;14839:5;14870:6;14864:13;14855:22;;14886:33;14913:5;14886:33;:::i;:::-;14782:143;;;;:::o;14931:663::-;15019:6;15027;15035;15084:2;15072:9;15063:7;15059:23;15055:32;15052:119;;;15090:79;;:::i;:::-;15052:119;15210:1;15235:64;15291:7;15282:6;15271:9;15267:22;15235:64;:::i;:::-;15225:74;;15181:128;15348:2;15374:64;15430:7;15421:6;15410:9;15406:22;15374:64;:::i;:::-;15364:74;;15319:129;15487:2;15513:64;15569:7;15560:6;15549:9;15545:22;15513:64;:::i;:::-;15503:74;;15458:129;14931:663;;;;;:::o;15600:332::-;15721:4;15759:2;15748:9;15744:18;15736:26;;15772:71;15840:1;15829:9;15825:17;15816:6;15772:71;:::i;:::-;15853:72;15921:2;15910:9;15906:18;15897:6;15853:72;:::i;:::-;15600:332;;;;;:::o;15938:116::-;16008:21;16023:5;16008:21;:::i;:::-;16001:5;15998:32;15988:60;;16044:1;16041;16034:12;15988:60;15938:116;:::o;16060:137::-;16114:5;16145:6;16139:13;16130:22;;16161:30;16185:5;16161:30;:::i;:::-;16060:137;;;;:::o;16203:345::-;16270:6;16319:2;16307:9;16298:7;16294:23;16290:32;16287:119;;;16325:79;;:::i;:::-;16287:119;16445:1;16470:61;16523:7;16514:6;16503:9;16499:22;16470:61;:::i;:::-;16460:71;;16416:125;16203:345;;;;:::o;16554:223::-;16694:34;16690:1;16682:6;16678:14;16671:58;16763:6;16758:2;16750:6;16746:15;16739:31;16554:223;:::o;16783:366::-;16925:3;16946:67;17010:2;17005:3;16946:67;:::i;:::-;16939:74;;17022:93;17111:3;17022:93;:::i;:::-;17140:2;17135:3;17131:12;17124:19;;16783:366;;;:::o;17155:419::-;17321:4;17359:2;17348:9;17344:18;17336:26;;17408:9;17402:4;17398:20;17394:1;17383:9;17379:17;17372:47;17436:131;17562:4;17436:131;:::i;:::-;17428:139;;17155:419;;;:::o;17580:221::-;17720:34;17716:1;17708:6;17704:14;17697:58;17789:4;17784:2;17776:6;17772:15;17765:29;17580:221;:::o;17807:366::-;17949:3;17970:67;18034:2;18029:3;17970:67;:::i;:::-;17963:74;;18046:93;18135:3;18046:93;:::i;:::-;18164:2;18159:3;18155:12;18148:19;;17807:366;;;:::o;18179:419::-;18345:4;18383:2;18372:9;18368:18;18360:26;;18432:9;18426:4;18422:20;18418:1;18407:9;18403:17;18396:47;18460:131;18586:4;18460:131;:::i;:::-;18452:139;;18179:419;;;:::o;18604:224::-;18744:34;18740:1;18732:6;18728:14;18721:58;18813:7;18808:2;18800:6;18796:15;18789:32;18604:224;:::o;18834:366::-;18976:3;18997:67;19061:2;19056:3;18997:67;:::i;:::-;18990:74;;19073:93;19162:3;19073:93;:::i;:::-;19191:2;19186:3;19182:12;19175:19;;18834:366;;;:::o;19206:419::-;19372:4;19410:2;19399:9;19395:18;19387:26;;19459:9;19453:4;19449:20;19445:1;19434:9;19430:17;19423:47;19487:131;19613:4;19487:131;:::i;:::-;19479:139;;19206:419;;;:::o;19631:222::-;19771:34;19767:1;19759:6;19755:14;19748:58;19840:5;19835:2;19827:6;19823:15;19816:30;19631:222;:::o;19859:366::-;20001:3;20022:67;20086:2;20081:3;20022:67;:::i;:::-;20015:74;;20098:93;20187:3;20098:93;:::i;:::-;20216:2;20211:3;20207:12;20200:19;;19859:366;;;:::o;20231:419::-;20397:4;20435:2;20424:9;20420:18;20412:26;;20484:9;20478:4;20474:20;20470:1;20459:9;20455:17;20448:47;20512:131;20638:4;20512:131;:::i;:::-;20504:139;;20231:419;;;:::o;20656:228::-;20796:34;20792:1;20784:6;20780:14;20773:58;20865:11;20860:2;20852:6;20848:15;20841:36;20656:228;:::o;20890:366::-;21032:3;21053:67;21117:2;21112:3;21053:67;:::i;:::-;21046:74;;21129:93;21218:3;21129:93;:::i;:::-;21247:2;21242:3;21238:12;21231:19;;20890:366;;;:::o;21262:419::-;21428:4;21466:2;21455:9;21451:18;21443:26;;21515:9;21509:4;21505:20;21501:1;21490:9;21486:17;21479:47;21543:131;21669:4;21543:131;:::i;:::-;21535:139;;21262:419;;;:::o;21687:297::-;21827:34;21823:1;21815:6;21811:14;21804:58;21896:34;21891:2;21883:6;21879:15;21872:59;21965:11;21960:2;21952:6;21948:15;21941:36;21687:297;:::o;21990:366::-;22132:3;22153:67;22217:2;22212:3;22153:67;:::i;:::-;22146:74;;22229:93;22318:3;22229:93;:::i;:::-;22347:2;22342:3;22338:12;22331:19;;21990:366;;;:::o;22362:419::-;22528:4;22566:2;22555:9;22551:18;22543:26;;22615:9;22609:4;22605:20;22601:1;22590:9;22586:17;22579:47;22643:131;22769:4;22643:131;:::i;:::-;22635:139;;22362:419;;;:::o;22787:175::-;22927:27;22923:1;22915:6;22911:14;22904:51;22787:175;:::o;22968:366::-;23110:3;23131:67;23195:2;23190:3;23131:67;:::i;:::-;23124:74;;23207:93;23296:3;23207:93;:::i;:::-;23325:2;23320:3;23316:12;23309:19;;22968:366;;;:::o;23340:419::-;23506:4;23544:2;23533:9;23529:18;23521:26;;23593:9;23587:4;23583:20;23579:1;23568:9;23564:17;23557:47;23621:131;23747:4;23621:131;:::i;:::-;23613:139;;23340:419;;;:::o;23765:191::-;23805:3;23824:20;23842:1;23824:20;:::i;:::-;23819:25;;23858:20;23876:1;23858:20;:::i;:::-;23853:25;;23901:1;23898;23894:9;23887:16;;23922:3;23919:1;23916:10;23913:36;;;23929:18;;:::i;:::-;23913:36;23765:191;;;;:::o;23962:176::-;24102:28;24098:1;24090:6;24086:14;24079:52;23962:176;:::o;24144:366::-;24286:3;24307:67;24371:2;24366:3;24307:67;:::i;:::-;24300:74;;24383:93;24472:3;24383:93;:::i;:::-;24501:2;24496:3;24492:12;24485:19;;24144:366;;;:::o;24516:419::-;24682:4;24720:2;24709:9;24705:18;24697:26;;24769:9;24763:4;24759:20;24755:1;24744:9;24740:17;24733:47;24797:131;24923:4;24797:131;:::i;:::-;24789:139;;24516:419;;;:::o;24941:194::-;24981:4;25001:20;25019:1;25001:20;:::i;:::-;24996:25;;25035:20;25053:1;25035:20;:::i;:::-;25030:25;;25079:1;25076;25072:9;25064:17;;25103:1;25097:4;25094:11;25091:37;;;25108:18;;:::i;:::-;25091:37;24941:194;;;;:::o;25141:220::-;25281:34;25277:1;25269:6;25265:14;25258:58;25350:3;25345:2;25337:6;25333:15;25326:28;25141:220;:::o;25367:366::-;25509:3;25530:67;25594:2;25589:3;25530:67;:::i;:::-;25523:74;;25606:93;25695:3;25606:93;:::i;:::-;25724:2;25719:3;25715:12;25708:19;;25367:366;;;:::o;25739:419::-;25905:4;25943:2;25932:9;25928:18;25920:26;;25992:9;25986:4;25982:20;25978:1;25967:9;25963:17;25956:47;26020:131;26146:4;26020:131;:::i;:::-;26012:139;;25739:419;;;:::o;26164:180::-;26212:77;26209:1;26202:88;26309:4;26306:1;26299:15;26333:4;26330:1;26323:15;26350:180;26398:77;26395:1;26388:88;26495:4;26492:1;26485:15;26519:4;26516:1;26509:15;26536:114;26603:6;26637:5;26631:12;26621:22;;26536:114;;;:::o;26656:184::-;26755:11;26789:6;26784:3;26777:19;26829:4;26824:3;26820:14;26805:29;;26656:184;;;;:::o;26846:132::-;26913:4;26936:3;26928:11;;26966:4;26961:3;26957:14;26949:22;;26846:132;;;:::o;26984:108::-;27061:24;27079:5;27061:24;:::i;:::-;27056:3;27049:37;26984:108;;:::o;27098:179::-;27167:10;27188:46;27230:3;27222:6;27188:46;:::i;:::-;27266:4;27261:3;27257:14;27243:28;;27098:179;;;;:::o;27283:113::-;27353:4;27385;27380:3;27376:14;27368:22;;27283:113;;;:::o;27432:732::-;27551:3;27580:54;27628:5;27580:54;:::i;:::-;27650:86;27729:6;27724:3;27650:86;:::i;:::-;27643:93;;27760:56;27810:5;27760:56;:::i;:::-;27839:7;27870:1;27855:284;27880:6;27877:1;27874:13;27855:284;;;27956:6;27950:13;27983:63;28042:3;28027:13;27983:63;:::i;:::-;27976:70;;28069:60;28122:6;28069:60;:::i;:::-;28059:70;;27915:224;27902:1;27899;27895:9;27890:14;;27855:284;;;27859:14;28155:3;28148:10;;27556:608;;;27432:732;;;;:::o;28170:831::-;28433:4;28471:3;28460:9;28456:19;28448:27;;28485:71;28553:1;28542:9;28538:17;28529:6;28485:71;:::i;:::-;28566:80;28642:2;28631:9;28627:18;28618:6;28566:80;:::i;:::-;28693:9;28687:4;28683:20;28678:2;28667:9;28663:18;28656:48;28721:108;28824:4;28815:6;28721:108;:::i;:::-;28713:116;;28839:72;28907:2;28896:9;28892:18;28883:6;28839:72;:::i;:::-;28921:73;28989:3;28978:9;28974:19;28965:6;28921:73;:::i;:::-;28170:831;;;;;;;;:::o;29007:177::-;29147:29;29143:1;29135:6;29131:14;29124:53;29007:177;:::o;29190:366::-;29332:3;29353:67;29417:2;29412:3;29353:67;:::i;:::-;29346:74;;29429:93;29518:3;29429:93;:::i;:::-;29547:2;29542:3;29538:12;29531:19;;29190:366;;;:::o;29562:419::-;29728:4;29766:2;29755:9;29751:18;29743:26;;29815:9;29809:4;29805:20;29801:1;29790:9;29786:17;29779:47;29843:131;29969:4;29843:131;:::i;:::-;29835:139;;29562:419;;;:::o

Swarm Source

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