ETH Price: $3,942.94 (+5.27%)

Token

BICHON (BCF)
 

Overview

Max Total Supply

99,999,999,999 BCF

Holders

183 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,951,161,209.361833936863119713 BCF

Value
$0.00
0x54c2406395d4bed01402443e02759f2dd64c0b39
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Bichon is more than just a cryptocurrency, it is also a way to connect with other Dogs meme lovers and make a difference in the world. Join the Bichon movement today and help to make the world a more fun and inclusive place for everyone!

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Bichon

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-16
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

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

}

abstract contract Ownable is Context {
    address private _owner;

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    address payable public _taxWallet = payable(0xf132E28953eD3b098dB377131D8623701f9bF8D4);


    uint256 public _buyTax = 5; 
    uint256 public _sellTax = 5; 


    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 99999999999 * 10**_decimals; 
    string private constant _name = unicode"BICHON";  
    string private constant _symbol = unicode"BCF"; 
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;

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

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

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address
        
        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

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

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


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

            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        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 sendETHToFee(uint256 amount) private {
        (bool callSuccess, ) = payable(_taxWallet).call{value: amount}("");
        require(callSuccess, "Call failed");
    }


    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function changeFee(uint256 buyFee, uint256 sellFee) public onlyOwner {
        require(buyFee <= 25, "Tax too high");
        require(sellFee <= 25, "Tax too high");
        _buyTax = buyFee;
        _sellTax = sellFee;
    }

    function whiteListFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function changeTaxWallet(address payable newWallet) external onlyOwner {
        _taxWallet = newWallet;
    }
    
    }

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":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whiteListFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405273f132e28953ed3b098db377131d8623701f9bf8d460045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005805560056006556012600a6200007191906200079b565b620f4240620000819190620007eb565b6007555f600960146101000a81548160ff0219169083151502179055506001600960156101000a81548160ff021916908315150217905550348015620000c5575f80fd5b50620000e6620000da6200051a60201b60201c565b6200052160201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000148573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016e91906200089a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fa91906200089a565b6040518363ffffffff1660e01b815260040162000219929190620008db565b6020604051808303815f875af115801562000236573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025c91906200089a565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620002eb91906200079b565b64174876e7ff620002fd9190620007eb565b60015f620003106200051a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000362620005e260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200048c6200051a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004ea91906200079b565b64174876e7ff620004fc9190620007eb565b6040516200050b919062000917565b60405180910390a35062000932565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000693578086048111156200066b576200066a62000609565b5b60018516156200067b5780820291505b80810290506200068b8562000636565b94506200064b565b94509492505050565b5f82620006ad57600190506200077f565b81620006bc575f90506200077f565b8160018114620006d55760028114620006e05762000716565b60019150506200077f565b60ff841115620006f557620006f462000609565b5b8360020a9150848211156200070f576200070e62000609565b5b506200077f565b5060208310610133831016604e8410600b8410161715620007505782820a9050838111156200074a576200074962000609565b5b6200077f565b6200075f848484600162000642565b9250905081840481111562000779576200077862000609565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007a78262000786565b9150620007b4836200078f565b9250620007e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069c565b905092915050565b5f620007f78262000786565b9150620008048362000786565b9250828202620008148162000786565b915082820484148315176200082e576200082d62000609565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008648262000839565b9050919050565b620008768162000858565b811462000881575f80fd5b50565b5f8151905062000894816200086b565b92915050565b5f60208284031215620008b257620008b162000835565b5b5f620008c18482850162000884565b91505092915050565b620008d58162000858565b82525050565b5f604082019050620008f05f830185620008ca565b620008ff6020830184620008ca565b9392505050565b620009118162000786565b82525050565b5f6020820190506200092c5f83018462000906565b92915050565b61288a80620009405f395ff3fe608060405260043610610138575f3560e01c8063768dc710116100aa578063ca9ec1991161006e578063ca9ec19914610413578063cb7115951461043d578063dd62ed3e14610465578063e3ca2d65146104a1578063ea2f0b37146104c9578063f2fde38b146104f15761013f565b8063768dc7101461031d5780638da5cb5b1461035957806395d89b4114610383578063a9059cbb146103ad578063bf474bed146103e95761013f565b806342a11095116100fc57806342a1109514610239578063508f6dfb1461026357806351bc3c851461028b5780636f268a99146102a157806370a08231146102cb578063715018a6146103075761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610519565b6040516101649190611aaa565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611b5b565b610556565b6040516101a09190611bb3565b60405180910390f35b3480156101b4575f80fd5b506101bd610573565b6040516101ca9190611bdb565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f49190611bf4565b610597565b6040516102069190611bb3565b60405180910390f35b34801561021a575f80fd5b5061022361066b565b6040516102309190611c5f565b60405180910390f35b348015610244575f80fd5b5061024d610673565b60405161025a9190611bdb565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190611c78565b610679565b005b348015610296575f80fd5b5061029f6106d9565b005b3480156102ac575f80fd5b506102b5610770565b6040516102c29190611cc3565b60405180910390f35b3480156102d6575f80fd5b506102f160048036038101906102ec9190611c78565b610795565b6040516102fe9190611bdb565b60405180910390f35b348015610312575f80fd5b5061031b6107db565b005b348015610328575f80fd5b50610343600480360381019061033e9190611c78565b6107ee565b6040516103509190611bb3565b60405180910390f35b348015610364575f80fd5b5061036d61080b565b60405161037a9190611ceb565b60405180910390f35b34801561038e575f80fd5b50610397610832565b6040516103a49190611aaa565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190611b5b565b61086f565b6040516103e09190611bb3565b60405180910390f35b3480156103f4575f80fd5b506103fd61088c565b60405161040a9190611bdb565b60405180910390f35b34801561041e575f80fd5b50610427610892565b6040516104349190611bdb565b60405180910390f35b348015610448575f80fd5b50610463600480360381019061045e9190611d2e565b610898565b005b348015610470575f80fd5b5061048b60048036038101906104869190611d59565b6108e3565b6040516104989190611bdb565b60405180910390f35b3480156104ac575f80fd5b506104c760048036038101906104c29190611d97565b610965565b005b3480156104d4575f80fd5b506104ef60048036038101906104ea9190611c78565b610a07565b005b3480156104fc575f80fd5b5061051760048036038101906105129190611c78565b610a66565b005b60606040518060400160405280600681526020017f424943484f4e0000000000000000000000000000000000000000000000000000815250905090565b5f610569610562610ae8565b8484610aef565b6001905092915050565b5f6012600a6105829190611f31565b64174876e7ff6105929190611f7b565b905090565b5f6105a3848484610cb2565b610660846105af610ae8565b61065b8560405180606001604052806028815260200161282d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610612610ae8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113779092919063ffffffff16565b610aef565b600190509392505050565b5f6012905090565b60055481565b6106816113d9565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610719610ae8565b73ffffffffffffffffffffffffffffffffffffffff1614610738575f80fd5b5f61074230610795565b90505f8111156107565761075581611457565b5b5f4790505f81111561076c5761076b816116cb565b5b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107e36113d9565b6107ec5f611798565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4243460000000000000000000000000000000000000000000000000000000000815250905090565b5f61088261087b610ae8565b8484610cb2565b6001905092915050565b60075481565b60065481565b6108a06113d9565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61096d6113d9565b60198211156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890612006565b60405180910390fd5b60198111156109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612006565b60405180910390fd5b81600581905550806006819055505050565b610a0f6113d9565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a6e6113d9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390612094565b60405180910390fd5b610ae581611798565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5490612122565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc2906121b0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca59190611bdb565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d179061223e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d85906122cc565b60405180910390fd5b5f8111610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc79061235a565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610e6f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156110c75760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f1d575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f4d57610f4a6064610f3c6005548561185990919063ffffffff16565b6118d090919063ffffffff16565b90505b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610fd557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611005576110026064610ff46006548561185990919063ffffffff16565b6118d090919063ffffffff16565b90505b5f61100f30610795565b9050600960149054906101000a900460ff1615801561107a575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156110925750600960159054906101000a900460ff165b801561109f575060075481115b156110c5576110ad81611457565b5f4790505f8111156110c3576110c2476116cb565b5b505b505b5f8111156111c65761111f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111bd9190611bdb565b60405180910390a35b6112168260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112b961126d828461197690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61135c848661197690919063ffffffff16565b6040516113699190611bdb565b60405180910390a350505050565b5f8383111582906113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b59190611aaa565b60405180910390fd5b505f83856113cc9190612378565b9050809150509392505050565b6113e1610ae8565b73ffffffffffffffffffffffffffffffffffffffff166113ff61080b565b73ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c906123f5565b60405180910390fd5b565b6001600960146101000a81548160ff0219169083151502179055505f8103156116ae575f600267ffffffffffffffff81111561149657611495612413565b5b6040519080825280602002602001820160405280156114c45781602001602082028036833780820191505090505b50905030815f815181106114db576114da612440565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a39190612481565b816001815181106115b7576115b6612440565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061161d3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610aef565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161167f9594939291906125a5565b5f604051808303815f87803b158015611696575f80fd5b505af11580156116a8573d5f803e3d5ffd5b50505050505b5f600960146101000a81548160ff02191690831515021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516117119061262a565b5f6040518083038185875af1925050503d805f811461174b576040519150601f19603f3d011682016040523d82523d5f602084013e611750565b606091505b5050905080611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178b90612688565b60405180910390fd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611869575f90506118ca565b5f82846118769190611f7b565b905082848261188591906126d3565b146118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90612773565b60405180910390fd5b809150505b92915050565b5f61191183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119bf565b905092915050565b5f8082846119279190612791565b90508381101561196c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119639061280e565b60405180910390fd5b8091505092915050565b5f6119b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611377565b905092915050565b5f8083118290611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc9190611aaa565b60405180910390fd5b505f8385611a1391906126d3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a57578082015181840152602081019050611a3c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611a7c82611a20565b611a868185611a2a565b9350611a96818560208601611a3a565b611a9f81611a62565b840191505092915050565b5f6020820190508181035f830152611ac28184611a72565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611af782611ace565b9050919050565b611b0781611aed565b8114611b11575f80fd5b50565b5f81359050611b2281611afe565b92915050565b5f819050919050565b611b3a81611b28565b8114611b44575f80fd5b50565b5f81359050611b5581611b31565b92915050565b5f8060408385031215611b7157611b70611aca565b5b5f611b7e85828601611b14565b9250506020611b8f85828601611b47565b9150509250929050565b5f8115159050919050565b611bad81611b99565b82525050565b5f602082019050611bc65f830184611ba4565b92915050565b611bd581611b28565b82525050565b5f602082019050611bee5f830184611bcc565b92915050565b5f805f60608486031215611c0b57611c0a611aca565b5b5f611c1886828701611b14565b9350506020611c2986828701611b14565b9250506040611c3a86828701611b47565b9150509250925092565b5f60ff82169050919050565b611c5981611c44565b82525050565b5f602082019050611c725f830184611c50565b92915050565b5f60208284031215611c8d57611c8c611aca565b5b5f611c9a84828501611b14565b91505092915050565b5f611cad82611ace565b9050919050565b611cbd81611ca3565b82525050565b5f602082019050611cd65f830184611cb4565b92915050565b611ce581611aed565b82525050565b5f602082019050611cfe5f830184611cdc565b92915050565b611d0d81611ca3565b8114611d17575f80fd5b50565b5f81359050611d2881611d04565b92915050565b5f60208284031215611d4357611d42611aca565b5b5f611d5084828501611d1a565b91505092915050565b5f8060408385031215611d6f57611d6e611aca565b5b5f611d7c85828601611b14565b9250506020611d8d85828601611b14565b9150509250929050565b5f8060408385031215611dad57611dac611aca565b5b5f611dba85828601611b47565b9250506020611dcb85828601611b47565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611e5757808604811115611e3357611e32611dd5565b5b6001851615611e425780820291505b8081029050611e5085611e02565b9450611e17565b94509492505050565b5f82611e6f5760019050611f2a565b81611e7c575f9050611f2a565b8160018114611e925760028114611e9c57611ecb565b6001915050611f2a565b60ff841115611eae57611ead611dd5565b5b8360020a915084821115611ec557611ec4611dd5565b5b50611f2a565b5060208310610133831016604e8410600b8410161715611f005782820a905083811115611efb57611efa611dd5565b5b611f2a565b611f0d8484846001611e0e565b92509050818404811115611f2457611f23611dd5565b5b81810290505b9392505050565b5f611f3b82611b28565b9150611f4683611c44565b9250611f737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e60565b905092915050565b5f611f8582611b28565b9150611f9083611b28565b9250828202611f9e81611b28565b91508282048414831517611fb557611fb4611dd5565b5b5092915050565b7f54617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f611ff0600c83611a2a565b9150611ffb82611fbc565b602082019050919050565b5f6020820190508181035f83015261201d81611fe4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61207e602683611a2a565b915061208982612024565b604082019050919050565b5f6020820190508181035f8301526120ab81612072565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61210c602483611a2a565b9150612117826120b2565b604082019050919050565b5f6020820190508181035f83015261213981612100565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61219a602283611a2a565b91506121a582612140565b604082019050919050565b5f6020820190508181035f8301526121c78161218e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612228602583611a2a565b9150612233826121ce565b604082019050919050565b5f6020820190508181035f8301526122558161221c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122b6602383611a2a565b91506122c18261225c565b604082019050919050565b5f6020820190508181035f8301526122e3816122aa565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612344602983611a2a565b915061234f826122ea565b604082019050919050565b5f6020820190508181035f83015261237181612338565b9050919050565b5f61238282611b28565b915061238d83611b28565b92508282039050818111156123a5576123a4611dd5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123df602083611a2a565b91506123ea826123ab565b602082019050919050565b5f6020820190508181035f83015261240c816123d3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061247b81611afe565b92915050565b5f6020828403121561249657612495611aca565b5b5f6124a38482850161246d565b91505092915050565b5f819050919050565b5f819050919050565b5f6124d86124d36124ce846124ac565b6124b5565b611b28565b9050919050565b6124e8816124be565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61252081611aed565b82525050565b5f6125318383612517565b60208301905092915050565b5f602082019050919050565b5f612553826124ee565b61255d81856124f8565b935061256883612508565b805f5b8381101561259857815161257f8882612526565b975061258a8361253d565b92505060018101905061256b565b5085935050505092915050565b5f60a0820190506125b85f830188611bcc565b6125c560208301876124df565b81810360408301526125d78186612549565b90506125e66060830185611cdc565b6125f36080830184611bcc565b9695505050505050565b5f81905092915050565b50565b5f6126155f836125fd565b915061262082612607565b5f82019050919050565b5f6126348261260a565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612672600b83611a2a565b915061267d8261263e565b602082019050919050565b5f6020820190508181035f83015261269f81612666565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126dd82611b28565b91506126e883611b28565b9250826126f8576126f76126a6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61275d602183611a2a565b915061276882612703565b604082019050919050565b5f6020820190508181035f83015261278a81612751565b9050919050565b5f61279b82611b28565b91506127a683611b28565b92508282019050808211156127be576127bd611dd5565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6127f8601b83611a2a565b9150612803826127c4565b602082019050919050565b5f6020820190508181035f830152612825816127ec565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014178ec8346f031959e9e4cca09af56e9ba276c8b32701a7d164596b334e131064736f6c63430008180033

