ETH Price: $2,741.38 (+13.17%)
 

Overview

Max Total Supply

10,000,000 $BULL

Holders

23

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
VitalikBullPosting

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-11
*/

/**
 *Submitted for verification at Etherscan.io 
*/

/**
 *Submitted Vitalik Bull Posting $BULL
*/

/*
.##.....##.####.########....###....##.......####.##....##....########..##.....##.##.......##..........########...#######...######..########.####.##....##..######.......########..########..##.....##.##.......##......
.##.....##..##.....##......##.##...##........##..##...##.....##.....##.##.....##.##.......##..........##.....##.##.....##.##....##....##.....##..###...##.##....##.....##..##..##.##.....##.##.....##.##.......##......
.##.....##..##.....##.....##...##..##........##..##..##......##.....##.##.....##.##.......##..........##.....##.##.....##.##..........##.....##..####..##.##...........##..##.....##.....##.##.....##.##.......##......
.##.....##..##.....##....##.....##.##........##..#####.......########..##.....##.##.......##..........########..##.....##..######.....##.....##..##.##.##.##...####.....########..########..##.....##.##.......##......
..##...##...##.....##....#########.##........##..##..##......##.....##.##.....##.##.......##..........##........##.....##.......##....##.....##..##..####.##....##.........##..##.##.....##.##.....##.##.......##......
...##.##....##.....##....##.....##.##........##..##...##.....##.....##.##.....##.##.......##..........##........##.....##.##....##....##.....##..##...###.##....##.....##..##..##.##.....##.##.....##.##.......##......
....###....####....##....##.....##.########.####.##....##....########...#######..########.########....##.........#######...######.....##....####.##....##..######.......########..########...#######..########.########
 
                                                                                                                              

                                                                                                                        
                                                                                                                        
Vitalik Bull Posting $BULL

 ETH Bullposting Is Good

    Telegram : https://t.me/BullPosting_ETH
    Website  : https://x.com/vitalikbuterin/status/1833721083326779701

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.26;
pragma experimental ABIEncoderV2;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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
    );
}

abstract contract Ownable is Context {

    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }


}

interface IDexSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexSwapRouter {
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}

contract VitalikBullPosting is Context, IERC20, Ownable {

    using SafeMath for uint256;

    address private constant deadAddress = address(0xdead);

    string private _name = "ETH Bullposting Is Good";
    string private _symbol = "$BULL";
    uint8 private _decimals = 18; 

    address private marketingWallet;
    address private developerWallet;
    
    struct feeStruct {
        uint256 buy;
        uint256 sell;
    }
    feeStruct public fee;

    bool public stealth;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public IsChargePair;
    mapping (address => bool) public isMarketPair;

    uint256 private _totalSupply = 10_000_000 * 10**_decimals;

    uint256 public maxTransaction =  _totalSupply.mul(3).div(100);
    uint256 public maxWallet = _totalSupply.mul(3).div(100);

    uint256 public swapThreshold = _totalSupply.mul(1).div(100);

    bool public swapEnabled = true;
    bool public swapbylimit = true;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier onlyGuard() {
        require(msg.sender == developerWallet,'Invalid Caller!');
        _;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor(address _taxWallet) {

        developerWallet = msg.sender;
        marketingWallet = _taxWallet;

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory()).createPair(address(this),_dexRouter.WETH());

        dexRouter = _dexRouter;

        isMarketPair[dexPair] = true;

        IsChargePair[address(this)] = true;
        IsChargePair[developerWallet] = true;
        IsChargePair[address(deadAddress)] = true;

        fee.buy = 20;
        fee.sell = 25;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

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

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

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

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

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

    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 _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);
    }

    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if(!IsChargePair[sender] && !IsChargePair[recipient]) {
                require(stealth,"Not stealth!");
                require(amount <= maxTransaction, "Exceeds maxTxAmount");
                if(!isMarketPair[recipient]) {
                    require(balanceOf(recipient).add(amount) <= maxWallet, "Exceeds maxWallet");
                }
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && 
                !inSwap && 
                !isMarketPair[sender] && 
                swapEnabled &&
                !IsChargePair[sender] &&
                !IsChargePair[recipient]
                ) {
                swapBack(contractTokenBalance);
            }
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;

        }

    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(IsChargePair[sender] || IsChargePair[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { 
                feeAmount = amount.mul(fee.buy).div(100);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(fee.sell).div(100);
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint256 tokens) private {

        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

        if ((fee.buy+fee.sell) == 0) {

        if(contractBalance > 0 && contractBalance < swapThreshold) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(fee.sell).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapThreshold) {
                tokensToSwap = swapThreshold;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapThreshold.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapThreshold.div(5) && contractBalance < swapThreshold) {
            tokensToSwap = swapThreshold.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(fee.sell).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapThreshold) {
                tokensToSwap = swapThreshold;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            1, 
            path,
            address(marketingWallet), 
            block.timestamp + 30
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function setMarketingWallet(address newAddress) external onlyOwner {
        marketingWallet = newAddress;
    }

    function setDeveloperWallet(address _newWallet) external onlyOwner {
        developerWallet = _newWallet;
    }

    function rescueFundsNative() external onlyGuard() {
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function rescueStuckTokens(address tokenAddress) external onlyGuard() {
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(msg.sender, balance);
    }
    
    function burnClogged(uint _amount) external onlyGuard() {
        uint contractBalance = _balances[address(this)];
        require(contractBalance >= _amount,'Insufficient Balance!');
        _balances[address(this)] = _balances[address(this)] - _amount;
        _balances[address(deadAddress)] = _balances[address(deadAddress)] + _amount;
        emit Transfer(address(this), address(deadAddress), _amount);
    }

    function setFee(uint _buy, uint _sell) external onlyOwner {
        require(_buy <= 99 && _sell <= 99,"Max tax Limit Reached!");
        fee.buy = _buy;
        fee.sell = _sell;
    }   

    function openTrade() external onlyOwner() {
        require(!stealth,"Invalid!");
        stealth = true;
    }

    function setSwapBackSettings(bool _enabled, bool _limited, uint _threshold)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
        swapThreshold = _threshold;
    }

    function removeLimits() external onlyOwner {
        maxTransaction = _totalSupply;
        maxWallet = _totalSupply;
    }


}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"IsChargePair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnClogged","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFundsNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"rescueStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDeveloperWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stealth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601760809081527f4554482042756c6c706f7374696e6720497320476f6f6400000000000000000060a05260019061003c908261058c565b50604080518082019091526005815264091095531360da1b6020820152600290610066908261058c565b506003805460ff1916601290811790915561008290600a61073d565b61008f906298968061074b565b600c8190556100ac906064906100a690600361039d565b90610429565b600d55600c546100c4906064906100a690600361039d565b600e55600c546100dc906064906100a690600161039d565b600f556010805461ffff19166101011790553480156100f9575f80fd5b5060405161263a38038061263a83398101604081905261011891610762565b61012133610470565b600480546001600160a01b03191633178155600380546001600160a01b03841661010002610100600160a81b03199091161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592818301926020928290030181865afa1580156101a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c59190610762565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102349190610762565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561027e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a29190610762565b601180546001600160a01b0319166001600160a01b039283169081179091556010805462010000600160b01b03191662010000858516021790555f908152600b60209081526040808320805460ff199081166001908117909255308552600a84528285208054821683179055600454909516845281842080548616821790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549095161790935560146005556019600655600c54338084526008835284842082905593519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506107dc565b5f825f036103ac57505f610423565b5f6103b7838561074b565b9050826103c48583610788565b146104205760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61042083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104bf60201b60201c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f81836104df5760405162461bcd60e51b815260040161041791906107a7565b505f6104eb8486610788565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061051c57607f821691505b60208210810361053a57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561058757805f5260205f20601f840160051c810160208510156105655750805b601f840160051c820191505b81811015610584575f8155600101610571565b50505b505050565b81516001600160401b038111156105a5576105a56104f4565b6105b9816105b38454610508565b84610540565b6020601f8211600181146105eb575f83156105d45750848201515b5f19600385901b1c1916600184901b178455610584565b5f84815260208120601f198516915b8281101561061a57878501518255602094850194600190920191016105fa565b508482101561063757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156106955780850481111561067957610679610646565b600184161561068757908102905b60019390931c92800261065e565b935093915050565b5f826106ab57506001610423565b816106b757505f610423565b81600181146106cd57600281146106d7576106f3565b6001915050610423565b60ff8411156106e8576106e8610646565b50506001821b610423565b5060208310610133831016604e8410600b8410161715610716575081810a610423565b6107225f19848461065a565b805f190482111561073557610735610646565b029392505050565b5f61042060ff84168361069d565b808202811582820484141761042357610423610646565b5f60208284031215610772575f80fd5b81516001600160a01b0381168114610420575f80fd5b5f826107a257634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b611e51806107e95f395ff3fe6080604052600436106101de575f3560e01c806370a08231116100fd578063dd62ed3e11610092578063f2fde38b11610062578063f2fde38b146105a7578063f8b45b05146105c6578063fb201b1d146105db578063fd10136d146105ef575f80fd5b8063dd62ed3e146104f7578063ddca3f431461053b578063e9fd33941461056a578063f242ab4114610588575f80fd5b806395d89b41116100cd57806395d89b411461049b578063a9059cbb146104af578063c3f70b52146104ce578063d58549ea146104e3575f80fd5b806370a0823114610423578063715018a614610457578063751039fc1461046b5780638da5cb5b1461047f575f80fd5b8063280b8112116101735780635d098b38116101435780635d098b381461039e5780635e8bf1d6146103bd5780636cd56878146103eb5780636ddd17131461040a575f80fd5b8063280b811214610311578063313ce567146103305780633ecad2711461035157806352f7c9881461037f575f80fd5b8063095ea7b3116101ae578063095ea7b3146102905780630c1fe80c146102bf57806318160ddd146102de57806323b872dd146102f2575f80fd5b806301ae592b146101e95780630445b6671461020a57806306fdde03146102325780630758d92414610253575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b50610208610203366004611a67565b610608565b005b348015610215575f80fd5b5061021f600f5481565b6040519081526020015b60405180910390f35b34801561023d575f80fd5b50610246610665565b6040516102299190611aa5565b34801561025e575f80fd5b50601054610278906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561029b575f80fd5b506102af6102aa366004611aee565b6106f5565b6040519015158152602001610229565b3480156102ca575f80fd5b506102086102d9366004611b18565b61070b565b3480156102e9575f80fd5b50600c5461021f565b3480156102fd575f80fd5b506102af61030c366004611b33565b610859565b34801561031c575f80fd5b5061020861032b366004611b60565b6108c2565b34801561033b575f80fd5b5060035460405160ff9091168152602001610229565b34801561035c575f80fd5b506102af61036b366004611b18565b600b6020525f908152604090205460ff1681565b34801561038a575f80fd5b50610208610399366004611b77565b6109ff565b3480156103a9575f80fd5b506102086103b8366004611b18565b610a8a565b3480156103c8575f80fd5b506102af6103d7366004611b18565b600a6020525f908152604090205460ff1681565b3480156103f6575f80fd5b50610208610405366004611b18565b610adb565b348015610415575f80fd5b506010546102af9060ff1681565b34801561042e575f80fd5b5061021f61043d366004611b18565b6001600160a01b03165f9081526008602052604090205490565b348015610462575f80fd5b50610208610b26565b348015610476575f80fd5b50610208610b5a565b34801561048a575f80fd5b505f546001600160a01b0316610278565b3480156104a6575f80fd5b50610246610b90565b3480156104ba575f80fd5b506102af6104c9366004611aee565b610b9f565b3480156104d9575f80fd5b5061021f600d5481565b3480156104ee575f80fd5b50610208610bab565b348015610502575f80fd5b5061021f610511366004611b97565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610546575f80fd5b50600554600654610555919082565b60408051928352602083019190915201610229565b348015610575575f80fd5b506010546102af90610100900460ff1681565b348015610593575f80fd5b50601154610278906001600160a01b031681565b3480156105b2575f80fd5b506102086105c1366004611b18565b610c49565b3480156105d1575f80fd5b5061021f600e5481565b3480156105e6575f80fd5b50610208610ce0565b3480156105fa575f80fd5b506007546102af9060ff1681565b5f546001600160a01b0316331461063a5760405162461bcd60e51b815260040161063190611bce565b60405180910390fd5b6010805461ffff191693151561ff001916939093176101009215159290920291909117909155600f55565b60606001805461067490611c03565b80601f01602080910402602001604051908101604052809291908181526020018280546106a090611c03565b80156106eb5780601f106106c2576101008083540402835291602001916106eb565b820191905f5260205f20905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b5f610701338484610d56565b5060015b92915050565b6004546001600160a01b031633146107355760405162461bcd60e51b815260040161063190611c3b565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561077b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611c64565b90505f81116107e55760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610631565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611c7b565b50505050565b5f610865848484610e79565b506108b784336108b285604051806060016040528060288152602001611dd4602891396001600160a01b038a165f90815260096020908152604080832033845290915290205491906112d9565b610d56565b5060015b9392505050565b6004546001600160a01b031633146108ec5760405162461bcd60e51b815260040161063190611c3b565b305f90815260086020526040902054818110156109435760405162461bcd60e51b8152602060048201526015602482015274496e73756666696369656e742042616c616e63652160581b6044820152606401610631565b305f9081526008602052604090205461095d908390611caa565b305f9081526008602052604081209190915561dead90527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299546109a1908390611cbd565b61dead5f81905260086020527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342999190915560405130905f80516020611dfc833981519152906109f39086815260200190565b60405180910390a35050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161063190611bce565b60638211158015610a3a575060638111155b610a7f5760405162461bcd60e51b81526020600482015260166024820152754d617820746178204c696d697420526561636865642160501b6044820152606401610631565b600591909155600655565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161063190611bce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b045760405162461bcd60e51b815260040161063190611bce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161063190611bce565b610b585f611311565b565b5f546001600160a01b03163314610b835760405162461bcd60e51b815260040161063190611bce565b600c54600d819055600e55565b60606002805461067490611c03565b5f6108b7338484610e79565b6004546001600160a01b03163314610bd55760405162461bcd60e51b815260040161063190611c3b565b5f4711610c1d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610631565b60405133904780156108fc02915f818181858888f19350505050158015610c46573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c725760405162461bcd60e51b815260040161063190611bce565b6001600160a01b038116610cd75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610631565b610c4681611311565b5f546001600160a01b03163314610d095760405162461bcd60e51b815260040161063190611bce565b60075460ff1615610d475760405162461bcd60e51b8152602060048201526008602482015267496e76616c69642160c01b6044820152606401610631565b6007805460ff19166001179055565b6001600160a01b038316610db85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610631565b6001600160a01b038216610e195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610631565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ede5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610631565b6001600160a01b038316610f405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610631565b5f8211610fa15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610631565b601154600160a01b900460ff1615610fc557610fbe848484611360565b90506108bb565b6001600160a01b0384165f908152600a602052604090205460ff1615801561100557506001600160a01b0383165f908152600a602052604090205460ff16155b1561111f5760075460ff1661104b5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420737465616c74682160a01b6044820152606401610631565b600d548211156110935760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610631565b6001600160a01b0383165f908152600b602052604090205460ff1661111f57600e546110dd836110d7866001600160a01b03165f9081526008602052604090205490565b90611430565b111561111f5760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610631565b305f90815260086020526040902054600f548110801590819061114c5750601154600160a01b900460ff16155b801561117057506001600160a01b0386165f908152600b602052604090205460ff16155b801561117e575060105460ff165b80156111a257506001600160a01b0386165f908152600a602052604090205460ff16155b80156111c657506001600160a01b0385165f908152600a602052604090205460ff16155b156111d4576111d48261148e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600890915291909120546112259186906112d9565b6001600160a01b0387165f9081526008602052604081209190915561124a87876115e7565b61125e57611259878787611681565b611260565b845b6001600160a01b0387165f908152600860205260409020549091506112859082611430565b6001600160a01b038088165f8181526008602052604090819020939093559151908916905f80516020611dfc833981519152906112c59085815260200190565b60405180910390a3600193505050506108bb565b5f81848411156112fc5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611caa565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546113b09184906112d9565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546113de9083611430565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f80516020611dfc8339815191529061141e9086815260200190565b60405180910390a35060019392505050565b5f8061143c8385611cbd565b9050838110156108bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610631565b305f90815260086020526040812054908181036114aa57505050565b6006546005546114ba9190611cbd565b5f0361152c575f821180156114d05750600f5482105b156114dc5750806115d9565b5f61150060646114fa6005600101548761176690919063ffffffff16565b906117e4565b905061150c8185611caa565b9350600f5484111561152257600f549150611526565b8391505b506115d9565b5f821180156115475750600f546115449060056117e4565b82105b1561155157505050565b5f8211801561156c5750600f546115699060056117e4565b82115b80156115795750600f5482105b1561159357600f5461158c9060056117e4565b90506115d9565b5f6115b160646114fa6005600101548761176690919063ffffffff16565b90506115bd8185611caa565b9350600f548411156115d357600f5491506115d7565b8391505b505b6115e281611825565b505050565b6001600160a01b0382165f908152600a602052604081205460ff168061162457506001600160a01b0382165f908152600a602052604090205460ff165b1561163157506001610705565b6001600160a01b0383165f908152600b602052604090205460ff168061166e57506001600160a01b0382165f908152600b602052604090205460ff165b1561167a57505f610705565b505f610705565b6001600160a01b0383165f908152600b6020526040812054819060ff16156116bf576005546116b8906064906114fa908690611766565b90506116f7565b6001600160a01b0384165f908152600b602052604090205460ff16156116f7576006546116f4906064906114fa908690611766565b90505b801561175c57305f908152600860205260409020546117169082611430565b305f81815260086020526040908190209290925590516001600160a01b038716905f80516020611dfc833981519152906117539085815260200190565b60405180910390a35b61130883826119ed565b5f825f0361177557505f610705565b5f6117808385611cd0565b90508261178d8583611ce7565b146108bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610631565b5f6108bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a2e565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185857611858611d06565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ed9190611d1a565b8160018151811061190057611900611d06565b6001600160a01b03928316602091820292909201015260105461192c9130916201000090041684610d56565b6010546003546001600160a01b036201000090920482169163791ac94791859160019186916101009091041661196342601e611cbd565b6040518663ffffffff1660e01b8152600401611983959493929190611d78565b5f604051808303815f87803b15801561199a575f80fd5b505af11580156119ac573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119e1929190611db3565b60405180910390a15050565b5f6108bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d9565b5f8183611a4e5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611ce7565b8015158114610c46575f80fd5b5f805f60608486031215611a79575f80fd5b8335611a8481611a5a565b92506020840135611a9481611a5a565b929592945050506040919091013590565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c46575f80fd5b5f8060408385031215611aff575f80fd5b8235611b0a81611ada565b946020939093013593505050565b5f60208284031215611b28575f80fd5b81356108bb81611ada565b5f805f60608486031215611b45575f80fd5b8335611b5081611ada565b92506020840135611a9481611ada565b5f60208284031215611b70575f80fd5b5035919050565b5f8060408385031215611b88575f80fd5b50508035926020909101359150565b5f8060408385031215611ba8575f80fd5b8235611bb381611ada565b91506020830135611bc381611ada565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1757607f821691505b602082108103611c3557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600f908201526e496e76616c69642043616c6c65722160881b604082015260600190565b5f60208284031215611c74575f80fd5b5051919050565b5f60208284031215611c8b575f80fd5b81516108bb81611a5a565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070557610705611c96565b8082018082111561070557610705611c96565b808202811582820484141761070557610705611c96565b5f82611d0157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d2a575f80fd5b81516108bb81611ada565b5f8151808452602084019350602083015f5b82811015611d6e5781516001600160a01b0316865260209586019590910190600101611d47565b5093949350505050565b85815284602082015260a060408201525f611d9660a0830186611d35565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dcb6040830184611d35565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e9af143fe478e2184a7aa5e6512b592859c651bd7495db5045d6d111f7d834dd64736f6c634300081a00330000000000000000000000001859934a23e5a8836e00b55256eb059964f79f3d

Deployed Bytecode

0x6080604052600436106101de575f3560e01c806370a08231116100fd578063dd62ed3e11610092578063f2fde38b11610062578063f2fde38b146105a7578063f8b45b05146105c6578063fb201b1d146105db578063fd10136d146105ef575f80fd5b8063dd62ed3e146104f7578063ddca3f431461053b578063e9fd33941461056a578063f242ab4114610588575f80fd5b806395d89b41116100cd57806395d89b411461049b578063a9059cbb146104af578063c3f70b52146104ce578063d58549ea146104e3575f80fd5b806370a0823114610423578063715018a614610457578063751039fc1461046b5780638da5cb5b1461047f575f80fd5b8063280b8112116101735780635d098b38116101435780635d098b381461039e5780635e8bf1d6146103bd5780636cd56878146103eb5780636ddd17131461040a575f80fd5b8063280b811214610311578063313ce567146103305780633ecad2711461035157806352f7c9881461037f575f80fd5b8063095ea7b3116101ae578063095ea7b3146102905780630c1fe80c146102bf57806318160ddd146102de57806323b872dd146102f2575f80fd5b806301ae592b146101e95780630445b6671461020a57806306fdde03146102325780630758d92414610253575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b50610208610203366004611a67565b610608565b005b348015610215575f80fd5b5061021f600f5481565b6040519081526020015b60405180910390f35b34801561023d575f80fd5b50610246610665565b6040516102299190611aa5565b34801561025e575f80fd5b50601054610278906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610229565b34801561029b575f80fd5b506102af6102aa366004611aee565b6106f5565b6040519015158152602001610229565b3480156102ca575f80fd5b506102086102d9366004611b18565b61070b565b3480156102e9575f80fd5b50600c5461021f565b3480156102fd575f80fd5b506102af61030c366004611b33565b610859565b34801561031c575f80fd5b5061020861032b366004611b60565b6108c2565b34801561033b575f80fd5b5060035460405160ff9091168152602001610229565b34801561035c575f80fd5b506102af61036b366004611b18565b600b6020525f908152604090205460ff1681565b34801561038a575f80fd5b50610208610399366004611b77565b6109ff565b3480156103a9575f80fd5b506102086103b8366004611b18565b610a8a565b3480156103c8575f80fd5b506102af6103d7366004611b18565b600a6020525f908152604090205460ff1681565b3480156103f6575f80fd5b50610208610405366004611b18565b610adb565b348015610415575f80fd5b506010546102af9060ff1681565b34801561042e575f80fd5b5061021f61043d366004611b18565b6001600160a01b03165f9081526008602052604090205490565b348015610462575f80fd5b50610208610b26565b348015610476575f80fd5b50610208610b5a565b34801561048a575f80fd5b505f546001600160a01b0316610278565b3480156104a6575f80fd5b50610246610b90565b3480156104ba575f80fd5b506102af6104c9366004611aee565b610b9f565b3480156104d9575f80fd5b5061021f600d5481565b3480156104ee575f80fd5b50610208610bab565b348015610502575f80fd5b5061021f610511366004611b97565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610546575f80fd5b50600554600654610555919082565b60408051928352602083019190915201610229565b348015610575575f80fd5b506010546102af90610100900460ff1681565b348015610593575f80fd5b50601154610278906001600160a01b031681565b3480156105b2575f80fd5b506102086105c1366004611b18565b610c49565b3480156105d1575f80fd5b5061021f600e5481565b3480156105e6575f80fd5b50610208610ce0565b3480156105fa575f80fd5b506007546102af9060ff1681565b5f546001600160a01b0316331461063a5760405162461bcd60e51b815260040161063190611bce565b60405180910390fd5b6010805461ffff191693151561ff001916939093176101009215159290920291909117909155600f55565b60606001805461067490611c03565b80601f01602080910402602001604051908101604052809291908181526020018280546106a090611c03565b80156106eb5780601f106106c2576101008083540402835291602001916106eb565b820191905f5260205f20905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b5f610701338484610d56565b5060015b92915050565b6004546001600160a01b031633146107355760405162461bcd60e51b815260040161063190611c3b565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561077b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079f9190611c64565b90505f81116107e55760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610631565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611c7b565b50505050565b5f610865848484610e79565b506108b784336108b285604051806060016040528060288152602001611dd4602891396001600160a01b038a165f90815260096020908152604080832033845290915290205491906112d9565b610d56565b5060015b9392505050565b6004546001600160a01b031633146108ec5760405162461bcd60e51b815260040161063190611c3b565b305f90815260086020526040902054818110156109435760405162461bcd60e51b8152602060048201526015602482015274496e73756666696369656e742042616c616e63652160581b6044820152606401610631565b305f9081526008602052604090205461095d908390611caa565b305f9081526008602052604081209190915561dead90527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299546109a1908390611cbd565b61dead5f81905260086020527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342999190915560405130905f80516020611dfc833981519152906109f39086815260200190565b60405180910390a35050565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161063190611bce565b60638211158015610a3a575060638111155b610a7f5760405162461bcd60e51b81526020600482015260166024820152754d617820746178204c696d697420526561636865642160501b6044820152606401610631565b600591909155600655565b5f546001600160a01b03163314610ab35760405162461bcd60e51b815260040161063190611bce565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b045760405162461bcd60e51b815260040161063190611bce565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b4f5760405162461bcd60e51b815260040161063190611bce565b610b585f611311565b565b5f546001600160a01b03163314610b835760405162461bcd60e51b815260040161063190611bce565b600c54600d819055600e55565b60606002805461067490611c03565b5f6108b7338484610e79565b6004546001600160a01b03163314610bd55760405162461bcd60e51b815260040161063190611c3b565b5f4711610c1d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610631565b60405133904780156108fc02915f818181858888f19350505050158015610c46573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610c725760405162461bcd60e51b815260040161063190611bce565b6001600160a01b038116610cd75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610631565b610c4681611311565b5f546001600160a01b03163314610d095760405162461bcd60e51b815260040161063190611bce565b60075460ff1615610d475760405162461bcd60e51b8152602060048201526008602482015267496e76616c69642160c01b6044820152606401610631565b6007805460ff19166001179055565b6001600160a01b038316610db85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610631565b6001600160a01b038216610e195760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610631565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610ede5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610631565b6001600160a01b038316610f405760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610631565b5f8211610fa15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610631565b601154600160a01b900460ff1615610fc557610fbe848484611360565b90506108bb565b6001600160a01b0384165f908152600a602052604090205460ff1615801561100557506001600160a01b0383165f908152600a602052604090205460ff16155b1561111f5760075460ff1661104b5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420737465616c74682160a01b6044820152606401610631565b600d548211156110935760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610631565b6001600160a01b0383165f908152600b602052604090205460ff1661111f57600e546110dd836110d7866001600160a01b03165f9081526008602052604090205490565b90611430565b111561111f5760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610631565b305f90815260086020526040902054600f548110801590819061114c5750601154600160a01b900460ff16155b801561117057506001600160a01b0386165f908152600b602052604090205460ff16155b801561117e575060105460ff165b80156111a257506001600160a01b0386165f908152600a602052604090205460ff16155b80156111c657506001600160a01b0385165f908152600a602052604090205460ff16155b156111d4576111d48261148e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600890915291909120546112259186906112d9565b6001600160a01b0387165f9081526008602052604081209190915561124a87876115e7565b61125e57611259878787611681565b611260565b845b6001600160a01b0387165f908152600860205260409020549091506112859082611430565b6001600160a01b038088165f8181526008602052604090819020939093559151908916905f80516020611dfc833981519152906112c59085815260200190565b60405180910390a3600193505050506108bb565b5f81848411156112fc5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611caa565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546113b09184906112d9565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546113de9083611430565b6001600160a01b038085165f8181526008602052604090819020939093559151908616905f80516020611dfc8339815191529061141e9086815260200190565b60405180910390a35060019392505050565b5f8061143c8385611cbd565b9050838110156108bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610631565b305f90815260086020526040812054908181036114aa57505050565b6006546005546114ba9190611cbd565b5f0361152c575f821180156114d05750600f5482105b156114dc5750806115d9565b5f61150060646114fa6005600101548761176690919063ffffffff16565b906117e4565b905061150c8185611caa565b9350600f5484111561152257600f549150611526565b8391505b506115d9565b5f821180156115475750600f546115449060056117e4565b82105b1561155157505050565b5f8211801561156c5750600f546115699060056117e4565b82115b80156115795750600f5482105b1561159357600f5461158c9060056117e4565b90506115d9565b5f6115b160646114fa6005600101548761176690919063ffffffff16565b90506115bd8185611caa565b9350600f548411156115d357600f5491506115d7565b8391505b505b6115e281611825565b505050565b6001600160a01b0382165f908152600a602052604081205460ff168061162457506001600160a01b0382165f908152600a602052604090205460ff165b1561163157506001610705565b6001600160a01b0383165f908152600b602052604090205460ff168061166e57506001600160a01b0382165f908152600b602052604090205460ff165b1561167a57505f610705565b505f610705565b6001600160a01b0383165f908152600b6020526040812054819060ff16156116bf576005546116b8906064906114fa908690611766565b90506116f7565b6001600160a01b0384165f908152600b602052604090205460ff16156116f7576006546116f4906064906114fa908690611766565b90505b801561175c57305f908152600860205260409020546117169082611430565b305f81815260086020526040908190209290925590516001600160a01b038716905f80516020611dfc833981519152906117539085815260200190565b60405180910390a35b61130883826119ed565b5f825f0361177557505f610705565b5f6117808385611cd0565b90508261178d8583611ce7565b146108bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610631565b5f6108bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a2e565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061185857611858611d06565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ed9190611d1a565b8160018151811061190057611900611d06565b6001600160a01b03928316602091820292909201015260105461192c9130916201000090041684610d56565b6010546003546001600160a01b036201000090920482169163791ac94791859160019186916101009091041661196342601e611cbd565b6040518663ffffffff1660e01b8152600401611983959493929190611d78565b5f604051808303815f87803b15801561199a575f80fd5b505af11580156119ac573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119e1929190611db3565b60405180910390a15050565b5f6108bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d9565b5f8183611a4e5760405162461bcd60e51b81526004016106319190611aa5565b505f6113088486611ce7565b8015158114610c46575f80fd5b5f805f60608486031215611a79575f80fd5b8335611a8481611a5a565b92506020840135611a9481611a5a565b929592945050506040919091013590565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c46575f80fd5b5f8060408385031215611aff575f80fd5b8235611b0a81611ada565b946020939093013593505050565b5f60208284031215611b28575f80fd5b81356108bb81611ada565b5f805f60608486031215611b45575f80fd5b8335611b5081611ada565b92506020840135611a9481611ada565b5f60208284031215611b70575f80fd5b5035919050565b5f8060408385031215611b88575f80fd5b50508035926020909101359150565b5f8060408385031215611ba8575f80fd5b8235611bb381611ada565b91506020830135611bc381611ada565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c1757607f821691505b602082108103611c3557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600f908201526e496e76616c69642043616c6c65722160881b604082015260600190565b5f60208284031215611c74575f80fd5b5051919050565b5f60208284031215611c8b575f80fd5b81516108bb81611a5a565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070557610705611c96565b8082018082111561070557610705611c96565b808202811582820484141761070557610705611c96565b5f82611d0157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d2a575f80fd5b81516108bb81611ada565b5f8151808452602084019350602083015f5b82811015611d6e5781516001600160a01b0316865260209586019590910190600101611d47565b5093949350505050565b85815284602082015260a060408201525f611d9660a0830186611d35565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dcb6040830184611d35565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e9af143fe478e2184a7aa5e6512b592859c651bd7495db5045d6d111f7d834dd64736f6c634300081a0033

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

0000000000000000000000001859934a23e5a8836e00b55256eb059964f79f3d

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x1859934a23e5A8836e00B55256eB059964f79f3D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001859934a23e5a8836e00b55256eb059964f79f3d


Deployed Bytecode Sourcemap

6773:10925:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17328:229;;;;;;;;;;-1:-1:-1;17328:229:0;;;;;:::i;:::-;;:::i;:::-;;7710:59;;;;;;;;;;;;;;;;;;;784:25:1;;;772:2;757:18;7710:59:0;;;;;;;;8987:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7854:31::-;;;;;;;;;;-1:-1:-1;7854:31:0;;;;;;;-1:-1:-1;;;;;7854:31:0;;;;;;-1:-1:-1;;;;;1429:32:1;;;1411:51;;1399:2;1384:18;7854:31:0;1243:225:1;9654:161:0;;;;;;;;;;-1:-1:-1;9654:161:0;;;;;:::i;:::-;;:::i;:::-;;;2146:14:1;;2139:22;2121:41;;2109:2;2094:18;9654:161:0;1981:187:1;16261:306:0;;;;;;;;;;-1:-1:-1;16261:306:0;;;;;:::i;:::-;;:::i;9264:100::-;;;;;;;;;;-1:-1:-1;9344:12:0;;9264:100;;10380:313;;;;;;;;;;-1:-1:-1;10380:313:0;;;;;:::i;:::-;;:::i;16579:420::-;;;;;;;;;;-1:-1:-1;16579:420:0;;;;;:::i;:::-;;:::i;9173:83::-;;;;;;;;;;-1:-1:-1;9239:9:0;;9173:83;;9239:9;;;;3311:36:1;;3299:2;3284:18;9173:83:0;3169:184:1;7458:45:0;;;;;;;;;;-1:-1:-1;7458:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17007:188;;;;;;;;;;-1:-1:-1;17007:188:0;;;;;:::i;:::-;;:::i;15818:114::-;;;;;;;;;;-1:-1:-1;15818:114:0;;;;;:::i;:::-;;:::i;7406:45::-;;;;;;;;;;-1:-1:-1;7406:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15940:114;;;;;;;;;;-1:-1:-1;15940:114:0;;;;;:::i;:::-;;:::i;7778:30::-;;;;;;;;;;-1:-1:-1;7778:30:0;;;;;;;;9372:123;;;;;;;;;;-1:-1:-1;9372:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;9464:18:0;9438:7;9464:18;;;:9;:18;;;;;;;9372:123;4066:94;;;;;;;;;;;;;:::i;17565:126::-;;;;;;;;;;;;;:::i;3757:87::-;;;;;;;;;;-1:-1:-1;3803:7:0;3830:6;-1:-1:-1;;;;;3830:6:0;3757:87;;9078;;;;;;;;;;;;;:::i;10205:167::-;;;;;;;;;;-1:-1:-1;10205:167:0;;;;;:::i;:::-;;:::i;7578:61::-;;;;;;;;;;;;;;;;16062:191;;;;;;;;;;;;;:::i;9503:143::-;;;;;;;;;;-1:-1:-1;9503:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9611:18:0;;;9584:7;9611:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9503:143;7226:20;;;;;;;;;;-1:-1:-1;7226:20:0;;;;;;;;;;;;;4484:25:1;;;4540:2;4525:18;;4518:34;;;;4457:18;7226:20:0;4310:248:1;7815:30:0;;;;;;;;;;-1:-1:-1;7815:30:0;;;;;;;;;;;7892:22;;;;;;;;;;-1:-1:-1;7892:22:0;;;;-1:-1:-1;;;;;7892:22:0;;;4168:229;;;;;;;;;;-1:-1:-1;4168:229:0;;;;;:::i;:::-;;:::i;7646:55::-;;;;;;;;;;;;;;;;17206:114;;;;;;;;;;;;;:::i;7255:19::-;;;;;;;;;;-1:-1:-1;7255:19:0;;;;;;;;17328:229;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;;;;;;;;;17457:11:::1;:22:::0;;-1:-1:-1;;17490:22:0;17457;::::1;;-1:-1:-1::0;;17490:22:0;;;;;17457::::1;17490::::0;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;;17523:13:::1;:26:::0;17328:229::o;8987:83::-;9024:13;9057:5;9050:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8987:83;:::o;9654:161::-;9729:4;9746:39;2402:10;9769:7;9778:6;9746:8;:39::i;:::-;-1:-1:-1;9803:4:0;9654:161;;;;;:::o;16261:306::-;8094:15;;-1:-1:-1;;;;;8094:15:0;8080:10;:29;8072:56;;;;-1:-1:-1;;;8072:56:0;;;;;;;:::i;:::-;16414:38:::1;::::0;-1:-1:-1;;;16414:38:0;;16446:4:::1;16414:38;::::0;::::1;1411:51:1::0;16372:12:0;;16342:20:::1;::::0;-1:-1:-1;;;;;16414:23:0;::::1;::::0;::::1;::::0;1384:18:1;;16414:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16396:56;;16481:1;16471:7;:11;16463:42;;;::::0;-1:-1:-1;;;16463:42:0;;6044:2:1;16463:42:0::1;::::0;::::1;6026:21:1::0;6083:2;6063:18;;;6056:30;-1:-1:-1;;;6102:18:1;;;6095:48;6160:18;;16463:42:0::1;5842:342:1::0;16463:42:0::1;16516:43;::::0;-1:-1:-1;;;16516:43:0;;16539:10:::1;16516:43;::::0;::::1;6363:51:1::0;6430:18;;;6423:34;;;-1:-1:-1;;;;;16516:22:0;::::1;::::0;::::1;::::0;6336:18:1;;16516:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16331:236;;16261:306:::0;:::o;10380:313::-;10478:4;10495:36;10505:6;10513:9;10524:6;10495:9;:36::i;:::-;-1:-1:-1;10542:121:0;10551:6;2402:10;10573:89;10611:6;10573:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10573:19:0;;;;;;:11;:19;;;;;;;;2402:10;10573:33;;;;;;;;;;:37;:89::i;:::-;10542:8;:121::i;:::-;-1:-1:-1;10681:4:0;10380:313;;;;;;:::o;16579:420::-;8094:15;;-1:-1:-1;;;;;8094:15:0;8080:10;:29;8072:56;;;;-1:-1:-1;;;8072:56:0;;;;;;;:::i;:::-;16687:4:::1;16646:20;16669:24:::0;;;:9:::1;:24;::::0;;;;;16712:26;;::::1;;16704:59;;;::::0;-1:-1:-1;;;16704:59:0;;6920:2:1;16704:59:0::1;::::0;::::1;6902:21:1::0;6959:2;6939:18;;;6932:30;-1:-1:-1;;;6978:18:1;;;6971:51;7039:18;;16704:59:0::1;6718:345:1::0;16704:59:0::1;16819:4;16801:24;::::0;;;:9:::1;:24;::::0;;;;;:34:::1;::::0;16828:7;;16801:34:::1;:::i;:::-;16792:4;16774:24;::::0;;;:9:::1;:24;::::0;;;;:61;;;;6920:6:::1;16880:31:::0;;;;:41:::1;::::0;16914:7;;16880:41:::1;:::i;:::-;6920:6;16846:31;::::0;;;:9:::1;:31;::::0;;:75;;;;:31;16937:54;16954:4:::1;::::0;-1:-1:-1;;;;;;;;;;;16937:54:0;::::1;::::0;16983:7;784:25:1;;772:2;757:18;;638:177;16937:54:0::1;;;;;;;;16635:364;16579:420:::0;:::o;17007:188::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;17092:2:::1;17084:4;:10;;:25;;;;;17107:2;17098:5;:11;;17084:25;17076:59;;;::::0;-1:-1:-1;;;17076:59:0;;7665:2:1;17076:59:0::1;::::0;::::1;7647:21:1::0;7704:2;7684:18;;;7677:30;-1:-1:-1;;;7723:18:1;;;7716:52;7785:18;;17076:59:0::1;7463:346:1::0;17076:59:0::1;17146:3;:14:::0;;;;17171:8;:16;17007:188::o;15818:114::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;15896:15:::1;:28:::0;;-1:-1:-1;;;;;15896:28:0;;::::1;;;-1:-1:-1::0;;;;;;15896:28:0;;::::1;::::0;;;::::1;::::0;;15818:114::o;15940:::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;16018:15:::1;:28:::0;;-1:-1:-1;;;;;;16018:28:0::1;-1:-1:-1::0;;;;;16018:28:0;;;::::1;::::0;;;::::1;::::0;;15940:114::o;4066:94::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;4131:21:::1;4149:1;4131:9;:21::i;:::-;4066:94::o:0;17565:126::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;17636:12:::1;::::0;17619:14:::1;:29:::0;;;17659:9:::1;:24:::0;17565:126::o;9078:87::-;9117:13;9150:7;9143:14;;;;;:::i;10205:167::-;10283:4;10300:42;2402:10;10324:9;10335:6;10300:9;:42::i;16062:191::-;8094:15;;-1:-1:-1;;;;;8094:15:0;8080:10;:29;8072:56;;;;-1:-1:-1;;;8072:56:0;;;;;;;:::i;:::-;16155:1:::1;16131:21;:25;16123:60;;;::::0;-1:-1:-1;;;16123:60:0;;8016:2:1;16123:60:0::1;::::0;::::1;7998:21:1::0;8055:2;8035:18;;;8028:30;-1:-1:-1;;;8074:18:1;;;8067:52;8136:18;;16123:60:0::1;7814:346:1::0;16123:60:0::1;16194:51;::::0;16202:10:::1;::::0;16223:21:::1;16194:51:::0;::::1;;;::::0;::::1;::::0;;;16223:21;16202:10;16194:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16062:191::o:0;4168:229::-;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4271:22:0;::::1;4249:110;;;::::0;-1:-1:-1;;;4249:110:0;;8367:2:1;4249:110:0::1;::::0;::::1;8349:21:1::0;8406:2;8386:18;;;8379:30;8445:34;8425:18;;;8418:62;-1:-1:-1;;;8496:18:1;;;8489:36;8542:19;;4249:110:0::1;8165:402:1::0;4249:110:0::1;4370:19;4380:8;4370:9;:19::i;17206:114::-:0;3803:7;3830:6;-1:-1:-1;;;;;3830:6:0;2402:10;3978:23;3970:68;;;;-1:-1:-1;;;3970:68:0;;;;;;;:::i;:::-;17268:7:::1;::::0;::::1;;17267:8;17259:28;;;::::0;-1:-1:-1;;;17259:28:0;;8774:2:1;17259:28:0::1;::::0;::::1;8756:21:1::0;8813:1;8793:18;;;8786:29;-1:-1:-1;;;8831:18:1;;;8824:38;8879:18;;17259:28:0::1;8572:331:1::0;17259:28:0::1;17298:7;:14:::0;;-1:-1:-1;;17298:14:0::1;17308:4;17298:14;::::0;;17206:114::o;9823:337::-;-1:-1:-1;;;;;9916:19:0;;9908:68;;;;-1:-1:-1;;;9908:68:0;;9110:2:1;9908:68:0;;;9092:21:1;9149:2;9129:18;;;9122:30;9188:34;9168:18;;;9161:62;-1:-1:-1;;;9239:18:1;;;9232:34;9283:19;;9908:68:0;8908:400:1;9908:68:0;-1:-1:-1;;;;;9995:21:0;;9987:68;;;;-1:-1:-1;;;9987:68:0;;9515:2:1;9987:68:0;;;9497:21:1;9554:2;9534:18;;;9527:30;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:18:1;;;9637:32;9686:19;;9987:68:0;9313:398:1;9987:68:0;-1:-1:-1;;;;;10068:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10120:32;;784:25:1;;;10120:32:0;;757:18:1;10120:32:0;;;;;;;9823:337;;;:::o;10701:1724::-;10788:4;-1:-1:-1;;;;;10815:20:0;;10807:70;;;;-1:-1:-1;;;10807:70:0;;9918:2:1;10807:70:0;;;9900:21:1;9957:2;9937:18;;;9930:30;9996:34;9976:18;;;9969:62;-1:-1:-1;;;10047:18:1;;;10040:35;10092:19;;10807:70:0;9716:401:1;10807:70:0;-1:-1:-1;;;;;10896:23:0;;10888:71;;;;-1:-1:-1;;;10888:71:0;;10324:2:1;10888:71:0;;;10306:21:1;10363:2;10343:18;;;10336:30;10402:34;10382:18;;;10375:62;-1:-1:-1;;;10453:18:1;;;10446:33;10496:19;;10888:71:0;10122:399:1;10888:71:0;10987:1;10978:6;:10;10970:64;;;;-1:-1:-1;;;10970:64:0;;10728:2:1;10970:64:0;;;10710:21:1;10767:2;10747:18;;;10740:30;10806:34;10786:18;;;10779:62;-1:-1:-1;;;10857:18:1;;;10850:39;10906:19;;10970:64:0;10526:405:1;10970:64:0;11055:6;;-1:-1:-1;;;11055:6:0;;;;11051:1365;;;11085:41;11100:6;11108:9;11119:6;11085:14;:41::i;:::-;11078:48;;;;11051:1365;-1:-1:-1;;;;;11174:20:0;;;;;;:12;:20;;;;;;;;11173:21;:49;;;;-1:-1:-1;;;;;;11199:23:0;;;;;;:12;:23;;;;;;;;11198:24;11173:49;11170:360;;;11251:7;;;;11243:31;;;;-1:-1:-1;;;11243:31:0;;11138:2:1;11243:31:0;;;11120:21:1;11177:2;11157:18;;;11150:30;-1:-1:-1;;;11196:18:1;;;11189:42;11248:18;;11243:31:0;10936:336:1;11243:31:0;11311:14;;11301:6;:24;;11293:56;;;;-1:-1:-1;;;11293:56:0;;11479:2:1;11293:56:0;;;11461:21:1;11518:2;11498:18;;;11491:30;-1:-1:-1;;;11537:18:1;;;11530:49;11596:18;;11293:56:0;11277:343:1;11293:56:0;-1:-1:-1;;;;;11372:23:0;;;;;;:12;:23;;;;;;;;11368:147;;11464:9;;11428:32;11453:6;11428:20;11438:9;-1:-1:-1;;;;;9464:18:0;9438:7;9464:18;;;:9;:18;;;;;;;9372:123;11428:20;:24;;:32::i;:::-;:45;;11420:75;;;;-1:-1:-1;;;11420:75:0;;11827:2:1;11420:75:0;;;11809:21:1;11866:2;11846:18;;;11839:30;-1:-1:-1;;;11885:18:1;;;11878:47;11942:18;;11420:75:0;11625:341:1;11420:75:0;11607:4;11558:28;9464:18;;;:9;:18;;;;;;11683:13;;11659:37;;;;;;;11717:52;;-1:-1:-1;11763:6:0;;-1:-1:-1;;;11763:6:0;;;;11762:7;11717:52;:95;;;;-1:-1:-1;;;;;;11792:20:0;;;;;;:12;:20;;;;;;;;11791:21;11717:95;:128;;;;-1:-1:-1;11834:11:0;;;;11717:128;:170;;;;-1:-1:-1;;;;;;11867:20:0;;;;;;:12;:20;;;;;;;;11866:21;11717:170;:215;;;;-1:-1:-1;;;;;;11909:23:0;;;;;;:12;:23;;;;;;;;11908:24;11717:215;11713:304;;;11971:30;11980:20;11971:8;:30::i;:::-;12065:53;;;;;;;;;;;-1:-1:-1;;;12065:53:0;;;;;;;;-1:-1:-1;;;;;12065:17:0;;-1:-1:-1;12065:17:0;;;:9;:17;;;;;;;;:53;;12087:6;;12065:21;:53::i;:::-;-1:-1:-1;;;;;12045:17:0;;;;;;:9;:17;;;;;:73;;;;12157:34;12055:6;12181:9;12157:16;:34::i;:::-;:80;;12203:34;12211:6;12219:9;12230:6;12203:7;:34::i;:::-;12157:80;;;12194:6;12157:80;-1:-1:-1;;;;;12277:20:0;;;;;;:9;:20;;;;;;12135:102;;-1:-1:-1;12277:37:0;;12135:102;12277:24;:37::i;:::-;-1:-1:-1;;;;;12254:20:0;;;;;;;:9;:20;;;;;;;:60;;;;12336:40;;;;;;-1:-1:-1;;;;;;;;;;;12336:40:0;;;12364:11;784:25:1;;772:2;757:18;;638:177;12336:40:0;;;;;;;;12398:4;12391:11;;;;;;;4944:192;5030:7;5066:12;5058:6;;;;5050:29;;;;-1:-1:-1;;;5050:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5090:9:0;5102:5;5106:1;5102;:5;:::i;:::-;5090:17;4944:192;-1:-1:-1;;;;;4944:192:0:o;4405:173::-;4461:16;4480:6;;-1:-1:-1;;;;;4497:17:0;;;-1:-1:-1;;;;;;4497:17:0;;;;;;4530:40;;4480:6;;;;;;;4530:40;;4461:16;4530:40;4450:128;4405:173;:::o;12433:330::-;12563:53;;;;;;;;;;;-1:-1:-1;;;12563:53:0;;;;;;;;-1:-1:-1;;;;;12563:17:0;;12526:4;12563:17;;;:9;:17;;;;;;;:53;;12585:6;;12563:21;:53::i;:::-;-1:-1:-1;;;;;12543:17:0;;;;;;;:9;:17;;;;;;:73;;;;12650:20;;;;;;;:32;;12675:6;12650:24;:32::i;:::-;-1:-1:-1;;;;;12627:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12698:35;;;;;;-1:-1:-1;;;;;;;;;;;12698:35:0;;;12726:6;784:25:1;;772:2;757:18;;638:177;12698:35:0;;;;;;;;-1:-1:-1;12751:4:0;12433:330;;;;;:::o;4611:181::-;4669:7;;4701:5;4705:1;4701;:5;:::i;:::-;4689:17;;4730:1;4725;:6;;4717:46;;;;-1:-1:-1;;;4717:46:0;;12173:2:1;4717:46:0;;;12155:21:1;12212:2;12192:18;;;12185:30;12251:29;12231:18;;;12224:57;12298:18;;4717:46:0;11971:351:1;13820:1358:0;13919:4;13875:23;9464:18;;;:9;:18;;;;;;;13974:20;;;13970:59;;14011:7;;13820:1358;:::o;13970:59::-;14054:8;;:3;14046:7;:16;;14054:8;14046:16;:::i;:::-;14067:1;14045:23;14041:1089;;14104:1;14086:15;:19;:54;;;;;14127:13;;14109:15;:31;14086:54;14083:429;;;-1:-1:-1;14172:15:0;14041:1089;;14083:429;14229:21;14253:29;14278:3;14253:20;14264:3;:8;;;14253:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;14229:53;-1:-1:-1;14297:23:0;14229:53;14297:23;;:::i;:::-;;;14348:13;;14339:6;:22;14335:166;;;14397:13;;14382:28;;14335:166;;;14479:6;14464:21;;14335:166;14214:298;14041:1089;;;14566:1;14548:15;:19;:61;;;;-1:-1:-1;14589:13:0;;:20;;14607:1;14589:17;:20::i;:::-;14571:15;:38;14548:61;14545:578;;;14626:7;;13820:1358;:::o;14545:578::-;14681:1;14663:15;:19;:61;;;;-1:-1:-1;14704:13:0;;:20;;14722:1;14704:17;:20::i;:::-;14686:15;:38;14663:61;:96;;;;;14746:13;;14728:15;:31;14663:96;14659:464;;;14791:13;;:20;;14809:1;14791:17;:20::i;:::-;14776:35;;14659:464;;;14853:21;14877:29;14902:3;14877:20;14888:3;:8;;;14877:6;:10;;:20;;;;:::i;:29::-;14853:53;-1:-1:-1;14921:23:0;14853:53;14921:23;;:::i;:::-;;;14972:13;;14963:6;:22;14959:153;;;15021:13;;15006:28;;14959:153;;;15090:6;15075:21;;14959:153;14838:285;14659:464;15140:30;15157:12;15140:16;:30::i;:::-;13862:1316;;13820:1358;:::o;12775:359::-;-1:-1:-1;;;;;12879:20:0;;12859:4;12879:20;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;12903:23:0;;;;;;:12;:23;;;;;;;;12879:47;12876:251;;;-1:-1:-1;12950:4:0;12943:11;;12876:251;-1:-1:-1;;;;;12985:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;13009:23:0;;;;;;:12;:23;;;;;;;;12985:47;12981:146;;;-1:-1:-1;13056:5:0;13049:12;;12981:146;-1:-1:-1;13110:5:0;13103:12;;13142:670;-1:-1:-1;;;;;13315:20:0;;13228:7;13315:20;;;:12;:20;;;;;;13228:7;;13315:20;;13312:226;;;13380:3;:7;13369:28;;13393:3;;13369:19;;:6;;:10;:19::i;:28::-;13357:40;;13312:226;;;-1:-1:-1;;;;;13436:23:0;;;;;;:12;:23;;;;;;;;13433:105;;;13504:8;;13493:29;;13518:3;;13493:20;;:6;;:10;:20::i;:29::-;13481:41;;13433:105;13557:13;;13554:185;;13636:4;13618:24;;;;:9;:24;;;;;;:39;;13647:9;13618:28;:39::i;:::-;13609:4;13591:24;;;;:9;:24;;;;;;;:66;;;;13681:42;;-1:-1:-1;;;;;13681:42:0;;;-1:-1:-1;;;;;;;;;;;13681:42:0;;;13713:9;784:25:1;;772:2;757:18;;638:177;13681:42:0;;;;;;;;13554:185;13762:21;:6;13773:9;13762:10;:21::i;5144:250::-;5202:7;5226:1;5231;5226:6;5222:47;;-1:-1:-1;5256:1:0;5249:8;;5222:47;5281:9;5293:5;5297:1;5293;:5;:::i;:::-;5281:17;-1:-1:-1;5326:1:0;5317:5;5321:1;5281:17;5317:5;:::i;:::-;:10;5309:56;;;;-1:-1:-1;;;5309:56:0;;12924:2:1;5309:56:0;;;12906:21:1;12963:2;12943:18;;;12936:30;13002:34;12982:18;;;12975:62;-1:-1:-1;;;13053:18:1;;;13046:31;13094:19;;5309:56:0;12722:397:1;5402:132:0;5460:7;5487:39;5491:1;5494;5487:39;;;;;;;;;;;;;;;;;:3;:39::i;15188:622::-;15338:16;;;15352:1;15338:16;;;;;;;;15314:21;;15338:16;;;;;;;;;;-1:-1:-1;15338:16:0;15314:40;;15383:4;15365;15370:1;15365:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15365:23:0;;;-1:-1:-1;;;;;15365:23:0;;;;;15409:9;;;;;;;;;-1:-1:-1;;;;;15409:9:0;-1:-1:-1;;;;;15409:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15399:4;15404:1;15399:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15399:26:0;;;:7;;;;;;;;;:26;15470:9;;15438:56;;15455:4;;15470:9;;;;15482:11;15438:8;:56::i;:::-;15533:9;;15678:15;;-1:-1:-1;;;;;15533:9:0;;;;;;;:60;;15608:11;;15634:1;;15651:4;;15533:9;15678:15;;;;15710:20;:15;15728:2;15710:20;:::i;:::-;15533:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15767:35;15784:11;15797:4;15767:35;;;;;;;:::i;:::-;;;;;;;;15243:567;15188:622;:::o;4800:136::-;4858:7;4885:43;4889:1;4892;4885:43;;;;;;;;;;;;;;;;;:3;:43::i;5542:278::-;5628:7;5663:12;5656:5;5648:28;;;;-1:-1:-1;;;5648:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5687:9:0;5699:5;5703:1;5699;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:496;208:6;216;224;277:2;265:9;256:7;252:23;248:32;245:52;;;293:1;290;283:12;245:52;332:9;319:23;351:28;373:5;351:28;:::i;:::-;398:5;-1:-1:-1;455:2:1;440:18;;427:32;468:30;427:32;468:30;:::i;:::-;137:496;;517:7;;-1:-1:-1;;;597:2:1;582:18;;;;569:32;;137:496::o;820:418::-;969:2;958:9;951:21;932:4;1001:6;995:13;1044:6;1039:2;1028:9;1024:18;1017:34;1103:6;1098:2;1090:6;1086:15;1081:2;1070:9;1066:18;1060:50;1159:1;1154:2;1145:6;1134:9;1130:22;1126:31;1119:42;1229:2;1222;1218:7;1213:2;1205:6;1201:15;1197:29;1186:9;1182:45;1178:54;1170:62;;;820:418;;;;:::o;1473:131::-;-1:-1:-1;;;;;1548:31:1;;1538:42;;1528:70;;1594:1;1591;1584:12;1609:367;1677:6;1685;1738:2;1726:9;1717:7;1713:23;1709:32;1706:52;;;1754:1;1751;1744:12;1706:52;1793:9;1780:23;1812:31;1837:5;1812:31;:::i;:::-;1862:5;1940:2;1925:18;;;;1912:32;;-1:-1:-1;;;1609:367:1:o;2173:247::-;2232:6;2285:2;2273:9;2264:7;2260:23;2256:32;2253:52;;;2301:1;2298;2291:12;2253:52;2340:9;2327:23;2359:31;2384:5;2359:31;:::i;2425:508::-;2502:6;2510;2518;2571:2;2559:9;2550:7;2546:23;2542:32;2539:52;;;2587:1;2584;2577:12;2539:52;2626:9;2613:23;2645:31;2670:5;2645:31;:::i;:::-;2695:5;-1:-1:-1;2752:2:1;2737:18;;2724:32;2765:33;2724:32;2765:33;:::i;2938:226::-;2997:6;3050:2;3038:9;3029:7;3025:23;3021:32;3018:52;;;3066:1;3063;3056:12;3018:52;-1:-1:-1;3111:23:1;;2938:226;-1:-1:-1;2938:226:1:o;3358:346::-;3426:6;3434;3487:2;3475:9;3466:7;3462:23;3458:32;3455:52;;;3503:1;3500;3493:12;3455:52;-1:-1:-1;;3548:23:1;;;3668:2;3653:18;;;3640:32;;-1:-1:-1;3358:346:1:o;3917:388::-;3985:6;3993;4046:2;4034:9;4025:7;4021:23;4017:32;4014:52;;;4062:1;4059;4052:12;4014:52;4101:9;4088:23;4120:31;4145:5;4120:31;:::i;:::-;4170:5;-1:-1:-1;4227:2:1;4212:18;;4199:32;4240:33;4199:32;4240:33;:::i;:::-;4292:7;4282:17;;;3917:388;;;;;:::o;4563:356::-;4765:2;4747:21;;;4784:18;;;4777:30;4843:34;4838:2;4823:18;;4816:62;4910:2;4895:18;;4563:356::o;4924:380::-;5003:1;4999:12;;;;5046;;;5067:61;;5121:4;5113:6;5109:17;5099:27;;5067:61;5174:2;5166:6;5163:14;5143:18;5140:38;5137:161;;5220:10;5215:3;5211:20;5208:1;5201:31;5255:4;5252:1;5245:15;5283:4;5280:1;5273:15;5137:161;;4924:380;;;:::o;5309:339::-;5511:2;5493:21;;;5550:2;5530:18;;;5523:30;-1:-1:-1;;;5584:2:1;5569:18;;5562:45;5639:2;5624:18;;5309:339::o;5653:184::-;5723:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:52;;;5792:1;5789;5782:12;5744:52;-1:-1:-1;5815:16:1;;5653:184;-1:-1:-1;5653:184:1:o;6468:245::-;6535:6;6588:2;6576:9;6567:7;6563:23;6559:32;6556:52;;;6604:1;6601;6594:12;6556:52;6636:9;6630:16;6655:28;6677:5;6655:28;:::i;7068:127::-;7129:10;7124:3;7120:20;7117:1;7110:31;7160:4;7157:1;7150:15;7184:4;7181:1;7174:15;7200:128;7267:9;;;7288:11;;;7285:37;;;7302:18;;:::i;7333:125::-;7398:9;;;7419:10;;;7416:36;;;7432:18;;:::i;12327:168::-;12400:9;;;12431;;12448:15;;;12442:22;;12428:37;12418:71;;12469:18;;:::i;12500:217::-;12540:1;12566;12556:132;;12610:10;12605:3;12601:20;12598:1;12591:31;12645:4;12642:1;12635:15;12673:4;12670:1;12663:15;12556:132;-1:-1:-1;12702:9:1;;12500:217::o;13256:127::-;13317:10;13312:3;13308:20;13305:1;13298:31;13348:4;13345:1;13338:15;13372:4;13369:1;13362:15;13388:251;13458:6;13511:2;13499:9;13490:7;13486:23;13482:32;13479:52;;;13527:1;13524;13517:12;13479:52;13559:9;13553:16;13578:31;13603:5;13578:31;:::i;13644:446::-;13697:3;13735:5;13729:12;13762:6;13757:3;13750:19;13794:4;13789:3;13785:14;13778:21;;13833:4;13826:5;13822:16;13856:1;13866:199;13880:6;13877:1;13874:13;13866:199;;;13945:13;;-1:-1:-1;;;;;13941:39:1;13929:52;;14010:4;14001:14;;;;14038:17;;;;13977:1;13895:9;13866:199;;;-1:-1:-1;14081:3:1;;13644:446;-1:-1:-1;;;;13644:446:1:o;14095:582::-;14394:6;14383:9;14376:25;14437:6;14432:2;14421:9;14417:18;14410:34;14480:3;14475:2;14464:9;14460:18;14453:31;14357:4;14501:57;14553:3;14542:9;14538:19;14530:6;14501:57;:::i;:::-;-1:-1:-1;;;;;14594:32:1;;;;14589:2;14574:18;;14567:60;-1:-1:-1;14658:3:1;14643:19;14636:35;14493:65;14095:582;-1:-1:-1;;;14095:582:1:o;14682:332::-;14889:6;14878:9;14871:25;14932:2;14927;14916:9;14912:18;14905:30;14852:4;14952:56;15004:2;14993:9;14989:18;14981:6;14952:56;:::i;:::-;14944:64;14682:332;-1:-1:-1;;;;14682:332:1:o

Swarm Source

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