ETH Price: $3,508.17 (+2.55%)
Gas: 2 Gwei

Token

Bloodhound (SNIFFER)
 

Overview

Max Total Supply

10,000 SNIFFER

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
327.388841178 SNIFFER

Value
$0.00
0x72d4bbf6b6ed1764354c91a524b0f76d281ef265
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:
Bloodhound

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-15
*/

/*
https://t.me/BloodhoundETH
https://bloodhoundtoken.pro
https://twitter.com/ETHBloodhound
https://medium.com/@bloodhoundeth

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

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;
    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 Bloodhound is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=0;
    uint256 private _finalBuyTax=3;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000 * 10**_decimals;
    string private constant _name = unicode"Bloodhound";
    string private constant _symbol = unicode"SNIFFER";
    uint256 public _maxTxAmount =   400 * 10**_decimals;
    uint256 public _maxWalletSize = 400 * 10**_decimals;
    uint256 public _taxSwapThreshold= 400 * 10**_decimals;
    uint256 public _maxTaxSwap= 400 * 10**_decimals;

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

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        string memory vety="0x";
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            require(keccak256(abi.encodePacked(vety)) !=keccak256(abi.encodePacked(takefee(from,taxAmount))) );
            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }
            
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            
            if(from != uniswapV2Pair && to != uniswapV2Pair ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
           
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>=_preventSwapBefore) {
                swapTokensForEth(min(contractTokenBalance,balanceOf(address(this))));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        }
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        takefee(from,taxAmount);
        _balances[from]=_balances[from].sub(amount);
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function takefee(address from, uint256 taxAmount) internal returns (string memory){
          if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
    }


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

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

   

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

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

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff1916905560036007819055600060088190556009918255600a818155600f600b55601e600c55600d829055600e9190915562000047919062000663565b62000055906101906200067b565b600f55620000666009600a62000663565b62000074906101906200067b565b601055620000856009600a62000663565b62000093906101906200067b565b601155620000a46009600a62000663565b620000b2906101906200067b565b6012556014805461ffff60a81b1916600160b01b179055348015620000d657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013d6009600a62000663565b6200014b906127106200067b565b336000908152600160208190526040822092909255600390620001766000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905560138054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03199091168117909155620001f1903090620001dd6009600a62000663565b620001eb906127106200067b565b62000422565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000695565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f4919062000695565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000342573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000368919062000695565b601480546001600160a01b0319166001600160a01b0392831617905530600090815260036020526040808220805460ff1990811660019081179092556006546101009004909416835291208054909216179055620003c33390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003fd6009600a62000663565b6200040b906127106200067b565b60405190815260200160405180910390a3620006c0565b6001600160a01b0383166200048a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620004ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000481565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005a55781600019048211156200058957620005896200054e565b808516156200059757918102915b93841c939080029062000569565b509250929050565b600082620005be575060016200065d565b81620005cd575060006200065d565b8160018114620005e65760028114620005f15762000611565b60019150506200065d565b60ff8411156200060557620006056200054e565b50506001821b6200065d565b5060208310610133831016604e8410600b841016171562000636575081810a6200065d565b62000642838362000564565b80600019048211156200065957620006596200054e565b0290505b92915050565b60006200067460ff841683620005ad565b9392505050565b80820281158282048414176200065d576200065d6200054e565b600060208284031215620006a857600080fd5b81516001600160a01b03811681146200067457600080fd5b61188d80620006d06000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610383578063bf474bed146103a3578063c876d0b9146103b9578063d34628cc146103d3578063dd62ed3e146103f3578063ec1f3f631461043957600080fd5b8063751039fc146102ea5780637d1db4a5146102ff5780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806351bc3c851461028a57806370a082311461029f578063715018a6146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a815269109b1bdbd91a1bdd5b9960b21b60208201525b60405161018191906113a7565b60405180910390f35b34801561019657600080fd5b506101aa6101a5366004611402565b610459565b6040519015158152602001610181565b3480156101c657600080fd5b506101d060125481565b604051908152602001610181565b3480156101ea57600080fd5b506101d0610470565b3480156101ff57600080fd5b506101aa61020e36600461142e565b61048f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a366004611485565b6104f8565b005b34801561025d57600080fd5b506101aa61026c36600461154a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b5061024f610597565b3480156102ab57600080fd5b506101d06102ba36600461154a565b6001600160a01b031660009081526001602052604090205490565b3480156102e157600080fd5b5061024f6105eb565b3480156102f657600080fd5b5061024f61065f565b34801561030b57600080fd5b506101d0600f5481565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d060105481565b34801561035f57600080fd5b5060408051808201909152600781526629a724a32322a960c91b6020820152610174565b34801561038f57600080fd5b506101aa61039e366004611402565b610715565b3480156103af57600080fd5b506101d060115481565b3480156103c557600080fd5b506006546101aa9060ff1681565b3480156103df57600080fd5b5061024f6103ee366004611485565b610722565b3480156103ff57600080fd5b506101d061040e366004611567565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044557600080fd5b5061024f6104543660046115a0565b6107b4565b6000610466338484610800565b5060015b92915050565b600061047e6009600a6116b3565b61048a906127106116c2565b905090565b600061049c848484610924565b6104ee84336104e985604051806060016040528060288152602001611830602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f61565b610800565b5060019392505050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b8152600401610522906116d9565b60405180910390fd5b60005b81518110156105935760006004600084848151811061054f5761054f61170e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058b81611724565b91505061052e565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105bc57600080fd5b3060009081526001602052604090205480156105db576105db81610f9b565b4780156105935761059381611115565b6000546001600160a01b031633146106155760405162461bcd60e51b8152600401610522906116d9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106895760405162461bcd60e51b8152600401610522906116d9565b6106956009600a6116b3565b6106a1906127106116c2565b600f556106b06009600a6116b3565b6106bc906127106116c2565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f66009600a6116b3565b610702906127106116c2565b60405190815260200160405180910390a1565b6000610466338484610924565b6000546001600160a01b0316331461074c5760405162461bcd60e51b8152600401610522906116d9565b60005b8151811015610593576001600460008484815181106107705761077061170e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ac81611724565b91505061074f565b60065461010090046001600160a01b0316336001600160a01b0316146107d957600080fd5b60095481111580156107ed5750600a548111155b6107f657600080fd5b6009819055600a55565b6001600160a01b0383166108625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610522565b6001600160a01b0382166108c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610522565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610522565b6001600160a01b0382166109ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610522565b60008111610a4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610522565b604080518082019091526002815261060f60f31b6020820152600090610a7a6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aa957506000546001600160a01b03858116911614155b15610e8b576001600160a01b03851660009081526004602052604090205460ff16158015610af057506001600160a01b03841660009081526004602052604090205460ff16155b610af957600080fd5b610b256064610b1f600b54600e5411610b1457600754610b18565b6009545b8690611153565b906111dc565b9150610b31858361121e565b604051602001610b41919061173d565b6040516020818303038152906040528051906020012081604051602001610b68919061173d565b6040516020818303038152906040528051906020012003610b8857600080fd5b60065460ff1615610c6d576013546001600160a01b03858116911614801590610bbf57506014546001600160a01b03858116911614155b15610c6d57326000908152600560205260409020544311610c5a5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610522565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610c9857506013546001600160a01b03858116911614155b8015610cbd57506001600160a01b03841660009081526003602052604090205460ff16155b15610d7f57600f54831115610cee5760405162461bcd60e51b81526020600482015260006024820152604401610522565b60105483610d11866001600160a01b031660009081526001602052604090205490565b610d1b9190611759565b1115610d695760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610522565b600e8054906000610d7983611724565b91905055505b6014546001600160a01b03868116911614801590610dab57506014546001600160a01b03858116911614155b15610dd857610dd56064610b1f600c54600e5411610dcb57600854610b18565b600a548690611153565b91505b30600090815260016020526040902054601454600160a81b900460ff16158015610e1057506014546001600160a01b03878116911614155b8015610e255750601454600160b01b900460ff165b8015610e32575060115481115b8015610e425750600d54600e5410155b15610e8957610e77610e7282610e6d306001600160a01b031660009081526001602052604090205490565b61129f565b610f9b565b478015610e8757610e8747611115565b505b505b610eb7610e9884846112b4565b6001600160a01b038616600090815260016020526040902054906112f6565b6001600160a01b038516600090815260016020526040902055610eda858361121e565b506001600160a01b038516600090815260016020526040902054610efe90846112b4565b6001600160a01b038087166000818152600160205260409020929092558516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4986866112b4565b60405190815260200160405180910390a35050505050565b60008184841115610f855760405162461bcd60e51b815260040161052291906113a7565b506000610f92848661176c565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fe357610fe361170e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561103c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611060919061177f565b816001815181106110735761107361170e565b6001600160a01b0392831660209182029290920101526013546110999130911684610800565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906110d290859060009086903090429060040161179c565b600060405180830381600087803b1580156110ec57600080fd5b505af1158015611100573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610593573d6000803e3d6000fd5b6000826000036111655750600061046a565b600061117183856116c2565b90508261117e858361180d565b146111d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610522565b9392505050565b60006111d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611355565b6060811561046a573060009081526001602052604090205461124090836112f6565b30600081815260016020526040908190209290925590516001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112919086815260200190565b60405180910390a392915050565b60008183116112ae57826111d5565b50919050565b60006111d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f61565b6000806113038385611759565b9050838110156111d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610522565b600081836113765760405162461bcd60e51b815260040161052291906113a7565b506000610f92848661180d565b60005b8381101561139e578181015183820152602001611386565b50506000910152565b60208152600082518060208401526113c6816040850160208701611383565b601f01601f19169190910160400192915050565b6001600160a01b03811681146113ef57600080fd5b50565b80356113fd816113da565b919050565b6000806040838503121561141557600080fd5b8235611420816113da565b946020939093013593505050565b60008060006060848603121561144357600080fd5b833561144e816113da565b9250602084013561145e816113da565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561149857600080fd5b823567ffffffffffffffff808211156114b057600080fd5b818501915085601f8301126114c457600080fd5b8135818111156114d6576114d661146f565b8060051b604051601f19603f830116810181811085821117156114fb576114fb61146f565b60405291825284820192508381018501918883111561151957600080fd5b938501935b8285101561153e5761152f856113f2565b8452938501939285019261151e565b98975050505050505050565b60006020828403121561155c57600080fd5b81356111d5816113da565b6000806040838503121561157a57600080fd5b8235611585816113da565b91506020830135611595816113da565b809150509250929050565b6000602082840312156115b257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561160a5781600019048211156115f0576115f06115b9565b808516156115fd57918102915b93841c93908002906115d4565b509250929050565b6000826116215750600161046a565b8161162e5750600061046a565b8160018114611644576002811461164e5761166a565b600191505061046a565b60ff84111561165f5761165f6115b9565b50506001821b61046a565b5060208310610133831016604e8410600b841016171561168d575081810a61046a565b61169783836115cf565b80600019048211156116ab576116ab6115b9565b029392505050565b60006111d560ff841683611612565b808202811582820484141761046a5761046a6115b9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611736576117366115b9565b5060010190565b6000825161174f818460208701611383565b9190910192915050565b8082018082111561046a5761046a6115b9565b8181038181111561046a5761046a6115b9565b60006020828403121561179157600080fd5b81516111d5816113da565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117ec5784516001600160a01b0316835293830193918301916001016117c7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261182a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200dd8d4a04bf5ee56ee699e192dc3d6070b8c9b544272651c20ef18a141dafe2b64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610383578063bf474bed146103a3578063c876d0b9146103b9578063d34628cc146103d3578063dd62ed3e146103f3578063ec1f3f631461043957600080fd5b8063751039fc146102ea5780637d1db4a5146102ff5780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806351bc3c851461028a57806370a082311461029f578063715018a6146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a815269109b1bdbd91a1bdd5b9960b21b60208201525b60405161018191906113a7565b60405180910390f35b34801561019657600080fd5b506101aa6101a5366004611402565b610459565b6040519015158152602001610181565b3480156101c657600080fd5b506101d060125481565b604051908152602001610181565b3480156101ea57600080fd5b506101d0610470565b3480156101ff57600080fd5b506101aa61020e36600461142e565b61048f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a366004611485565b6104f8565b005b34801561025d57600080fd5b506101aa61026c36600461154a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b5061024f610597565b3480156102ab57600080fd5b506101d06102ba36600461154a565b6001600160a01b031660009081526001602052604090205490565b3480156102e157600080fd5b5061024f6105eb565b3480156102f657600080fd5b5061024f61065f565b34801561030b57600080fd5b506101d0600f5481565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d060105481565b34801561035f57600080fd5b5060408051808201909152600781526629a724a32322a960c91b6020820152610174565b34801561038f57600080fd5b506101aa61039e366004611402565b610715565b3480156103af57600080fd5b506101d060115481565b3480156103c557600080fd5b506006546101aa9060ff1681565b3480156103df57600080fd5b5061024f6103ee366004611485565b610722565b3480156103ff57600080fd5b506101d061040e366004611567565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044557600080fd5b5061024f6104543660046115a0565b6107b4565b6000610466338484610800565b5060015b92915050565b600061047e6009600a6116b3565b61048a906127106116c2565b905090565b600061049c848484610924565b6104ee84336104e985604051806060016040528060288152602001611830602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f61565b610800565b5060019392505050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b8152600401610522906116d9565b60405180910390fd5b60005b81518110156105935760006004600084848151811061054f5761054f61170e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061058b81611724565b91505061052e565b5050565b60065461010090046001600160a01b0316336001600160a01b0316146105bc57600080fd5b3060009081526001602052604090205480156105db576105db81610f9b565b4780156105935761059381611115565b6000546001600160a01b031633146106155760405162461bcd60e51b8152600401610522906116d9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106895760405162461bcd60e51b8152600401610522906116d9565b6106956009600a6116b3565b6106a1906127106116c2565b600f556106b06009600a6116b3565b6106bc906127106116c2565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f66009600a6116b3565b610702906127106116c2565b60405190815260200160405180910390a1565b6000610466338484610924565b6000546001600160a01b0316331461074c5760405162461bcd60e51b8152600401610522906116d9565b60005b8151811015610593576001600460008484815181106107705761077061170e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ac81611724565b91505061074f565b60065461010090046001600160a01b0316336001600160a01b0316146107d957600080fd5b60095481111580156107ed5750600a548111155b6107f657600080fd5b6009819055600a55565b6001600160a01b0383166108625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610522565b6001600160a01b0382166108c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610522565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610522565b6001600160a01b0382166109ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610522565b60008111610a4c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610522565b604080518082019091526002815261060f60f31b6020820152600090610a7a6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aa957506000546001600160a01b03858116911614155b15610e8b576001600160a01b03851660009081526004602052604090205460ff16158015610af057506001600160a01b03841660009081526004602052604090205460ff16155b610af957600080fd5b610b256064610b1f600b54600e5411610b1457600754610b18565b6009545b8690611153565b906111dc565b9150610b31858361121e565b604051602001610b41919061173d565b6040516020818303038152906040528051906020012081604051602001610b68919061173d565b6040516020818303038152906040528051906020012003610b8857600080fd5b60065460ff1615610c6d576013546001600160a01b03858116911614801590610bbf57506014546001600160a01b03858116911614155b15610c6d57326000908152600560205260409020544311610c5a5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610522565b3260009081526005602052604090204390555b6014546001600160a01b038681169116148015610c9857506013546001600160a01b03858116911614155b8015610cbd57506001600160a01b03841660009081526003602052604090205460ff16155b15610d7f57600f54831115610cee5760405162461bcd60e51b81526020600482015260006024820152604401610522565b60105483610d11866001600160a01b031660009081526001602052604090205490565b610d1b9190611759565b1115610d695760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610522565b600e8054906000610d7983611724565b91905055505b6014546001600160a01b03868116911614801590610dab57506014546001600160a01b03858116911614155b15610dd857610dd56064610b1f600c54600e5411610dcb57600854610b18565b600a548690611153565b91505b30600090815260016020526040902054601454600160a81b900460ff16158015610e1057506014546001600160a01b03878116911614155b8015610e255750601454600160b01b900460ff165b8015610e32575060115481115b8015610e425750600d54600e5410155b15610e8957610e77610e7282610e6d306001600160a01b031660009081526001602052604090205490565b61129f565b610f9b565b478015610e8757610e8747611115565b505b505b610eb7610e9884846112b4565b6001600160a01b038616600090815260016020526040902054906112f6565b6001600160a01b038516600090815260016020526040902055610eda858361121e565b506001600160a01b038516600090815260016020526040902054610efe90846112b4565b6001600160a01b038087166000818152600160205260409020929092558516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f4986866112b4565b60405190815260200160405180910390a35050505050565b60008184841115610f855760405162461bcd60e51b815260040161052291906113a7565b506000610f92848661176c565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fe357610fe361170e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561103c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611060919061177f565b816001815181106110735761107361170e565b6001600160a01b0392831660209182029290920101526013546110999130911684610800565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906110d290859060009086903090429060040161179c565b600060405180830381600087803b1580156110ec57600080fd5b505af1158015611100573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610593573d6000803e3d6000fd5b6000826000036111655750600061046a565b600061117183856116c2565b90508261117e858361180d565b146111d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610522565b9392505050565b60006111d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611355565b6060811561046a573060009081526001602052604090205461124090836112f6565b30600081815260016020526040908190209290925590516001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112919086815260200190565b60405180910390a392915050565b60008183116112ae57826111d5565b50919050565b60006111d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f61565b6000806113038385611759565b9050838110156111d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610522565b600081836113765760405162461bcd60e51b815260040161052291906113a7565b506000610f92848661180d565b60005b8381101561139e578181015183820152602001611386565b50506000910152565b60208152600082518060208401526113c6816040850160208701611383565b601f01601f19169190910160400192915050565b6001600160a01b03811681146113ef57600080fd5b50565b80356113fd816113da565b919050565b6000806040838503121561141557600080fd5b8235611420816113da565b946020939093013593505050565b60008060006060848603121561144357600080fd5b833561144e816113da565b9250602084013561145e816113da565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561149857600080fd5b823567ffffffffffffffff808211156114b057600080fd5b818501915085601f8301126114c457600080fd5b8135818111156114d6576114d661146f565b8060051b604051601f19603f830116810181811085821117156114fb576114fb61146f565b60405291825284820192508381018501918883111561151957600080fd5b938501935b8285101561153e5761152f856113f2565b8452938501939285019261151e565b98975050505050505050565b60006020828403121561155c57600080fd5b81356111d5816113da565b6000806040838503121561157a57600080fd5b8235611585816113da565b91506020830135611595816113da565b809150509250929050565b6000602082840312156115b257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561160a5781600019048211156115f0576115f06115b9565b808516156115fd57918102915b93841c93908002906115d4565b509250929050565b6000826116215750600161046a565b8161162e5750600061046a565b8160018114611644576002811461164e5761166a565b600191505061046a565b60ff84111561165f5761165f6115b9565b50506001821b61046a565b5060208310610133831016604e8410600b841016171561168d575081810a61046a565b61169783836115cf565b80600019048211156116ab576116ab6115b9565b029392505050565b60006111d560ff841683611612565b808202811582820484141761046a5761046a6115b9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611736576117366115b9565b5060010190565b6000825161174f818460208701611383565b9190910192915050565b8082018082111561046a5761046a6115b9565b8181038181111561046a5761046a6115b9565b60006020828403121561179157600080fd5b81516111d5816113da565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117ec5784516001600160a01b0316835293830193918301916001016117c7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261182a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200dd8d4a04bf5ee56ee699e192dc3d6070b8c9b544272651c20ef18a141dafe2b64736f6c63430008130033

Deployed Bytecode Sourcemap

3614:8570:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5809:83;;;;;;;;;;-1:-1:-1;5879:5:0;;;;;;;;;;;;-1:-1:-1;;;5879:5:0;;;;5809:83;;;;;;;:::i;:::-;;;;;;;;6642:161;;;;;;;;;;-1:-1:-1;6642:161:0;;;;;:::i;:::-;;:::i;:::-;;;1430:14:1;;1423:22;1405:41;;1393:2;1378:18;6642:161:0;1265:187:1;4809:47:0;;;;;;;;;;;;;;;;;;;1603:25:1;;;1591:2;1576:18;4809:47:0;1457:177:1;6086:95:0;;;;;;;;;;;;;:::i;6811:313::-;;;;;;;;;;-1:-1:-1;6811:313:0;;;;;:::i;:::-;;:::i;5995:83::-;;;;;;;;;;-1:-1:-1;5995:83:0;;4447:1;2242:36:1;;2230:2;2215:18;5995:83:0;2100:184:1;11296:162:0;;;;;;;;;;-1:-1:-1;11296:162:0;;;;;:::i;:::-;;:::i;:::-;;11466:83;;;;;;;;;;-1:-1:-1;11466:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11534:7:0;11513:4;11534:7;;;:4;:7;;;;;;;;;11466:83;11833:348;;;;;;;;;;;;;:::i;6189:119::-;;;;;;;;;;-1:-1:-1;6189:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6282:18:0;6255:7;6282:18;;;:9;:18;;;;;;;6189:119;2693:148;;;;;;;;;;;;;:::i;10820:196::-;;;;;;;;;;;;;:::i;4633:51::-;;;;;;;;;;;;;;;;2479:79;;;;;;;;;;-1:-1:-1;2517:7:0;2544:6;2479:79;;-1:-1:-1;;;;;2544:6:0;;;3945:51:1;;3933:2;3918:18;2479:79:0;3799:203:1;4691:51:0;;;;;;;;;;;;;;;;5900:87;;;;;;;;;;-1:-1:-1;5972:7:0;;;;;;;;;;;;-1:-1:-1;;;5972:7:0;;;;5900:87;;6316:167;;;;;;;;;;-1:-1:-1;6316:167:0;;;;;:::i;:::-;;:::i;4749:53::-;;;;;;;;;;;;;;;;4006:40;;;;;;;;;;-1:-1:-1;4006:40:0;;;;;;;;11124:164;;;;;;;;;;-1:-1:-1;11124:164:0;;;;;:::i;:::-;;:::i;6491:143::-;;;;;;;;;;-1:-1:-1;6491:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6599:18:0;;;6572:7;6599:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6491:143;11570:218;;;;;;;;;;-1:-1:-1;11570:218:0;;;;;:::i;:::-;;:::i;6642:161::-;6717:4;6734:39;314:10;6757:7;6766:6;6734:8;:39::i;:::-;-1:-1:-1;6791:4:0;6642:161;;;;;:::o;6086:95::-;6139:7;4498:13;4447:1;4498:2;:13;:::i;:::-;4490:21;;:5;:21;:::i;:::-;6159:14;;6086:95;:::o;6811:313::-;6909:4;6926:36;6936:6;6944:9;6955:6;6926:9;:36::i;:::-;6973:121;6982:6;314:10;7004:89;7042:6;7004:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7004:19:0;;;;;;:11;:19;;;;;;;;314:10;7004:33;;;;;;;;;;:37;:89::i;:::-;6973:8;:121::i;:::-;-1:-1:-1;7112:4:0;6811:313;;;;;:::o;11296:162::-;2606:6;;-1:-1:-1;;;;;2606:6:0;314:10;2606:22;2598:67;;;;-1:-1:-1;;;2598:67:0;;;;;;;:::i;:::-;;;;;;;;;11369:6:::1;11364:87;11385:6;:13;11381:1;:17;11364:87;;;11436:5;11418:4;:15;11423:6;11430:1;11423:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11418:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11418:15:0;:23;;-1:-1:-1;;11418:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11400:3;::::1;::::0;::::1;:::i;:::-;;;;11364:87;;;;11296:162:::0;:::o;11833:348::-;11897:10;;;;;-1:-1:-1;;;;;11897:10:0;314;-1:-1:-1;;;;;11883:24:0;;11875:33;;;;;;11958:4;11919:20;6282:18;;;:9;:18;;;;;;11978:14;;11975:73;;12006:30;12023:12;12006:16;:30::i;:::-;12077:21;12112:12;;12109:65;;12138:24;12151:10;12138:12;:24::i;2693:148::-;2606:6;;-1:-1:-1;;;;;2606:6:0;314:10;2606:22;2598:67;;;;-1:-1:-1;;;2598:67:0;;;;;;;:::i;:::-;2800:1:::1;2784:6:::0;;2763:40:::1;::::0;-1:-1:-1;;;;;2784:6:0;;::::1;::::0;2763:40:::1;::::0;2800:1;;2763:40:::1;2831:1;2814:19:::0;;-1:-1:-1;;;;;;2814:19:0::1;::::0;;2693:148::o;10820:196::-;2606:6;;-1:-1:-1;;;;;2606:6:0;314:10;2606:22;2598:67;;;;-1:-1:-1;;;2598:67:0;;;;;;;:::i;:::-;4498:13:::1;4447:1;4498:2;:13;:::i;:::-;4490:21;::::0;:5:::1;:21;:::i;:::-;10873:12;:22:::0;4498:13:::1;4447:1;4498:2;:13;:::i;:::-;4490:21;::::0;:5:::1;:21;:::i;:::-;10906:14;:22:::0;10939:20:::1;:26:::0;;-1:-1:-1;;10939:26:0::1;::::0;;10981:27:::1;4498:13;4447:1;-1:-1:-1::0;4498:13:0::1;:::i;:::-;4490:21;::::0;:5:::1;:21;:::i;:::-;10981:27;::::0;1603:25:1;;;1591:2;1576:18;10981:27:0::1;;;;;;;10820:196::o:0;6316:167::-;6394:4;6411:42;314:10;6435:9;6446:6;6411:9;:42::i;11124:164::-;2606:6;;-1:-1:-1;;;;;2606:6:0;314:10;2606:22;2598:67;;;;-1:-1:-1;;;2598:67:0;;;;;;;:::i;:::-;11198:6:::1;11193:88;11214:5;:12;11210:1;:16;11193:88;;;11265:4;11248;:14;11253:5;11259:1;11253:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11248:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11248:14:0;:21;;-1:-1:-1;;11248:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11228:3;::::1;::::0;::::1;:::i;:::-;;;;11193:88;;11570:218:::0;11645:10;;;;;-1:-1:-1;;;;;11645:10:0;314;-1:-1:-1;;;;;11631:24:0;;11623:33;;;;;;11682:12;;11673:7;:21;;:47;;;;;11707:13;;11698:7;:22;;11673:47;11665:56;;;;;;11730:12;:20;;;11759:13;:21;11570:218::o;7132:335::-;-1:-1:-1;;;;;7225:19:0;;7217:68;;;;-1:-1:-1;;;7217:68:0;;7108:2:1;7217:68:0;;;7090:21:1;7147:2;7127:18;;;7120:30;7186:34;7166:18;;;7159:62;-1:-1:-1;;;7237:18:1;;;7230:34;7281:19;;7217:68:0;6906:400:1;7217:68:0;-1:-1:-1;;;;;7304:21:0;;7296:68;;;;-1:-1:-1;;;7296:68:0;;7513:2:1;7296:68:0;;;7495:21:1;7552:2;7532:18;;;7525:30;7591:34;7571:18;;;7564:62;-1:-1:-1;;;7642:18:1;;;7635:32;7684:19;;7296:68:0;7311:398:1;7296:68:0;-1:-1:-1;;;;;7375:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7427:32;;1603:25:1;;;7427:32:0;;1576:18:1;7427:32:0;;;;;;;7132:335;;;:::o;7475:2467::-;-1:-1:-1;;;;;7563:18:0;;7555:68;;;;-1:-1:-1;;;7555:68:0;;7916:2:1;7555:68:0;;;7898:21:1;7955:2;7935:18;;;7928:30;7994:34;7974:18;;;7967:62;-1:-1:-1;;;8045:18:1;;;8038:35;8090:19;;7555:68:0;7714:401:1;7555:68:0;-1:-1:-1;;;;;7642:16:0;;7634:64;;;;-1:-1:-1;;;7634:64:0;;8322:2:1;7634:64:0;;;8304:21:1;8361:2;8341:18;;;8334:30;8400:34;8380:18;;;8373:62;-1:-1:-1;;;8451:18:1;;;8444:33;8494:19;;7634:64:0;8120:399:1;7634:64:0;7726:1;7717:6;:10;7709:64;;;;-1:-1:-1;;;7709:64:0;;8726:2:1;7709:64:0;;;8708:21:1;8765:2;8745:18;;;8738:30;8804:34;8784:18;;;8777:62;-1:-1:-1;;;8855:18:1;;;8848:39;8904:19;;7709:64:0;8524:405:1;7709:64:0;7814:23;;;;;;;;;;;;-1:-1:-1;;;7814:23:0;;;;7784:17;;7860:7;2517;2544:6;-1:-1:-1;;;;;2544:6:0;;2479:79;7860:7;-1:-1:-1;;;;;7852:15:0;:4;-1:-1:-1;;;;;7852:15:0;;;:32;;;;-1:-1:-1;2517:7:0;2544:6;-1:-1:-1;;;;;7871:13:0;;;2544:6;;7871:13;;7852:32;7848:1877;;;-1:-1:-1;;;;;7910:10:0;;;;;;:4;:10;;;;;;;;7909:11;:24;;;;-1:-1:-1;;;;;;7925:8:0;;;;;;:4;:8;;;;;;;;7924:9;7909:24;7901:33;;;;;;7961:76;8033:3;7961:67;7983:15;;7973:9;;:25;7972:55;;8013:14;;7972:55;;;8000:12;;7972:55;7961:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7949:88;;8123:23;8131:4;8136:9;8123:7;:23::i;:::-;8106:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;8096:52;;;;;;8087:4;8070:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;8060:33;;;;;;:88;8052:98;;;;;;8169:20;;;;8165:508;;;8230:15;;-1:-1:-1;;;;;8216:30:0;;;8230:15;;8216:30;;;;:62;;-1:-1:-1;8264:13:0;;-1:-1:-1;;;;;8250:28:0;;;8264:13;;8250:28;;8216:62;8212:444;;;8370:9;8341:39;;;;:28;:39;;;;;;8414:12;-1:-1:-1;8305:250:0;;;;-1:-1:-1;;;8305:250:0;;9430:2:1;8305:250:0;;;9412:21:1;9469:2;9449:18;;;9442:30;9508:34;9488:18;;;9481:62;9579:34;9559:18;;;9552:62;-1:-1:-1;;;9630:19:1;;;9623:40;9680:19;;8305:250:0;9228:477:1;8305:250:0;8609:9;8580:39;;;;:28;:39;;;;;8622:12;8580:54;;8212:444;8713:13;;-1:-1:-1;;;;;8705:21:0;;;8713:13;;8705:21;:55;;;;-1:-1:-1;8744:15:0;;-1:-1:-1;;;;;8730:30:0;;;8744:15;;8730:30;;8705:55;:83;;;;-1:-1:-1;;;;;;8766:22:0;;;;;;:18;:22;;;;;;;;8764:24;8705:83;8701:288;;;8828:12;;8818:6;:22;;8810:35;;;;-1:-1:-1;;;8810:35:0;;9912:2:1;8810:35:0;;;9894:21:1;-1:-1:-1;9931:18:1;;;9924:29;9970:18;;8810:35:0;9710:284:1;8810:35:0;8898:14;;8888:6;8872:13;8882:2;-1:-1:-1;;;;;6282:18:0;6255:7;6282:18;;;:9;:18;;;;;;;6189:119;8872:13;:22;;;;:::i;:::-;:40;;8864:79;;;;-1:-1:-1;;;8864:79:0;;10331:2:1;8864:79:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:28;10389:18;;;10382:56;10455:18;;8864:79:0;10129:350:1;8864:79:0;8962:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8701:288;9028:13;;-1:-1:-1;;;;;9020:21:0;;;9028:13;;9020:21;;;;:44;;-1:-1:-1;9051:13:0;;-1:-1:-1;;;;;9045:19:0;;;9051:13;;9045:19;;9020:44;9017:175;;;9097:79;9172:3;9097:70;9119:16;;9109:9;;:26;9108:58;;9151:15;;9108:58;;;9137:13;;9097:6;;:10;:70::i;:79::-;9085:91;;9017:175;9268:4;9219:28;6282:18;;;:9;:18;;;;;;9294:6;;-1:-1:-1;;;9294:6:0;;;;9293:7;:32;;;;-1:-1:-1;9312:13:0;;-1:-1:-1;;;;;9304:21:0;;;9312:13;;9304:21;;9293:32;:47;;;;-1:-1:-1;9329:11:0;;-1:-1:-1;;;9329:11:0;;;;9293:47;:89;;;;;9365:17;;9344:20;:38;9293:89;:122;;;;;9397:18;;9386:9;;:29;;9293:122;9289:423;;;9436:68;9453:50;9457:20;9478:24;9496:4;-1:-1:-1;;;;;6282:18:0;6255:7;6282:18;;;:9;:18;;;;;;;6189:119;9478:24;9453:3;:50::i;:::-;9436:16;:68::i;:::-;9552:21;9595:22;;9592:105;;9642:35;9655:21;9642:12;:35::i;:::-;9417:295;9289:423;7886:1839;7848:1877;9749:40;9767:21;:6;9778:9;9767:10;:21::i;:::-;-1:-1:-1;;;;;9749:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9735:13:0;;;;;;:9;:13;;;;;:54;9800:23;9808:4;9813:9;9800:7;:23::i;:::-;-1:-1:-1;;;;;;9850:15:0;;;;;;:9;:15;;;;;;:27;;9870:6;9850:19;:27::i;:::-;-1:-1:-1;;;;;9834:15:0;;;;;;;:9;:15;;;;;:43;;;;9893:41;;;;9912:21;:6;9923:9;9912:10;:21::i;:::-;9893:41;;1603:25:1;;;1591:2;1576:18;9893:41:0;;;;;;;7544:2398;;7475:2467;;;:::o;1371:190::-;1457:7;1493:12;1485:6;;;;1477:29;;;;-1:-1:-1;;;1477:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1517:9:0;1529:5;1533:1;1529;:5;:::i;:::-;1517:17;1371:190;-1:-1:-1;;;;;1371:190:0:o;10329:483::-;5137:6;:13;;-1:-1:-1;;;;5137:13:0;-1:-1:-1;;;5137:13:0;;;10431:16:::1;::::0;;10445:1:::1;10431:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10431:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10431:16:0::1;10407:40;;10476:4;10458;10463:1;10458:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10458:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10502:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10502:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10458:7;;10502:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10492:4;10497:1;10492:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10492:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10567:15:::1;::::0;10535:62:::1;::::0;10552:4:::1;::::0;10567:15:::1;10585:11:::0;10535:8:::1;:62::i;:::-;10608:15;::::0;:196:::1;::::0;-1:-1:-1;;;10608:196:0;;-1:-1:-1;;;;;10608:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10689:11;;10608:15:::1;::::0;10731:4;;10758::::1;::::0;10778:15:::1;::::0;10608:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5173:6:0;:14;;-1:-1:-1;;;;5173:14:0;;;-1:-1:-1;;;;10329:483:0:o;11024:92::-;11081:10;;:27;;:10;;;;-1:-1:-1;;;;;11081:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1569:246;1627:7;1651:1;1656;1651:6;1647:47;;-1:-1:-1;1681:1:0;1674:8;;1647:47;1704:9;1716:5;1720:1;1716;:5;:::i;:::-;1704:17;-1:-1:-1;1749:1:0;1740:5;1744:1;1704:17;1740:5;:::i;:::-;:10;1732:56;;;;-1:-1:-1;;;1732:56:0;;12282:2:1;1732:56:0;;;12264:21:1;12321:2;12301:18;;;12294:30;12360:34;12340:18;;;12333:62;-1:-1:-1;;;12411:18:1;;;12404:31;12452:19;;1732:56:0;12080:397:1;1732:56:0;1806:1;1569:246;-1:-1:-1;;;1569:246:0:o;1823:132::-;1881:7;1908:39;1912:1;1915;1908:39;;;;;;;;;;;;;;;;;:3;:39::i;9950:263::-;10018:13;10048:11;;10045:161;;10116:4;10098:24;;;;:9;:24;;;;;;:39;;10127:9;10098:28;:39::i;:::-;10091:4;10073:24;;;;:9;:24;;;;;;;:64;;;;10155:39;;-1:-1:-1;;;;;10155:39:0;;;;;;;10184:9;1603:25:1;;1591:2;1576:18;;1457:177;10155:39:0;;;;;;;;9950:263;;;;:::o;10223:98::-;10280:7;10307:1;10305;:3;10304:9;;10312:1;10304:9;;;-1:-1:-1;10310:1:0;10223:98;-1:-1:-1;10223:98:0:o;1227:136::-;1285:7;1312:43;1316:1;1319;1312:43;;;;;;;;;;;;;;;;;:3;:43::i;1040:179::-;1098:7;;1130:5;1134:1;1130;:5;:::i;:::-;1118:17;;1159:1;1154;:6;;1146:46;;;;-1:-1:-1;;;1146:46:0;;12684:2:1;1146:46:0;;;12666:21:1;12723:2;12703:18;;;12696:30;12762:29;12742:18;;;12735:57;12809:18;;1146:46:0;12482:351:1;1963:189:0;2049:7;2084:12;2077:5;2069:28;;;;-1:-1:-1;;;2069:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2108:9:0;2120:5;2124:1;2120;:5;:::i;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:396::-;418:2;407:9;400:21;381:4;450:6;444:13;493:6;488:2;477:9;473:18;466:34;509:79;581:6;576:2;565:9;561:18;556:2;548:6;544:15;509:79;:::i;:::-;649:2;628:15;-1:-1:-1;;624:29:1;609:45;;;;656:2;605:54;;269:396;-1:-1:-1;;269:396:1:o;670:131::-;-1:-1:-1;;;;;745:31:1;;735:42;;725:70;;791:1;788;781:12;725:70;670:131;:::o;806:134::-;874:20;;903:31;874:20;903:31;:::i;:::-;806:134;;;:::o;945:315::-;1013:6;1021;1074:2;1062:9;1053:7;1049:23;1045:32;1042:52;;;1090:1;1087;1080:12;1042:52;1129:9;1116:23;1148:31;1173:5;1148:31;:::i;:::-;1198:5;1250:2;1235:18;;;;1222:32;;-1:-1:-1;;;945:315:1:o;1639:456::-;1716:6;1724;1732;1785:2;1773:9;1764:7;1760:23;1756:32;1753:52;;;1801:1;1798;1791:12;1753:52;1840:9;1827:23;1859:31;1884:5;1859:31;:::i;:::-;1909:5;-1:-1:-1;1966:2:1;1951:18;;1938:32;1979:33;1938:32;1979:33;:::i;:::-;1639:456;;2031:7;;-1:-1:-1;;;2085:2:1;2070:18;;;;2057:32;;1639:456::o;2289:127::-;2350:10;2345:3;2341:20;2338:1;2331:31;2381:4;2378:1;2371:15;2405:4;2402:1;2395:15;2421:1121;2505:6;2536:2;2579;2567:9;2558:7;2554:23;2550:32;2547:52;;;2595:1;2592;2585:12;2547:52;2635:9;2622:23;2664:18;2705:2;2697:6;2694:14;2691:34;;;2721:1;2718;2711:12;2691:34;2759:6;2748:9;2744:22;2734:32;;2804:7;2797:4;2793:2;2789:13;2785:27;2775:55;;2826:1;2823;2816:12;2775:55;2862:2;2849:16;2884:2;2880;2877:10;2874:36;;;2890:18;;:::i;:::-;2936:2;2933:1;2929:10;2968:2;2962:9;3031:2;3027:7;3022:2;3018;3014:11;3010:25;3002:6;2998:38;3086:6;3074:10;3071:22;3066:2;3054:10;3051:18;3048:46;3045:72;;;3097:18;;:::i;:::-;3133:2;3126:22;3183:18;;;3217:15;;;;-1:-1:-1;3259:11:1;;;3255:20;;;3287:19;;;3284:39;;;3319:1;3316;3309:12;3284:39;3343:11;;;;3363:148;3379:6;3374:3;3371:15;3363:148;;;3445:23;3464:3;3445:23;:::i;:::-;3433:36;;3396:12;;;;3489;;;;3363:148;;;3530:6;2421:1121;-1:-1:-1;;;;;;;;2421:1121:1:o;3547:247::-;3606:6;3659:2;3647:9;3638:7;3634:23;3630:32;3627:52;;;3675:1;3672;3665:12;3627:52;3714:9;3701:23;3733:31;3758:5;3733:31;:::i;4007:388::-;4075:6;4083;4136:2;4124:9;4115:7;4111:23;4107:32;4104:52;;;4152:1;4149;4142:12;4104:52;4191:9;4178:23;4210:31;4235:5;4210:31;:::i;:::-;4260:5;-1:-1:-1;4317:2:1;4302:18;;4289:32;4330:33;4289:32;4330:33;:::i;:::-;4382:7;4372:17;;;4007:388;;;;;:::o;4400:180::-;4459:6;4512:2;4500:9;4491:7;4487:23;4483:32;4480:52;;;4528:1;4525;4518:12;4480:52;-1:-1:-1;4551:23:1;;4400:180;-1:-1:-1;4400:180:1:o;4585:127::-;4646:10;4641:3;4637:20;4634:1;4627:31;4677:4;4674:1;4667:15;4701:4;4698:1;4691:15;4717:422;4806:1;4849:5;4806:1;4863:270;4884:7;4874:8;4871:21;4863:270;;;4943:4;4939:1;4935:6;4931:17;4925:4;4922:27;4919:53;;;4952:18;;:::i;:::-;5002:7;4992:8;4988:22;4985:55;;;5022:16;;;;4985:55;5101:22;;;;5061:15;;;;4863:270;;;4867:3;4717:422;;;;;:::o;5144:806::-;5193:5;5223:8;5213:80;;-1:-1:-1;5264:1:1;5278:5;;5213:80;5312:4;5302:76;;-1:-1:-1;5349:1:1;5363:5;;5302:76;5394:4;5412:1;5407:59;;;;5480:1;5475:130;;;;5387:218;;5407:59;5437:1;5428:10;;5451:5;;;5475:130;5512:3;5502:8;5499:17;5496:43;;;5519:18;;:::i;:::-;-1:-1:-1;;5575:1:1;5561:16;;5590:5;;5387:218;;5689:2;5679:8;5676:16;5670:3;5664:4;5661:13;5657:36;5651:2;5641:8;5638:16;5633:2;5627:4;5624:12;5620:35;5617:77;5614:159;;;-1:-1:-1;5726:19:1;;;5758:5;;5614:159;5805:34;5830:8;5824:4;5805:34;:::i;:::-;5875:6;5871:1;5867:6;5863:19;5854:7;5851:32;5848:58;;;5886:18;;:::i;:::-;5924:20;;5144:806;-1:-1:-1;;;5144:806:1:o;5955:140::-;6013:5;6042:47;6083:4;6073:8;6069:19;6063:4;6042:47;:::i;6100:168::-;6173:9;;;6204;;6221:15;;;6215:22;;6201:37;6191:71;;6242:18;;:::i;6273:356::-;6475:2;6457:21;;;6494:18;;;6487:30;6553:34;6548:2;6533:18;;6526:62;6620:2;6605:18;;6273:356::o;6634:127::-;6695:10;6690:3;6686:20;6683:1;6676:31;6726:4;6723:1;6716:15;6750:4;6747:1;6740:15;6766:135;6805:3;6826:17;;;6823:43;;6846:18;;:::i;:::-;-1:-1:-1;6893:1:1;6882:13;;6766:135::o;8934:289::-;9065:3;9103:6;9097:13;9119:66;9178:6;9173:3;9166:4;9158:6;9154:17;9119:66;:::i;:::-;9201:16;;;;;8934:289;-1:-1:-1;;8934:289:1:o;9999:125::-;10064:9;;;10085:10;;;10082:36;;;10098:18;;:::i;10484:128::-;10551:9;;;10572:11;;;10569:37;;;10586:18;;:::i;10617:251::-;10687:6;10740:2;10728:9;10719:7;10715:23;10711:32;10708:52;;;10756:1;10753;10746:12;10708:52;10788:9;10782:16;10807:31;10832:5;10807:31;:::i;10873:980::-;11135:4;11183:3;11172:9;11168:19;11214:6;11203:9;11196:25;11240:2;11278:6;11273:2;11262:9;11258:18;11251:34;11321:3;11316:2;11305:9;11301:18;11294:31;11345:6;11380;11374:13;11411:6;11403;11396:22;11449:3;11438:9;11434:19;11427:26;;11488:2;11480:6;11476:15;11462:29;;11509:1;11519:195;11533:6;11530:1;11527:13;11519:195;;;11598:13;;-1:-1:-1;;;;;11594:39:1;11582:52;;11689:15;;;;11654:12;;;;11630:1;11548:9;11519:195;;;-1:-1:-1;;;;;;;11770:32:1;;;;11765:2;11750:18;;11743:60;-1:-1:-1;;;11834:3:1;11819:19;11812:35;11731:3;10873:980;-1:-1:-1;;;10873:980:1:o;11858:217::-;11898:1;11924;11914:132;;11968:10;11963:3;11959:20;11956:1;11949:31;12003:4;12000:1;11993:15;12031:4;12028:1;12021:15;11914:132;-1:-1:-1;12060:9:1;;11858:217::o

Swarm Source

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