ETH Price: $3,488.46 (-1.12%)
Gas: 5 Gwei

Token

Guts Inu (GINU)
 

Overview

Max Total Supply

1,000,000,000,000 GINU

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
870,021,719.801556393 GINU

Value
$0.00
0x9372fd585e532be0a62836adebbdb587f3d7517d
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:
GutsInu

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-19
*/

/*  Socials

Telegram:   https://t.me/gutsinuofficial
Website:    https://gutsinu.xyz/
Twitter:    https://twitter.com/GutsInuERC
*/
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

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

contract GutsInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**12 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=70;
    uint256 private liqfee=10;
    uint256 private feeMax=100;
    string private constant _name = "Guts Inu";
    string private constant _symbol = "GINU";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal.div(2);
        _tOwned[0x000000000000000000000000000000000000dEaD] = _tTotal.div(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(2));
        emit Transfer(address(0),address(0x000000000000000000000000000000000000dEaD),_tTotal.div(2));
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
   
    function changeFees(uint8 _fee1,uint8 _fee2,uint8 _liq) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax && liqfee <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
        liqfee = _liq;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

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

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

        _tax = fee1.add(liqfee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _tax = fee2.add(liqfee);
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapAndLiquify(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
		
        _transferStandard(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function swapAndLiquify(uint256 tokenAmount) private {
        uint256 half = liqfee.div(2);
        uint256 part = fee2.add(half);
        uint256 sum = fee2.add(liqfee);
        uint256 swapTotal = tokenAmount.mul(part).div(sum);
        swapTokensForEth(swapTotal);
        addLiquidity(tokenAmount.sub(swapTotal),address(this).balance.mul(half).div(part),_feeAddrWallet1);
    }

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (5 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapAndLiquify(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"},{"internalType":"uint8","name":"_liq","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260286009556046600a55600a600b556064600c55620000566064620000426002683635c9adc5dea000006200041560201b620009051790919060201c565b620004a960201b6200098b1790919060201c565b600d556200007e6103e8683635c9adc5dea00000620004a960201b6200098b1790919060201c565b600e556011805461ffff60a81b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f8054336001600160a01b031990911617905562000106683635c9adc5dea000006002620004a9602090811b6200098b17901c565b306000908152600260208181526040909220929092556200013b91683635c9adc5dea00000916200098b620004a9821b17901c565b7f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc55600080546001600160a01b0390811682526004602081815260408085208054600160ff1991821681179092553087528287208054821683179055600f549095168652948190208054909416909417909255601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155835163c45a015560e01b81529351909363c45a01559381840193909291829003018186803b1580156200020957600080fd5b505afa1580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024491906200052f565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a257600080fd5b505afa158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd91906200052f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200032657600080fd5b505af11580156200033b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036191906200052f565b601180546001600160a01b0319166001600160a01b039290921691909117905530600060008051602062001f0d833981519152620003b6683635c9adc5dea000006002620004a9602090811b6200098b17901c565b60405190815260200160405180910390a361dead600060008051602062001f0d833981519152620003fe683635c9adc5dea000006002620004a9602090811b6200098b17901c565b60405190815260200160405180910390a362000603565b6000826200042657506000620004a3565b6000620004348385620005d5565b905082620004438583620005b2565b14620004a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620004a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004f360201b60201c565b60008183620005175760405162461bcd60e51b81526004016200049791906200055a565b506000620005268486620005b2565b95945050505050565b6000602082840312156200054257600080fd5b81516001600160a01b0381168114620004a057600080fd5b600060208083528351808285015260005b8181101562000589578581018301518582016040015282016200056b565b818111156200059c576000604083870101525b50601f01601f1916929092016040019392505050565b600082620005d057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620005fe57634e487b7160e01b600052601160045260246000fd5b500290565b6118fa80620006136000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610330578063b515566a14610350578063c3c8cd8014610370578063c9567bf914610385578063dd62ed3e1461039a57600080fd5b806370a0823114610270578063715018a6146102a65780637e37e9bb146102bb5780638da5cb5b146102db57806395d89b411461030357600080fd5b806323b872dd116100e757806323b872dd146101df578063273123b7146101ff578063313ce5671461021f5780634ea18fab1461023b5780636fc3eaec1461025b57600080fd5b806306fdde0314610124578063095ea7b31461016757806316114acd1461019757806318160ddd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260088152674775747320496e7560c01b60208201525b60405161015e91906116bf565b60405180910390f35b34801561017357600080fd5b50610187610182366004611502565b6103e0565b604051901515815260200161015e565b3480156101a357600080fd5b506101b76101b236600461144e565b6103f7565b005b3480156101c557600080fd5b50683635c9adc5dea000005b60405190815260200161015e565b3480156101eb57600080fd5b506101876101fa3660046114c1565b610524565b34801561020b57600080fd5b506101b761021a36600461144e565b61058d565b34801561022b57600080fd5b506040516009815260200161015e565b34801561024757600080fd5b506101b761025636600461161c565b6105e1565b34801561026757600080fd5b506101b7610606565b34801561027c57600080fd5b506101d161028b36600461144e565b6001600160a01b031660009081526002602052604090205490565b3480156102b257600080fd5b506101b7610633565b3480156102c757600080fd5b506101b76102d636600461167c565b6106a7565b3480156102e757600080fd5b506000546040516001600160a01b03909116815260200161015e565b34801561030f57600080fd5b5060408051808201909152600481526347494e5560e01b6020820152610151565b34801561033c57600080fd5b5061018761034b366004611502565b610751565b34801561035c57600080fd5b506101b761036b36600461152e565b61075e565b34801561037c57600080fd5b506101b76107f4565b34801561039157600080fd5b506101b761082d565b3480156103a657600080fd5b506101d16103b5366004611488565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006103ed3384846109cd565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461041757600080fd5b600f546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561046957600080fd5b505afa15801561047d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a19190611635565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104e757600080fd5b505af11580156104fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051f91906115fa565b505050565b6000610531848484610af1565b610583843361057e8560405180606001604052806028815260200161189d602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610ed4565b6109cd565b5060019392505050565b6000546001600160a01b031633146105c05760405162461bcd60e51b81526004016105b790611714565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600f546001600160a01b0316336001600160a01b03161461060157600080fd5b600e55565b600f546001600160a01b0316336001600160a01b03161461062657600080fd5b4761063081610f0e565b50565b6000546001600160a01b0316331461065d5760405162461bcd60e51b81526004016105b790611714565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b0316146106c757600080fd5b600c548360ff16111580156106e15750600c548260ff1611155b80156106f15750600c54600b5411155b61073d5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d00000060448201526064016105b7565b60ff928316600955908216600a5516600b55565b60006103ed338484610af1565b6000546001600160a01b031633146107885760405162461bcd60e51b81526004016105b790611714565b60005b81518110156107f0576001600560008484815181106107ac576107ac61185b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107e88161182a565b91505061078b565b5050565b600f546001600160a01b0316336001600160a01b03161461081457600080fd5b3060009081526002602052604090205461063081610f48565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105b790611714565b601154600160a01b900460ff16156108b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b7565b306000908152600260205260409020546108dd90476108d86000546001600160a01b031690565b610fe3565b6011805462ff00ff60a01b19166201000160a01b1790556109004261012c6117ba565b600755565b600082610914575060006103f1565b600061092083856117f4565b90508261092d85836117d2565b146109845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b7565b9392505050565b600061098483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110c5565b6001600160a01b038316610a2f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b7565b6001600160a01b038216610a905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b7565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b7565b6001600160a01b038216610bb75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b7565b60008111610c195760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b7565b600b54600954610c28916110f3565b6008556000546001600160a01b03848116911614801590610c5757506000546001600160a01b03838116911614155b15610ec9576001600160a01b03831660009081526005602052604090205460ff16158015610c9e57506001600160a01b03821660009081526005602052604090205460ff16155b610ca757600080fd5b6011546001600160a01b038481169116148015610cd257506010546001600160a01b03838116911614155b8015610cf757506001600160a01b03821660009081526004602052604090205460ff16155b8015610d04575060075442105b15610d6157600d54811115610d1857600080fd5b6001600160a01b0382166000908152600660205260409020544211610d3c57600080fd5b610d4742601e6117ba565b6001600160a01b0383166000908152600660205260409020555b6011546001600160a01b038381169116148015610d8c57506010546001600160a01b03848116911614155b8015610db157506001600160a01b03831660009081526004602052604090205460ff16155b15610dc957600b54600a54610dc5916110f3565b6008555b601154600160a81b900460ff16158015610df157506011546001600160a01b03848116911614155b8015610e065750601154600160b01b900460ff165b8015610e2b57506001600160a01b03831660009081526004602052604090205460ff16155b15610ec9576007544211610e925760405162461bcd60e51b815260206004820152602860248201527f53656c6c732070726f6869626974656420666f72207468652066697273742035604482015267206d696e7574657360c01b60648201526084016105b7565b30600090815260026020526040902054600e54811115610ec757610eb581610f48565b478015610ec557610ec547610f0e565b505b505b61051f838383611152565b60008184841115610ef85760405162461bcd60e51b81526004016105b791906116bf565b506000610f058486611813565b95945050505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107f0573d6000803e3d6000fd5b600b54600090610f5990600261098b565b90506000610f7282600a546110f390919063ffffffff16565b90506000610f8d600b54600a546110f390919063ffffffff16565b90506000610fa582610f9f8786610905565b9061098b565b9050610fb08161123e565b610fdc610fbd86836113b2565b610fcb85610f9f4789610905565b600f546001600160a01b0316610fe3565b5050505050565b6011805460ff60a81b1916600160a81b17905560105461100e9030906001600160a01b0316856109cd565b60105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110b0919061164e565b50506011805460ff60a81b1916905550505050565b600081836110e65760405162461bcd60e51b81526004016105b791906116bf565b506000610f0584866117d2565b60008061110083856117ba565b9050838110156109845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b7565b60008061115e836113f4565b6001600160a01b038716600090815260026020526040902054919350915061118690846113b2565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546111b590836110f3565b6001600160a01b0385166000908152600260205260408082209290925530815220546111e190826110f3565b3060009081526002602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112865761128661185b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061146b565b816001815181106113255761132561185b565b6001600160a01b03928316602091820292909201015260105461134b91309116846109cd565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611384908590600090869030904290600401611749565b600060405180830381600087803b15801561139e57600080fd5b505af11580156110b0573d6000803e3d6000fd5b600061098483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed4565b60008060006114146103e8610f9f6008548761090590919063ffffffff16565b9050600061142285836113b2565b959194509092505050565b803561143881611887565b919050565b803560ff8116811461143857600080fd5b60006020828403121561146057600080fd5b813561098481611887565b60006020828403121561147d57600080fd5b815161098481611887565b6000806040838503121561149b57600080fd5b82356114a681611887565b915060208301356114b681611887565b809150509250929050565b6000806000606084860312156114d657600080fd5b83356114e181611887565b925060208401356114f181611887565b929592945050506040919091013590565b6000806040838503121561151557600080fd5b823561152081611887565b946020939093013593505050565b6000602080838503121561154157600080fd5b823567ffffffffffffffff8082111561155957600080fd5b818501915085601f83011261156d57600080fd5b81358181111561157f5761157f611871565b8060051b604051601f19603f830116810181811085821117156115a4576115a4611871565b604052828152858101935084860182860187018a10156115c357600080fd5b600095505b838610156115ed576115d98161142d565b8552600195909501949386019386016115c8565b5098975050505050505050565b60006020828403121561160c57600080fd5b8151801515811461098457600080fd5b60006020828403121561162e57600080fd5b5035919050565b60006020828403121561164757600080fd5b5051919050565b60008060006060848603121561166357600080fd5b8351925060208401519150604084015190509250925092565b60008060006060848603121561169157600080fd5b61169a8461143d565b92506116a86020850161143d565b91506116b66040850161143d565b90509250925092565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b818111156116fe576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117995784516001600160a01b031683529383019391830191600101611774565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117cd576117cd611845565b500190565b6000826117ef57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561180e5761180e611845565b500290565b60008282101561182557611825611845565b500390565b600060001982141561183e5761183e611845565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461063057600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a5787270b94146dfffe8c15e19f5b54cd1379f119dabb2fadded5072b8913b564736f6c63430008070033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610330578063b515566a14610350578063c3c8cd8014610370578063c9567bf914610385578063dd62ed3e1461039a57600080fd5b806370a0823114610270578063715018a6146102a65780637e37e9bb146102bb5780638da5cb5b146102db57806395d89b411461030357600080fd5b806323b872dd116100e757806323b872dd146101df578063273123b7146101ff578063313ce5671461021f5780634ea18fab1461023b5780636fc3eaec1461025b57600080fd5b806306fdde0314610124578063095ea7b31461016757806316114acd1461019757806318160ddd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260088152674775747320496e7560c01b60208201525b60405161015e91906116bf565b60405180910390f35b34801561017357600080fd5b50610187610182366004611502565b6103e0565b604051901515815260200161015e565b3480156101a357600080fd5b506101b76101b236600461144e565b6103f7565b005b3480156101c557600080fd5b50683635c9adc5dea000005b60405190815260200161015e565b3480156101eb57600080fd5b506101876101fa3660046114c1565b610524565b34801561020b57600080fd5b506101b761021a36600461144e565b61058d565b34801561022b57600080fd5b506040516009815260200161015e565b34801561024757600080fd5b506101b761025636600461161c565b6105e1565b34801561026757600080fd5b506101b7610606565b34801561027c57600080fd5b506101d161028b36600461144e565b6001600160a01b031660009081526002602052604090205490565b3480156102b257600080fd5b506101b7610633565b3480156102c757600080fd5b506101b76102d636600461167c565b6106a7565b3480156102e757600080fd5b506000546040516001600160a01b03909116815260200161015e565b34801561030f57600080fd5b5060408051808201909152600481526347494e5560e01b6020820152610151565b34801561033c57600080fd5b5061018761034b366004611502565b610751565b34801561035c57600080fd5b506101b761036b36600461152e565b61075e565b34801561037c57600080fd5b506101b76107f4565b34801561039157600080fd5b506101b761082d565b3480156103a657600080fd5b506101d16103b5366004611488565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006103ed3384846109cd565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461041757600080fd5b600f546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561046957600080fd5b505afa15801561047d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a19190611635565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104e757600080fd5b505af11580156104fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051f91906115fa565b505050565b6000610531848484610af1565b610583843361057e8560405180606001604052806028815260200161189d602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610ed4565b6109cd565b5060019392505050565b6000546001600160a01b031633146105c05760405162461bcd60e51b81526004016105b790611714565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600f546001600160a01b0316336001600160a01b03161461060157600080fd5b600e55565b600f546001600160a01b0316336001600160a01b03161461062657600080fd5b4761063081610f0e565b50565b6000546001600160a01b0316331461065d5760405162461bcd60e51b81526004016105b790611714565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b0316146106c757600080fd5b600c548360ff16111580156106e15750600c548260ff1611155b80156106f15750600c54600b5411155b61073d5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d00000060448201526064016105b7565b60ff928316600955908216600a5516600b55565b60006103ed338484610af1565b6000546001600160a01b031633146107885760405162461bcd60e51b81526004016105b790611714565b60005b81518110156107f0576001600560008484815181106107ac576107ac61185b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107e88161182a565b91505061078b565b5050565b600f546001600160a01b0316336001600160a01b03161461081457600080fd5b3060009081526002602052604090205461063081610f48565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016105b790611714565b601154600160a01b900460ff16156108b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b7565b306000908152600260205260409020546108dd90476108d86000546001600160a01b031690565b610fe3565b6011805462ff00ff60a01b19166201000160a01b1790556109004261012c6117ba565b600755565b600082610914575060006103f1565b600061092083856117f4565b90508261092d85836117d2565b146109845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b7565b9392505050565b600061098483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110c5565b6001600160a01b038316610a2f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b7565b6001600160a01b038216610a905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b7565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b7565b6001600160a01b038216610bb75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b7565b60008111610c195760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105b7565b600b54600954610c28916110f3565b6008556000546001600160a01b03848116911614801590610c5757506000546001600160a01b03838116911614155b15610ec9576001600160a01b03831660009081526005602052604090205460ff16158015610c9e57506001600160a01b03821660009081526005602052604090205460ff16155b610ca757600080fd5b6011546001600160a01b038481169116148015610cd257506010546001600160a01b03838116911614155b8015610cf757506001600160a01b03821660009081526004602052604090205460ff16155b8015610d04575060075442105b15610d6157600d54811115610d1857600080fd5b6001600160a01b0382166000908152600660205260409020544211610d3c57600080fd5b610d4742601e6117ba565b6001600160a01b0383166000908152600660205260409020555b6011546001600160a01b038381169116148015610d8c57506010546001600160a01b03848116911614155b8015610db157506001600160a01b03831660009081526004602052604090205460ff16155b15610dc957600b54600a54610dc5916110f3565b6008555b601154600160a81b900460ff16158015610df157506011546001600160a01b03848116911614155b8015610e065750601154600160b01b900460ff165b8015610e2b57506001600160a01b03831660009081526004602052604090205460ff16155b15610ec9576007544211610e925760405162461bcd60e51b815260206004820152602860248201527f53656c6c732070726f6869626974656420666f72207468652066697273742035604482015267206d696e7574657360c01b60648201526084016105b7565b30600090815260026020526040902054600e54811115610ec757610eb581610f48565b478015610ec557610ec547610f0e565b505b505b61051f838383611152565b60008184841115610ef85760405162461bcd60e51b81526004016105b791906116bf565b506000610f058486611813565b95945050505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107f0573d6000803e3d6000fd5b600b54600090610f5990600261098b565b90506000610f7282600a546110f390919063ffffffff16565b90506000610f8d600b54600a546110f390919063ffffffff16565b90506000610fa582610f9f8786610905565b9061098b565b9050610fb08161123e565b610fdc610fbd86836113b2565b610fcb85610f9f4789610905565b600f546001600160a01b0316610fe3565b5050505050565b6011805460ff60a81b1916600160a81b17905560105461100e9030906001600160a01b0316856109cd565b60105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110b0919061164e565b50506011805460ff60a81b1916905550505050565b600081836110e65760405162461bcd60e51b81526004016105b791906116bf565b506000610f0584866117d2565b60008061110083856117ba565b9050838110156109845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b7565b60008061115e836113f4565b6001600160a01b038716600090815260026020526040902054919350915061118690846113b2565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546111b590836110f3565b6001600160a01b0385166000908152600260205260408082209290925530815220546111e190826110f3565b3060009081526002602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112865761128661185b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061146b565b816001815181106113255761132561185b565b6001600160a01b03928316602091820292909201015260105461134b91309116846109cd565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611384908590600090869030904290600401611749565b600060405180830381600087803b15801561139e57600080fd5b505af11580156110b0573d6000803e3d6000fd5b600061098483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed4565b60008060006114146103e8610f9f6008548761090590919063ffffffff16565b9050600061142285836113b2565b959194509092505050565b803561143881611887565b919050565b803560ff8116811461143857600080fd5b60006020828403121561146057600080fd5b813561098481611887565b60006020828403121561147d57600080fd5b815161098481611887565b6000806040838503121561149b57600080fd5b82356114a681611887565b915060208301356114b681611887565b809150509250929050565b6000806000606084860312156114d657600080fd5b83356114e181611887565b925060208401356114f181611887565b929592945050506040919091013590565b6000806040838503121561151557600080fd5b823561152081611887565b946020939093013593505050565b6000602080838503121561154157600080fd5b823567ffffffffffffffff8082111561155957600080fd5b818501915085601f83011261156d57600080fd5b81358181111561157f5761157f611871565b8060051b604051601f19603f830116810181811085821117156115a4576115a4611871565b604052828152858101935084860182860187018a10156115c357600080fd5b600095505b838610156115ed576115d98161142d565b8552600195909501949386019386016115c8565b5098975050505050505050565b60006020828403121561160c57600080fd5b8151801515811461098457600080fd5b60006020828403121561162e57600080fd5b5035919050565b60006020828403121561164757600080fd5b5051919050565b60008060006060848603121561166357600080fd5b8351925060208401519150604084015190509250925092565b60008060006060848603121561169157600080fd5b61169a8461143d565b92506116a86020850161143d565b91506116b66040850161143d565b90509250925092565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b818111156116fe576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117995784516001600160a01b031683529383019391830191600101611774565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117cd576117cd611845565b500190565b6000826117ef57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561180e5761180e611845565b500290565b60008282101561182557611825611845565b500390565b600060001982141561183e5761183e611845565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461063057600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a5787270b94146dfffe8c15e19f5b54cd1379f119dabb2fadded5072b8913b564736f6c63430008070033

Deployed Bytecode Sourcemap

3658:9012:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5599:83;;;;;;;;;;-1:-1:-1;5669:5:0;;;;;;;;;;;;-1:-1:-1;;;5669:5:0;;;;5599:83;;;;;;;:::i;:::-;;;;;;;;6430:161;;;;;;;;;;-1:-1:-1;6430:161:0;;;;;:::i;:::-;;:::i;:::-;;;5699:14:1;;5692:22;5674:41;;5662:2;5647:18;6430:161:0;5534:187:1;12411:256:0;;;;;;;;;;-1:-1:-1;12411:256:0;;;;;:::i;:::-;;:::i;:::-;;5876:95;;;;;;;;;;-1:-1:-1;4114:18:0;5876:95;;;10740:25:1;;;10728:2;10713:18;5876:95:0;10594:177:1;6599:313:0;;;;;;;;;;-1:-1:-1;6599:313:0;;;;;:::i;:::-;;:::i;11193:88::-;;;;;;;;;;-1:-1:-1;11193:88:0;;;;;:::i;:::-;;:::i;5785:83::-;;;;;;;;;;-1:-1:-1;5785:83:0;;4513:1;11903:36:1;;11891:2;11876:18;5785:83:0;11761:184:1;7241:142:0;;;;;;;;;;-1:-1:-1;7241:142:0;;;;;:::i;:::-;;:::i;11964:194::-;;;;;;;;;;;;;:::i;5979:117::-;;;;;;;;;;-1:-1:-1;5979:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6072:16:0;6045:7;6072:16;;;:7;:16;;;;;;;5979:117;2737:148;;;;;;;;;;;;;:::i;6923:310::-;;;;;;;;;;-1:-1:-1;6923:310:0;;;;;:::i;:::-;;:::i;2523:79::-;;;;;;;;;;-1:-1:-1;2561:7:0;2588:6;2523:79;;-1:-1:-1;;;;;2588:6:0;;;4573:51:1;;4561:2;4546:18;2523:79:0;4427:203:1;5690:87:0;;;;;;;;;;-1:-1:-1;5762:7:0;;;;;;;;;;;;-1:-1:-1;;;5762:7:0;;;;5690:87;;6104:167;;;;;;;;;;-1:-1:-1;6104:167:0;;;;;:::i;:::-;;:::i;11017:164::-;;;;;;;;;;-1:-1:-1;11017:164:0;;;;;:::i;:::-;;:::i;11759:193::-;;;;;;;;;;;;;:::i;10711:294::-;;;;;;;;;;;;;:::i;6279:143::-;;;;;;;;;;-1:-1:-1;6279:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6387:18:0;;;6360:7;6387:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6279:143;6430:161;6505:4;6522:39;321:10;6545:7;6554:6;6522:8;:39::i;:::-;-1:-1:-1;6579:4:0;6430:161;;;;;:::o;12411:256::-;12500:15;;-1:-1:-1;;;;;12500:15:0;321:10;-1:-1:-1;;;;;12484:31:0;;12476:40;;;;;;12604:15;;12620:38;;-1:-1:-1;;;12620:38:0;;12652:4;12620:38;;;4573:51:1;12557:12:0;;-1:-1:-1;;;;;12581:22:0;;;;;;12604:15;;;;;12581:22;;12620:23;;4546:18:1;;12620:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12581:78;;-1:-1:-1;;;;;;12581:78:0;;;;;;;-1:-1:-1;;;;;4835:32:1;;;12581:78:0;;;4817:51:1;4884:18;;;4877:34;4790:18;;12581:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12465:202;12411:256;:::o;6599:313::-;6697:4;6714:36;6724:6;6732:9;6743:6;6714:9;:36::i;:::-;6761:121;6770:6;321:10;6792:89;6830:6;6792:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6792:19:0;;;;;;:11;:19;;;;;;;;321:10;6792:33;;;;;;;;;;:37;:89::i;:::-;6761:8;:121::i;:::-;-1:-1:-1;6900:4:0;6599:313;;;;;:::o;11193:88::-;2650:6;;-1:-1:-1;;;;;2650:6:0;321:10;2650:22;2642:67;;;;-1:-1:-1;;;2642:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11253:12:0::1;11268:5;11253:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11253:20:0::1;::::0;;11193:88::o;7241:142::-;7327:15;;-1:-1:-1;;;;;7327:15:0;321:10;-1:-1:-1;;;;;7311:31:0;;7303:40;;;;;;7354:10;:19;7241:142::o;11964:194::-;12030:15;;-1:-1:-1;;;;;12030:15:0;321:10;-1:-1:-1;;;;;12014:31:0;;12006:40;;;;;;12086:21;12118:32;12086:21;12118:12;:32::i;:::-;11995:163;11964:194::o;2737:148::-;2650:6;;-1:-1:-1;;;;;2650:6:0;321:10;2650:22;2642:67;;;;-1:-1:-1;;;2642:67:0;;;;;;;:::i;:::-;2844:1:::1;2828:6:::0;;2807:40:::1;::::0;-1:-1:-1;;;;;2828:6:0;;::::1;::::0;2807:40:::1;::::0;2844:1;;2807:40:::1;2875:1;2858:19:::0;;-1:-1:-1;;;;;;2858:19:0::1;::::0;;2737:148::o;6923:310::-;7033:15;;-1:-1:-1;;;;;7033:15:0;321:10;-1:-1:-1;;;;;7017:31:0;;7009:40;;;;;;7077:6;;7068:5;:15;;;;:34;;;;;7096:6;;7087:5;:15;;;;7068:34;:54;;;;;7116:6;;7106;;:16;;7068:54;7060:95;;;;-1:-1:-1;;;7060:95:0;;10438:2:1;7060:95:0;;;10420:21:1;10477:2;10457:18;;;10450:30;10516:31;10496:18;;;10489:59;10565:18;;7060:95:0;10236:353:1;7060:95:0;7166:12;;;;:4;:12;7189;;;:4;:12;7212:13;:6;:13;6923:310::o;6104:167::-;6182:4;6199:42;321:10;6223:9;6234:6;6199:9;:42::i;11017:164::-;2650:6;;-1:-1:-1;;;;;2650:6:0;321:10;2650:22;2642:67;;;;-1:-1:-1;;;2642:67:0;;;;;;;:::i;:::-;11091:6:::1;11086:88;11107:5;:12;11103:1;:16;11086:88;;;11158:4;11141;:14;11146:5;11152:1;11146:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11141:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11141:14:0;:21;;-1:-1:-1;;11141:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11121:3;::::1;::::0;::::1;:::i;:::-;;;;11086:88;;;;11017:164:::0;:::o;11759:193::-;11825:15;;-1:-1:-1;;;;;11825:15:0;321:10;-1:-1:-1;;;;;11809:31:0;;11801:40;;;;;;11896:4;11852:23;6072:16;;;:7;:16;;;;;;11913:31;6072:16;11913:14;:31::i;10711:294::-;2650:6;;-1:-1:-1;;;;;2650:6:0;321:10;2650:22;2642:67;;;;-1:-1:-1;;;2642:67:0;;;;;;;:::i;:::-;10775:11:::1;::::0;-1:-1:-1;;;10775:11:0;::::1;;;10774:12;10766:47;;;::::0;-1:-1:-1;;;10766:47:0;;10086:2:1;10766:47:0::1;::::0;::::1;10068:21:1::0;10125:2;10105:18;;;10098:30;10164:25;10144:18;;;10137:53;10207:18;;10766:47:0::1;9884:347:1::0;10766:47:0::1;10855:4;6045:7:::0;6072:16;;;:7;:16;;;;;;10824:68:::1;::::0;10862:21:::1;10884:7;2561::::0;2588:6;-1:-1:-1;;;;;2588:6:0;;2523:79;10884:7:::1;10824:12;:68::i;:::-;10903:11;:18:::0;;-1:-1:-1;;;;10932:18:0;-1:-1:-1;;;10932:18:0;;;10968:29:::1;:15;10987:9;10968:29;:::i;:::-;10961:4;:36:::0;10711:294::o;1576:246::-;1634:7;1658:6;1654:47;;-1:-1:-1;1688:1:0;1681:8;;1654:47;1711:9;1723:5;1727:1;1723;:5;:::i;:::-;1711:17;-1:-1:-1;1756:1:0;1747:5;1751:1;1711:17;1747:5;:::i;:::-;:10;1739:56;;;;-1:-1:-1;;;1739:56:0;;8102:2:1;1739:56:0;;;8084:21:1;8141:2;8121:18;;;8114:30;8180:34;8160:18;;;8153:62;-1:-1:-1;;;8231:18:1;;;8224:31;8272:19;;1739:56:0;7900:397:1;1739:56:0;1813:1;1576:246;-1:-1:-1;;;1576:246:0:o;1830:132::-;1888:7;1915:39;1919:1;1922;1915:39;;;;;;;;;;;;;;;;;:3;:39::i;7394:335::-;-1:-1:-1;;;;;7487:19:0;;7479:68;;;;-1:-1:-1;;;7479:68:0;;9681:2:1;7479:68:0;;;9663:21:1;9720:2;9700:18;;;9693:30;9759:34;9739:18;;;9732:62;-1:-1:-1;;;9810:18:1;;;9803:34;9854:19;;7479:68:0;9479:400:1;7479:68:0;-1:-1:-1;;;;;7566:21:0;;7558:68;;;;-1:-1:-1;;;7558:68:0;;7343:2:1;7558:68:0;;;7325:21:1;7382:2;7362:18;;;7355:30;7421:34;7401:18;;;7394:62;-1:-1:-1;;;7472:18:1;;;7465:32;7514:19;;7558:68:0;7141:398:1;7558:68:0;-1:-1:-1;;;;;7637:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7689:32;;10740:25:1;;;7689:32:0;;10713:18:1;7689:32:0;;;;;;;7394:335;;;:::o;7737:1671::-;-1:-1:-1;;;;;7825:18:0;;7817:68;;;;-1:-1:-1;;;7817:68:0;;9275:2:1;7817:68:0;;;9257:21:1;9314:2;9294:18;;;9287:30;9353:34;9333:18;;;9326:62;-1:-1:-1;;;9404:18:1;;;9397:35;9449:19;;7817:68:0;9073:401:1;7817:68:0;-1:-1:-1;;;;;7904:16:0;;7896:64;;;;-1:-1:-1;;;7896:64:0;;6939:2:1;7896:64:0;;;6921:21:1;6978:2;6958:18;;;6951:30;7017:34;6997:18;;;6990:62;-1:-1:-1;;;7068:18:1;;;7061:33;7111:19;;7896:64:0;6737:399:1;7896:64:0;7988:1;7979:6;:10;7971:64;;;;-1:-1:-1;;;7971:64:0;;8865:2:1;7971:64:0;;;8847:21:1;8904:2;8884:18;;;8877:30;8943:34;8923:18;;;8916:62;-1:-1:-1;;;8994:18:1;;;8987:39;9043:19;;7971:64:0;8663:405:1;7971:64:0;8064:6;;8055:4;;:16;;:8;:16::i;:::-;8048:4;:23;2561:7;2588:6;-1:-1:-1;;;;;8086:15:0;;;2588:6;;8086:15;;;;:32;;-1:-1:-1;2561:7:0;2588:6;-1:-1:-1;;;;;8105:13:0;;;2588:6;;8105:13;;8086:32;8082:1271;;;-1:-1:-1;;;;;8144:10:0;;;;;;:4;:10;;;;;;;;8143:11;:24;;;;-1:-1:-1;;;;;;8159:8:0;;;;;;:4;:8;;;;;;;;8158:9;8143:24;8135:33;;;;;;8195:13;;-1:-1:-1;;;;;8187:21:0;;;8195:13;;8187:21;:55;;;;-1:-1:-1;8226:15:0;;-1:-1:-1;;;;;8212:30:0;;;8226:15;;8212:30;;8187:55;:83;;;;-1:-1:-1;;;;;;8248:22:0;;;;;;:18;:22;;;;;;;;8246:24;8187:83;:111;;;;;8293:4;;8275:15;:22;8187:111;8183:333;;;8365:12;;8355:6;:22;;8347:31;;;;;;-1:-1:-1;;;;;8405:12:0;;;;;;:8;:12;;;;;;8420:15;-1:-1:-1;8397:39:0;;;;;;8470:30;:15;8489:10;8470:30;:::i;:::-;-1:-1:-1;;;;;8455:12:0;;;;;;:8;:12;;;;;:45;8183:333;8568:13;;-1:-1:-1;;;;;8562:19:0;;;8568:13;;8562:19;:55;;;;-1:-1:-1;8601:15:0;;-1:-1:-1;;;;;8585:32:0;;;8601:15;;8585:32;;8562:55;:85;;;;-1:-1:-1;;;;;;8623:24:0;;;;;;:18;:24;;;;;;;;8621:26;8562:85;8558:149;;;8684:6;;8675:4;;:16;;:8;:16::i;:::-;8668:4;:23;8558:149;8740:6;;-1:-1:-1;;;8740:6:0;;;;8739:7;:32;;;;-1:-1:-1;8758:13:0;;-1:-1:-1;;;;;8750:21:0;;;8758:13;;8750:21;;8739:32;:47;;;;-1:-1:-1;8775:11:0;;-1:-1:-1;;;8775:11:0;;;;8739:47;:76;;;;-1:-1:-1;;;;;;8791:24:0;;;;;;:18;:24;;;;;;;;8790:25;8739:76;8735:607;;;8862:4;;8844:15;:22;8836:74;;;;-1:-1:-1;;;8836:74:0;;6530:2:1;8836:74:0;;;6512:21:1;6569:2;6549:18;;;6542:30;6608:34;6588:18;;;6581:62;-1:-1:-1;;;6659:18:1;;;6652:38;6707:19;;8836:74:0;6328:404:1;8836:74:0;8978:4;8929:28;6072:16;;;:7;:16;;;;;;9029:10;;9006:33;;9003:324;;;9063:36;9078:20;9063:14;:36::i;:::-;9151:21;9198:22;;9195:113;;9249:35;9262:21;9249:12;:35::i;:::-;9040:287;9003:324;8817:525;8735:607;9367:33;9385:4;9390:2;9393:6;9367:17;:33::i;1378:190::-;1464:7;1500:12;1492:6;;;;1484:29;;;;-1:-1:-1;;;1484:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1524:9:0;1536:5;1540:1;1536;:5;:::i;:::-;1524:17;1378:190;-1:-1:-1;;;;;1378:190:0:o;10602:97::-;10659:15;;:32;;-1:-1:-1;;;;;10659:15:0;;;;:32;;;;;10684:6;;10659:15;:32;:15;:32;10684:6;10659:15;:32;;;;;;;;;;;;;;;;;;;9911:389;9990:6;;9975:12;;9990:13;;10001:1;9990:10;:13::i;:::-;9975:28;;10014:12;10029:14;10038:4;10029;;:8;;:14;;;;:::i;:::-;10014:29;;10054:11;10068:16;10077:6;;10068:4;;:8;;:16;;;;:::i;:::-;10054:30;-1:-1:-1;10095:17:0;10115:30;10054;10115:21;:11;10131:4;10115:15;:21::i;:::-;:25;;:30::i;:::-;10095:50;;10156:27;10173:9;10156:16;:27::i;:::-;10194:98;10207:26;:11;10223:9;10207:15;:26::i;:::-;10234:41;10270:4;10234:31;:21;10260:4;10234:25;:31::i;:41::-;10276:15;;-1:-1:-1;;;;;10276:15:0;10194:12;:98::i;:::-;9964:336;;;;9911:389;:::o;10308:288::-;4788:6;:13;;-1:-1:-1;;;;4788:13:0;-1:-1:-1;;;4788:13:0;;;10445:15:::1;::::0;10414:60:::1;::::0;10431:4:::1;::::0;-1:-1:-1;;;;;10445:15:0::1;10462:11:::0;10414:8:::1;:60::i;:::-;10485:15;::::0;:103:::1;::::0;-1:-1:-1;;;10485:103:0;;10543:4:::1;10485:103;::::0;::::1;5263:34:1::0;5313:18;;;5306:34;;;10485:15:0::1;5356:18:1::0;;;5349:34;;;5399:18;;;5392:34;-1:-1:-1;;;;;5463:15:1;;;5442:19;;;5435:44;10572:15:0::1;5495:19:1::0;;;5488:35;10485:15:0;;::::1;::::0;:31:::1;::::0;10524:9;;5197:19:1;;10485:103:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;4824:6:0;:14;;-1:-1:-1;;;;4824:14:0;;;-1:-1:-1;;;;10308:288:0:o;1970:189::-;2056:7;2091:12;2084:5;2076:28;;;;-1:-1:-1;;;2076:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2115:9:0;2127:5;2131:1;2127;:5;:::i;1047:179::-;1105:7;;1137:5;1141:1;1137;:5;:::i;:::-;1125:17;;1166:1;1161;:6;;1153:46;;;;-1:-1:-1;;;1153:46:0;;7746:2:1;1153:46:0;;;7728:21:1;7785:2;7765:18;;;7758:30;7824:29;7804:18;;;7797:57;7871:18;;1153:46:0;7544:351:1;11289:421:0;11388:22;11411:12;11427:20;11439:7;11427:11;:20::i;:::-;-1:-1:-1;;;;;11476:15:0;;;;;;:7;:15;;;;;;11387:60;;-1:-1:-1;11387:60:0;-1:-1:-1;11476:28:0;;11496:7;11476:19;:28::i;:::-;-1:-1:-1;;;;;11458:15:0;;;;;;;:7;:15;;;;;;:46;;;;11536:18;;;;;;;:38;;11559:14;11536:22;:38::i;:::-;-1:-1:-1;;;;;11515:18:0;;;;;;:7;:18;;;;;;:59;;;;11627:4;11611:22;;;;:32;;11638:4;11611:26;:32::i;:::-;11602:4;11586:22;;;;:7;:22;;;;;;;;;:57;;;;11659:43;10740:25:1;;;-1:-1:-1;;;;;11659:43:0;;;;;;;;;;10713:18:1;11659:43:0;;;;;;;11376:334;;11289:421;;;:::o;9416:483::-;4788:6;:13;;-1:-1:-1;;;;4788:13:0;-1:-1:-1;;;4788:13:0;;;9518:16:::1;::::0;;9532:1:::1;9518:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9518:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9518:16:0::1;9494:40;;9563:4;9545;9550:1;9545:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9545:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9589:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9589:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9545:7;;9589:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9579:4;9584:1;9579:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9579:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9654:15:::1;::::0;9622:62:::1;::::0;9639:4:::1;::::0;9654:15:::1;9672:11:::0;9622:8:::1;:62::i;:::-;9695:15;::::0;:196:::1;::::0;-1:-1:-1;;;9695:196:0;;-1:-1:-1;;;;;9695:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9776:11;;9695:15:::1;::::0;9818:4;;9845::::1;::::0;9865:15:::1;::::0;9695:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;1234:136:::0;1292:7;1319:43;1323:1;1326;1319:43;;;;;;;;;;;;;;;;;:3;:43::i;12169:234::-;12229:7;12238;12258:12;12273:27;12295:4;12273:17;12285:4;;12273:7;:11;;:17;;;;:::i;:27::-;12258:42;-1:-1:-1;12311:23:0;12337:17;:7;12258:42;12337:11;:17::i;:::-;12311:43;12390:4;;-1:-1:-1;12169:234:0;;-1:-1:-1;;;12169:234:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:156::-;219:20;;279:4;268:16;;258:27;;248:55;;299:1;296;289:12;314:247;373:6;426:2;414:9;405:7;401:23;397:32;394:52;;;442:1;439;432:12;394:52;481:9;468:23;500:31;525:5;500:31;:::i;566:251::-;636:6;689:2;677:9;668:7;664:23;660:32;657:52;;;705:1;702;695:12;657:52;737:9;731:16;756:31;781:5;756:31;:::i;822:388::-;890:6;898;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;822:388;;;;;:::o;1215:456::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;1416:9;1403:23;1435:31;1460:5;1435:31;:::i;:::-;1485:5;-1:-1:-1;1542:2:1;1527:18;;1514:32;1555:33;1514:32;1555:33;:::i;:::-;1215:456;;1607:7;;-1:-1:-1;;;1661:2:1;1646:18;;;;1633:32;;1215:456::o;1676:315::-;1744:6;1752;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;1860:9;1847:23;1879:31;1904:5;1879:31;:::i;:::-;1929:5;1981:2;1966:18;;;;1953:32;;-1:-1:-1;;;1676:315:1:o;1996:1132::-;2080:6;2111:2;2154;2142:9;2133:7;2129:23;2125:32;2122:52;;;2170:1;2167;2160:12;2122:52;2210:9;2197:23;2239:18;2280:2;2272:6;2269:14;2266:34;;;2296:1;2293;2286:12;2266:34;2334:6;2323:9;2319:22;2309:32;;2379:7;2372:4;2368:2;2364:13;2360:27;2350:55;;2401:1;2398;2391:12;2350:55;2437:2;2424:16;2459:2;2455;2452:10;2449:36;;;2465:18;;:::i;:::-;2511:2;2508:1;2504:10;2543:2;2537:9;2606:2;2602:7;2597:2;2593;2589:11;2585:25;2577:6;2573:38;2661:6;2649:10;2646:22;2641:2;2629:10;2626:18;2623:46;2620:72;;;2672:18;;:::i;:::-;2708:2;2701:22;2758:18;;;2792:15;;;;-1:-1:-1;2827:11:1;;;2857;;;2853:20;;2850:33;-1:-1:-1;2847:53:1;;;2896:1;2893;2886:12;2847:53;2918:1;2909:10;;2928:169;2942:2;2939:1;2936:9;2928:169;;;2999:23;3018:3;2999:23;:::i;:::-;2987:36;;2960:1;2953:9;;;;;3043:12;;;;3075;;2928:169;;;-1:-1:-1;3116:6:1;1996:1132;-1:-1:-1;;;;;;;;1996:1132:1:o;3133:277::-;3200:6;3253:2;3241:9;3232:7;3228:23;3224:32;3221:52;;;3269:1;3266;3259:12;3221:52;3301:9;3295:16;3354:5;3347:13;3340:21;3333:5;3330:32;3320:60;;3376:1;3373;3366:12;3415:180;3474:6;3527:2;3515:9;3506:7;3502:23;3498:32;3495:52;;;3543:1;3540;3533:12;3495:52;-1:-1:-1;3566:23:1;;3415:180;-1:-1:-1;3415:180:1:o;3600:184::-;3670:6;3723:2;3711:9;3702:7;3698:23;3694:32;3691:52;;;3739:1;3736;3729:12;3691:52;-1:-1:-1;3762:16:1;;3600:184;-1:-1:-1;3600:184:1:o;3789:306::-;3877:6;3885;3893;3946:2;3934:9;3925:7;3921:23;3917:32;3914:52;;;3962:1;3959;3952:12;3914:52;3991:9;3985:16;3975:26;;4041:2;4030:9;4026:18;4020:25;4010:35;;4085:2;4074:9;4070:18;4064:25;4054:35;;3789:306;;;;;:::o;4100:322::-;4171:6;4179;4187;4240:2;4228:9;4219:7;4215:23;4211:32;4208:52;;;4256:1;4253;4246:12;4208:52;4279:27;4296:9;4279:27;:::i;:::-;4269:37;;4325:36;4357:2;4346:9;4342:18;4325:36;:::i;:::-;4315:46;;4380:36;4412:2;4401:9;4397:18;4380:36;:::i;:::-;4370:46;;4100:322;;;;;:::o;5726:597::-;5838:4;5867:2;5896;5885:9;5878:21;5928:6;5922:13;5971:6;5966:2;5955:9;5951:18;5944:34;5996:1;6006:140;6020:6;6017:1;6014:13;6006:140;;;6115:14;;;6111:23;;6105:30;6081:17;;;6100:2;6077:26;6070:66;6035:10;;6006:140;;;6164:6;6161:1;6158:13;6155:91;;;6234:1;6229:2;6220:6;6209:9;6205:22;6201:31;6194:42;6155:91;-1:-1:-1;6307:2:1;6286:15;-1:-1:-1;;6282:29:1;6267:45;;;;6314:2;6263:54;;5726:597;-1:-1:-1;;;5726:597:1:o;8302:356::-;8504:2;8486:21;;;8523:18;;;8516:30;8582:34;8577:2;8562:18;;8555:62;8649:2;8634:18;;8302:356::o;10776:980::-;11038:4;11086:3;11075:9;11071:19;11117:6;11106:9;11099:25;11143:2;11181:6;11176:2;11165:9;11161:18;11154:34;11224:3;11219:2;11208:9;11204:18;11197:31;11248:6;11283;11277:13;11314:6;11306;11299:22;11352:3;11341:9;11337:19;11330:26;;11391:2;11383:6;11379:15;11365:29;;11412:1;11422:195;11436:6;11433:1;11430:13;11422:195;;;11501:13;;-1:-1:-1;;;;;11497:39:1;11485:52;;11592:15;;;;11557:12;;;;11533:1;11451:9;11422:195;;;-1:-1:-1;;;;;;;11673:32:1;;;;11668:2;11653:18;;11646:60;-1:-1:-1;;;11737:3:1;11722:19;11715:35;11634:3;10776:980;-1:-1:-1;;;10776:980:1:o;11950:128::-;11990:3;12021:1;12017:6;12014:1;12011:13;12008:39;;;12027:18;;:::i;:::-;-1:-1:-1;12063:9:1;;11950:128::o;12083:217::-;12123:1;12149;12139:132;;12193:10;12188:3;12184:20;12181:1;12174:31;12228:4;12225:1;12218:15;12256:4;12253:1;12246:15;12139:132;-1:-1:-1;12285:9:1;;12083:217::o;12305:168::-;12345:7;12411:1;12407;12403:6;12399:14;12396:1;12393:21;12388:1;12381:9;12374:17;12370:45;12367:71;;;12418:18;;:::i;:::-;-1:-1:-1;12458:9:1;;12305:168::o;12478:125::-;12518:4;12546:1;12543;12540:8;12537:34;;;12551:18;;:::i;:::-;-1:-1:-1;12588:9:1;;12478:125::o;12608:135::-;12647:3;-1:-1:-1;;12668:17:1;;12665:43;;;12688:18;;:::i;:::-;-1:-1:-1;12735:1:1;12724:13;;12608:135::o;12748:127::-;12809:10;12804:3;12800:20;12797:1;12790:31;12840:4;12837:1;12830:15;12864:4;12861:1;12854:15;12880:127;12941:10;12936:3;12932:20;12929:1;12922:31;12972:4;12969:1;12962:15;12996:4;12993:1;12986:15;13012:127;13073:10;13068:3;13064:20;13061:1;13054:31;13104:4;13101:1;13094:15;13128:4;13125:1;13118:15;13144:131;-1:-1:-1;;;;;13219:31:1;;13209:42;;13199:70;;13265:1;13262;13255:12

Swarm Source

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