Deployed Bytecode

0x608060405260043610610138575f3560e01c8063768dc710116100aa578063ca9ec1991161006e578063ca9ec19914610413578063cb7115951461043d578063dd62ed3e14610465578063e3ca2d65146104a1578063ea2f0b37146104c9578063f2fde38b146104f15761013f565b8063768dc7101461031d5780638da5cb5b1461035957806395d89b4114610383578063a9059cbb146103ad578063bf474bed146103e95761013f565b806342a11095116100fc57806342a1109514610239578063508f6dfb1461026357806351bc3c851461028b5780636f268a99146102a157806370a08231146102cb578063715018a6146103075761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610519565b6040516101649190611aaa565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611b5b565b610556565b6040516101a09190611bb3565b60405180910390f35b3480156101b4575f80fd5b506101bd610573565b6040516101ca9190611bdb565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f49190611bf4565b610597565b6040516102069190611bb3565b60405180910390f35b34801561021a575f80fd5b5061022361066b565b6040516102309190611c5f565b60405180910390f35b348015610244575f80fd5b5061024d610673565b60405161025a9190611bdb565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190611c78565b610679565b005b348015610296575f80fd5b5061029f6106d9565b005b3480156102ac575f80fd5b506102b5610770565b6040516102c29190611cc3565b60405180910390f35b3480156102d6575f80fd5b506102f160048036038101906102ec9190611c78565b610795565b6040516102fe9190611bdb565b60405180910390f35b348015610312575f80fd5b5061031b6107db565b005b348015610328575f80fd5b50610343600480360381019061033e9190611c78565b6107ee565b6040516103509190611bb3565b60405180910390f35b348015610364575f80fd5b5061036d61080b565b60405161037a9190611ceb565b60405180910390f35b34801561038e575f80fd5b50610397610832565b6040516103a49190611aaa565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190611b5b565b61086f565b6040516103e09190611bb3565b60405180910390f35b3480156103f4575f80fd5b506103fd61088c565b60405161040a9190611bdb565b60405180910390f35b34801561041e575f80fd5b50610427610892565b6040516104349190611bdb565b60405180910390f35b348015610448575f80fd5b50610463600480360381019061045e9190611d2e565b610898565b005b348015610470575f80fd5b5061048b60048036038101906104869190611d59565b6108e3565b6040516104989190611bdb565b60405180910390f35b3480156104ac575f80fd5b506104c760048036038101906104c29190611d97565b610965565b005b3480156104d4575f80fd5b506104ef60048036038101906104ea9190611c78565b610a07565b005b3480156104fc575f80fd5b5061051760048036038101906105129190611c78565b610a66565b005b60606040518060400160405280600681526020017f424943484f4e0000000000000000000000000000000000000000000000000000815250905090565b5f610569610562610ae8565b8484610aef565b6001905092915050565b5f6012600a6105829190611f31565b64174876e7ff6105929190611f7b565b905090565b5f6105a3848484610cb2565b610660846105af610ae8565b61065b8560405180606001604052806028815260200161282d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610612610ae8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113779092919063ffffffff16565b610aef565b600190509392505050565b5f6012905090565b60055481565b6106816113d9565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610719610ae8565b73ffffffffffffffffffffffffffffffffffffffff1614610738575f80fd5b5f61074230610795565b90505f8111156107565761075581611457565b5b5f4790505f81111561076c5761076b816116cb565b5b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107e36113d9565b6107ec5f611798565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4243460000000000000000000000000000000000000000000000000000000000815250905090565b5f61088261087b610ae8565b8484610cb2565b6001905092915050565b60075481565b60065481565b6108a06113d9565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61096d6113d9565b60198211156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890612006565b60405180910390fd5b60198111156109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612006565b60405180910390fd5b81600581905550806006819055505050565b610a0f6113d9565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a6e6113d9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390612094565b60405180910390fd5b610ae581611798565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5490612122565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc2906121b0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca59190611bdb565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d179061223e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d85906122cc565b60405180910390fd5b5f8111610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc79061235a565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610e6f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156110c75760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f1d575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f4d57610f4a6064610f3c6005548561185990919063ffffffff16565b6118d090919063ffffffff16565b90505b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610fd557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611005576110026064610ff46006548561185990919063ffffffff16565b6118d090919063ffffffff16565b90505b5f61100f30610795565b9050600960149054906101000a900460ff1615801561107a575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156110925750600960159054906101000a900460ff165b801561109f575060075481115b156110c5576110ad81611457565b5f4790505f8111156110c3576110c2476116cb565b5b505b505b5f8111156111c65761111f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111bd9190611bdb565b60405180910390a35b6112168260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112b961126d828461197690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61135c848661197690919063ffffffff16565b6040516113699190611bdb565b60405180910390a350505050565b5f8383111582906113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b59190611aaa565b60405180910390fd5b505f83856113cc9190612378565b9050809150509392505050565b6113e1610ae8565b73ffffffffffffffffffffffffffffffffffffffff166113ff61080b565b73ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c906123f5565b60405180910390fd5b565b6001600960146101000a81548160ff0219169083151502179055505f8103156116ae575f600267ffffffffffffffff81111561149657611495612413565b5b6040519080825280602002602001820160405280156114c45781602001602082028036833780820191505090505b50905030815f815181106114db576114da612440565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a39190612481565b816001815181106115b7576115b6612440565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061161d3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610aef565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161167f9594939291906125a5565b5f604051808303815f87803b158015611696575f80fd5b505af11580156116a8573d5f803e3d5ffd5b50505050505b5f600960146101000a81548160ff02191690831515021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516117119061262a565b5f6040518083038185875af1925050503d805f811461174b576040519150601f19603f3d011682016040523d82523d5f602084013e611750565b606091505b5050905080611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178b90612688565b60405180910390fd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611869575f90506118ca565b5f82846118769190611f7b565b905082848261188591906126d3565b146118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90612773565b60405180910390fd5b809150505b92915050565b5f61191183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119bf565b905092915050565b5f8082846119279190612791565b90508381101561196c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119639061280e565b60405180910390fd5b8091505092915050565b5f6119b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611377565b905092915050565b5f8083118290611a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fc9190611aaa565b60405180910390fd5b505f8385611a1391906126d3565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a57578082015181840152602081019050611a3c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611a7c82611a20565b611a868185611a2a565b9350611a96818560208601611a3a565b611a9f81611a62565b840191505092915050565b5f6020820190508181035f830152611ac28184611a72565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611af782611ace565b9050919050565b611b0781611aed565b8114611b11575f80fd5b50565b5f81359050611b2281611afe565b92915050565b5f819050919050565b611b3a81611b28565b8114611b44575f80fd5b50565b5f81359050611b5581611b31565b92915050565b5f8060408385031215611b7157611b70611aca565b5b5f611b7e85828601611b14565b9250506020611b8f85828601611b47565b9150509250929050565b5f8115159050919050565b611bad81611b99565b82525050565b5f602082019050611bc65f830184611ba4565b92915050565b611bd581611b28565b82525050565b5f602082019050611bee5f830184611bcc565b92915050565b5f805f60608486031215611c0b57611c0a611aca565b5b5f611c1886828701611b14565b9350506020611c2986828701611b14565b9250506040611c3a86828701611b47565b9150509250925092565b5f60ff82169050919050565b611c5981611c44565b82525050565b5f602082019050611c725f830184611c50565b92915050565b5f60208284031215611c8d57611c8c611aca565b5b5f611c9a84828501611b14565b91505092915050565b5f611cad82611ace565b9050919050565b611cbd81611ca3565b82525050565b5f602082019050611cd65f830184611cb4565b92915050565b611ce581611aed565b82525050565b5f602082019050611cfe5f830184611cdc565b92915050565b611d0d81611ca3565b8114611d17575f80fd5b50565b5f81359050611d2881611d04565b92915050565b5f60208284031215611d4357611d42611aca565b5b5f611d5084828501611d1a565b91505092915050565b5f8060408385031215611d6f57611d6e611aca565b5b5f611d7c85828601611b14565b9250506020611d8d85828601611b14565b9150509250929050565b5f8060408385031215611dad57611dac611aca565b5b5f611dba85828601611b47565b9250506020611dcb85828601611b47565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611e5757808604811115611e3357611e32611dd5565b5b6001851615611e425780820291505b8081029050611e5085611e02565b9450611e17565b94509492505050565b5f82611e6f5760019050611f2a565b81611e7c575f9050611f2a565b8160018114611e925760028114611e9c57611ecb565b6001915050611f2a565b60ff841115611eae57611ead611dd5565b5b8360020a915084821115611ec557611ec4611dd5565b5b50611f2a565b5060208310610133831016604e8410600b8410161715611f005782820a905083811115611efb57611efa611dd5565b5b611f2a565b611f0d8484846001611e0e565b92509050818404811115611f2457611f23611dd5565b5b81810290505b9392505050565b5f611f3b82611b28565b9150611f4683611c44565b9250611f737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e60565b905092915050565b5f611f8582611b28565b9150611f9083611b28565b9250828202611f9e81611b28565b91508282048414831517611fb557611fb4611dd5565b5b5092915050565b7f54617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f611ff0600c83611a2a565b9150611ffb82611fbc565b602082019050919050565b5f6020820190508181035f83015261201d81611fe4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61207e602683611a2a565b915061208982612024565b604082019050919050565b5f6020820190508181035f8301526120ab81612072565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61210c602483611a2a565b9150612117826120b2565b604082019050919050565b5f6020820190508181035f83015261213981612100565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61219a602283611a2a565b91506121a582612140565b604082019050919050565b5f6020820190508181035f8301526121c78161218e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612228602583611a2a565b9150612233826121ce565b604082019050919050565b5f6020820190508181035f8301526122558161221c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122b6602383611a2a565b91506122c18261225c565b604082019050919050565b5f6020820190508181035f8301526122e3816122aa565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612344602983611a2a565b915061234f826122ea565b604082019050919050565b5f6020820190508181035f83015261237181612338565b9050919050565b5f61238282611b28565b915061238d83611b28565b92508282039050818111156123a5576123a4611dd5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123df602083611a2a565b91506123ea826123ab565b602082019050919050565b5f6020820190508181035f83015261240c816123d3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061247b81611afe565b92915050565b5f6020828403121561249657612495611aca565b5b5f6124a38482850161246d565b91505092915050565b5f819050919050565b5f819050919050565b5f6124d86124d36124ce846124ac565b6124b5565b611b28565b9050919050565b6124e8816124be565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61252081611aed565b82525050565b5f6125318383612517565b60208301905092915050565b5f602082019050919050565b5f612553826124ee565b61255d81856124f8565b935061256883612508565b805f5b8381101561259857815161257f8882612526565b975061258a8361253d565b92505060018101905061256b565b5085935050505092915050565b5f60a0820190506125b85f830188611bcc565b6125c560208301876124df565b81810360408301526125d78186612549565b90506125e66060830185611cdc565b6125f36080830184611bcc565b9695505050505050565b5f81905092915050565b50565b5f6126155f836125fd565b915061262082612607565b5f82019050919050565b5f6126348261260a565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612672600b83611a2a565b915061267d8261263e565b602082019050919050565b5f6020820190508181035f83015261269f81612666565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126dd82611b28565b91506126e883611b28565b9250826126f8576126f76126a6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61275d602183611a2a565b915061276882612703565b604082019050919050565b5f6020820190508181035f83015261278a81612751565b9050919050565b5f61279b82611b28565b91506127a683611b28565b92508282019050808211156127be576127bd611dd5565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6127f8601b83611a2a565b9150612803826127c4565b602082019050919050565b5f6020820190508181035f830152612825816127ec565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014178ec8346f031959e9e4cca09af56e9ba276c8b32701a7d164596b334e131064736f6c63430008180033

