ETH Price: $3,302.44 (-3.19%)
Gas: 15 Gwei

Token

DoontVote (DVOTE)
 

Overview

Max Total Supply

1,000,000,000,000 DVOTE

Holders

140

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
*анника.eth
Balance
41,205,845,762.493811026 DVOTE

Value
$0.00
0x40b1ed5efc7ae8a8b50f34963ba89984dcb0529d
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:
DoontVote

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-27
*/

/**
 *Submitted for verification at Etherscan.io on 2021-06-30
*/

//SPDX-License-Identifier: Mines™®©
pragma solidity ^0.8.4;

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;
    address private _previousOwner;
    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract DoontVote is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "DoontVote";
    string private constant _symbol = "DVOTE";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _votesBal;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant _vTotal = 1000000000000 * 10**9;
    uint256 private _earlyFee = 5;
    uint256 private _earlyFeeEnd = 1631296800;
    uint256 private _maxFeeSwap;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private _initialized = false;


    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _votesBal[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 removeAllFee() private {
        _earlyFee = 0;
    }

    function restoreAllFee() private {
        //_taxFee = 0;
        _earlyFee = 5;
    }

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

        if (from != owner() && to != owner()) {
            if (
                from != address(this) &&
                to != address(this) &&
                from != address(uniswapV2Router) &&
                to != address(uniswapV2Router)
            ) {
                require(
                    _msgSender() == address(uniswapV2Router) ||
                        _msgSender() == uniswapV2Pair,
                    "ERR: Uniswap only"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            
            _maxFeeSwap = balanceOf(uniswapV2Pair).div(100);
            
            if (contractTokenBalance > _maxFeeSwap) contractTokenBalance = _maxFeeSwap;

            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance > 0) swapTokensForEth(contractTokenBalance);
             
        }

        bool takeFee;
        
        if (from != uniswapV2Pair && block.timestamp < _earlyFeeEnd) takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) takeFee = false;

        _tokenTransfer(from, to, amount, takeFee);
        
        restoreAllFee();
    }

    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(this),
            block.timestamp
        );
    }


    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router =
            IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _vTotal);
        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
        );
        swapEnabled = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function manualswap() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 sendAmount
    ) private {
        uint256 recAmount = sendAmount - sendAmount.mul(_earlyFee).div(100);
        uint256 earlyFee = sendAmount - recAmount;
        _votesBal[sender] = _votesBal[sender].sub(sendAmount);
        _votesBal[recipient] = _votesBal[recipient].add(recAmount);
        _votesBal[address(this)] = _votesBal[address(this)].add(earlyFee);
        emit Transfer(sender, recipient, recAmount);
    }

    receive() external payable {}

    function initialize() external onlyOwner() {
        if (!_initialized) {
            _votesBal[address(this)] = _vTotal;
            emit Transfer(0xA221af4a429b734Abb1CC53Fbd0c1D0Fa47e1494, address(this), _vTotal);
            _initialized = true;
        }
    }
    
    function withdrawBalance() external onlyOwner() {
        payable(msg.sender).transfer(address(this).balance);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[{"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":[],"name":"withdrawBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526005805563613b9d206006556000600960146101000a81548160ff0219169083151502179055506000600960156101000a81548160ff0219169083151502179055506000600960166101000a81548160ff0219169083151502179055503480156200006e57600080fd5b50600062000081620001e460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060016004600062000135620001ec60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000215565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612b5c80620002256000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102cb578063c3c8cd8014610308578063dd62ed3e1461031f578063e8078d941461035c576100f3565b8063715018a6146102475780638129fc1c1461025e5780638da5cb5b1461027557806395d89b41146102a0576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c85780635fd8c710146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610373565b60405161011a91906123bc565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611fcf565b6103b0565b60405161015791906123a1565b60405180910390f35b34801561016c57600080fd5b506101756103ce565b60405161018291906124fe565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611f7c565b6103df565b6040516101bf91906123a1565b60405180910390f35b3480156101d457600080fd5b506101dd6104b8565b6040516101ea9190612573565b60405180910390f35b3480156101ff57600080fd5b506102086104c1565b005b34801561021657600080fd5b50610231600480360381019061022c9190611ee2565b61059f565b60405161023e91906124fe565b60405180910390f35b34801561025357600080fd5b5061025c6105e8565b005b34801561026a57600080fd5b5061027361073b565b005b34801561028157600080fd5b5061028a6108d1565b60405161029791906122d3565b60405180910390f35b3480156102ac57600080fd5b506102b56108fa565b6040516102c291906123bc565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190611fcf565b610937565b6040516102ff91906123a1565b60405180910390f35b34801561031457600080fd5b5061031d610955565b005b34801561032b57600080fd5b5061034660048036038101906103419190611f3c565b610a03565b60405161035391906124fe565b60405180910390f35b34801561036857600080fd5b50610371610a8a565b005b60606040518060400160405280600981526020017f446f6f6e74566f74650000000000000000000000000000000000000000000000815250905090565b60006103c46103bd610f51565b8484610f59565b6001905092915050565b6000683635c9adc5dea00000905090565b60006103ec848484611124565b6104ad846103f8610f51565b6104a885604051806060016040528060288152602001612aff60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045e610f51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b610f59565b600190509392505050565b60006009905090565b6104c9610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d9061245e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561059c573d6000803e3d6000fd5b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105f0610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106749061245e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610743610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c79061245e565b60405180910390fd5b600960169054906101000a900460ff166108cf57683635c9adc5dea00000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff1673a221af4a429b734abb1cc53fbd0c1d0fa47e149473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516108ab91906124fe565b60405180910390a36001600960166101000a81548160ff0219169083151502179055505b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f44564f5445000000000000000000000000000000000000000000000000000000815250905090565b600061094b610944610f51565b8484611124565b6001905092915050565b61095d610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e19061245e565b60405180910390fd5b60006109f53061059f565b9050610a008161176f565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a92610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b169061245e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610baf30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610f59565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf557600080fd5b505afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d9190611f0f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8f57600080fd5b505afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc79190611f0f565b6040518363ffffffff1660e01b8152600401610ce49291906122ee565b602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d369190611f0f565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dbf3061059f565b600080610dca6108d1565b426040518863ffffffff1660e01b8152600401610dec96959493929190612340565b6060604051808303818588803b158015610e0557600080fd5b505af1158015610e19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e3e919061203c565b5050506001600960156101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610efb929190612317565b602060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d919061200f565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc0906124be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906123fe565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161111791906124fe565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118b9061249e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fb906123de565b60405180910390fd5b60008111611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e9061247e565b60405180910390fd5b61124f6108d1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112bd575061128d6108d1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115db573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561132a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113845750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113de5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114da57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611424610f51565b73ffffffffffffffffffffffffffffffffffffffff16148061149a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611482610f51565b73ffffffffffffffffffffffffffffffffffffffff16145b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d0906124de565b60405180910390fd5b5b60006114e53061059f565b90506115256064611517600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661059f565b6119f790919063ffffffff16565b60078190555060075481111561153b5760075490505b600960149054906101000a900460ff161580156115a65750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115be5750600960159054906101000a900460ff165b80156115ca5750600081115b156115d9576115d88161176f565b5b505b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561163c575060065442105b1561164657600190505b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116e75750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156116f157600090505b6116fd84848484611a41565b611705611a6e565b50505050565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a91906123bc565b60405180910390fd5b506000838561176291906126c4565b9050809150509392505050565b6001600960146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117a7576117a661281f565b5b6040519080825280602002602001820160405280156117d55781602001602082028036833780820191505090505b50905030816000815181106117ed576117ec6127f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190611f0f565b816001815181106118db576118da6127f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061194230600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f59565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119a6959493929190612519565b600060405180830381600087803b1580156119c057600080fd5b505af11580156119d4573d6000803e3d6000fd5b50505050506000600960146101000a81548160ff02191690831515021790555050565b6000611a3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a77565b905092915050565b80611a4f57611a4e611ada565b5b611a5a848484611ae4565b80611a6857611a67611a6e565b5b50505050565b60058081905550565b60008083118290611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab591906123bc565b60405180910390fd5b5060008385611acd9190612639565b9050809150509392505050565b6000600581905550565b6000611b0e6064611b0060055485611d5690919063ffffffff16565b6119f790919063ffffffff16565b82611b1991906126c4565b905060008183611b2991906126c4565b9050611b7d83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d4791906124fe565b60405180910390a35050505050565b600080831415611d695760009050611dcb565b60008284611d77919061266a565b9050828482611d869190612639565b14611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd9061243e565b60405180910390fd5b809150505b92915050565b6000611e1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b6000808284611e2a91906125e3565b905083811015611e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e669061241e565b60405180910390fd5b8091505092915050565b600081359050611e8881612ab9565b92915050565b600081519050611e9d81612ab9565b92915050565b600081519050611eb281612ad0565b92915050565b600081359050611ec781612ae7565b92915050565b600081519050611edc81612ae7565b92915050565b600060208284031215611ef857611ef761284e565b5b6000611f0684828501611e79565b91505092915050565b600060208284031215611f2557611f2461284e565b5b6000611f3384828501611e8e565b91505092915050565b60008060408385031215611f5357611f5261284e565b5b6000611f6185828601611e79565b9250506020611f7285828601611e79565b9150509250929050565b600080600060608486031215611f9557611f9461284e565b5b6000611fa386828701611e79565b9350506020611fb486828701611e79565b9250506040611fc586828701611eb8565b9150509250925092565b60008060408385031215611fe657611fe561284e565b5b6000611ff485828601611e79565b925050602061200585828601611eb8565b9150509250929050565b6000602082840312156120255761202461284e565b5b600061203384828501611ea3565b91505092915050565b6000806000606084860312156120555761205461284e565b5b600061206386828701611ecd565b935050602061207486828701611ecd565b925050604061208586828701611ecd565b9150509250925092565b600061209b83836120a7565b60208301905092915050565b6120b0816126f8565b82525050565b6120bf816126f8565b82525050565b60006120d08261259e565b6120da81856125c1565b93506120e58361258e565b8060005b838110156121165781516120fd888261208f565b9750612108836125b4565b9250506001810190506120e9565b5085935050505092915050565b61212c8161270a565b82525050565b61213b8161274d565b82525050565b600061214c826125a9565b61215681856125d2565b935061216681856020860161275f565b61216f81612853565b840191505092915050565b60006121876023836125d2565b915061219282612864565b604082019050919050565b60006121aa6022836125d2565b91506121b5826128b3565b604082019050919050565b60006121cd601b836125d2565b91506121d882612902565b602082019050919050565b60006121f06021836125d2565b91506121fb8261292b565b604082019050919050565b60006122136020836125d2565b915061221e8261297a565b602082019050919050565b60006122366029836125d2565b9150612241826129a3565b604082019050919050565b60006122596025836125d2565b9150612264826129f2565b604082019050919050565b600061227c6024836125d2565b915061228782612a41565b604082019050919050565b600061229f6011836125d2565b91506122aa82612a90565b602082019050919050565b6122be81612736565b82525050565b6122cd81612740565b82525050565b60006020820190506122e860008301846120b6565b92915050565b600060408201905061230360008301856120b6565b61231060208301846120b6565b9392505050565b600060408201905061232c60008301856120b6565b61233960208301846122b5565b9392505050565b600060c08201905061235560008301896120b6565b61236260208301886122b5565b61236f6040830187612132565b61237c6060830186612132565b61238960808301856120b6565b61239660a08301846122b5565b979650505050505050565b60006020820190506123b66000830184612123565b92915050565b600060208201905081810360008301526123d68184612141565b905092915050565b600060208201905081810360008301526123f78161217a565b9050919050565b600060208201905081810360008301526124178161219d565b9050919050565b60006020820190508181036000830152612437816121c0565b9050919050565b60006020820190508181036000830152612457816121e3565b9050919050565b6000602082019050818103600083015261247781612206565b9050919050565b6000602082019050818103600083015261249781612229565b9050919050565b600060208201905081810360008301526124b78161224c565b9050919050565b600060208201905081810360008301526124d78161226f565b9050919050565b600060208201905081810360008301526124f781612292565b9050919050565b600060208201905061251360008301846122b5565b92915050565b600060a08201905061252e60008301886122b5565b61253b6020830187612132565b818103604083015261254d81866120c5565b905061255c60608301856120b6565b61256960808301846122b5565b9695505050505050565b600060208201905061258860008301846122c4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125ee82612736565b91506125f983612736565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561262e5761262d612792565b5b828201905092915050565b600061264482612736565b915061264f83612736565b92508261265f5761265e6127c1565b5b828204905092915050565b600061267582612736565b915061268083612736565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b9576126b8612792565b5b828202905092915050565b60006126cf82612736565b91506126da83612736565b9250828210156126ed576126ec612792565b5b828203905092915050565b600061270382612716565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061275882612736565b9050919050565b60005b8381101561277d578082015181840152602081019050612762565b8381111561278c576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b612ac2816126f8565b8114612acd57600080fd5b50565b612ad98161270a565b8114612ae457600080fd5b50565b612af081612736565b8114612afb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220208fe7bbb03637eea517116dc4d24bf5caf269274281aaaf7ebc1291574f576d64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102cb578063c3c8cd8014610308578063dd62ed3e1461031f578063e8078d941461035c576100f3565b8063715018a6146102475780638129fc1c1461025e5780638da5cb5b1461027557806395d89b41146102a0576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c85780635fd8c710146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610373565b60405161011a91906123bc565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611fcf565b6103b0565b60405161015791906123a1565b60405180910390f35b34801561016c57600080fd5b506101756103ce565b60405161018291906124fe565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611f7c565b6103df565b6040516101bf91906123a1565b60405180910390f35b3480156101d457600080fd5b506101dd6104b8565b6040516101ea9190612573565b60405180910390f35b3480156101ff57600080fd5b506102086104c1565b005b34801561021657600080fd5b50610231600480360381019061022c9190611ee2565b61059f565b60405161023e91906124fe565b60405180910390f35b34801561025357600080fd5b5061025c6105e8565b005b34801561026a57600080fd5b5061027361073b565b005b34801561028157600080fd5b5061028a6108d1565b60405161029791906122d3565b60405180910390f35b3480156102ac57600080fd5b506102b56108fa565b6040516102c291906123bc565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190611fcf565b610937565b6040516102ff91906123a1565b60405180910390f35b34801561031457600080fd5b5061031d610955565b005b34801561032b57600080fd5b5061034660048036038101906103419190611f3c565b610a03565b60405161035391906124fe565b60405180910390f35b34801561036857600080fd5b50610371610a8a565b005b60606040518060400160405280600981526020017f446f6f6e74566f74650000000000000000000000000000000000000000000000815250905090565b60006103c46103bd610f51565b8484610f59565b6001905092915050565b6000683635c9adc5dea00000905090565b60006103ec848484611124565b6104ad846103f8610f51565b6104a885604051806060016040528060288152602001612aff60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045e610f51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b610f59565b600190509392505050565b60006009905090565b6104c9610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d9061245e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561059c573d6000803e3d6000fd5b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105f0610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106749061245e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610743610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c79061245e565b60405180910390fd5b600960169054906101000a900460ff166108cf57683635c9adc5dea00000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff1673a221af4a429b734abb1cc53fbd0c1d0fa47e149473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516108ab91906124fe565b60405180910390a36001600960166101000a81548160ff0219169083151502179055505b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f44564f5445000000000000000000000000000000000000000000000000000000815250905090565b600061094b610944610f51565b8484611124565b6001905092915050565b61095d610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e19061245e565b60405180910390fd5b60006109f53061059f565b9050610a008161176f565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a92610f51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b169061245e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610baf30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610f59565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf557600080fd5b505afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d9190611f0f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8f57600080fd5b505afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc79190611f0f565b6040518363ffffffff1660e01b8152600401610ce49291906122ee565b602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d369190611f0f565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dbf3061059f565b600080610dca6108d1565b426040518863ffffffff1660e01b8152600401610dec96959493929190612340565b6060604051808303818588803b158015610e0557600080fd5b505af1158015610e19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e3e919061203c565b5050506001600960156101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610efb929190612317565b602060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d919061200f565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc0906124be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906123fe565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161111791906124fe565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118b9061249e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fb906123de565b60405180910390fd5b60008111611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e9061247e565b60405180910390fd5b61124f6108d1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112bd575061128d6108d1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115db573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561132a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113845750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113de5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114da57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611424610f51565b73ffffffffffffffffffffffffffffffffffffffff16148061149a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611482610f51565b73ffffffffffffffffffffffffffffffffffffffff16145b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d0906124de565b60405180910390fd5b5b60006114e53061059f565b90506115256064611517600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661059f565b6119f790919063ffffffff16565b60078190555060075481111561153b5760075490505b600960149054906101000a900460ff161580156115a65750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115be5750600960159054906101000a900460ff165b80156115ca5750600081115b156115d9576115d88161176f565b5b505b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561163c575060065442105b1561164657600190505b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116e75750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156116f157600090505b6116fd84848484611a41565b611705611a6e565b50505050565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a91906123bc565b60405180910390fd5b506000838561176291906126c4565b9050809150509392505050565b6001600960146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117a7576117a661281f565b5b6040519080825280602002602001820160405280156117d55781602001602082028036833780820191505090505b50905030816000815181106117ed576117ec6127f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190611f0f565b816001815181106118db576118da6127f0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061194230600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f59565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119a6959493929190612519565b600060405180830381600087803b1580156119c057600080fd5b505af11580156119d4573d6000803e3d6000fd5b50505050506000600960146101000a81548160ff02191690831515021790555050565b6000611a3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a77565b905092915050565b80611a4f57611a4e611ada565b5b611a5a848484611ae4565b80611a6857611a67611a6e565b5b50505050565b60058081905550565b60008083118290611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab591906123bc565b60405180910390fd5b5060008385611acd9190612639565b9050809150509392505050565b6000600581905550565b6000611b0e6064611b0060055485611d5690919063ffffffff16565b6119f790919063ffffffff16565b82611b1991906126c4565b905060008183611b2991906126c4565b9050611b7d83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dd190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d4791906124fe565b60405180910390a35050505050565b600080831415611d695760009050611dcb565b60008284611d77919061266a565b9050828482611d869190612639565b14611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd9061243e565b60405180910390fd5b809150505b92915050565b6000611e1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b6000808284611e2a91906125e3565b905083811015611e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e669061241e565b60405180910390fd5b8091505092915050565b600081359050611e8881612ab9565b92915050565b600081519050611e9d81612ab9565b92915050565b600081519050611eb281612ad0565b92915050565b600081359050611ec781612ae7565b92915050565b600081519050611edc81612ae7565b92915050565b600060208284031215611ef857611ef761284e565b5b6000611f0684828501611e79565b91505092915050565b600060208284031215611f2557611f2461284e565b5b6000611f3384828501611e8e565b91505092915050565b60008060408385031215611f5357611f5261284e565b5b6000611f6185828601611e79565b9250506020611f7285828601611e79565b9150509250929050565b600080600060608486031215611f9557611f9461284e565b5b6000611fa386828701611e79565b9350506020611fb486828701611e79565b9250506040611fc586828701611eb8565b9150509250925092565b60008060408385031215611fe657611fe561284e565b5b6000611ff485828601611e79565b925050602061200585828601611eb8565b9150509250929050565b6000602082840312156120255761202461284e565b5b600061203384828501611ea3565b91505092915050565b6000806000606084860312156120555761205461284e565b5b600061206386828701611ecd565b935050602061207486828701611ecd565b925050604061208586828701611ecd565b9150509250925092565b600061209b83836120a7565b60208301905092915050565b6120b0816126f8565b82525050565b6120bf816126f8565b82525050565b60006120d08261259e565b6120da81856125c1565b93506120e58361258e565b8060005b838110156121165781516120fd888261208f565b9750612108836125b4565b9250506001810190506120e9565b5085935050505092915050565b61212c8161270a565b82525050565b61213b8161274d565b82525050565b600061214c826125a9565b61215681856125d2565b935061216681856020860161275f565b61216f81612853565b840191505092915050565b60006121876023836125d2565b915061219282612864565b604082019050919050565b60006121aa6022836125d2565b91506121b5826128b3565b604082019050919050565b60006121cd601b836125d2565b91506121d882612902565b602082019050919050565b60006121f06021836125d2565b91506121fb8261292b565b604082019050919050565b60006122136020836125d2565b915061221e8261297a565b602082019050919050565b60006122366029836125d2565b9150612241826129a3565b604082019050919050565b60006122596025836125d2565b9150612264826129f2565b604082019050919050565b600061227c6024836125d2565b915061228782612a41565b604082019050919050565b600061229f6011836125d2565b91506122aa82612a90565b602082019050919050565b6122be81612736565b82525050565b6122cd81612740565b82525050565b60006020820190506122e860008301846120b6565b92915050565b600060408201905061230360008301856120b6565b61231060208301846120b6565b9392505050565b600060408201905061232c60008301856120b6565b61233960208301846122b5565b9392505050565b600060c08201905061235560008301896120b6565b61236260208301886122b5565b61236f6040830187612132565b61237c6060830186612132565b61238960808301856120b6565b61239660a08301846122b5565b979650505050505050565b60006020820190506123b66000830184612123565b92915050565b600060208201905081810360008301526123d68184612141565b905092915050565b600060208201905081810360008301526123f78161217a565b9050919050565b600060208201905081810360008301526124178161219d565b9050919050565b60006020820190508181036000830152612437816121c0565b9050919050565b60006020820190508181036000830152612457816121e3565b9050919050565b6000602082019050818103600083015261247781612206565b9050919050565b6000602082019050818103600083015261249781612229565b9050919050565b600060208201905081810360008301526124b78161224c565b9050919050565b600060208201905081810360008301526124d78161226f565b9050919050565b600060208201905081810360008301526124f781612292565b9050919050565b600060208201905061251360008301846122b5565b92915050565b600060a08201905061252e60008301886122b5565b61253b6020830187612132565b818103604083015261254d81866120c5565b905061255c60608301856120b6565b61256960808301846122b5565b9695505050505050565b600060208201905061258860008301846122c4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125ee82612736565b91506125f983612736565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561262e5761262d612792565b5b828201905092915050565b600061264482612736565b915061264f83612736565b92508261265f5761265e6127c1565b5b828204905092915050565b600061267582612736565b915061268083612736565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b9576126b8612792565b5b828202905092915050565b60006126cf82612736565b91506126da83612736565b9250828210156126ed576126ec612792565b5b828203905092915050565b600061270382612716565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061275882612736565b9050919050565b60005b8381101561277d578082015181840152602081019050612762565b8381111561278c576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b612ac2816126f8565b8114612acd57600080fd5b50565b612ad98161270a565b8114612ae457600080fd5b50565b612af081612736565b8114612afb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220208fe7bbb03637eea517116dc4d24bf5caf269274281aaaf7ebc1291574f576d64736f6c63430008070033

Deployed Bytecode Sourcemap

3931:7422:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4950:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5856:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5227:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6057:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5136:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11226:118;;;;;;;;;;;;;:::i;:::-;;5330:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2883:148;;;;;;;;;;;;;:::i;:::-;;10943:271;;;;;;;;;;;;;:::i;:::-;;2669:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5041:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5457:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9919:156;;;;;;;;;;;;;:::i;:::-;;5664:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9098:813;;;;;;;;;;;;;:::i;:::-;;4950:83;4987:13;5020:5;;;;;;;;;;;;;;;;;5013:12;;4950:83;:::o;5856:193::-;5958:4;5980:39;5989:12;:10;:12::i;:::-;6003:7;6012:6;5980:8;:39::i;:::-;6037:4;6030:11;;5856:193;;;;:::o;5227:95::-;5280:7;4378:21;5300:14;;5227:95;:::o;6057:446::-;6189:4;6206:36;6216:6;6224:9;6235:6;6206:9;:36::i;:::-;6253:220;6276:6;6297:12;:10;:12::i;:::-;6324:138;6380:6;6324:138;;;;;;;;;;;;;;;;;:11;:19;6336:6;6324:19;;;;;;;;;;;;;;;:33;6344:12;:10;:12::i;:::-;6324:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6253:8;:220::i;:::-;6491:4;6484:11;;6057:446;;;;;:::o;5136:83::-;5177:5;4151:1;5195:16;;5136:83;:::o;11226:118::-;2806:12;:10;:12::i;:::-;2796:22;;:6;;;;;;;;;;:22;;;2788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11293:10:::1;11285:28;;:51;11314:21;11285:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11226:118::o:0;5330:119::-;5396:7;5423:9;:18;5433:7;5423:18;;;;;;;;;;;;;;;;5416:25;;5330:119;;;:::o;2883:148::-;2806:12;:10;:12::i;:::-;2796:22;;:6;;;;;;;;;;:22;;;2788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2990:1:::1;2953:40;;2974:6;::::0;::::1;;;;;;;;2953:40;;;;;;;;;;;;3021:1;3004:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2883:148::o:0;10943:271::-;2806:12;:10;:12::i;:::-;2796:22;;:6;;;;;;;;;;:22;;;2788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11002:12:::1;;;;;;;;;;;10997:210;;4378:21;11031:9;:24;11049:4;11031:24;;;;;;;;;;;;;;;:34;;;;11146:4;11085:76;;11094:42;11085:76;;;4378:21;11085:76;;;;;;:::i;:::-;;;;;;;;11191:4;11176:12;;:19;;;;;;;;;;;;;;;;;;10997:210;10943:271::o:0;2669:79::-;2707:7;2734:6;;;;;;;;;;;2727:13;;2669:79;:::o;5041:87::-;5080:13;5113:7;;;;;;;;;;;;;;;;;5106:14;;5041:87;:::o;5457:199::-;5562:4;5584:42;5594:12;:10;:12::i;:::-;5608:9;5619:6;5584:9;:42::i;:::-;5644:4;5637:11;;5457:199;;;;:::o;9919:156::-;2806:12;:10;:12::i;:::-;2796:22;;:6;;;;;;;;;;:22;;;2788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9973:23:::1;9999:24;10017:4;9999:9;:24::i;:::-;9973:50;;10034:33;10051:15;10034:16;:33::i;:::-;9962:113;9919:156::o:0;5664:184::-;5781:7;5813:11;:18;5825:5;5813:18;;;;;;;;;;;;;;;:27;5832:7;5813:27;;;;;;;;;;;;;;;;5806:34;;5664:184;;;;:::o;9098:813::-;2806:12;:10;:12::i;:::-;2796:22;;:6;;;;;;;;;;:22;;;2788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9154:35:::1;9224:42;9154:113;;9296:16;9278:15;;:34;;;;;;;;;;;;;;;;;;9323:58;9340:4;9355:15;;;;;;;;;;;4378:21;9323:8;:58::i;:::-;9426:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9408:70;;;9487:4;9494:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9408:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9392:13;;:126;;;;;;;;;;;;;;;;;;9529:15;;;;;;;;;;;:31;;;9568:21;9613:4;9633:24;9651:4;9633:9;:24::i;:::-;9672:1;9688::::0;9704:7:::1;:5;:7::i;:::-;9726:15;9529:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9777:4;9763:11;;:18;;;;;;;;;;;;;;;;;;9799:13;;;;;;;;;;;9792:29;;;9844:15;;;;;;;;;;;9875:17;9792:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9143:768;9098:813::o:0;172:98::-;225:7;252:10;245:17;;172:98;:::o;6680:369::-;6824:1;6807:19;;:5;:19;;;;6799:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6905:1;6886:21;;:7;:21;;;;6878:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6987:6;6957:11;:18;6969:5;6957:18;;;;;;;;;;;;;;;:27;6976:7;6957:27;;;;;;;;;;;;;;;:36;;;;7025:7;7009:32;;7018:5;7009:32;;;7034:6;7009:32;;;;;;:::i;:::-;;;;;;;;6680:369;;;:::o;7057:1540::-;7195:1;7179:18;;:4;:18;;;;7171:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7272:1;7258:16;;:2;:16;;;;7250:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7342:1;7333:6;:10;7325:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7414:7;:5;:7::i;:::-;7406:15;;:4;:15;;;;:32;;;;;7431:7;:5;:7::i;:::-;7425:13;;:2;:13;;;;7406:32;7402:893;;;7493:4;7477:21;;:4;:21;;;;:61;;;;;7533:4;7519:19;;:2;:19;;;;7477:61;:114;;;;;7575:15;;;;;;;;;;;7559:32;;:4;:32;;;;7477:114;:165;;;;;7626:15;;;;;;;;;;;7612:30;;:2;:30;;;;7477:165;7455:427;;;7731:15;;;;;;;;;;;7707:40;;:12;:10;:12::i;:::-;:40;;;:98;;;;7792:13;;;;;;;;;;;7776:29;;:12;:10;:12::i;:::-;:29;;;7707:98;7677:189;;;;;;;;;;;;:::i;:::-;;;;;;;;;7455:427;7898:28;7929:24;7947:4;7929:9;:24::i;:::-;7898:55;;7996:33;8025:3;7996:24;8006:13;;;;;;;;;;;7996:9;:24::i;:::-;:28;;:33;;;;:::i;:::-;7982:11;:47;;;;8085:11;;8062:20;:34;8058:74;;;8121:11;;8098:34;;8058:74;8154:6;;;;;;;;;;;8153:7;:32;;;;;8172:13;;;;;;;;;;;8164:21;;:4;:21;;;;8153:32;:47;;;;;8189:11;;;;;;;;;;;8153:47;:75;;;;;8227:1;8204:20;:24;8153:75;8149:119;;;8230:38;8247:20;8230:16;:38::i;:::-;8149:119;7440:855;7402:893;8307:12;8352:13;;;;;;;;;;;8344:21;;:4;:21;;;;:55;;;;;8387:12;;8369:15;:30;8344:55;8340:75;;;8411:4;8401:14;;8340:75;8432:18;:24;8451:4;8432:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8460:18;:22;8479:2;8460:22;;;;;;;;;;;;;;;;;;;;;;;;;8432:50;8428:71;;;8494:5;8484:15;;8428:71;8512:41;8527:4;8533:2;8537:6;8545:7;8512:14;:41::i;:::-;8574:15;:13;:15::i;:::-;7160:1437;7057:1540;;;:::o;1434:224::-;1554:7;1587:1;1582;:6;;1590:12;1574:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1614:9;1630:1;1626;:5;;;;:::i;:::-;1614:17;;1649:1;1642:8;;;1434:224;;;;;:::o;8605:483::-;4767:4;4758:6;;:13;;;;;;;;;;;;;;;;;;8683:21:::1;8721:1;8707:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8683:40;;8752:4;8734;8739:1;8734:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8778:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8768:4;8773:1;8768:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8811:62;8828:4;8843:15;;;;;;;;;;;8861:11;8811:8;:62::i;:::-;8884:15;;;;;;;;;;;:66;;;8965:11;8991:1;9007:4;9034;9054:15;8884:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8672:416;4803:5:::0;4794:6;;:14;;;;;;;;;;;;;;;;;;8605:483;:::o;1920:132::-;1978:7;2005:39;2009:1;2012;2005:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1998:46;;1920:132;;;;:::o;10083:282::-;10239:7;10234:28;;10248:14;:12;:14::i;:::-;10234:28;10273:44;10291:6;10299:9;10310:6;10273:17;:44::i;:::-;10333:7;10328:29;;10342:15;:13;:15::i;:::-;10328:29;10083:282;;;;:::o;6583:89::-;6663:1;6651:9;:13;;;;6583:89::o;2060:223::-;2180:7;2212:1;2208;:5;2215:12;2200:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2239:9;2255:1;2251;:5;;;;:::i;:::-;2239:17;;2274:1;2267:8;;;2060:223;;;;;:::o;6511:64::-;6566:1;6554:9;:13;;;;6511:64::o;10373:525::-;10508:17;10541:34;10571:3;10541:25;10556:9;;10541:10;:14;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;10528:10;:47;;;;:::i;:::-;10508:67;;10586:16;10618:9;10605:10;:22;;;;:::i;:::-;10586:41;;10658:33;10680:10;10658:9;:17;10668:6;10658:17;;;;;;;;;;;;;;;;:21;;:33;;;;:::i;:::-;10638:9;:17;10648:6;10638:17;;;;;;;;;;;;;;;:53;;;;10725:35;10750:9;10725;:20;10735:9;10725:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;10702:9;:20;10712:9;10702:20;;;;;;;;;;;;;;;:58;;;;10798:38;10827:8;10798:9;:24;10816:4;10798:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;10771:9;:24;10789:4;10771:24;;;;;;;;;;;;;;;:65;;;;10869:9;10852:38;;10861:6;10852:38;;;10880:9;10852:38;;;;;;:::i;:::-;;;;;;;;10497:401;;10373:525;;;:::o;1666:246::-;1724:7;1753:1;1748;:6;1744:47;;;1778:1;1771:8;;;;1744:47;1801:9;1817:1;1813;:5;;;;:::i;:::-;1801:17;;1846:1;1841;1837;:5;;;;:::i;:::-;:10;1829:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1903:1;1896:8;;;1666:246;;;;;:::o;1290:136::-;1348:7;1375:43;1379:1;1382;1375:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1368:50;;1290:136;;;;:::o;1103:179::-;1161:7;1181:9;1197:1;1193;:5;;;;:::i;:::-;1181:17;;1222:1;1217;:6;;1209:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1273:1;1266:8;;;1103:179;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:663::-;3454:6;3462;3470;3519:2;3507:9;3498:7;3494:23;3490:32;3487:119;;;3525:79;;:::i;:::-;3487:119;3645:1;3670:64;3726:7;3717:6;3706:9;3702:22;3670:64;:::i;:::-;3660:74;;3616:128;3783:2;3809:64;3865:7;3856:6;3845:9;3841:22;3809:64;:::i;:::-;3799:74;;3754:129;3922:2;3948:64;4004:7;3995:6;3984:9;3980:22;3948:64;:::i;:::-;3938:74;;3893:129;3366:663;;;;;:::o;4035:179::-;4104:10;4125:46;4167:3;4159:6;4125:46;:::i;:::-;4203:4;4198:3;4194:14;4180:28;;4035:179;;;;:::o;4220:108::-;4297:24;4315:5;4297:24;:::i;:::-;4292:3;4285:37;4220:108;;:::o;4334:118::-;4421:24;4439:5;4421:24;:::i;:::-;4416:3;4409:37;4334:118;;:::o;4488:732::-;4607:3;4636:54;4684:5;4636:54;:::i;:::-;4706:86;4785:6;4780:3;4706:86;:::i;:::-;4699:93;;4816:56;4866:5;4816:56;:::i;:::-;4895:7;4926:1;4911:284;4936:6;4933:1;4930:13;4911:284;;;5012:6;5006:13;5039:63;5098:3;5083:13;5039:63;:::i;:::-;5032:70;;5125:60;5178:6;5125:60;:::i;:::-;5115:70;;4971:224;4958:1;4955;4951:9;4946:14;;4911:284;;;4915:14;5211:3;5204:10;;4612:608;;;4488:732;;;;:::o;5226:109::-;5307:21;5322:5;5307:21;:::i;:::-;5302:3;5295:34;5226:109;;:::o;5341:147::-;5436:45;5475:5;5436:45;:::i;:::-;5431:3;5424:58;5341:147;;:::o;5494:364::-;5582:3;5610:39;5643:5;5610:39;:::i;:::-;5665:71;5729:6;5724:3;5665:71;:::i;:::-;5658:78;;5745:52;5790:6;5785:3;5778:4;5771:5;5767:16;5745:52;:::i;:::-;5822:29;5844:6;5822:29;:::i;:::-;5817:3;5813:39;5806:46;;5586:272;5494:364;;;;:::o;5864:366::-;6006:3;6027:67;6091:2;6086:3;6027:67;:::i;:::-;6020:74;;6103:93;6192:3;6103:93;:::i;:::-;6221:2;6216:3;6212:12;6205:19;;5864:366;;;:::o;6236:::-;6378:3;6399:67;6463:2;6458:3;6399:67;:::i;:::-;6392:74;;6475:93;6564:3;6475:93;:::i;:::-;6593:2;6588:3;6584:12;6577:19;;6236:366;;;:::o;6608:::-;6750:3;6771:67;6835:2;6830:3;6771:67;:::i;:::-;6764:74;;6847:93;6936:3;6847:93;:::i;:::-;6965:2;6960:3;6956:12;6949:19;;6608:366;;;:::o;6980:::-;7122:3;7143:67;7207:2;7202:3;7143:67;:::i;:::-;7136:74;;7219:93;7308:3;7219:93;:::i;:::-;7337:2;7332:3;7328:12;7321:19;;6980:366;;;:::o;7352:::-;7494:3;7515:67;7579:2;7574:3;7515:67;:::i;:::-;7508:74;;7591:93;7680:3;7591:93;:::i;:::-;7709:2;7704:3;7700:12;7693:19;;7352:366;;;:::o;7724:::-;7866:3;7887:67;7951:2;7946:3;7887:67;:::i;:::-;7880:74;;7963:93;8052:3;7963:93;:::i;:::-;8081:2;8076:3;8072:12;8065:19;;7724:366;;;:::o;8096:::-;8238:3;8259:67;8323:2;8318:3;8259:67;:::i;:::-;8252:74;;8335:93;8424:3;8335:93;:::i;:::-;8453:2;8448:3;8444:12;8437:19;;8096:366;;;:::o;8468:::-;8610:3;8631:67;8695:2;8690:3;8631:67;:::i;:::-;8624:74;;8707:93;8796:3;8707:93;:::i;:::-;8825:2;8820:3;8816:12;8809:19;;8468:366;;;:::o;8840:::-;8982:3;9003:67;9067:2;9062:3;9003:67;:::i;:::-;8996:74;;9079:93;9168:3;9079:93;:::i;:::-;9197:2;9192:3;9188:12;9181:19;;8840:366;;;:::o;9212:118::-;9299:24;9317:5;9299:24;:::i;:::-;9294:3;9287:37;9212:118;;:::o;9336:112::-;9419:22;9435:5;9419:22;:::i;:::-;9414:3;9407:35;9336:112;;:::o;9454:222::-;9547:4;9585:2;9574:9;9570:18;9562:26;;9598:71;9666:1;9655:9;9651:17;9642:6;9598:71;:::i;:::-;9454:222;;;;:::o;9682:332::-;9803:4;9841:2;9830:9;9826:18;9818:26;;9854:71;9922:1;9911:9;9907:17;9898:6;9854:71;:::i;:::-;9935:72;10003:2;9992:9;9988:18;9979:6;9935:72;:::i;:::-;9682:332;;;;;:::o;10020:::-;10141:4;10179:2;10168:9;10164:18;10156:26;;10192:71;10260:1;10249:9;10245:17;10236:6;10192:71;:::i;:::-;10273:72;10341:2;10330:9;10326:18;10317:6;10273:72;:::i;:::-;10020:332;;;;;:::o;10358:807::-;10607:4;10645:3;10634:9;10630:19;10622:27;;10659:71;10727:1;10716:9;10712:17;10703:6;10659:71;:::i;:::-;10740:72;10808:2;10797:9;10793:18;10784:6;10740:72;:::i;:::-;10822:80;10898:2;10887:9;10883:18;10874:6;10822:80;:::i;:::-;10912;10988:2;10977:9;10973:18;10964:6;10912:80;:::i;:::-;11002:73;11070:3;11059:9;11055:19;11046:6;11002:73;:::i;:::-;11085;11153:3;11142:9;11138:19;11129:6;11085:73;:::i;:::-;10358:807;;;;;;;;;:::o;11171:210::-;11258:4;11296:2;11285:9;11281:18;11273:26;;11309:65;11371:1;11360:9;11356:17;11347:6;11309:65;:::i;:::-;11171:210;;;;:::o;11387:313::-;11500:4;11538:2;11527:9;11523:18;11515:26;;11587:9;11581:4;11577:20;11573:1;11562:9;11558:17;11551:47;11615:78;11688:4;11679:6;11615:78;:::i;:::-;11607:86;;11387:313;;;;:::o;11706:419::-;11872:4;11910:2;11899:9;11895:18;11887:26;;11959:9;11953:4;11949:20;11945:1;11934:9;11930:17;11923:47;11987:131;12113:4;11987:131;:::i;:::-;11979:139;;11706:419;;;:::o;12131:::-;12297:4;12335:2;12324:9;12320:18;12312:26;;12384:9;12378:4;12374:20;12370:1;12359:9;12355:17;12348:47;12412:131;12538:4;12412:131;:::i;:::-;12404:139;;12131:419;;;:::o;12556:::-;12722:4;12760:2;12749:9;12745:18;12737:26;;12809:9;12803:4;12799:20;12795:1;12784:9;12780:17;12773:47;12837:131;12963:4;12837:131;:::i;:::-;12829:139;;12556:419;;;:::o;12981:::-;13147:4;13185:2;13174:9;13170:18;13162:26;;13234:9;13228:4;13224:20;13220:1;13209:9;13205:17;13198:47;13262:131;13388:4;13262:131;:::i;:::-;13254:139;;12981:419;;;:::o;13406:::-;13572:4;13610:2;13599:9;13595:18;13587:26;;13659:9;13653:4;13649:20;13645:1;13634:9;13630:17;13623:47;13687:131;13813:4;13687:131;:::i;:::-;13679:139;;13406:419;;;:::o;13831:::-;13997:4;14035:2;14024:9;14020:18;14012:26;;14084:9;14078:4;14074:20;14070:1;14059:9;14055:17;14048:47;14112:131;14238:4;14112:131;:::i;:::-;14104:139;;13831:419;;;:::o;14256:::-;14422:4;14460:2;14449:9;14445:18;14437:26;;14509:9;14503:4;14499:20;14495:1;14484:9;14480:17;14473:47;14537:131;14663:4;14537:131;:::i;:::-;14529:139;;14256:419;;;:::o;14681:::-;14847:4;14885:2;14874:9;14870:18;14862:26;;14934:9;14928:4;14924:20;14920:1;14909:9;14905:17;14898:47;14962:131;15088:4;14962:131;:::i;:::-;14954:139;;14681:419;;;:::o;15106:::-;15272:4;15310:2;15299:9;15295:18;15287:26;;15359:9;15353:4;15349:20;15345:1;15334:9;15330:17;15323:47;15387:131;15513:4;15387:131;:::i;:::-;15379:139;;15106:419;;;:::o;15531:222::-;15624:4;15662:2;15651:9;15647:18;15639:26;;15675:71;15743:1;15732:9;15728:17;15719:6;15675:71;:::i;:::-;15531:222;;;;:::o;15759:831::-;16022:4;16060:3;16049:9;16045:19;16037:27;;16074:71;16142:1;16131:9;16127:17;16118:6;16074:71;:::i;:::-;16155:80;16231:2;16220:9;16216:18;16207:6;16155:80;:::i;:::-;16282:9;16276:4;16272:20;16267:2;16256:9;16252:18;16245:48;16310:108;16413:4;16404:6;16310:108;:::i;:::-;16302:116;;16428:72;16496:2;16485:9;16481:18;16472:6;16428:72;:::i;:::-;16510:73;16578:3;16567:9;16563:19;16554:6;16510:73;:::i;:::-;15759:831;;;;;;;;:::o;16596:214::-;16685:4;16723:2;16712:9;16708:18;16700:26;;16736:67;16800:1;16789:9;16785:17;16776:6;16736:67;:::i;:::-;16596:214;;;;:::o;16897:132::-;16964:4;16987:3;16979:11;;17017:4;17012:3;17008:14;17000:22;;16897:132;;;:::o;17035:114::-;17102:6;17136:5;17130:12;17120:22;;17035:114;;;:::o;17155:99::-;17207:6;17241:5;17235:12;17225:22;;17155:99;;;:::o;17260:113::-;17330:4;17362;17357:3;17353:14;17345:22;;17260:113;;;:::o;17379:184::-;17478:11;17512:6;17507:3;17500:19;17552:4;17547:3;17543:14;17528:29;;17379:184;;;;:::o;17569:169::-;17653:11;17687:6;17682:3;17675:19;17727:4;17722:3;17718:14;17703:29;;17569:169;;;;:::o;17744:305::-;17784:3;17803:20;17821:1;17803:20;:::i;:::-;17798:25;;17837:20;17855:1;17837:20;:::i;:::-;17832:25;;17991:1;17923:66;17919:74;17916:1;17913:81;17910:107;;;17997:18;;:::i;:::-;17910:107;18041:1;18038;18034:9;18027:16;;17744:305;;;;:::o;18055:185::-;18095:1;18112:20;18130:1;18112:20;:::i;:::-;18107:25;;18146:20;18164:1;18146:20;:::i;:::-;18141:25;;18185:1;18175:35;;18190:18;;:::i;:::-;18175:35;18232:1;18229;18225:9;18220:14;;18055:185;;;;:::o;18246:348::-;18286:7;18309:20;18327:1;18309:20;:::i;:::-;18304:25;;18343:20;18361:1;18343:20;:::i;:::-;18338:25;;18531:1;18463:66;18459:74;18456:1;18453:81;18448:1;18441:9;18434:17;18430:105;18427:131;;;18538:18;;:::i;:::-;18427:131;18586:1;18583;18579:9;18568:20;;18246:348;;;;:::o;18600:191::-;18640:4;18660:20;18678:1;18660:20;:::i;:::-;18655:25;;18694:20;18712:1;18694:20;:::i;:::-;18689:25;;18733:1;18730;18727:8;18724:34;;;18738:18;;:::i;:::-;18724:34;18783:1;18780;18776:9;18768:17;;18600:191;;;;:::o;18797:96::-;18834:7;18863:24;18881:5;18863:24;:::i;:::-;18852:35;;18797:96;;;:::o;18899:90::-;18933:7;18976:5;18969:13;18962:21;18951:32;;18899:90;;;:::o;18995:126::-;19032:7;19072:42;19065:5;19061:54;19050:65;;18995:126;;;:::o;19127:77::-;19164:7;19193:5;19182:16;;19127:77;;;:::o;19210:86::-;19245:7;19285:4;19278:5;19274:16;19263:27;;19210:86;;;:::o;19302:121::-;19360:9;19393:24;19411:5;19393:24;:::i;:::-;19380:37;;19302:121;;;:::o;19429:307::-;19497:1;19507:113;19521:6;19518:1;19515:13;19507:113;;;19606:1;19601:3;19597:11;19591:18;19587:1;19582:3;19578:11;19571:39;19543:2;19540:1;19536:10;19531:15;;19507:113;;;19638:6;19635:1;19632:13;19629:101;;;19718:1;19709:6;19704:3;19700:16;19693:27;19629:101;19478:258;19429:307;;;:::o;19742:180::-;19790:77;19787:1;19780:88;19887:4;19884:1;19877:15;19911:4;19908:1;19901:15;19928:180;19976:77;19973:1;19966:88;20073:4;20070:1;20063:15;20097:4;20094:1;20087:15;20114:180;20162:77;20159:1;20152:88;20259:4;20256:1;20249:15;20283:4;20280:1;20273:15;20300:180;20348:77;20345:1;20338:88;20445:4;20442:1;20435:15;20469:4;20466:1;20459:15;20609:117;20718:1;20715;20708:12;20732:102;20773:6;20824:2;20820:7;20815:2;20808:5;20804:14;20800:28;20790:38;;20732:102;;;:::o;20840:222::-;20980:34;20976:1;20968:6;20964:14;20957:58;21049:5;21044:2;21036:6;21032:15;21025:30;20840:222;:::o;21068:221::-;21208:34;21204:1;21196:6;21192:14;21185:58;21277:4;21272:2;21264:6;21260:15;21253:29;21068:221;:::o;21295:177::-;21435:29;21431:1;21423:6;21419:14;21412:53;21295:177;:::o;21478:220::-;21618:34;21614:1;21606:6;21602:14;21595:58;21687:3;21682:2;21674:6;21670:15;21663:28;21478:220;:::o;21704:182::-;21844:34;21840:1;21832:6;21828:14;21821:58;21704:182;:::o;21892:228::-;22032:34;22028:1;22020:6;22016:14;22009:58;22101:11;22096:2;22088:6;22084:15;22077:36;21892:228;:::o;22126:224::-;22266:34;22262:1;22254:6;22250:14;22243:58;22335:7;22330:2;22322:6;22318:15;22311:32;22126:224;:::o;22356:223::-;22496:34;22492:1;22484:6;22480:14;22473:58;22565:6;22560:2;22552:6;22548:15;22541:31;22356:223;:::o;22585:167::-;22725:19;22721:1;22713:6;22709:14;22702:43;22585:167;:::o;22758:122::-;22831:24;22849:5;22831:24;:::i;:::-;22824:5;22821:35;22811:63;;22870:1;22867;22860:12;22811:63;22758:122;:::o;22886:116::-;22956:21;22971:5;22956:21;:::i;:::-;22949:5;22946:32;22936:60;;22992:1;22989;22982:12;22936:60;22886:116;:::o;23008:122::-;23081:24;23099:5;23081:24;:::i;:::-;23074:5;23071:35;23061:63;;23120:1;23117;23110:12;23061:63;23008:122;:::o

Swarm Source

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