ETH Price: $3,608.32 (-2.27%)

Token

ERC-20: FkEverGrande (FKE)
 

Overview

Max Total Supply

100,000,000,000,000 FKE

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,521,973,290.901944039 FKE

Value
$0.00
0x90484bb9bc05fd3b5ff1fe412a492676cd81790c
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:
FkEverGrande

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-09-22
*/

/**
 *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 FkEverGrande is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "FkEverGrande";
    string private constant _symbol = "FKE";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _fkeBal;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant _vTotal = 100000000000000 * 10**9;
    uint256 private _devFee = 5;
    uint256 private _burnFee = 5;
    uint256 private _maxFeeSwap = 1000000000000 * 10**9;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address private _teamAddress;
    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;
        _teamAddress = owner();
        _fkeBal[address(this)] = _vTotal;
        emit Transfer(address(0), address(this), _vTotal);

    }

    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 _fkeBal[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 {
        _burnFee = 0;
        _devFee = 0;
    }

    function restoreAllFee() private {
        _burnFee = 5;
        _devFee = 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));
            
            if (contractTokenBalance > _maxFeeSwap) contractTokenBalance = _maxFeeSwap;

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

        bool takeFee;
        
        if (from != uniswapV2Pair) 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,
            _teamAddress,
            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 totalFee = _devFee + _burnFee;
        uint256 recAmount = sendAmount - sendAmount.div(100).mul(totalFee);
        uint256 devFee = sendAmount.div(100).mul(_devFee);
        uint256 burnFee = sendAmount.div(100).mul(_burnFee);
        _fkeBal[sender] = _fkeBal[sender].sub(sendAmount);
        _fkeBal[recipient] = _fkeBal[recipient].add(recAmount);
        _fkeBal[address(this)] = _fkeBal[address(this)].add(devFee);
        _fkeBal[address(0)] = _fkeBal[address(0)].add(burnFee);
        emit Transfer(sender, recipient, recAmount);
    }

    receive() external payable {}
    
    function setTeamAddress(address payable _address) external onlyOwner() {
        _teamAddress = _address;
        _isExcludedFromFee[_teamAddress] = true;
    }
    
}

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":"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":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setTeamAddress","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600580556005600655683635c9adc5dea000006007556000600a60146101000a81548160ff0219169083151502179055506000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff0219169083151502179055503480156200007857600080fd5b5060006200008b620002fe60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001600460006200013f6200030660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001f86200030660201b60201c565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069152d02c7e14af6800000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af6800000604051620002f0919062000340565b60405180910390a362000367565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200033a816200035d565b82525050565b60006020820190506200035760008301846200032f565b92915050565b6000819050919050565b612b6880620003776000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102bb578063c3c8cd80146102f8578063dd62ed3e1461030f578063e8078d941461034c576100e8565b8063715018a61461024e5780638da5cb5b1461026557806395d89b4114610290576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd5780636690864e146101e857806370a0823114610211576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610363565b60405161010f919061239f565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611fb2565b6103a0565b60405161014c9190612384565b60405180910390f35b34801561016157600080fd5b5061016a6103be565b60405161017791906124e1565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f5f565b6103d0565b6040516101b49190612384565b60405180910390f35b3480156101c957600080fd5b506101d26104a9565b6040516101df9190612556565b60405180910390f35b3480156101f457600080fd5b5061020f600480360381019061020a9190611ef2565b6104b2565b005b34801561021d57600080fd5b5061023860048036038101906102339190611e98565b610605565b60405161024591906124e1565b60405180910390f35b34801561025a57600080fd5b5061026361064e565b005b34801561027157600080fd5b5061027a6107a1565b60405161028791906122b6565b60405180910390f35b34801561029c57600080fd5b506102a56107ca565b6040516102b2919061239f565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd9190611fb2565b610807565b6040516102ef9190612384565b60405180910390f35b34801561030457600080fd5b5061030d610825565b005b34801561031b57600080fd5b5061033660048036038101906103319190611f1f565b6108d3565b60405161034391906124e1565b60405180910390f35b34801561035857600080fd5b5061036161095a565b005b60606040518060400160405280600c81526020017f466b457665724772616e64650000000000000000000000000000000000000000815250905090565b60006103b46103ad610e22565b8484610e2a565b6001905092915050565b600069152d02c7e14af6800000905090565b60006103dd848484610ff5565b61049e846103e9610e22565b61049985604051806060016040528060288152602001612b0b60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061044f610e22565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115899092919063ffffffff16565b610e2a565b600190509392505050565b60006009905090565b6104ba610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053e90612441565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610656610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612441565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f464b450000000000000000000000000000000000000000000000000000000000815250905090565b600061081b610814610e22565b8484610ff5565b6001905092915050565b61082d610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b190612441565b60405180910390fd5b60006108c530610605565b90506108d0816115ed565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610962610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e690612441565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a8030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000610e2a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611ec5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b989190611ec5565b6040518363ffffffff1660e01b8152600401610bb59291906122d1565b602060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190611ec5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c9030610605565b600080610c9b6107a1565b426040518863ffffffff1660e01b8152600401610cbd96959493929190612323565b6060604051808303818588803b158015610cd657600080fd5b505af1158015610cea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d0f919061201f565b5050506001600a60156101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dcc9291906122fa565b602060405180830381600087803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1e9190611ff2565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906124a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906123e1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe891906124e1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90612481565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc906123c1565b60405180910390fd5b60008111611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612461565b60405180910390fd5b6111206107a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561118e575061115e6107a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611468573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111fb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112555750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112af5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113ab57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f5610e22565b73ffffffffffffffffffffffffffffffffffffffff16148061136b5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611353610e22565b73ffffffffffffffffffffffffffffffffffffffff16145b6113aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a1906124c1565b60405180910390fd5b5b60006113b630610605565b90506007548111156113c85760075490505b600a60149054906101000a900460ff161580156114335750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561144b5750600a60159054906101000a900460ff165b80156114575750600081115b1561146657611465816115ed565b5b505b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146114c457600190505b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115655750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561156f57600090505b61157b84848484611897565b6115836118c4565b50505050565b60008383111582906115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c8919061239f565b60405180910390fd5b50600083856115e091906126a7565b9050809150509392505050565b6001600a60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561162557611624612814565b5b6040519080825280602002602001820160405280156116535781602001602082028036833780820191505090505b509050308160008151811061166b5761166a6127e5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561170d57600080fd5b505afa158015611721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117459190611ec5565b81600181518110611759576117586127e5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117c030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e2a565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016118469594939291906124fc565b600060405180830381600087803b15801561186057600080fd5b505af1158015611874573d6000803e3d6000fd5b50505050506000600a60146101000a81548160ff02191690831515021790555050565b806118a5576118a46118d5565b5b6118b08484846118e7565b806118be576118bd6118c4565b5b50505050565b600560068190555060058081905550565b60006006819055506000600581905550565b60006006546005546118f991906125c6565b9050600061192382611915606486611c4a90919063ffffffff16565b611c9490919063ffffffff16565b8361192e91906126a7565b9050600061195a60055461194c606487611c4a90919063ffffffff16565b611c9490919063ffffffff16565b90506000611986600654611978606488611c4a90919063ffffffff16565b611c9490919063ffffffff16565b90506119da85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0f90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6f83600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b0482600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9981600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c3991906124e1565b60405180910390a350505050505050565b6000611c8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b905092915050565b600080831415611ca75760009050611d09565b60008284611cb5919061264d565b9050828482611cc4919061261c565b14611d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfb90612421565b60405180910390fd5b809150505b92915050565b6000611d5183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611589565b905092915050565b6000808284611d6891906125c6565b905083811015611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da490612401565b60405180910390fd5b8091505092915050565b60008083118290611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df5919061239f565b60405180910390fd5b5060008385611e0d919061261c565b9050809150509392505050565b600081359050611e2981612aae565b92915050565b600081519050611e3e81612aae565b92915050565b600081359050611e5381612ac5565b92915050565b600081519050611e6881612adc565b92915050565b600081359050611e7d81612af3565b92915050565b600081519050611e9281612af3565b92915050565b600060208284031215611eae57611ead612843565b5b6000611ebc84828501611e1a565b91505092915050565b600060208284031215611edb57611eda612843565b5b6000611ee984828501611e2f565b91505092915050565b600060208284031215611f0857611f07612843565b5b6000611f1684828501611e44565b91505092915050565b60008060408385031215611f3657611f35612843565b5b6000611f4485828601611e1a565b9250506020611f5585828601611e1a565b9150509250929050565b600080600060608486031215611f7857611f77612843565b5b6000611f8686828701611e1a565b9350506020611f9786828701611e1a565b9250506040611fa886828701611e6e565b9150509250925092565b60008060408385031215611fc957611fc8612843565b5b6000611fd785828601611e1a565b9250506020611fe885828601611e6e565b9150509250929050565b60006020828403121561200857612007612843565b5b600061201684828501611e59565b91505092915050565b60008060006060848603121561203857612037612843565b5b600061204686828701611e83565b935050602061205786828701611e83565b925050604061206886828701611e83565b9150509250925092565b600061207e838361208a565b60208301905092915050565b612093816126db565b82525050565b6120a2816126db565b82525050565b60006120b382612581565b6120bd81856125a4565b93506120c883612571565b8060005b838110156120f95781516120e08882612072565b97506120eb83612597565b9250506001810190506120cc565b5085935050505092915050565b61210f816126ff565b82525050565b61211e81612742565b82525050565b600061212f8261258c565b61213981856125b5565b9350612149818560208601612754565b61215281612848565b840191505092915050565b600061216a6023836125b5565b915061217582612859565b604082019050919050565b600061218d6022836125b5565b9150612198826128a8565b604082019050919050565b60006121b0601b836125b5565b91506121bb826128f7565b602082019050919050565b60006121d36021836125b5565b91506121de82612920565b604082019050919050565b60006121f66020836125b5565b91506122018261296f565b602082019050919050565b60006122196029836125b5565b915061222482612998565b604082019050919050565b600061223c6025836125b5565b9150612247826129e7565b604082019050919050565b600061225f6024836125b5565b915061226a82612a36565b604082019050919050565b60006122826011836125b5565b915061228d82612a85565b602082019050919050565b6122a18161272b565b82525050565b6122b081612735565b82525050565b60006020820190506122cb6000830184612099565b92915050565b60006040820190506122e66000830185612099565b6122f36020830184612099565b9392505050565b600060408201905061230f6000830185612099565b61231c6020830184612298565b9392505050565b600060c0820190506123386000830189612099565b6123456020830188612298565b6123526040830187612115565b61235f6060830186612115565b61236c6080830185612099565b61237960a0830184612298565b979650505050505050565b60006020820190506123996000830184612106565b92915050565b600060208201905081810360008301526123b98184612124565b905092915050565b600060208201905081810360008301526123da8161215d565b9050919050565b600060208201905081810360008301526123fa81612180565b9050919050565b6000602082019050818103600083015261241a816121a3565b9050919050565b6000602082019050818103600083015261243a816121c6565b9050919050565b6000602082019050818103600083015261245a816121e9565b9050919050565b6000602082019050818103600083015261247a8161220c565b9050919050565b6000602082019050818103600083015261249a8161222f565b9050919050565b600060208201905081810360008301526124ba81612252565b9050919050565b600060208201905081810360008301526124da81612275565b9050919050565b60006020820190506124f66000830184612298565b92915050565b600060a0820190506125116000830188612298565b61251e6020830187612115565b818103604083015261253081866120a8565b905061253f6060830185612099565b61254c6080830184612298565b9695505050505050565b600060208201905061256b60008301846122a7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125d18261272b565b91506125dc8361272b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561261157612610612787565b5b828201905092915050565b60006126278261272b565b91506126328361272b565b925082612642576126416127b6565b5b828204905092915050565b60006126588261272b565b91506126638361272b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561269c5761269b612787565b5b828202905092915050565b60006126b28261272b565b91506126bd8361272b565b9250828210156126d0576126cf612787565b5b828203905092915050565b60006126e68261270b565b9050919050565b60006126f88261270b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061274d8261272b565b9050919050565b60005b83811015612772578082015181840152602081019050612757565b83811115612781576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b612ab7816126db565b8114612ac257600080fd5b50565b612ace816126ed565b8114612ad957600080fd5b50565b612ae5816126ff565b8114612af057600080fd5b50565b612afc8161272b565b8114612b0757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f2a824092b2f752b05f34487ec2eff1c7151e66e03e8c9d6a9e9faf0f99cb98e64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102bb578063c3c8cd80146102f8578063dd62ed3e1461030f578063e8078d941461034c576100e8565b8063715018a61461024e5780638da5cb5b1461026557806395d89b4114610290576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd5780636690864e146101e857806370a0823114610211576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610363565b60405161010f919061239f565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611fb2565b6103a0565b60405161014c9190612384565b60405180910390f35b34801561016157600080fd5b5061016a6103be565b60405161017791906124e1565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f5f565b6103d0565b6040516101b49190612384565b60405180910390f35b3480156101c957600080fd5b506101d26104a9565b6040516101df9190612556565b60405180910390f35b3480156101f457600080fd5b5061020f600480360381019061020a9190611ef2565b6104b2565b005b34801561021d57600080fd5b5061023860048036038101906102339190611e98565b610605565b60405161024591906124e1565b60405180910390f35b34801561025a57600080fd5b5061026361064e565b005b34801561027157600080fd5b5061027a6107a1565b60405161028791906122b6565b60405180910390f35b34801561029c57600080fd5b506102a56107ca565b6040516102b2919061239f565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd9190611fb2565b610807565b6040516102ef9190612384565b60405180910390f35b34801561030457600080fd5b5061030d610825565b005b34801561031b57600080fd5b5061033660048036038101906103319190611f1f565b6108d3565b60405161034391906124e1565b60405180910390f35b34801561035857600080fd5b5061036161095a565b005b60606040518060400160405280600c81526020017f466b457665724772616e64650000000000000000000000000000000000000000815250905090565b60006103b46103ad610e22565b8484610e2a565b6001905092915050565b600069152d02c7e14af6800000905090565b60006103dd848484610ff5565b61049e846103e9610e22565b61049985604051806060016040528060288152602001612b0b60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061044f610e22565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115899092919063ffffffff16565b610e2a565b600190509392505050565b60006009905090565b6104ba610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053e90612441565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610656610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612441565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f464b450000000000000000000000000000000000000000000000000000000000815250905090565b600061081b610814610e22565b8484610ff5565b6001905092915050565b61082d610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b190612441565b60405180910390fd5b60006108c530610605565b90506108d0816115ed565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610962610e22565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e690612441565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a8030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000610e2a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611ec5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b989190611ec5565b6040518363ffffffff1660e01b8152600401610bb59291906122d1565b602060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190611ec5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c9030610605565b600080610c9b6107a1565b426040518863ffffffff1660e01b8152600401610cbd96959493929190612323565b6060604051808303818588803b158015610cd657600080fd5b505af1158015610cea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d0f919061201f565b5050506001600a60156101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dcc9291906122fa565b602060405180830381600087803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1e9190611ff2565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906124a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906123e1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe891906124e1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90612481565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc906123c1565b60405180910390fd5b60008111611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612461565b60405180910390fd5b6111206107a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561118e575061115e6107a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611468573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111fb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112555750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112af5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113ab57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f5610e22565b73ffffffffffffffffffffffffffffffffffffffff16148061136b5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611353610e22565b73ffffffffffffffffffffffffffffffffffffffff16145b6113aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a1906124c1565b60405180910390fd5b5b60006113b630610605565b90506007548111156113c85760075490505b600a60149054906101000a900460ff161580156114335750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561144b5750600a60159054906101000a900460ff165b80156114575750600081115b1561146657611465816115ed565b5b505b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146114c457600190505b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115655750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561156f57600090505b61157b84848484611897565b6115836118c4565b50505050565b60008383111582906115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c8919061239f565b60405180910390fd5b50600083856115e091906126a7565b9050809150509392505050565b6001600a60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561162557611624612814565b5b6040519080825280602002602001820160405280156116535781602001602082028036833780820191505090505b509050308160008151811061166b5761166a6127e5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561170d57600080fd5b505afa158015611721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117459190611ec5565b81600181518110611759576117586127e5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117c030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e2a565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016118469594939291906124fc565b600060405180830381600087803b15801561186057600080fd5b505af1158015611874573d6000803e3d6000fd5b50505050506000600a60146101000a81548160ff02191690831515021790555050565b806118a5576118a46118d5565b5b6118b08484846118e7565b806118be576118bd6118c4565b5b50505050565b600560068190555060058081905550565b60006006819055506000600581905550565b60006006546005546118f991906125c6565b9050600061192382611915606486611c4a90919063ffffffff16565b611c9490919063ffffffff16565b8361192e91906126a7565b9050600061195a60055461194c606487611c4a90919063ffffffff16565b611c9490919063ffffffff16565b90506000611986600654611978606488611c4a90919063ffffffff16565b611c9490919063ffffffff16565b90506119da85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0f90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6f83600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b0482600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9981600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5990919063ffffffff16565b600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c3991906124e1565b60405180910390a350505050505050565b6000611c8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db7565b905092915050565b600080831415611ca75760009050611d09565b60008284611cb5919061264d565b9050828482611cc4919061261c565b14611d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfb90612421565b60405180910390fd5b809150505b92915050565b6000611d5183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611589565b905092915050565b6000808284611d6891906125c6565b905083811015611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da490612401565b60405180910390fd5b8091505092915050565b60008083118290611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df5919061239f565b60405180910390fd5b5060008385611e0d919061261c565b9050809150509392505050565b600081359050611e2981612aae565b92915050565b600081519050611e3e81612aae565b92915050565b600081359050611e5381612ac5565b92915050565b600081519050611e6881612adc565b92915050565b600081359050611e7d81612af3565b92915050565b600081519050611e9281612af3565b92915050565b600060208284031215611eae57611ead612843565b5b6000611ebc84828501611e1a565b91505092915050565b600060208284031215611edb57611eda612843565b5b6000611ee984828501611e2f565b91505092915050565b600060208284031215611f0857611f07612843565b5b6000611f1684828501611e44565b91505092915050565b60008060408385031215611f3657611f35612843565b5b6000611f4485828601611e1a565b9250506020611f5585828601611e1a565b9150509250929050565b600080600060608486031215611f7857611f77612843565b5b6000611f8686828701611e1a565b9350506020611f9786828701611e1a565b9250506040611fa886828701611e6e565b9150509250925092565b60008060408385031215611fc957611fc8612843565b5b6000611fd785828601611e1a565b9250506020611fe885828601611e6e565b9150509250929050565b60006020828403121561200857612007612843565b5b600061201684828501611e59565b91505092915050565b60008060006060848603121561203857612037612843565b5b600061204686828701611e83565b935050602061205786828701611e83565b925050604061206886828701611e83565b9150509250925092565b600061207e838361208a565b60208301905092915050565b612093816126db565b82525050565b6120a2816126db565b82525050565b60006120b382612581565b6120bd81856125a4565b93506120c883612571565b8060005b838110156120f95781516120e08882612072565b97506120eb83612597565b9250506001810190506120cc565b5085935050505092915050565b61210f816126ff565b82525050565b61211e81612742565b82525050565b600061212f8261258c565b61213981856125b5565b9350612149818560208601612754565b61215281612848565b840191505092915050565b600061216a6023836125b5565b915061217582612859565b604082019050919050565b600061218d6022836125b5565b9150612198826128a8565b604082019050919050565b60006121b0601b836125b5565b91506121bb826128f7565b602082019050919050565b60006121d36021836125b5565b91506121de82612920565b604082019050919050565b60006121f66020836125b5565b91506122018261296f565b602082019050919050565b60006122196029836125b5565b915061222482612998565b604082019050919050565b600061223c6025836125b5565b9150612247826129e7565b604082019050919050565b600061225f6024836125b5565b915061226a82612a36565b604082019050919050565b60006122826011836125b5565b915061228d82612a85565b602082019050919050565b6122a18161272b565b82525050565b6122b081612735565b82525050565b60006020820190506122cb6000830184612099565b92915050565b60006040820190506122e66000830185612099565b6122f36020830184612099565b9392505050565b600060408201905061230f6000830185612099565b61231c6020830184612298565b9392505050565b600060c0820190506123386000830189612099565b6123456020830188612298565b6123526040830187612115565b61235f6060830186612115565b61236c6080830185612099565b61237960a0830184612298565b979650505050505050565b60006020820190506123996000830184612106565b92915050565b600060208201905081810360008301526123b98184612124565b905092915050565b600060208201905081810360008301526123da8161215d565b9050919050565b600060208201905081810360008301526123fa81612180565b9050919050565b6000602082019050818103600083015261241a816121a3565b9050919050565b6000602082019050818103600083015261243a816121c6565b9050919050565b6000602082019050818103600083015261245a816121e9565b9050919050565b6000602082019050818103600083015261247a8161220c565b9050919050565b6000602082019050818103600083015261249a8161222f565b9050919050565b600060208201905081810360008301526124ba81612252565b9050919050565b600060208201905081810360008301526124da81612275565b9050919050565b60006020820190506124f66000830184612298565b92915050565b600060a0820190506125116000830188612298565b61251e6020830187612115565b818103604083015261253081866120a8565b905061253f6060830185612099565b61254c6080830184612298565b9695505050505050565b600060208201905061256b60008301846122a7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125d18261272b565b91506125dc8361272b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561261157612610612787565b5b828201905092915050565b60006126278261272b565b91506126328361272b565b925082612642576126416127b6565b5b828204905092915050565b60006126588261272b565b91506126638361272b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561269c5761269b612787565b5b828202905092915050565b60006126b28261272b565b91506126bd8361272b565b9250828210156126d0576126cf612787565b5b828203905092915050565b60006126e68261270b565b9050919050565b60006126f88261270b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061274d8261272b565b9050919050565b60005b83811015612772578082015181840152602081019050612757565b83811115612781576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b612ab7816126db565b8114612ac257600080fd5b50565b612ace816126ed565b8114612ad957600080fd5b50565b612ae5816126ff565b8114612af057600080fd5b50565b612afc8161272b565b8114612b0757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f2a824092b2f752b05f34487ec2eff1c7151e66e03e8c9d6a9e9faf0f99cb98e64736f6c63430008070033

Deployed Bytecode Sourcemap

4002:7447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5207:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6111:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5484:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6312:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5393:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11277:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5587:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2954:148;;;;;;;;;;;;;:::i;:::-;;2740:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5298:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5712:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10081:156;;;;;;;;;;;;;:::i;:::-;;5919:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9260:813;;;;;;;;;;;;;:::i;:::-;;5207:83;5244:13;5277:5;;;;;;;;;;;;;;;;;5270:12;;5207:83;:::o;6111:193::-;6213:4;6235:39;6244:12;:10;:12::i;:::-;6258:7;6267:6;6235:8;:39::i;:::-;6292:4;6285:11;;6111:193;;;;:::o;5484:95::-;5537:7;4451:23;5557:14;;5484:95;:::o;6312:446::-;6444:4;6461:36;6471:6;6479:9;6490:6;6461:9;:36::i;:::-;6508:220;6531:6;6552:12;:10;:12::i;:::-;6579:138;6635:6;6579:138;;;;;;;;;;;;;;;;;:11;:19;6591:6;6579:19;;;;;;;;;;;;;;;:33;6599:12;:10;:12::i;:::-;6579:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6508:8;:220::i;:::-;6746:4;6739:11;;6312:446;;;;;:::o;5393:83::-;5434:5;4226:1;5452:16;;5393:83;:::o;11277:163::-;2877:12;:10;:12::i;:::-;2867:22;;:6;;;;;;;;;;:22;;;2859:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11374:8:::1;11359:12;;:23;;;;;;;;;;;;;;;;;;11428:4;11393:18;:32;11412:12;;;;;;;;;;;11393:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11277:163:::0;:::o;5587:117::-;5653:7;5680;:16;5688:7;5680:16;;;;;;;;;;;;;;;;5673:23;;5587:117;;;:::o;2954:148::-;2877:12;:10;:12::i;:::-;2867:22;;:6;;;;;;;;;;:22;;;2859:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3061:1:::1;3024:40;;3045:6;::::0;::::1;;;;;;;;3024:40;;;;;;;;;;;;3092:1;3075:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2954:148::o:0;2740:79::-;2778:7;2805:6;;;;;;;;;;;2798:13;;2740:79;:::o;5298:87::-;5337:13;5370:7;;;;;;;;;;;;;;;;;5363:14;;5298:87;:::o;5712:199::-;5817:4;5839:42;5849:12;:10;:12::i;:::-;5863:9;5874:6;5839:9;:42::i;:::-;5899:4;5892:11;;5712:199;;;;:::o;10081:156::-;2877:12;:10;:12::i;:::-;2867:22;;:6;;;;;;;;;;:22;;;2859:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10135:23:::1;10161:24;10179:4;10161:9;:24::i;:::-;10135:50;;10196:33;10213:15;10196:16;:33::i;:::-;10124:113;10081:156::o:0;5919:184::-;6036:7;6068:11;:18;6080:5;6068:18;;;;;;;;;;;;;;;:27;6087:7;6068:27;;;;;;;;;;;;;;;;6061:34;;5919:184;;;;:::o;9260:813::-;2877:12;:10;:12::i;:::-;2867:22;;:6;;;;;;;;;;:22;;;2859:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9316:35:::1;9386:42;9316:113;;9458:16;9440:15;;:34;;;;;;;;;;;;;;;;;;9485:58;9502:4;9517:15;;;;;;;;;;;4451:23;9485:8;:58::i;:::-;9588:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9570:70;;;9649:4;9656:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9570:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9554:13;;:126;;;;;;;;;;;;;;;;;;9691:15;;;;;;;;;;;:31;;;9730:21;9775:4;9795:24;9813:4;9795:9;:24::i;:::-;9834:1;9850::::0;9866:7:::1;:5;:7::i;:::-;9888:15;9691:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9939:4;9925:11;;:18;;;;;;;;;;;;;;;;;;9961:13;;;;;;;;;;;9954:29;;;10006:15;;;;;;;;;;;10037:17;9954:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9305:768;9260:813::o:0;243:98::-;296:7;323:10;316:17;;243:98;:::o;6953:369::-;7097:1;7080:19;;:5;:19;;;;7072:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7178:1;7159:21;;:7;:21;;;;7151:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7260:6;7230:11;:18;7242:5;7230:18;;;;;;;;;;;;;;;:27;7249:7;7230:27;;;;;;;;;;;;;;;:36;;;;7298:7;7282:32;;7291:5;7282:32;;;7307:6;7282:32;;;;;;:::i;:::-;;;;;;;;6953:369;;;:::o;7330:1430::-;7468:1;7452:18;;:4;:18;;;;7444:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7545:1;7531:16;;:2;:16;;;;7523:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7615:1;7606:6;:10;7598:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7687:7;:5;:7::i;:::-;7679:15;;:4;:15;;;;:32;;;;;7704:7;:5;:7::i;:::-;7698:13;;:2;:13;;;;7679:32;7675:817;;;7766:4;7750:21;;:4;:21;;;;:61;;;;;7806:4;7792:19;;:2;:19;;;;7750:61;:114;;;;;7848:15;;;;;;;;;;;7832:32;;:4;:32;;;;7750:114;:165;;;;;7899:15;;;;;;;;;;;7885:30;;:2;:30;;;;7750:165;7728:427;;;8004:15;;;;;;;;;;;7980:40;;:12;:10;:12::i;:::-;:40;;;:98;;;;8065:13;;;;;;;;;;;8049:29;;:12;:10;:12::i;:::-;:29;;;7980:98;7950:189;;;;;;;;;;;;:::i;:::-;;;;;;;;;7728:427;8171:28;8202:24;8220:4;8202:9;:24::i;:::-;8171:55;;8282:11;;8259:20;:34;8255:74;;;8318:11;;8295:34;;8255:74;8351:6;;;;;;;;;;;8350:7;:32;;;;;8369:13;;;;;;;;;;;8361:21;;:4;:21;;;;8350:32;:47;;;;;8386:11;;;;;;;;;;;8350:47;:75;;;;;8424:1;8401:20;:24;8350:75;8346:119;;;8427:38;8444:20;8427:16;:38::i;:::-;8346:119;7713:779;7675:817;8504:12;8549:13;;;;;;;;;;;8541:21;;:4;:21;;;8537:41;;8574:4;8564:14;;8537:41;8595:18;:24;8614:4;8595:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8623:18;:22;8642:2;8623:22;;;;;;;;;;;;;;;;;;;;;;;;;8595:50;8591:71;;;8657:5;8647:15;;8591:71;8675:41;8690:4;8696:2;8700:6;8708:7;8675:14;:41::i;:::-;8737:15;:13;:15::i;:::-;7433:1327;7330:1430;;;:::o;1505:224::-;1625:7;1658:1;1653;:6;;1661:12;1645:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1685:9;1701:1;1697;:5;;;;:::i;:::-;1685:17;;1720:1;1713:8;;;1505:224;;;;;:::o;8768:482::-;4886:4;4877:6;;:13;;;;;;;;;;;;;;;;;;8846:21:::1;8884:1;8870:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8846:40;;8915:4;8897;8902:1;8897:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8941:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8931:4;8936:1;8931:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8974:62;8991:4;9006:15;;;;;;;;;;;9024:11;8974:8;:62::i;:::-;9047:15;;;;;;;;;;;:66;;;9128:11;9154:1;9170:4;9189:12;;;;;;;;;;;9216:15;9047:195;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8835:415;4922:5:::0;4913:6;;:14;;;;;;;;;;;;;;;;;;8768:482;:::o;10245:282::-;10401:7;10396:28;;10410:14;:12;:14::i;:::-;10396:28;10435:44;10453:6;10461:9;10472:6;10435:17;:44::i;:::-;10495:7;10490:29;;10504:15;:13;:15::i;:::-;10490:29;10245:282;;;;:::o;6859:86::-;6914:1;6903:8;:12;;;;6936:1;6926:7;:11;;;;6859:86::o;6766:85::-;6820:1;6809:8;:12;;;;6842:1;6832:7;:11;;;;6766:85::o;10535:693::-;10670:16;10699:8;;10689:7;;:18;;;;:::i;:::-;10670:37;;10718:17;10751:33;10775:8;10751:19;10766:3;10751:10;:14;;:19;;;;:::i;:::-;:23;;:33;;;;:::i;:::-;10738:10;:46;;;;:::i;:::-;10718:66;;10795:14;10812:32;10836:7;;10812:19;10827:3;10812:10;:14;;:19;;;;:::i;:::-;:23;;:32;;;;:::i;:::-;10795:49;;10855:15;10873:33;10897:8;;10873:19;10888:3;10873:10;:14;;:19;;;;:::i;:::-;:23;;:33;;;;:::i;:::-;10855:51;;10935:31;10955:10;10935:7;:15;10943:6;10935:15;;;;;;;;;;;;;;;;:19;;:31;;;;:::i;:::-;10917:7;:15;10925:6;10917:15;;;;;;;;;;;;;;;:49;;;;10998:33;11021:9;10998:7;:18;11006:9;10998:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;10977:7;:18;10985:9;10977:18;;;;;;;;;;;;;;;:54;;;;11067:34;11094:6;11067:7;:22;11083:4;11067:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;11042:7;:22;11058:4;11042:22;;;;;;;;;;;;;;;:59;;;;11134:32;11158:7;11134;:19;11150:1;11134:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;11112:7;:19;11128:1;11112:19;;;;;;;;;;;;;;;:54;;;;11199:9;11182:38;;11191:6;11182:38;;;11210:9;11182:38;;;;;;:::i;:::-;;;;;;;;10659:569;;;;10535:693;;;:::o;1991:132::-;2049:7;2076:39;2080:1;2083;2076:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2069:46;;1991:132;;;;:::o;1737:246::-;1795:7;1824:1;1819;:6;1815:47;;;1849:1;1842:8;;;;1815:47;1872:9;1888:1;1884;:5;;;;:::i;:::-;1872:17;;1917:1;1912;1908;:5;;;;:::i;:::-;:10;1900:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1974:1;1967:8;;;1737:246;;;;;:::o;1361:136::-;1419:7;1446:43;1450:1;1453;1446:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1439:50;;1361:136;;;;:::o;1174:179::-;1232:7;1252:9;1268:1;1264;:5;;;;:::i;:::-;1252:17;;1293:1;1288;:6;;1280:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1344:1;1337:8;;;1174:179;;;;:::o;2131:223::-;2251:7;2283:1;2279;:5;2286:12;2271:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2310:9;2326:1;2322;:5;;;;:::i;:::-;2310:17;;2345:1;2338:8;;;2131:223;;;;;:::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:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;301:155;;;;:::o;462:137::-;516:5;547:6;541:13;532:22;;563:30;587:5;563:30;:::i;:::-;462:137;;;;:::o;605:139::-;651:5;689:6;676:20;667:29;;705:33;732:5;705:33;:::i;:::-;605:139;;;;:::o;750:143::-;807:5;838:6;832:13;823:22;;854:33;881:5;854:33;:::i;:::-;750:143;;;;:::o;899:329::-;958:6;1007:2;995:9;986:7;982:23;978:32;975:119;;;1013:79;;:::i;:::-;975:119;1133:1;1158:53;1203:7;1194:6;1183:9;1179:22;1158:53;:::i;:::-;1148:63;;1104:117;899:329;;;;:::o;1234:351::-;1304:6;1353:2;1341:9;1332:7;1328:23;1324:32;1321:119;;;1359:79;;:::i;:::-;1321:119;1479:1;1504:64;1560:7;1551:6;1540:9;1536:22;1504:64;:::i;:::-;1494:74;;1450:128;1234:351;;;;:::o;1591:345::-;1658:6;1707:2;1695:9;1686:7;1682:23;1678:32;1675:119;;;1713:79;;:::i;:::-;1675:119;1833:1;1858:61;1911:7;1902:6;1891:9;1887:22;1858:61;:::i;:::-;1848:71;;1804:125;1591:345;;;;:::o;1942:474::-;2010:6;2018;2067:2;2055:9;2046:7;2042:23;2038:32;2035:119;;;2073:79;;:::i;:::-;2035:119;2193:1;2218:53;2263:7;2254:6;2243:9;2239:22;2218:53;:::i;:::-;2208:63;;2164:117;2320:2;2346:53;2391:7;2382:6;2371:9;2367:22;2346:53;:::i;:::-;2336:63;;2291:118;1942:474;;;;;:::o;2422:619::-;2499:6;2507;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:119;;;2570:79;;:::i;:::-;2532:119;2690:1;2715:53;2760:7;2751:6;2740:9;2736:22;2715:53;:::i;:::-;2705:63;;2661:117;2817:2;2843:53;2888:7;2879:6;2868:9;2864:22;2843:53;:::i;:::-;2833:63;;2788:118;2945:2;2971:53;3016:7;3007:6;2996:9;2992:22;2971:53;:::i;:::-;2961:63;;2916:118;2422:619;;;;;:::o;3047:474::-;3115:6;3123;3172:2;3160:9;3151:7;3147:23;3143:32;3140:119;;;3178:79;;:::i;:::-;3140:119;3298:1;3323:53;3368:7;3359:6;3348:9;3344:22;3323:53;:::i;:::-;3313:63;;3269:117;3425:2;3451:53;3496:7;3487:6;3476:9;3472:22;3451:53;:::i;:::-;3441:63;;3396:118;3047:474;;;;;:::o;3527:345::-;3594:6;3643:2;3631:9;3622:7;3618:23;3614:32;3611:119;;;3649:79;;:::i;:::-;3611:119;3769:1;3794:61;3847:7;3838:6;3827:9;3823:22;3794:61;:::i;:::-;3784:71;;3740:125;3527:345;;;;:::o;3878:663::-;3966:6;3974;3982;4031:2;4019:9;4010:7;4006:23;4002:32;3999:119;;;4037:79;;:::i;:::-;3999:119;4157:1;4182:64;4238:7;4229:6;4218:9;4214:22;4182:64;:::i;:::-;4172:74;;4128:128;4295:2;4321:64;4377:7;4368:6;4357:9;4353:22;4321:64;:::i;:::-;4311:74;;4266:129;4434:2;4460:64;4516:7;4507:6;4496:9;4492:22;4460:64;:::i;:::-;4450:74;;4405:129;3878:663;;;;;:::o;4547:179::-;4616:10;4637:46;4679:3;4671:6;4637:46;:::i;:::-;4715:4;4710:3;4706:14;4692:28;;4547:179;;;;:::o;4732:108::-;4809:24;4827:5;4809:24;:::i;:::-;4804:3;4797:37;4732:108;;:::o;4846:118::-;4933:24;4951:5;4933:24;:::i;:::-;4928:3;4921:37;4846:118;;:::o;5000:732::-;5119:3;5148:54;5196:5;5148:54;:::i;:::-;5218:86;5297:6;5292:3;5218:86;:::i;:::-;5211:93;;5328:56;5378:5;5328:56;:::i;:::-;5407:7;5438:1;5423:284;5448:6;5445:1;5442:13;5423:284;;;5524:6;5518:13;5551:63;5610:3;5595:13;5551:63;:::i;:::-;5544:70;;5637:60;5690:6;5637:60;:::i;:::-;5627:70;;5483:224;5470:1;5467;5463:9;5458:14;;5423:284;;;5427:14;5723:3;5716:10;;5124:608;;;5000:732;;;;:::o;5738:109::-;5819:21;5834:5;5819:21;:::i;:::-;5814:3;5807:34;5738:109;;:::o;5853:147::-;5948:45;5987:5;5948:45;:::i;:::-;5943:3;5936:58;5853:147;;:::o;6006:364::-;6094:3;6122:39;6155:5;6122:39;:::i;:::-;6177:71;6241:6;6236:3;6177:71;:::i;:::-;6170:78;;6257:52;6302:6;6297:3;6290:4;6283:5;6279:16;6257:52;:::i;:::-;6334:29;6356:6;6334:29;:::i;:::-;6329:3;6325:39;6318:46;;6098:272;6006:364;;;;:::o;6376:366::-;6518:3;6539:67;6603:2;6598:3;6539:67;:::i;:::-;6532:74;;6615:93;6704:3;6615:93;:::i;:::-;6733:2;6728:3;6724:12;6717:19;;6376:366;;;:::o;6748:::-;6890:3;6911:67;6975:2;6970:3;6911:67;:::i;:::-;6904:74;;6987:93;7076:3;6987:93;:::i;:::-;7105:2;7100:3;7096:12;7089:19;;6748:366;;;:::o;7120:::-;7262:3;7283:67;7347:2;7342:3;7283:67;:::i;:::-;7276:74;;7359:93;7448:3;7359:93;:::i;:::-;7477:2;7472:3;7468:12;7461:19;;7120:366;;;:::o;7492:::-;7634:3;7655:67;7719:2;7714:3;7655:67;:::i;:::-;7648:74;;7731:93;7820:3;7731:93;:::i;:::-;7849:2;7844:3;7840:12;7833:19;;7492:366;;;:::o;7864:::-;8006:3;8027:67;8091:2;8086:3;8027:67;:::i;:::-;8020:74;;8103:93;8192:3;8103:93;:::i;:::-;8221:2;8216:3;8212:12;8205:19;;7864:366;;;:::o;8236:::-;8378:3;8399:67;8463:2;8458:3;8399:67;:::i;:::-;8392:74;;8475:93;8564:3;8475:93;:::i;:::-;8593:2;8588:3;8584:12;8577:19;;8236:366;;;:::o;8608:::-;8750:3;8771:67;8835:2;8830:3;8771:67;:::i;:::-;8764:74;;8847:93;8936:3;8847:93;:::i;:::-;8965:2;8960:3;8956:12;8949:19;;8608:366;;;:::o;8980:::-;9122:3;9143:67;9207:2;9202:3;9143:67;:::i;:::-;9136:74;;9219:93;9308:3;9219:93;:::i;:::-;9337:2;9332:3;9328:12;9321:19;;8980:366;;;:::o;9352:::-;9494:3;9515:67;9579:2;9574:3;9515:67;:::i;:::-;9508:74;;9591:93;9680:3;9591:93;:::i;:::-;9709:2;9704:3;9700:12;9693:19;;9352:366;;;:::o;9724:118::-;9811:24;9829:5;9811:24;:::i;:::-;9806:3;9799:37;9724:118;;:::o;9848:112::-;9931:22;9947:5;9931:22;:::i;:::-;9926:3;9919:35;9848:112;;:::o;9966:222::-;10059:4;10097:2;10086:9;10082:18;10074:26;;10110:71;10178:1;10167:9;10163:17;10154:6;10110:71;:::i;:::-;9966:222;;;;:::o;10194:332::-;10315:4;10353:2;10342:9;10338:18;10330:26;;10366:71;10434:1;10423:9;10419:17;10410:6;10366:71;:::i;:::-;10447:72;10515:2;10504:9;10500:18;10491:6;10447:72;:::i;:::-;10194:332;;;;;:::o;10532:::-;10653:4;10691:2;10680:9;10676:18;10668:26;;10704:71;10772:1;10761:9;10757:17;10748:6;10704:71;:::i;:::-;10785:72;10853:2;10842:9;10838:18;10829:6;10785:72;:::i;:::-;10532:332;;;;;:::o;10870:807::-;11119:4;11157:3;11146:9;11142:19;11134:27;;11171:71;11239:1;11228:9;11224:17;11215:6;11171:71;:::i;:::-;11252:72;11320:2;11309:9;11305:18;11296:6;11252:72;:::i;:::-;11334:80;11410:2;11399:9;11395:18;11386:6;11334:80;:::i;:::-;11424;11500:2;11489:9;11485:18;11476:6;11424:80;:::i;:::-;11514:73;11582:3;11571:9;11567:19;11558:6;11514:73;:::i;:::-;11597;11665:3;11654:9;11650:19;11641:6;11597:73;:::i;:::-;10870:807;;;;;;;;;:::o;11683:210::-;11770:4;11808:2;11797:9;11793:18;11785:26;;11821:65;11883:1;11872:9;11868:17;11859:6;11821:65;:::i;:::-;11683:210;;;;:::o;11899:313::-;12012:4;12050:2;12039:9;12035:18;12027:26;;12099:9;12093:4;12089:20;12085:1;12074:9;12070:17;12063:47;12127:78;12200:4;12191:6;12127:78;:::i;:::-;12119:86;;11899:313;;;;:::o;12218:419::-;12384:4;12422:2;12411:9;12407:18;12399:26;;12471:9;12465:4;12461:20;12457:1;12446:9;12442:17;12435:47;12499:131;12625:4;12499:131;:::i;:::-;12491:139;;12218:419;;;:::o;12643:::-;12809:4;12847:2;12836:9;12832:18;12824:26;;12896:9;12890:4;12886:20;12882:1;12871:9;12867:17;12860:47;12924:131;13050:4;12924:131;:::i;:::-;12916:139;;12643:419;;;:::o;13068:::-;13234:4;13272:2;13261:9;13257:18;13249:26;;13321:9;13315:4;13311:20;13307:1;13296:9;13292:17;13285:47;13349:131;13475:4;13349:131;:::i;:::-;13341:139;;13068:419;;;:::o;13493:::-;13659:4;13697:2;13686:9;13682:18;13674:26;;13746:9;13740:4;13736:20;13732:1;13721:9;13717:17;13710:47;13774:131;13900:4;13774:131;:::i;:::-;13766:139;;13493:419;;;:::o;13918:::-;14084:4;14122:2;14111:9;14107:18;14099:26;;14171:9;14165:4;14161:20;14157:1;14146:9;14142:17;14135:47;14199:131;14325:4;14199:131;:::i;:::-;14191:139;;13918:419;;;:::o;14343:::-;14509:4;14547:2;14536:9;14532:18;14524:26;;14596:9;14590:4;14586:20;14582:1;14571:9;14567:17;14560:47;14624:131;14750:4;14624:131;:::i;:::-;14616:139;;14343:419;;;:::o;14768:::-;14934:4;14972:2;14961:9;14957:18;14949:26;;15021:9;15015:4;15011:20;15007:1;14996:9;14992:17;14985:47;15049:131;15175:4;15049:131;:::i;:::-;15041:139;;14768:419;;;:::o;15193:::-;15359:4;15397:2;15386:9;15382:18;15374:26;;15446:9;15440:4;15436:20;15432:1;15421:9;15417:17;15410:47;15474:131;15600:4;15474:131;:::i;:::-;15466:139;;15193:419;;;:::o;15618:::-;15784:4;15822:2;15811:9;15807:18;15799:26;;15871:9;15865:4;15861:20;15857:1;15846:9;15842:17;15835:47;15899:131;16025:4;15899:131;:::i;:::-;15891:139;;15618:419;;;:::o;16043:222::-;16136:4;16174:2;16163:9;16159:18;16151:26;;16187:71;16255:1;16244:9;16240:17;16231:6;16187:71;:::i;:::-;16043:222;;;;:::o;16271:831::-;16534:4;16572:3;16561:9;16557:19;16549:27;;16586:71;16654:1;16643:9;16639:17;16630:6;16586:71;:::i;:::-;16667:80;16743:2;16732:9;16728:18;16719:6;16667:80;:::i;:::-;16794:9;16788:4;16784:20;16779:2;16768:9;16764:18;16757:48;16822:108;16925:4;16916:6;16822:108;:::i;:::-;16814:116;;16940:72;17008:2;16997:9;16993:18;16984:6;16940:72;:::i;:::-;17022:73;17090:3;17079:9;17075:19;17066:6;17022:73;:::i;:::-;16271:831;;;;;;;;:::o;17108:214::-;17197:4;17235:2;17224:9;17220:18;17212:26;;17248:67;17312:1;17301:9;17297:17;17288:6;17248:67;:::i;:::-;17108:214;;;;:::o;17409:132::-;17476:4;17499:3;17491:11;;17529:4;17524:3;17520:14;17512:22;;17409:132;;;:::o;17547:114::-;17614:6;17648:5;17642:12;17632:22;;17547:114;;;:::o;17667:99::-;17719:6;17753:5;17747:12;17737:22;;17667:99;;;:::o;17772:113::-;17842:4;17874;17869:3;17865:14;17857:22;;17772:113;;;:::o;17891:184::-;17990:11;18024:6;18019:3;18012:19;18064:4;18059:3;18055:14;18040:29;;17891:184;;;;:::o;18081:169::-;18165:11;18199:6;18194:3;18187:19;18239:4;18234:3;18230:14;18215:29;;18081:169;;;;:::o;18256:305::-;18296:3;18315:20;18333:1;18315:20;:::i;:::-;18310:25;;18349:20;18367:1;18349:20;:::i;:::-;18344:25;;18503:1;18435:66;18431:74;18428:1;18425:81;18422:107;;;18509:18;;:::i;:::-;18422:107;18553:1;18550;18546:9;18539:16;;18256:305;;;;:::o;18567:185::-;18607:1;18624:20;18642:1;18624:20;:::i;:::-;18619:25;;18658:20;18676:1;18658:20;:::i;:::-;18653:25;;18697:1;18687:35;;18702:18;;:::i;:::-;18687:35;18744:1;18741;18737:9;18732:14;;18567:185;;;;:::o;18758:348::-;18798:7;18821:20;18839:1;18821:20;:::i;:::-;18816:25;;18855:20;18873:1;18855:20;:::i;:::-;18850:25;;19043:1;18975:66;18971:74;18968:1;18965:81;18960:1;18953:9;18946:17;18942:105;18939:131;;;19050:18;;:::i;:::-;18939:131;19098:1;19095;19091:9;19080:20;;18758:348;;;;:::o;19112:191::-;19152:4;19172:20;19190:1;19172:20;:::i;:::-;19167:25;;19206:20;19224:1;19206:20;:::i;:::-;19201:25;;19245:1;19242;19239:8;19236:34;;;19250:18;;:::i;:::-;19236:34;19295:1;19292;19288:9;19280:17;;19112:191;;;;:::o;19309:96::-;19346:7;19375:24;19393:5;19375:24;:::i;:::-;19364:35;;19309:96;;;:::o;19411:104::-;19456:7;19485:24;19503:5;19485:24;:::i;:::-;19474:35;;19411:104;;;:::o;19521:90::-;19555:7;19598:5;19591:13;19584:21;19573:32;;19521:90;;;:::o;19617:126::-;19654:7;19694:42;19687:5;19683:54;19672:65;;19617:126;;;:::o;19749:77::-;19786:7;19815:5;19804:16;;19749:77;;;:::o;19832:86::-;19867:7;19907:4;19900:5;19896:16;19885:27;;19832:86;;;:::o;19924:121::-;19982:9;20015:24;20033:5;20015:24;:::i;:::-;20002:37;;19924:121;;;:::o;20051:307::-;20119:1;20129:113;20143:6;20140:1;20137:13;20129:113;;;20228:1;20223:3;20219:11;20213:18;20209:1;20204:3;20200:11;20193:39;20165:2;20162:1;20158:10;20153:15;;20129:113;;;20260:6;20257:1;20254:13;20251:101;;;20340:1;20331:6;20326:3;20322:16;20315:27;20251:101;20100:258;20051:307;;;:::o;20364:180::-;20412:77;20409:1;20402:88;20509:4;20506:1;20499:15;20533:4;20530:1;20523:15;20550:180;20598:77;20595:1;20588:88;20695:4;20692:1;20685:15;20719:4;20716:1;20709:15;20736:180;20784:77;20781:1;20774:88;20881:4;20878:1;20871:15;20905:4;20902:1;20895:15;20922:180;20970:77;20967:1;20960:88;21067:4;21064:1;21057:15;21091:4;21088:1;21081:15;21231:117;21340:1;21337;21330:12;21354:102;21395:6;21446:2;21442:7;21437:2;21430:5;21426:14;21422:28;21412:38;;21354:102;;;:::o;21462:222::-;21602:34;21598:1;21590:6;21586:14;21579:58;21671:5;21666:2;21658:6;21654:15;21647:30;21462:222;:::o;21690:221::-;21830:34;21826:1;21818:6;21814:14;21807:58;21899:4;21894:2;21886:6;21882:15;21875:29;21690:221;:::o;21917:177::-;22057:29;22053:1;22045:6;22041:14;22034:53;21917:177;:::o;22100:220::-;22240:34;22236:1;22228:6;22224:14;22217:58;22309:3;22304:2;22296:6;22292:15;22285:28;22100:220;:::o;22326:182::-;22466:34;22462:1;22454:6;22450:14;22443:58;22326:182;:::o;22514:228::-;22654:34;22650:1;22642:6;22638:14;22631:58;22723:11;22718:2;22710:6;22706:15;22699:36;22514:228;:::o;22748:224::-;22888:34;22884:1;22876:6;22872:14;22865:58;22957:7;22952:2;22944:6;22940:15;22933:32;22748:224;:::o;22978:223::-;23118:34;23114:1;23106:6;23102:14;23095:58;23187:6;23182:2;23174:6;23170:15;23163:31;22978:223;:::o;23207:167::-;23347:19;23343:1;23335:6;23331:14;23324:43;23207:167;:::o;23380:122::-;23453:24;23471:5;23453:24;:::i;:::-;23446:5;23443:35;23433:63;;23492:1;23489;23482:12;23433:63;23380:122;:::o;23508:138::-;23589:32;23615:5;23589:32;:::i;:::-;23582:5;23579:43;23569:71;;23636:1;23633;23626:12;23569:71;23508:138;:::o;23652:116::-;23722:21;23737:5;23722:21;:::i;:::-;23715:5;23712:32;23702:60;;23758:1;23755;23748:12;23702:60;23652:116;:::o;23774:122::-;23847:24;23865:5;23847:24;:::i;:::-;23840:5;23837:35;23827:63;;23886:1;23883;23876:12;23827:63;23774:122;:::o

Swarm Source

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