Deployed Bytecode Sourcemap

4810:6705:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6518:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7351:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6795:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7520:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6704:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5181:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11151:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10557:348;;;;;;;;;;;;;:::i;:::-;;5083:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6898:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3231:103;;;;;;;;;;;;;:::i;:::-;;5025:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2590:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6609;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7025:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5478:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5215:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11390:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7200:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10913:230;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11272:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3489:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6518:83;6555:13;6588:5;;;;;;;;;;;;;;;;;6581:12;;6518:83;:::o;7351:161::-;7426:4;7443:39;7452:12;:10;:12::i;:::-;7466:7;7475:6;7443:8;:39::i;:::-;7500:4;7493:11;;7351:161;;;;:::o;6795:95::-;6848:7;5289:2;5347;:13;;;;:::i;:::-;5333:11;:27;;;;:::i;:::-;6868:14;;6795:95;:::o;7520:313::-;7618:4;7635:36;7645:6;7653:9;7664:6;7635:9;:36::i;:::-;7682:121;7691:6;7699:12;:10;:12::i;:::-;7713:89;7751:6;7713:89;;;;;;;;;;;;;;;;;:11;:19;7725:6;7713:19;;;;;;;;;;;;;;;:33;7733:12;:10;:12::i;:::-;7713:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7682:8;:121::i;:::-;7821:4;7814:11;;7520:313;;;;;:::o;6704:83::-;6745:5;5289:2;6763:16;;6704:83;:::o;5181:26::-;;;;:::o;11151:113::-;2476:13;:11;:13::i;:::-;11252:4:::1;11222:18;:27;11241:7;11222:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11151:113:::0;:::o;10557:348::-;10621:10;;;;;;;;;;;10607:24;;:12;:10;:12::i;:::-;:24;;;10599:33;;;;;;10643:20;10664:24;10682:4;10664:9;:24::i;:::-;10643:45;;10715:1;10702:12;:14;10699:73;;;10730:30;10747:12;10730:16;:30::i;:::-;10699:73;10782:18;10801:21;10782:40;;10847:1;10836:10;:12;10833:65;;;10862:24;10875:10;10862:12;:24::i;:::-;10833:65;10588:317;;10557:348::o;5083:87::-;;;;;;;;;;;;;:::o;6898:119::-;6964:7;6991:9;:18;7001:7;6991:18;;;;;;;;;;;;;;;;6984:25;;6898:119;;;:::o;3231:103::-;2476:13;:11;:13::i;:::-;3296:30:::1;3323:1;3296:18;:30::i;:::-;3231:103::o:0;5025:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;2590:87::-;2636:7;2663:6;;;;;;;;;;;2656:13;;2590:87;:::o;6609:::-;6648:13;6681:7;;;;;;;;;;;;;;;;;6674:14;;6609:87;:::o;7025:167::-;7103:4;7120:42;7130:12;:10;:12::i;:::-;7144:9;7155:6;7120:9;:42::i;:::-;7180:4;7173:11;;7025:167;;;;:::o;5478:57::-;;;;:::o;5215:27::-;;;;:::o;11390:112::-;2476:13;:11;:13::i;:::-;11485:9:::1;11472:10;;:22;;;;;;;;;;;;;;;;;;11390:112:::0;:::o;7200:143::-;7281:7;7308:11;:18;7320:5;7308:18;;;;;;;;;;;;;;;:27;7327:7;7308:27;;;;;;;;;;;;;;;;7301:34;;7200:143;;;;:::o;10913:230::-;2476:13;:11;:13::i;:::-;11011:2:::1;11001:6;:12;;10993:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;11060:2;11049:7;:13;;11041:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11100:6;11090:7;:16;;;;11128:7;11117:8;:18;;;;10913:230:::0;;:::o;11272:110::-;2476:13;:11;:13::i;:::-;11369:5:::1;11339:18;:27;11358:7;11339:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11272:110:::0;:::o;3489:201::-;2476:13;:11;:13::i;:::-;3598:1:::1;3578:22;;:8;:22;;::::0;3570:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3654:28;3673:8;3654:18;:28::i;:::-;3489:201:::0;:::o;93:98::-;146:7;173:10;166:17;;93:98;:::o;7841:335::-;7951:1;7934:19;;:5;:19;;;7926:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8032:1;8013:21;;:7;:21;;;8005:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8114:6;8084:11;:18;8096:5;8084:18;;;;;;;;;;;;;;;:27;8103:7;8084:27;;;;;;;;;;;;;;;:36;;;;8152:7;8136:32;;8145:5;8136:32;;;8161:6;8136:32;;;;;;:::i;:::-;;;;;;;;7841:335;;;:::o;8184:1505::-;8288:1;8272:18;;:4;:18;;;8264:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8365:1;8351:16;;:2;:16;;;8343:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8435:1;8426:6;:10;8418:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8493:17;8528:18;:24;8547:4;8528:24;;;;;;;;;;;;;;;;;;;;;;;;;8527:25;:52;;;;;8557:18;:22;8576:2;8557:22;;;;;;;;;;;;;;;;;;;;;;;;;8556:23;8527:52;8523:810;;;8610:13;;;;;;;;;;;8602:21;;:4;:21;;;:55;;;;;8641:15;;;;;;;;;;;8627:30;;:2;:30;;;;8602:55;8598:136;;;8690:28;8714:3;8690:19;8701:7;;8690:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;8678:40;;8598:136;8761:13;;;;;;;;;;;8755:19;;:2;:19;;;:43;;;;;8793:4;8778:20;;:4;:20;;;;8755:43;8752:126;;;8831:29;8856:3;8831:20;8842:8;;8831:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8819:41;;8752:126;8894:28;8925:24;8943:4;8925:9;:24::i;:::-;8894:55;;8969:6;;;;;;;;;;;8968:7;:30;;;;;8985:13;;;;;;;;;;;8979:19;;:2;:19;;;8968:30;:45;;;;;9002:11;;;;;;;;;;;8968:45;:87;;;;;9038:17;;9017:20;:38;8968:87;8964:358;;;9076:38;9093:20;9076:16;:38::i;:::-;9133:26;9162:21;9133:50;;9226:1;9205:18;:22;9202:105;;;9252:35;9265:21;9252:12;:35::i;:::-;9202:105;9057:265;8964:358;8581:752;8523:810;9358:1;9348:9;:11;9345:161;;;9398:39;9427:9;9398;:24;9416:4;9398:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9373:9;:24;9391:4;9373:24;;;;;;;;;;;;;;;:64;;;;9478:4;9455:39;;9464:4;9455:39;;;9484:9;9455:39;;;;;;:::i;:::-;;;;;;;;9345:161;9532:27;9552:6;9532:9;:15;9542:4;9532:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9516:9;:15;9526:4;9516:15;;;;;;;;;;;;;;;:43;;;;9584:40;9602:21;9613:9;9602:6;:10;;:21;;;;:::i;:::-;9584:9;:13;9594:2;9584:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9570:9;:13;9580:2;9570:13;;;;;;;;;;;;;;;:54;;;;9655:2;9640:41;;9649:4;9640:41;;;9659:21;9670:9;9659:6;:10;;:21;;;;:::i;:::-;9640:41;;;;;;:::i;:::-;;;;;;;;8253:1436;8184:1505;;;:::o;1230:190::-;1316:7;1349:1;1344;:6;;1352:12;1336:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1376:9;1392:1;1388;:5;;;;:::i;:::-;1376:17;;1411:1;1404:8;;;1230:190;;;;;:::o;2755:132::-;2830:12;:10;:12::i;:::-;2819:23;;:7;:5;:7::i;:::-;:23;;;2811:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2755:132::o;9805:520::-;5744:4;5735:6;;:13;;;;;;;;;;;;;;;;;;9899:1:::1;9886:11;:14:::0;9883:27;9902:7:::1;9883:27;9920:21;9958:1;9944:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9920:40;;9989:4;9971;9976:1;9971:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10015:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10005:4;10010:1;10005:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10048:62;10065:4;10080:15;;;;;;;;;;;10098:11;10048:8;:62::i;:::-;10121:15;;;;;;;;;;;:66;;;10202:11;10228:1;10244:4;10271;10291:15;10121:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9872:453;5759:1;5780:5:::0;5771:6;;:14;;;;;;;;;;;;;;;;;;9805:520;:::o;10333:177::-;10391:16;10421:10;;;;;;;;;;;10413:24;;10445:6;10413:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10390:66;;;10475:11;10467:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;10379:131;10333:177;:::o;3850:191::-;3924:16;3943:6;;;;;;;;;;;3924:25;;3969:8;3960:6;;:17;;;;;;;;;;;;;;;;;;4024:8;3993:40;;4014:8;3993:40;;;;;;;;;;;;3913:128;3850:191;:::o;1428:246::-;1486:7;1515:1;1510;:6;1506:47;;1540:1;1533:8;;;;1506:47;1563:9;1579:1;1575;:5;;;;:::i;:::-;1563:17;;1608:1;1603;1599;:5;;;;:::i;:::-;:10;1591:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1665:1;1658:8;;;1428:246;;;;;:::o;1682:132::-;1740:7;1767:39;1771:1;1774;1767:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1760:46;;1682:132;;;;:::o;899:179::-;957:7;977:9;993:1;989;:5;;;;:::i;:::-;977:17;;1018:1;1013;:6;;1005:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1069:1;1062:8;;;899:179;;;;:::o;1086:136::-;1144:7;1171:43;1175:1;1178;1171:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1164:50;;1086:136;;;;:::o;1822:189::-;1908:7;1940:1;1936;:5;1943:12;1928:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1967:9;1983:1;1979;:5;;;;:::i;:::-;1967:17;;2002:1;1995:8;;;1822:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:104::-;5233:7;5262:24;5280:5;5262:24;:::i;:::-;5251:35;;5188:104;;;:::o;5298:142::-;5401:32;5427:5;5401:32;:::i;:::-;5396:3;5389:45;5298:142;;:::o;5446:254::-;5555:4;5593:2;5582:9;5578:18;5570:26;;5606:87;5690:1;5679:9;5675:17;5666:6;5606:87;:::i;:::-;5446:254;;;;:::o;5706:118::-;5793:24;5811:5;5793:24;:::i;:::-;5788:3;5781:37;5706:118;;:::o;5830:222::-;5923:4;5961:2;5950:9;5946:18;5938:26;;5974:71;6042:1;6031:9;6027:17;6018:6;5974:71;:::i;:::-;5830:222;;;;:::o;6058:138::-;6139:32;6165:5;6139:32;:::i;:::-;6132:5;6129:43;6119:71;;6186:1;6183;6176:12;6119:71;6058:138;:::o;6202:155::-;6256:5;6294:6;6281:20;6272:29;;6310:41;6345:5;6310:41;:::i;:::-;6202:155;;;;:::o;6363:345::-;6430:6;6479:2;6467:9;6458:7;6454:23;6450:32;6447:119;;;6485:79;;:::i;:::-;6447:119;6605:1;6630:61;6683:7;6674:6;6663:9;6659:22;6630:61;:::i;:::-;6620:71;;6576:125;6363:345;;;;:::o;6714:474::-;6782:6;6790;6839:2;6827:9;6818:7;6814:23;6810:32;6807:119;;;6845:79;;:::i;:::-;6807:119;6965:1;6990:53;7035:7;7026:6;7015:9;7011:22;6990:53;:::i;:::-;6980:63;;6936:117;7092:2;7118:53;7163:7;7154:6;7143:9;7139:22;7118:53;:::i;:::-;7108:63;;7063:118;6714:474;;;;;:::o;7194:::-;7262:6;7270;7319:2;7307:9;7298:7;7294:23;7290:32;7287:119;;;7325:79;;:::i;:::-;7287:119;7445:1;7470:53;7515:7;7506:6;7495:9;7491:22;7470:53;:::i;:::-;7460:63;;7416:117;7572:2;7598:53;7643:7;7634:6;7623:9;7619:22;7598:53;:::i;:::-;7588:63;;7543:118;7194:474;;;;;:::o;7674:180::-;7722:77;7719:1;7712:88;7819:4;7816:1;7809:15;7843:4;7840:1;7833:15;7860:102;7902:8;7949:5;7946:1;7942:13;7921:34;;7860:102;;;:::o;7968:848::-;8029:5;8036:4;8060:6;8051:15;;8084:5;8075:14;;8098:712;8119:1;8109:8;8106:15;8098:712;;;8214:4;8209:3;8205:14;8199:4;8196:24;8193:50;;;8223:18;;:::i;:::-;8193:50;8273:1;8263:8;8259:16;8256:451;;;8688:4;8681:5;8677:16;8668:25;;8256:451;8738:4;8732;8728:15;8720:23;;8768:32;8791:8;8768:32;:::i;:::-;8756:44;;8098:712;;;7968:848;;;;;;;:::o;8822:1073::-;8876:5;9067:8;9057:40;;9088:1;9079:10;;9090:5;;9057:40;9116:4;9106:36;;9133:1;9124:10;;9135:5;;9106:36;9202:4;9250:1;9245:27;;;;9286:1;9281:191;;;;9195:277;;9245:27;9263:1;9254:10;;9265:5;;;9281:191;9326:3;9316:8;9313:17;9310:43;;;9333:18;;:::i;:::-;9310:43;9382:8;9379:1;9375:16;9366:25;;9417:3;9410:5;9407:14;9404:40;;;9424:18;;:::i;:::-;9404:40;9457:5;;;9195:277;;9581:2;9571:8;9568:16;9562:3;9556:4;9553:13;9549:36;9531:2;9521:8;9518:16;9513:2;9507:4;9504:12;9500:35;9484:111;9481:246;;;9637:8;9631:4;9627:19;9618:28;;9672:3;9665:5;9662:14;9659:40;;;9679:18;;:::i;:::-;9659:40;9712:5;;9481:246;9752:42;9790:3;9780:8;9774:4;9771:1;9752:42;:::i;:::-;9737:57;;;;9826:4;9821:3;9817:14;9810:5;9807:25;9804:51;;;9835:18;;:::i;:::-;9804:51;9884:4;9877:5;9873:16;9864:25;;8822:1073;;;;;;:::o;9901:281::-;9959:5;9983:23;10001:4;9983:23;:::i;:::-;9975:31;;10027:25;10043:8;10027:25;:::i;:::-;10015:37;;10071:104;10108:66;10098:8;10092:4;10071:104;:::i;:::-;10062:113;;9901:281;;;;:::o;10188:410::-;10228:7;10251:20;10269:1;10251:20;:::i;:::-;10246:25;;10285:20;10303:1;10285:20;:::i;:::-;10280:25;;10340:1;10337;10333:9;10362:30;10380:11;10362:30;:::i;:::-;10351:41;;10541:1;10532:7;10528:15;10525:1;10522:22;10502:1;10495:9;10475:83;10452:139;;10571:18;;:::i;:::-;10452:139;10236:362;10188:410;;;;:::o;10604:162::-;10744:14;10740:1;10732:6;10728:14;10721:38;10604:162;:::o;10772:366::-;10914:3;10935:67;10999:2;10994:3;10935:67;:::i;:::-;10928:74;;11011:93;11100:3;11011:93;:::i;:::-;11129:2;11124:3;11120:12;11113:19;;10772:366;;;:::o;11144:419::-;11310:4;11348:2;11337:9;11333:18;11325:26;;11397:9;11391:4;11387:20;11383:1;11372:9;11368:17;11361:47;11425:131;11551:4;11425:131;:::i;:::-;11417:139;;11144:419;;;:::o;11569:225::-;11709:34;11705:1;11697:6;11693:14;11686:58;11778:8;11773:2;11765:6;11761:15;11754:33;11569:225;:::o;11800:366::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:419::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12425:9;12419:4;12415:20;12411:1;12400:9;12396:17;12389:47;12453:131;12579:4;12453:131;:::i;:::-;12445:139;;12172:419;;;:::o;12597:223::-;12737:34;12733:1;12725:6;12721:14;12714:58;12806:6;12801:2;12793:6;12789:15;12782:31;12597:223;:::o;12826:366::-;12968:3;12989:67;13053:2;13048:3;12989:67;:::i;:::-;12982:74;;13065:93;13154:3;13065:93;:::i;:::-;13183:2;13178:3;13174:12;13167:19;;12826:366;;;:::o;13198:419::-;13364:4;13402:2;13391:9;13387:18;13379:26;;13451:9;13445:4;13441:20;13437:1;13426:9;13422:17;13415:47;13479:131;13605:4;13479:131;:::i;:::-;13471:139;;13198:419;;;:::o;13623:221::-;13763:34;13759:1;13751:6;13747:14;13740:58;13832:4;13827:2;13819:6;13815:15;13808:29;13623:221;:::o;13850:366::-;13992:3;14013:67;14077:2;14072:3;14013:67;:::i;:::-;14006:74;;14089:93;14178:3;14089:93;:::i;:::-;14207:2;14202:3;14198:12;14191:19;;13850:366;;;:::o;14222:419::-;14388:4;14426:2;14415:9;14411:18;14403:26;;14475:9;14469:4;14465:20;14461:1;14450:9;14446:17;14439:47;14503:131;14629:4;14503:131;:::i;:::-;14495:139;;14222:419;;;:::o;14647:224::-;14787:34;14783:1;14775:6;14771:14;14764:58;14856:7;14851:2;14843:6;14839:15;14832:32;14647:224;:::o;14877:366::-;15019:3;15040:67;15104:2;15099:3;15040:67;:::i;:::-;15033:74;;15116:93;15205:3;15116:93;:::i;:::-;15234:2;15229:3;15225:12;15218:19;;14877:366;;;:::o;15249:419::-;15415:4;15453:2;15442:9;15438:18;15430:26;;15502:9;15496:4;15492:20;15488:1;15477:9;15473:17;15466:47;15530:131;15656:4;15530:131;:::i;:::-;15522:139;;15249:419;;;:::o;15674:222::-;15814:34;15810:1;15802:6;15798:14;15791:58;15883:5;15878:2;15870:6;15866:15;15859:30;15674:222;:::o;15902:366::-;16044:3;16065:67;16129:2;16124:3;16065:67;:::i;:::-;16058:74;;16141:93;16230:3;16141:93;:::i;:::-;16259:2;16254:3;16250:12;16243:19;;15902:366;;;:::o;16274:419::-;16440:4;16478:2;16467:9;16463:18;16455:26;;16527:9;16521:4;16517:20;16513:1;16502:9;16498:17;16491:47;16555:131;16681:4;16555:131;:::i;:::-;16547:139;;16274:419;;;:::o;16699:228::-;16839:34;16835:1;16827:6;16823:14;16816:58;16908:11;16903:2;16895:6;16891:15;16884:36;16699:228;:::o;16933:366::-;17075:3;17096:67;17160:2;17155:3;17096:67;:::i;:::-;17089:74;;17172:93;17261:3;17172:93;:::i;:::-;17290:2;17285:3;17281:12;17274:19;;16933:366;;;:::o;17305:419::-;17471:4;17509:2;17498:9;17494:18;17486:26;;17558:9;17552:4;17548:20;17544:1;17533:9;17529:17;17522:47;17586:131;17712:4;17586:131;:::i;:::-;17578:139;;17305:419;;;:::o;17730:194::-;17770:4;17790:20;17808:1;17790:20;:::i;:::-;17785:25;;17824:20;17842:1;17824:20;:::i;:::-;17819:25;;17868:1;17865;17861:9;17853:17;;17892:1;17886:4;17883:11;17880:37;;;17897:18;;:::i;:::-;17880:37;17730:194;;;;:::o;17930:182::-;18070:34;18066:1;18058:6;18054:14;18047:58;17930:182;:::o;18118:366::-;18260:3;18281:67;18345:2;18340:3;18281:67;:::i;:::-;18274:74;;18357:93;18446:3;18357:93;:::i;:::-;18475:2;18470:3;18466:12;18459:19;;18118:366;;;:::o;18490:419::-;18656:4;18694:2;18683:9;18679:18;18671:26;;18743:9;18737:4;18733:20;18729:1;18718:9;18714:17;18707:47;18771:131;18897:4;18771:131;:::i;:::-;18763:139;;18490:419;;;:::o;18915:180::-;18963:77;18960:1;18953:88;19060:4;19057:1;19050:15;19084:4;19081:1;19074:15;19101:180;19149:77;19146:1;19139:88;19246:4;19243:1;19236:15;19270:4;19267:1;19260:15;19287:143;19344:5;19375:6;19369:13;19360:22;;19391:33;19418:5;19391:33;:::i;:::-;19287:143;;;;:::o;19436:351::-;19506:6;19555:2;19543:9;19534:7;19530:23;19526:32;19523:119;;;19561:79;;:::i;:::-;19523:119;19681:1;19706:64;19762:7;19753:6;19742:9;19738:22;19706:64;:::i;:::-;19696:74;;19652:128;19436:351;;;;:::o;19793:85::-;19838:7;19867:5;19856:16;;19793:85;;;:::o;19884:60::-;19912:3;19933:5;19926:12;;19884:60;;;:::o;19950:158::-;20008:9;20041:61;20059:42;20068:32;20094:5;20068:32;:::i;:::-;20059:42;:::i;:::-;20041:61;:::i;:::-;20028:74;;19950:158;;;:::o;20114:147::-;20209:45;20248:5;20209:45;:::i;:::-;20204:3;20197:58;20114:147;;:::o;20267:114::-;20334:6;20368:5;20362:12;20352:22;;20267:114;;;:::o;20387:184::-;20486:11;20520:6;20515:3;20508:19;20560:4;20555:3;20551:14;20536:29;;20387:184;;;;:::o;20577:132::-;20644:4;20667:3;20659:11;;20697:4;20692:3;20688:14;20680:22;;20577:132;;;:::o;20715:108::-;20792:24;20810:5;20792:24;:::i;:::-;20787:3;20780:37;20715:108;;:::o;20829:179::-;20898:10;20919:46;20961:3;20953:6;20919:46;:::i;:::-;20997:4;20992:3;20988:14;20974:28;;20829:179;;;;:::o;21014:113::-;21084:4;21116;21111:3;21107:14;21099:22;;21014:113;;;:::o;21163:732::-;21282:3;21311:54;21359:5;21311:54;:::i;:::-;21381:86;21460:6;21455:3;21381:86;:::i;:::-;21374:93;;21491:56;21541:5;21491:56;:::i;:::-;21570:7;21601:1;21586:284;21611:6;21608:1;21605:13;21586:284;;;21687:6;21681:13;21714:63;21773:3;21758:13;21714:63;:::i;:::-;21707:70;;21800:60;21853:6;21800:60;:::i;:::-;21790:70;;21646:224;21633:1;21630;21626:9;21621:14;;21586:284;;;21590:14;21886:3;21879:10;;21287:608;;;21163:732;;;;:::o;21901:831::-;22164:4;22202:3;22191:9;22187:19;22179:27;;22216:71;22284:1;22273:9;22269:17;22260:6;22216:71;:::i;:::-;22297:80;22373:2;22362:9;22358:18;22349:6;22297:80;:::i;:::-;22424:9;22418:4;22414:20;22409:2;22398:9;22394:18;22387:48;22452:108;22555:4;22546:6;22452:108;:::i;:::-;22444:116;;22570:72;22638:2;22627:9;22623:18;22614:6;22570:72;:::i;:::-;22652:73;22720:3;22709:9;22705:19;22696:6;22652:73;:::i;:::-;21901:831;;;;;;;;:::o;22738:147::-;22839:11;22876:3;22861:18;;22738:147;;;;:::o;22891:114::-;;:::o;23011:398::-;23170:3;23191:83;23272:1;23267:3;23191:83;:::i;:::-;23184:90;;23283:93;23372:3;23283:93;:::i;:::-;23401:1;23396:3;23392:11;23385:18;;23011:398;;;:::o;23415:379::-;23599:3;23621:147;23764:3;23621:147;:::i;:::-;23614:154;;23785:3;23778:10;;23415:379;;;:::o;23800:161::-;23940:13;23936:1;23928:6;23924:14;23917:37;23800:161;:::o;23967:366::-;24109:3;24130:67;24194:2;24189:3;24130:67;:::i;:::-;24123:74;;24206:93;24295:3;24206:93;:::i;:::-;24324:2;24319:3;24315:12;24308:19;;23967:366;;;:::o;24339:419::-;24505:4;24543:2;24532:9;24528:18;24520:26;;24592:9;24586:4;24582:20;24578:1;24567:9;24563:17;24556:47;24620:131;24746:4;24620:131;:::i;:::-;24612:139;;24339:419;;;:::o;24764:180::-;24812:77;24809:1;24802:88;24909:4;24906:1;24899:15;24933:4;24930:1;24923:15;24950:185;24990:1;25007:20;25025:1;25007:20;:::i;:::-;25002:25;;25041:20;25059:1;25041:20;:::i;:::-;25036:25;;25080:1;25070:35;;25085:18;;:::i;:::-;25070:35;25127:1;25124;25120:9;25115:14;;24950:185;;;;:::o;25141:220::-;25281:34;25277:1;25269:6;25265:14;25258:58;25350:3;25345:2;25337:6;25333:15;25326:28;25141:220;:::o;25367:366::-;25509:3;25530:67;25594:2;25589:3;25530:67;:::i;:::-;25523:74;;25606:93;25695:3;25606:93;:::i;:::-;25724:2;25719:3;25715:12;25708:19;;25367:366;;;:::o;25739:419::-;25905:4;25943:2;25932:9;25928:18;25920:26;;25992:9;25986:4;25982:20;25978:1;25967:9;25963:17;25956:47;26020:131;26146:4;26020:131;:::i;:::-;26012:139;;25739:419;;;:::o;26164:191::-;26204:3;26223:20;26241:1;26223:20;:::i;:::-;26218:25;;26257:20;26275:1;26257:20;:::i;:::-;26252:25;;26300:1;26297;26293:9;26286:16;;26321:3;26318:1;26315:10;26312:36;;;26328:18;;:::i;:::-;26312:36;26164:191;;;;:::o;26361:177::-;26501:29;26497:1;26489:6;26485:14;26478:53;26361:177;:::o;26544:366::-;26686:3;26707:67;26771:2;26766:3;26707:67;:::i;:::-;26700:74;;26783:93;26872:3;26783:93;:::i;:::-;26901:2;26896:3;26892:12;26885:19;;26544:366;;;:::o;26916:419::-;27082:4;27120:2;27109:9;27105:18;27097:26;;27169:9;27163:4;27159:20;27155:1;27144:9;27140:17;27133:47;27197:131;27323:4;27197:131;:::i;:::-;27189:139;;26916:419;;;:::o

Swarm Source

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