ETH Price: $2,305.41 (-3.30%)

Token

Link Trade Token (LTT)
 

Overview

Max Total Supply

900,000 LTT

Holders

371

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
3,485 LTT

Value
$0.00
0x374ecb5aa2bcbdadb447cf273f58b71c5a8acd19
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:
LTT_Exchange

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-11-04
*/

pragma solidity ^0.4.26;

contract LTT_Exchange {
    // only people with tokens
    modifier onlyBagholders() {
        require(myTokens() > 0);
        _;
    }
    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[_customerAddress]);
        _;
    }
    /*==============================
    =            EVENTS            =
    ==============================*/

    event Reward(
       address indexed to,
       uint256 rewardAmount,
       uint256 level
    );
    // ERC20
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );
   
    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/
    string public name = "Link Trade Token";
    string public symbol = "LTT";
    uint8 constant public decimals = 0;
    uint256 public totalSupply_ = 900000;
    uint256 constant internal tokenPriceInitial_ = 0.00013 ether;
    uint256 constant internal tokenPriceIncremental_ = 263157894;
    uint256 public currentPrice_ = tokenPriceInitial_ + tokenPriceIncremental_;
    uint256 public base = 1;
    uint256 public basePrice = 380;
    uint public percent = 1100;
    uint256 public rewardSupply_ = 2000000;
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal rewardBalanceLedger_;
    address commissionHolder;
    uint256 internal tokenSupply_ = 0;
    mapping(address => bool) internal administrators;
    mapping(address => address) public genTree;
    mapping(address => uint256) public level1Holding_;
    address terminal;
    uint8[] percent_ = [5,2,1,1,1];
    uint256[] holding_ = [0,460,460,930,930];
    uint internal minWithdraw = 1000;
    uint funds = 0;
    bool distributeRewards_ = false;
    bool reEntrancyMutex = false;
   
    constructor() public
    {
        terminal = msg.sender;
        administrators[terminal] = true;
    }
   
   function upgradeContract(address[] _users, uint256[] _balances, uint256[] _rewards, address[] _referredBy, uint modeType)
    onlyAdministrator()
    public
    {
        if(modeType == 1)
        {
            for(uint i = 0; i<_users.length;i++)
            {
                tokenBalanceLedger_[_users[i]] += _balances[i];
                tokenSupply_ += _balances[i];
                genTree[_users[i]] = _referredBy[i];
                
                rewardBalanceLedger_[_users[i]] += _rewards[i];
                tokenSupply_ += _rewards[i]/100;
                
                emit Transfer(address(this),_users[i],_balances[i]);
            }
        }
        if(modeType == 2)
        {
            for(i = 0; i<_users.length;i++)
            {
                rewardBalanceLedger_[_users[i]] += _balances[i];
                tokenSupply_ += _balances[i]/100;
            }
        }
    }
   
   function fundsInjection() public payable returns(bool)
    {
        return true;
    }
    
    function startSellDistribution() onlyAdministrator() public
    {
        distributeRewards_ = true;
    }
    
    function stopSellDistribution() onlyAdministrator() public
    {
        distributeRewards_ = false;
    }
    
    function upgradeDetails(uint256 _currentPrice, uint256 _grv)
    onlyAdministrator()
    public
    {
        currentPrice_ = _currentPrice;
        base = _grv;
    }
   
    function withdrawRewards() public returns(uint256)
    {
        address _customerAddress = msg.sender;
        require(!reEntrancyMutex);
        require(rewardBalanceLedger_[_customerAddress]>minWithdraw);
        reEntrancyMutex = true;
        uint256 _balance = rewardBalanceLedger_[_customerAddress]/100;
        rewardBalanceLedger_[_customerAddress] -= _balance*100;
        emit Transfer(_customerAddress, address(this),_balance);
        _balance = SafeMath.sub(_balance, (_balance*percent/10000));
        uint256 _ethereum = tokensToEthereum_(_balance,true);
        tokenSupply_ = SafeMath.sub(tokenSupply_, _balance);
        _customerAddress.transfer(_ethereum);
        reEntrancyMutex = false;
    }
   
    function distributeRewards(uint256 _amountToDistribute, address _idToDistribute)
    internal
    {
        uint256 _currentPrice = currentPrice_*basePrice;
        uint256 _tempAmountToDistribute = _amountToDistribute*100;
        for(uint i=0; i<5; i++)
        {
            address referrer = genTree[_idToDistribute];
            uint256 value = _currentPrice*tokenBalanceLedger_[referrer];
            uint256 _holdingLevel1 = level1Holding_[referrer]*_currentPrice;
            if(referrer != 0x0 && value >= (50*10**18) && _holdingLevel1 >= (holding_[i]*10**18))
            {
                rewardBalanceLedger_[referrer] += (_amountToDistribute*percent_[i]*100)/10;
                _idToDistribute = referrer;
                emit Reward(referrer,(_amountToDistribute*percent_[i]*100)/10,i);
                _tempAmountToDistribute -= (_amountToDistribute*percent_[i]*100)/10;
            }
        }
        rewardBalanceLedger_[commissionHolder] += _tempAmountToDistribute;
    }
   
   function setBasePrice(uint256 _price)
    onlyAdministrator()
    public
    returns(bool) {
        basePrice = _price;
    }
   
    function buy(address _referredBy)
        public
        payable
        returns(uint256)
    {
        if(msg.sender == _referredBy)
        {
            genTree[msg.sender] = terminal;
        }
        else
        {
            genTree[msg.sender] = _referredBy;
        }
        purchaseTokens(msg.value, _referredBy);
    }
   
    function()
        payable
        public
    {
        purchaseTokens(msg.value, 0x0);
    }
   
    /**
     * Liquifies tokens to ethereum.
    */
     
    function sell(uint256 _amountOfTokens)
        onlyBagholders()
        public
    {
        require(!reEntrancyMutex);
        // setup data
        reEntrancyMutex = true;
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _deficit = _tokens * percent / 10000;
        uint256 _dividends = _tokens * (percent-200)/10000;
        tokenBalanceLedger_[commissionHolder] += (_tokens*200)/10000;
        _tokens = SafeMath.sub(_tokens, _deficit);
        uint256 _ethereum = tokensToEthereum_(_tokens,true);
        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        if(_dividends > 0 && distributeRewards_)
        {
            distributeRewards(_dividends,_customerAddress);
        }
        level1Holding_[genTree[_customerAddress]] -=_amountOfTokens;
        
        _customerAddress.transfer(_ethereum);
        emit Transfer(_customerAddress, address(this), _amountOfTokens);
        reEntrancyMutex = false;
    }
   
    function rewardOf(address _toCheck)
        public view
        returns(uint256)
    {
        return rewardBalanceLedger_[_toCheck];    
    }
   
    function holdingLevel1(address _toCheck)
        public view
        returns(uint256)
    {
        return level1Holding_[_toCheck];    
    }
   
    function transfer(address _toAddress, uint256 _amountOfTokens)
        onlyAdministrator()
        public
        returns(bool)
    {
        // setup
        address _customerAddress = msg.sender;
        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _amountOfTokens);
        emit Transfer(_customerAddress, _toAddress, _amountOfTokens);
        return true;
    }
   
    function destruct() onlyAdministrator() public{
        selfdestruct(terminal);
    }
   
    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }
   
    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

    function setupCommissionHolder(address _commissionHolder)
    onlyAdministrator()
    public
    {
        commissionHolder = _commissionHolder;
        administrators[commissionHolder] = true;
    }

    function totalEthereumBalance()
        public
        view
        returns(uint)
    {
        return address(this).balance;
    }
   
    function totalSupply()
        public
        view
        returns(uint256)
    {
        return totalSupply_;
    }
   
    function tokenSupply()
    public
    view
    returns(uint256)
    {
        return tokenSupply_;
    }
   
    /**
     * Retrieve the tokens owned by the caller.
     */
    function myTokens()
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }
   
   
    /**
     * Retrieve the token balance of any single address.
     */
    function balanceOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return tokenBalanceLedger_[_customerAddress];
    }
   
    /**
     * Return the sell price of 1 individual token.
     */
    function buyPrice()
        public
        view
        returns(uint256)
    {
        return currentPrice_;
    }
   
    function calculateEthereumReceived(uint256 _tokensToSell)
        public
        view
        returns(uint256)
    {
        require(_tokensToSell <= tokenSupply_);
        uint256 _deficit = _tokensToSell * percent / 10000;
        _tokensToSell = SafeMath.sub(_tokensToSell, (_deficit-1));
        uint256 _ethereum = tokensToEthereum_(_tokensToSell,false);
        return _ethereum;
    }
   
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/
   
    event testLog(
        uint256 currBal
    );

    function calculateTokensReceived(uint256 _ethereumToSpend)
        public
        view
        returns(uint256)
    {
        uint256 _amountOfTokens = ethereumToTokens_(_ethereumToSpend, currentPrice_, base, false);
        _amountOfTokens = SafeMath.sub(_amountOfTokens, _amountOfTokens * percent/10000);
        return _amountOfTokens;
    }
   
    function purchaseTokens(uint256 _incomingEthereum, address _referredBy)
        internal
        returns(uint256)
    {
        // data setup
        address _customerAddress = msg.sender;
        uint256 _amountOfTokens = ethereumToTokens_(_incomingEthereum , currentPrice_, base, true);
        require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_));
        tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
        require(SafeMath.add(_amountOfTokens,tokenSupply_) < (totalSupply_+rewardSupply_));
        //deduct commissions for referrals
        distributeRewards(_amountOfTokens * (percent-200)/10000,_customerAddress);
        _amountOfTokens = SafeMath.sub(_amountOfTokens, _amountOfTokens * percent/10000);
        level1Holding_[_referredBy] +=_amountOfTokens;
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        // fire event
        emit Transfer(address(this), _customerAddress, _amountOfTokens);
        return _amountOfTokens;
    }
   
    function ethereumToTokens_(uint256 _ethereum, uint256 _currentPrice, uint256 _grv, bool _buy)
        internal
        view
        returns(uint256)
    {
        uint256 _tokenPriceIncremental = (tokenPriceIncremental_*(2**(_grv-1)));
        uint256 _tempad = SafeMath.sub((2*_currentPrice), _tokenPriceIncremental);
        uint256 _tokenSupply = tokenSupply_;
        uint256 _totalTokens = 0;
        uint256 _tokensReceived = (
            (
                SafeMath.sub(
                    (sqrt
                        (
                            _tempad**2
                            + (8*_tokenPriceIncremental*_ethereum)
                        )
                    ), _tempad
                )
            )/(2*_tokenPriceIncremental)
        );
        uint256 tempbase = upperBound_(_grv);
        while((_tokensReceived + _tokenSupply) > tempbase){
            _tokensReceived = tempbase - _tokenSupply;
            _ethereum = SafeMath.sub(
                _ethereum,
                ((_tokensReceived)/2)*
                ((2*_currentPrice)+((_tokensReceived-1)
                *_tokenPriceIncremental))
            );
            _currentPrice = _currentPrice+((_tokensReceived-1)*_tokenPriceIncremental);
            _grv = _grv + 1;
            _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
            _tempad = SafeMath.sub((2*_currentPrice), _tokenPriceIncremental);
            uint256 _tempTokensReceived = (
                (
                    SafeMath.sub(
                        (sqrt
                            (
                                _tempad**2
                                + (8*_tokenPriceIncremental*_ethereum)
                            )
                        ), _tempad
                    )
                )/(2*_tokenPriceIncremental)
            );
            _tokenSupply = _tokenSupply + _tokensReceived;
            _totalTokens = _totalTokens + _tokensReceived;
            _tokensReceived = _tempTokensReceived;
            tempbase = upperBound_(_grv);
        }
        _totalTokens = _totalTokens + _tokensReceived;
        _currentPrice = _currentPrice+((_tokensReceived-1)*_tokenPriceIncremental);
        if(_buy == true)
        {
            currentPrice_ = _currentPrice;
            base = _grv;
        }
        return _totalTokens;
    }
   
    function upperBound_(uint256 _grv)
    internal
    view
    returns(uint256)
    {
        if(_grv <= 5)
        {
            return (60000 * _grv);
        }
        if(_grv > 5 && _grv <= 10)
        {
            return (300000 + ((_grv-5)*50000));
        }
        if(_grv > 10 && _grv <= 15)
        {
            return (550000 + ((_grv-10)*40000));
        }
        if(_grv > 15 && _grv <= 20)
        {
            return (750000 +((_grv-15)*30000));
        }
        return 0;
    }
   
     function tokensToEthereum_(uint256 _tokens, bool _sell)
        internal
        view
        returns(uint256)
    {
        uint256 _tokenSupply = tokenSupply_;
        uint256 _etherReceived = 0;
        uint256 _grv = base;
        uint256 tempbase = upperBound_(_grv-1);
        uint256 _currentPrice = currentPrice_;
        uint256 _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
        while((_tokenSupply - _tokens) < tempbase)
        {
            uint256 tokensToSell = _tokenSupply - tempbase;
            if(tokensToSell == 0)
            {
                _tokenSupply = _tokenSupply - 1;
                _grv -= 1;
                tempbase = upperBound_(_grv-1);
                continue;
            }
            uint256 b = ((tokensToSell-1)*_tokenPriceIncremental);
            uint256 a = _currentPrice - b;
            _tokens = _tokens - tokensToSell;
            _etherReceived = _etherReceived + ((tokensToSell/2)*((2*a)+b));
            _currentPrice = a;
            _tokenSupply = _tokenSupply - tokensToSell;
            _grv = _grv-1 ;
            _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
            tempbase = upperBound_(_grv-1);
        }
        if(_tokens > 0)
        {
             a = _currentPrice - ((_tokens-1)*_tokenPriceIncremental);
             _etherReceived = _etherReceived + ((_tokens/2)*((2*a)+((_tokens-1)*_tokenPriceIncremental)));
             _tokenSupply = _tokenSupply - _tokens;
             _currentPrice = a;
        }
       
        if(_sell == true)
        {
            base = _grv;
            currentPrice_ = _currentPrice;
        }
        return _etherReceived;
    }
   
   
    function sqrt(uint x) internal pure returns (uint y) {
        uint z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"level1Holding_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopSellDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_toCheck","type":"address"}],"name":"rewardOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentPrice_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_currentPrice","type":"uint256"},{"name":"_grv","type":"uint256"}],"name":"upgradeDetails","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"base","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"genTree","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startSellDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fundsInjection","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"basePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardSupply_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_users","type":"address[]"},{"name":"_balances","type":"uint256[]"},{"name":"_rewards","type":"uint256[]"},{"name":"_referredBy","type":"address[]"},{"name":"modeType","type":"uint256"}],"name":"upgradeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"setBasePrice","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_commissionHolder","type":"address"}],"name":"setupCommissionHolder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_toCheck","type":"address"}],"name":"holdingLevel1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"rewardAmount","type":"uint256"},{"indexed":false,"name":"level","type":"uint256"}],"name":"Reward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"currBal","type":"uint256"}],"name":"testLog","type":"event"}]

60806040526040805190810160405280601081526020017f4c696e6b20547261646520546f6b656e0000000000000000000000000000000081525060009080519060200190620000519291906200028b565b506040805190810160405280600381526020017f4c54540000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f9291906200028b565b50620dbba0600255630faf788665763bfbd2200001600355600160045561017c60055561044c600655621e84806007556000600b5560a060405190810160405280600560ff168152602001600260ff168152602001600160ff168152602001600160ff168152602001600160ff1681525060109060056200012292919062000312565b5060a060405190810160405280600061ffff1681526020016101cc61ffff1681526020016101cc61ffff1681526020016103a261ffff1681526020016103a261ffff1681525060119060056200017a929190620003c0565b506103e860125560006013556000601460006101000a81548160ff0219169083151502179055506000601460016101000a81548160ff021916908315150217905550348015620001c957600080fd5b5033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000473565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ce57805160ff1916838001178555620002ff565b82800160010185558215620002ff579182015b82811115620002fe578251825591602001919060010190620002e1565b5b5090506200030e919062000418565b5090565b82805482825590600052602060002090601f01602090048101928215620003ad5791602002820160005b838211156200037c57835183826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026200033c565b8015620003ab5782816101000a81549060ff02191690556001016020816000010492830192600103026200037c565b505b509050620003bc919062000440565b5090565b82805482825590600052602060002090810192821562000405579160200282015b8281111562000404578251829061ffff16905591602001919060010190620003e1565b5b50905062000414919062000418565b5090565b6200043d91905b80821115620004395760008160009055506001016200041f565b5090565b90565b6200047091905b808211156200046c57600081816101000a81549060ff02191690555060010162000447565b5090565b90565b612a7980620004836000396000f3006080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101c55780630c9a49f01461025557806310d0ffdd146102ac5780631732f7cf146102ed57806318160ddd146103045780631d62ebd91461032f57806322609373146103865780632b68b9c6146103c75780632e926d49146103de578063313ce56714610409578063324536eb1461043a5780633319544c146104655780635001f3b51461049c5780636b2f4632146104c757806370a08231146104f257806370ba1113146105495780637824407f146105745780638620410b1461059f578063949e8acd146105ca57806395d89b41146105f55780639b5aaebf14610685578063a9059cbb14610708578063a90ffbe31461076d578063b84c824614610784578063ba1b37f2146107ed578063c47f00271461080f578063c7876ea414610878578063c7b8981c146108a3578063d5afbee4146108ce578063da51cc85146108f9578063de4b326214610a32578063e4849b3214610a77578063f088d54714610aa4578063f531497c14610aee578063f71e41a514610b31575b6101c2346000610b88565b50005b3480156101d157600080fd5b506101da610d7f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021a5780820151818401526020810190506101ff565b50505050905090810190601f1680156102475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026157600080fd5b50610296600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1d565b6040518082815260200191505060405180910390f35b3480156102b857600080fd5b506102d760048036038101908080359060200190929190505050610e35565b6040518082815260200191505060405180910390f35b3480156102f957600080fd5b50610302610e71565b005b34801561031057600080fd5b50610319610eec565b6040518082815260200191505060405180910390f35b34801561033b57600080fd5b50610370600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef6565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103b160048036038101908080359060200190929190505050610f3f565b6040518082815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610f8f565b005b3480156103ea57600080fd5b506103f3611027565b6040518082815260200191505060405180910390f35b34801561041557600080fd5b5061041e61102d565b604051808260ff1660ff16815260200191505060405180910390f35b34801561044657600080fd5b5061044f611032565b6040518082815260200191505060405180910390f35b34801561047157600080fd5b5061049a6004803603810190808035906020019092919080359060200190929190505050611038565b005b3480156104a857600080fd5b506104b16110a8565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b506104dc6110ae565b6040518082815260200191505060405180910390f35b3480156104fe57600080fd5b50610533600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110cd565b6040518082815260200191505060405180910390f35b34801561055557600080fd5b5061055e611116565b6040518082815260200191505060405180910390f35b34801561058057600080fd5b5061058961111c565b6040518082815260200191505060405180910390f35b3480156105ab57600080fd5b506105b4611126565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b506105df611130565b6040518082815260200191505060405180910390f35b34801561060157600080fd5b5061060a611145565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064a57808201518184015260208101905061062f565b50505050905090810190601f1680156106775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069157600080fd5b506106c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071457600080fd5b50610753600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611216565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b50610782611402565b005b34801561079057600080fd5b506107eb600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061147d565b005b6107f56114f5565b604051808215151515815260200191505060405180910390f35b34801561081b57600080fd5b50610876600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114fe565b005b34801561088457600080fd5b5061088d611576565b6040518082815260200191505060405180910390f35b3480156108af57600080fd5b506108b861157c565b6040518082815260200191505060405180910390f35b3480156108da57600080fd5b506108e36117b2565b6040518082815260200191505060405180910390f35b34801561090557600080fd5b50610a3060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506117b8565b005b348015610a3e57600080fd5b50610a5d60048036038101908080359060200190929190505050611ba6565b604051808215151515815260200191505060405180910390f35b348015610a8357600080fd5b50610aa260048036038101908080359060200190929190505050611c11565b005b610ad8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fc1565b6040518082815260200191505060405180910390f35b348015610afa57600080fd5b50610b2f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061212b565b005b348015610b3d57600080fd5b50610b72600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612247565b6040518082815260200191505060405180910390f35b6000806000339150610ba1856003546004546001612290565b9050600081118015610bbf5750600b54610bbd82600b546123e2565b115b1515610bca57600080fd5b610bd6600b54826123e2565b600b8190555060075460025401610bef82600b546123e2565b101515610bfb57600080fd5b610c1961271060c8600654038302811515610c1257fe5b0483612400565b610c34816127106006548402811515610c2e57fe5b0461276c565b905080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610ccc600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826123e2565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3809250505092915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e155780601f10610dea57610100808354040283529160200191610e15565b820191906000526020600020905b815481529060010190602001808311610df857829003601f168201915b505050505081565b600e6020528060005260406000206000915090505481565b600080610e49836003546004546000612290565b9050610e66816127106006548402811515610e6057fe5b0461276c565b905080915050919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ece57600080fd5b6000601460006101000a81548160ff02191690831515021790555050565b6000600254905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000600b548411151515610f5557600080fd5b6127106006548502811515610f6657fe5b049150610f76846001840361276c565b9350610f83846000612785565b90508092505050919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610fec57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b600081565b60025481565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561109557600080fd5b8260038190555081600481905550505050565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b6000600b54905090565b6000600354905090565b60008033905061113f816110cd565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111db5780601f106111b0576101008083540402835291602001916111db565b820191906000526020600020905b8154815290600101906020018083116111be57829003601f168201915b505050505081565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561127657600080fd5b3391506112c2600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548561276c565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061134e600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856123e2565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561145f57600080fd5b6001601460006101000a81548160ff02191690831515021790555050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156114da57600080fd5b81600190805190602001906114f09291906129a8565b505050565b60006001905090565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561155b57600080fd5b81600090805190602001906115719291906129a8565b505050565b60055481565b600080600080339250601460019054906101000a900460ff161515156115a157600080fd5b601254600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156115f057600080fd5b6001601460016101000a81548160ff0219169083151502179055506064600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481151561165657fe5b04915060648202600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a361172982612710600654850281151561172357fe5b0461276c565b9150611736826001612785565b9050611744600b548361276c565b600b819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611790573d6000803e3d6000fd5b506000601460016101000a81548160ff02191690831515021790555050505090565b60075481565b600080339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181657600080fd5b6001831415611aca57600091505b8651821015611ac957858281518110151561183b57fe5b9060200190602002015160086000898581518110151561185757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555085828151811015156118b657fe5b90602001906020020151600b6000828254019250508190555083828151811015156118dd57fe5b90602001906020020151600d600089858151811015156118f957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848281518110151561198957fe5b906020019060200201516009600089858151811015156119a557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060648583815181101515611a0657fe5b90602001906020020151811515611a1957fe5b04600b600082825401925050819055508682815181101515611a3757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8885815181101515611a9d57fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050611824565b5b6002831415611b9d57600091505b8651821015611b9c578582815181101515611aef57fe5b90602001906020020151600960008985815181101515611b0b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060648683815181101515611b6c57fe5b90602001906020020151811515611b7f57fe5b04600b600082825401925050819055508180600101925050611ad8565b5b50505050505050565b600080339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0457600080fd5b8260058190555050919050565b600080600080600080611c22611130565b111515611c2e57600080fd5b601460019054906101000a900460ff16151515611c4a57600080fd5b6001601460016101000a81548160ff021916908315150217905550339450600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611151515611cb657600080fd5b8593506127106006548502811515611cca57fe5b04925061271060c8600654038502811515611ce157fe5b04915061271060c88502811515611cf457fe5b0460086000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611d6d848461276c565b9350611d7a846001612785565b9050611d88600b548561276c565b600b81905550611dd7600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761276c565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082118015611e365750601460009054906101000a900460ff165b15611e4657611e458286612400565b5b85600e6000600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f38573d6000803e3d6000fd5b503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36000601460016101000a81548160ff021916908315150217905550505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561209c57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061211b565b81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6121253483610b88565b50919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561218857600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060008060008060008060018a0360020a630faf78860296506122b88b6002028861276c565b9550600b54945060009350866002026122e36122dd8e8a6008020260028a0a016128bd565b8861276c565b8115156122ec57fe5b0492506122f88a612908565b91505b8185840111156123a557848203925061232c8c8860018603028d6002020160028681151561232557fe5b040261276c565b9b508660018403028b019a5060018a01995060018a0360020a630faf788602965061235a8b6002028861276c565b95508660020261237c6123768e8a6008020260028a0a016128bd565b8861276c565b81151561238557fe5b0490508285019450828401935080925061239e8a612908565b91506122fb565b82840193508660018403028b019a506001151589151514156123d0578a600381905550896004819055505b83975050505050505050949350505050565b60008082840190508381101515156123f657fe5b8091505092915050565b600080600080600080600554600354029550606488029450600093505b60058410156126f357600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548602915085600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205402905060008373ffffffffffffffffffffffffffffffffffffffff161415801561254057506802b5e3af16b18800008210155b801561256f5750670de0b6b3a764000060118581548110151561255f57fe5b9060005260206000200154028110155b156126e657600a606460108681548110151561258757fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a02028115156125b657fe5b04600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508296508273ffffffffffffffffffffffffffffffffffffffff167f02a6a2be713fedf52f113c0a759f1c1a23a113476d9b1b1a2a453c910660de4e600a606460108881548110151561265157fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168c020281151561268057fe5b0486604051808381526020018281526020019250505060405180910390a2600a60646010868154811015156126b157fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a02028115156126e057fe5b04850394505b838060010194505061241d565b8460096000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505050505050505050565b600082821115151561277a57fe5b818303905092915050565b600080600080600080600080600080600b5498506000975060045496506127ae60018803612908565b955060035494506001870360020a630faf78860293505b858c8a03101561285657858903925060008314156127fc576001890398506001870396506127f560018803612908565b95506127c5565b83600184030291508185039050828c039b5081816002020160028481151561282057fe5b04028801975080945082890398506001870396506001870360020a630faf788602935061284f60018803612908565b95506127c5565b60008c111561288f578360018d0302850390508360018d0302816002020160028d81151561288057fe5b0402880197508b890398508094505b600115158b151514156128ab5786600481905550846003819055505b87995050505050505050505092915050565b6000806002600184018115156128cf57fe5b0490508291505b818110156129025780915060028182858115156128ef57fe5b04018115156128fa57fe5b0490506128d6565b50919050565b6000600582111515612920578161ea600290506129a3565b6005821180156129315750600a8211155b1561294a5761c3506005830302620493e00190506129a3565b600a8211801561295b5750600f8211155b1561297457619c40600a830302620864700190506129a3565b600f82118015612985575060148211155b1561299e57617530600f830302620b71b00190506129a3565b600090505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129e957805160ff1916838001178555612a17565b82800160010185558215612a17579182015b82811115612a165782518255916020019190600101906129fb565b5b509050612a249190612a28565b5090565b612a4a91905b80821115612a46576000816000905550600101612a2e565b5090565b905600a165627a7a7230582030025a6a476084c4a094a453822cb957fc91d32369c03775e1b8b793eee535c60029

Deployed Bytecode

0x6080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101c55780630c9a49f01461025557806310d0ffdd146102ac5780631732f7cf146102ed57806318160ddd146103045780631d62ebd91461032f57806322609373146103865780632b68b9c6146103c75780632e926d49146103de578063313ce56714610409578063324536eb1461043a5780633319544c146104655780635001f3b51461049c5780636b2f4632146104c757806370a08231146104f257806370ba1113146105495780637824407f146105745780638620410b1461059f578063949e8acd146105ca57806395d89b41146105f55780639b5aaebf14610685578063a9059cbb14610708578063a90ffbe31461076d578063b84c824614610784578063ba1b37f2146107ed578063c47f00271461080f578063c7876ea414610878578063c7b8981c146108a3578063d5afbee4146108ce578063da51cc85146108f9578063de4b326214610a32578063e4849b3214610a77578063f088d54714610aa4578063f531497c14610aee578063f71e41a514610b31575b6101c2346000610b88565b50005b3480156101d157600080fd5b506101da610d7f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021a5780820151818401526020810190506101ff565b50505050905090810190601f1680156102475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026157600080fd5b50610296600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1d565b6040518082815260200191505060405180910390f35b3480156102b857600080fd5b506102d760048036038101908080359060200190929190505050610e35565b6040518082815260200191505060405180910390f35b3480156102f957600080fd5b50610302610e71565b005b34801561031057600080fd5b50610319610eec565b6040518082815260200191505060405180910390f35b34801561033b57600080fd5b50610370600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef6565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103b160048036038101908080359060200190929190505050610f3f565b6040518082815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610f8f565b005b3480156103ea57600080fd5b506103f3611027565b6040518082815260200191505060405180910390f35b34801561041557600080fd5b5061041e61102d565b604051808260ff1660ff16815260200191505060405180910390f35b34801561044657600080fd5b5061044f611032565b6040518082815260200191505060405180910390f35b34801561047157600080fd5b5061049a6004803603810190808035906020019092919080359060200190929190505050611038565b005b3480156104a857600080fd5b506104b16110a8565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b506104dc6110ae565b6040518082815260200191505060405180910390f35b3480156104fe57600080fd5b50610533600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110cd565b6040518082815260200191505060405180910390f35b34801561055557600080fd5b5061055e611116565b6040518082815260200191505060405180910390f35b34801561058057600080fd5b5061058961111c565b6040518082815260200191505060405180910390f35b3480156105ab57600080fd5b506105b4611126565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b506105df611130565b6040518082815260200191505060405180910390f35b34801561060157600080fd5b5061060a611145565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064a57808201518184015260208101905061062f565b50505050905090810190601f1680156106775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069157600080fd5b506106c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071457600080fd5b50610753600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611216565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b50610782611402565b005b34801561079057600080fd5b506107eb600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061147d565b005b6107f56114f5565b604051808215151515815260200191505060405180910390f35b34801561081b57600080fd5b50610876600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506114fe565b005b34801561088457600080fd5b5061088d611576565b6040518082815260200191505060405180910390f35b3480156108af57600080fd5b506108b861157c565b6040518082815260200191505060405180910390f35b3480156108da57600080fd5b506108e36117b2565b6040518082815260200191505060405180910390f35b34801561090557600080fd5b50610a3060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506117b8565b005b348015610a3e57600080fd5b50610a5d60048036038101908080359060200190929190505050611ba6565b604051808215151515815260200191505060405180910390f35b348015610a8357600080fd5b50610aa260048036038101908080359060200190929190505050611c11565b005b610ad8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fc1565b6040518082815260200191505060405180910390f35b348015610afa57600080fd5b50610b2f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061212b565b005b348015610b3d57600080fd5b50610b72600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612247565b6040518082815260200191505060405180910390f35b6000806000339150610ba1856003546004546001612290565b9050600081118015610bbf5750600b54610bbd82600b546123e2565b115b1515610bca57600080fd5b610bd6600b54826123e2565b600b8190555060075460025401610bef82600b546123e2565b101515610bfb57600080fd5b610c1961271060c8600654038302811515610c1257fe5b0483612400565b610c34816127106006548402811515610c2e57fe5b0461276c565b905080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610ccc600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826123e2565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3809250505092915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e155780601f10610dea57610100808354040283529160200191610e15565b820191906000526020600020905b815481529060010190602001808311610df857829003601f168201915b505050505081565b600e6020528060005260406000206000915090505481565b600080610e49836003546004546000612290565b9050610e66816127106006548402811515610e6057fe5b0461276c565b905080915050919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ece57600080fd5b6000601460006101000a81548160ff02191690831515021790555050565b6000600254905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000600b548411151515610f5557600080fd5b6127106006548502811515610f6657fe5b049150610f76846001840361276c565b9350610f83846000612785565b90508092505050919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610fec57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b600081565b60025481565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561109557600080fd5b8260038190555081600481905550505050565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b6000600b54905090565b6000600354905090565b60008033905061113f816110cd565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111db5780601f106111b0576101008083540402835291602001916111db565b820191906000526020600020905b8154815290600101906020018083116111be57829003601f168201915b505050505081565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561127657600080fd5b3391506112c2600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548561276c565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061134e600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856123e2565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561145f57600080fd5b6001601460006101000a81548160ff02191690831515021790555050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156114da57600080fd5b81600190805190602001906114f09291906129a8565b505050565b60006001905090565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561155b57600080fd5b81600090805190602001906115719291906129a8565b505050565b60055481565b600080600080339250601460019054906101000a900460ff161515156115a157600080fd5b601254600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156115f057600080fd5b6001601460016101000a81548160ff0219169083151502179055506064600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481151561165657fe5b04915060648202600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a361172982612710600654850281151561172357fe5b0461276c565b9150611736826001612785565b9050611744600b548361276c565b600b819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611790573d6000803e3d6000fd5b506000601460016101000a81548160ff02191690831515021790555050505090565b60075481565b600080339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181657600080fd5b6001831415611aca57600091505b8651821015611ac957858281518110151561183b57fe5b9060200190602002015160086000898581518110151561185757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555085828151811015156118b657fe5b90602001906020020151600b6000828254019250508190555083828151811015156118dd57fe5b90602001906020020151600d600089858151811015156118f957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848281518110151561198957fe5b906020019060200201516009600089858151811015156119a557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060648583815181101515611a0657fe5b90602001906020020151811515611a1957fe5b04600b600082825401925050819055508682815181101515611a3757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8885815181101515611a9d57fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050611824565b5b6002831415611b9d57600091505b8651821015611b9c578582815181101515611aef57fe5b90602001906020020151600960008985815181101515611b0b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060648683815181101515611b6c57fe5b90602001906020020151811515611b7f57fe5b04600b600082825401925050819055508180600101925050611ad8565b5b50505050505050565b600080339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0457600080fd5b8260058190555050919050565b600080600080600080611c22611130565b111515611c2e57600080fd5b601460019054906101000a900460ff16151515611c4a57600080fd5b6001601460016101000a81548160ff021916908315150217905550339450600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611151515611cb657600080fd5b8593506127106006548502811515611cca57fe5b04925061271060c8600654038502811515611ce157fe5b04915061271060c88502811515611cf457fe5b0460086000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611d6d848461276c565b9350611d7a846001612785565b9050611d88600b548561276c565b600b81905550611dd7600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761276c565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082118015611e365750601460009054906101000a900460ff165b15611e4657611e458286612400565b5b85600e6000600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f38573d6000803e3d6000fd5b503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36000601460016101000a81548160ff021916908315150217905550505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561209c57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061211b565b81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6121253483610b88565b50919050565b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561218857600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060008060008060008060018a0360020a630faf78860296506122b88b6002028861276c565b9550600b54945060009350866002026122e36122dd8e8a6008020260028a0a016128bd565b8861276c565b8115156122ec57fe5b0492506122f88a612908565b91505b8185840111156123a557848203925061232c8c8860018603028d6002020160028681151561232557fe5b040261276c565b9b508660018403028b019a5060018a01995060018a0360020a630faf788602965061235a8b6002028861276c565b95508660020261237c6123768e8a6008020260028a0a016128bd565b8861276c565b81151561238557fe5b0490508285019450828401935080925061239e8a612908565b91506122fb565b82840193508660018403028b019a506001151589151514156123d0578a600381905550896004819055505b83975050505050505050949350505050565b60008082840190508381101515156123f657fe5b8091505092915050565b600080600080600080600554600354029550606488029450600093505b60058410156126f357600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548602915085600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205402905060008373ffffffffffffffffffffffffffffffffffffffff161415801561254057506802b5e3af16b18800008210155b801561256f5750670de0b6b3a764000060118581548110151561255f57fe5b9060005260206000200154028110155b156126e657600a606460108681548110151561258757fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a02028115156125b657fe5b04600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508296508273ffffffffffffffffffffffffffffffffffffffff167f02a6a2be713fedf52f113c0a759f1c1a23a113476d9b1b1a2a453c910660de4e600a606460108881548110151561265157fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168c020281151561268057fe5b0486604051808381526020018281526020019250505060405180910390a2600a60646010868154811015156126b157fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168a02028115156126e057fe5b04850394505b838060010194505061241d565b8460096000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505050505050505050565b600082821115151561277a57fe5b818303905092915050565b600080600080600080600080600080600b5498506000975060045496506127ae60018803612908565b955060035494506001870360020a630faf78860293505b858c8a03101561285657858903925060008314156127fc576001890398506001870396506127f560018803612908565b95506127c5565b83600184030291508185039050828c039b5081816002020160028481151561282057fe5b04028801975080945082890398506001870396506001870360020a630faf788602935061284f60018803612908565b95506127c5565b60008c111561288f578360018d0302850390508360018d0302816002020160028d81151561288057fe5b0402880197508b890398508094505b600115158b151514156128ab5786600481905550846003819055505b87995050505050505050505092915050565b6000806002600184018115156128cf57fe5b0490508291505b818110156129025780915060028182858115156128ef57fe5b04018115156128fa57fe5b0490506128d6565b50919050565b6000600582111515612920578161ea600290506129a3565b6005821180156129315750600a8211155b1561294a5761c3506005830302620493e00190506129a3565b600a8211801561295b5750600f8211155b1561297457619c40600a830302620864700190506129a3565b600f82118015612985575060148211155b1561299e57617530600f830302620b71b00190506129a3565b600090505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129e957805160ff1916838001178555612a17565b82800160010185558215612a17579182015b82811115612a165782518255916020019190600101906129fb565b5b509050612a249190612a28565b5090565b612a4a91905b80821115612a46576000816000905550600101612a2e565b5090565b905600a165627a7a7230582030025a6a476084c4a094a453822cb957fc91d32369c03775e1b8b793eee535c60029

Deployed Bytecode Sourcemap

28:16723:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5852:30;5867:9;5878:3;5852:14;:30::i;:::-;;28:16723;819:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;819:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10404:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10404:352:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3227:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3227:109:0;;;;;;8805:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8805:122:0;;;;;;;;;;;;;;;;;;;;;;;7210:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7210:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9782:401;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9782:401:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8095:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8095:87:0;;;;;;1118:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1118:74:0;;;;;;;;;;;;;;;;;;;;;;;900:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;941:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;941:36:0;;;;;;;;;;;;;;;;;;;;;;;3348:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3348:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1199:23:0;;;;;;;;;;;;;;;;;;;;;;;8657:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8657:137:0;;;;;;;;;;;;;;;;;;;;;;;9400:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9400:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1266:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1266:26:0;;;;;;;;;;;;;;;;;;;;;;;8938:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8938:110:0;;;;;;;;;;;;;;;;;;;;;;;9651:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9651:120:0;;;;;;;;;;;;;;;;;;;;;;;9126:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9126:182:0;;;;;;;;;;;;;;;;;;;;;;;865:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;865:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;865:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1597:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7527:557;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7527:557:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3106:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3106:109:0;;;;;;8316:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8316:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3004:90;;;;;;;;;;;;;;;;;;;;;;;;;;;8193:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8193:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1229:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1229:30:0;;;;;;;;;;;;;;;;;;;;;;;3532:730;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3532:730:0;;;;;;;;;;;;;;;;;;;;;;;1299:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1299:38:0;;;;;;;;;;;;;;;;;;;;;;;2065:929;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2065:929:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5294:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5294:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5963:1236;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5963:1236:0;;;;;;;;;;;;;;;;;;;;;;;;;;5436:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8444:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8444:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7369:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7369:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10767:1089;10874:7;10922:24;10970:23;10949:10;10922:37;;10996:64;11014:17;11034:13;;11049:4;;11055;10996:17;:64::i;:::-;10970:90;;11097:1;11079:15;:19;:82;;;;;11148:12;;11103:42;11116:15;11132:12;;11103;:42::i;:::-;:57;11079:82;11071:91;;;;;;;;11188:43;11201:12;;11215:15;11188:12;:43::i;:::-;11173:12;:58;;;;11309:13;;11296:12;;:26;11250:42;11263:15;11279:12;;11250;:42::i;:::-;:73;11242:82;;;;;;;;11379:73;11429:5;11424:3;11416:7;;:11;11397:15;:31;:37;;;;;;;;11435:16;11379:17;:73::i;:::-;11481:62;11494:15;11537:5;11529:7;;11511:15;:25;:31;;;;;;;;11481:12;:62::i;:::-;11463:80;;11584:15;11554:14;:27;11569:11;11554:27;;;;;;;;;;;;;;;;:45;;;;;;;;;;;11650:68;11663:19;:37;11683:16;11663:37;;;;;;;;;;;;;;;;11702:15;11650:12;:68::i;:::-;11610:19;:37;11630:16;11610:37;;;;;;;;;;;;;;;:108;;;;11781:16;11757:58;;11774:4;11757:58;;;11799:15;11757:58;;;;;;;;;;;;;;;;;;11833:15;11826:22;;10767:1089;;;;;;:::o;819:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1646:49::-;;;;;;;;;;;;;;;;;:::o;10404:352::-;10510:7;10535:23;10561:63;10579:16;10597:13;;10612:4;;10618:5;10561:17;:63::i;:::-;10535:89;;10653:62;10666:15;10709:5;10701:7;;10683:15;:25;:31;;;;;;;;10653:12;:62::i;:::-;10635:80;;10733:15;10726:22;;10404:352;;;;:::o;3227:109::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;3323:5;3302:18;;:26;;;;;;;;;;;;;;;;;;3227:109;:::o;8805:122::-;8875:7;8907:12;;8900:19;;8805:122;:::o;7210:148::-;7284:7;7316:20;:30;7337:8;7316:30;;;;;;;;;;;;;;;;7309:37;;7210:148;;;:::o;9782:401::-;9887:7;9961:16;10090:17;9937:12;;9920:13;:29;;9912:38;;;;;;;;10006:5;9996:7;;9980:13;:23;:31;;;;;;;;9961:50;;10038:41;10051:13;10076:1;10067:8;:10;10038:12;:41::i;:::-;10022:57;;10110:38;10128:13;10142:5;10110:17;:38::i;:::-;10090:58;;10166:9;10159:16;;9782:401;;;;;:::o;8095:87::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;8165:8;;;;;;;;;;;8152:22;;;1118:74;;;;:::o;900:34::-;933:1;900:34;:::o;941:36::-;;;;:::o;3348:173::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;3478:13;3462;:29;;;;3509:4;3502;:11;;;;3348:173;;;:::o;1199:23::-;;;;:::o;8657:137::-;8736:4;8773;8765:21;;;8758:28;;8657:137;:::o;9400:169::-;9492:7;9524:19;:37;9544:16;9524:37;;;;;;;;;;;;;;;;9517:44;;9400:169;;;:::o;1266:26::-;;;;:::o;8938:110::-;8996:7;9028:12;;9021:19;;8938:110;:::o;9651:120::-;9718:7;9750:13;;9743:20;;9651:120;:::o;9126:182::-;9193:7;9218:24;9245:10;9218:37;;9273:27;9283:16;9273:9;:27::i;:::-;9266:34;;9126:182;;:::o;865:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1597:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;7527:557::-;7652:4;7692:24;214;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;7719:10;7692:37;;7808:68;7821:19;:37;7841:16;7821:37;;;;;;;;;;;;;;;;7860:15;7808:12;:68::i;:::-;7768:19;:37;7788:16;7768:37;;;;;;;;;;;;;;;:108;;;;7921:62;7934:19;:31;7954:10;7934:31;;;;;;;;;;;;;;;;7967:15;7921:12;:62::i;:::-;7887:19;:31;7907:10;7887:31;;;;;;;;;;;;;;;:96;;;;8026:10;7999:55;;8008:16;7999:55;;;8038:15;7999:55;;;;;;;;;;;;;;;;;;8072:4;8065:11;;7527:557;;;;;;:::o;3106:109::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;3203:4;3182:18;;:25;;;;;;;;;;;;;;;;;;3106:109;:::o;8316:120::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;8421:7;8412:6;:16;;;;;;;;;;;;:::i;:::-;;8316:120;;:::o;3004:90::-;3053:4;3082;3075:11;;3004:90;:::o;8193:112::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;8292:5;8285:4;:12;;;;;;;;;;;;:::i;:::-;;8193:112;;:::o;1229:30::-;;;;:::o;3532:730::-;3574:7;3599:24;3786:16;4059:17;3626:10;3599:37;;3656:15;;;;;;;;;;;3655:16;3647:25;;;;;;;;3730:11;;3691:20;:38;3712:16;3691:38;;;;;;;;;;;;;;;;:50;3683:59;;;;;;;;3771:4;3753:15;;:22;;;;;;;;;;;;;;;;;;3844:3;3805:20;:38;3826:16;3805:38;;;;;;;;;;;;;;;;:42;;;;;;;;3786:61;;3909:3;3900:8;:12;3858:20;:38;3879:16;3858:38;;;;;;;;;;;;;;;;:54;;;;;;;;;;;3963:4;3928:50;;3937:16;3928:50;;;3969:8;3928:50;;;;;;;;;;;;;;;;;;4000:48;4013:8;4041:5;4033:7;;4024:8;:16;:22;;;;;;;;4000:12;:48::i;:::-;3989:59;;4079:32;4097:8;4106:4;4079:17;:32::i;:::-;4059:52;;4137:36;4150:12;;4164:8;4137:12;:36::i;:::-;4122:12;:51;;;;4184:16;:25;;:36;4210:9;4184:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4184:36:0;4249:5;4231:15;;:23;;;;;;;;;;;;;;;;;;3532:730;;;;:::o;1299:38::-;;;;:::o;2065:929::-;2286:6;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;2255:1;2243:8;:13;2240:506;;;2295:1;2286:10;;2282:453;2300:6;:13;2298:1;:15;2282:453;;;2385:9;2395:1;2385:12;;;;;;;;;;;;;;;;;;2351:19;:30;2371:6;2378:1;2371:9;;;;;;;;;;;;;;;;;;2351:30;;;;;;;;;;;;;;;;:46;;;;;;;;;;;2432:9;2442:1;2432:12;;;;;;;;;;;;;;;;;;2416;;:28;;;;;;;;;;;2484:11;2496:1;2484:14;;;;;;;;;;;;;;;;;;2463:7;:18;2471:6;2478:1;2471:9;;;;;;;;;;;;;;;;;;2463:18;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;2570:8;2579:1;2570:11;;;;;;;;;;;;;;;;;;2535:20;:31;2556:6;2563:1;2556:9;;;;;;;;;;;;;;;;;;2535:31;;;;;;;;;;;;;;;;:46;;;;;;;;;;;2628:3;2616:8;2625:1;2616:11;;;;;;;;;;;;;;;;;;:15;;;;;;;;2600:12;;:31;;;;;;;;;;;2696:6;2703:1;2696:9;;;;;;;;;;;;;;;;;;2673:46;;2690:4;2673:46;;;2706:9;2716:1;2706:12;;;;;;;;;;;;;;;;;;2673:46;;;;;;;;;;;;;;;;;;2314:3;;;;;;;2282:453;;;2240:506;2771:1;2759:8;:13;2756:231;;;2806:1;2802:5;;2798:178;2811:6;:13;2809:1;:15;2798:178;;;2897:9;2907:1;2897:12;;;;;;;;;;;;;;;;;;2862:20;:31;2883:6;2890:1;2883:9;;;;;;;;;;;;;;;;;;2862:31;;;;;;;;;;;;;;;;:47;;;;;;;;;;;2957:3;2944:9;2954:1;2944:12;;;;;;;;;;;;;;;;;;:16;;;;;;;;2928:12;;:32;;;;;;;;;;;2825:3;;;;;;;2798:178;;;2756:231;2065:929;;;;;;;:::o;5294:131::-;5382:4;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;5411:6;5399:9;:18;;;;5294:131;;;;:::o;5963:1236::-;6152:24;6276:15;6320:16;6375:18;6559:17;147:1;134:10;:8;:10::i;:::-;:14;126:23;;;;;;;;6069:15;;;;;;;;;;;6068:16;6060:25;;;;;;;;6137:4;6119:15;;:22;;;;;;;;;;;;;;;;;;6179:10;6152:37;;6227:19;:37;6247:16;6227:37;;;;;;;;;;;;;;;;6208:15;:56;;6200:65;;;;;;;;6294:15;6276:33;;6359:5;6349:7;;6339;:17;:25;;;;;;;;6320:44;;6420:5;6415:3;6407:7;;:11;6396:7;:23;:29;;;;;;;;6375:50;;6491:5;6486:3;6478:7;:11;6477:19;;;;;;;;6436;:37;6456:16;;;;;;;;;;;6436:37;;;;;;;;;;;;;;;;:60;;;;;;;;;;;6517:31;6530:7;6539:8;6517:12;:31::i;:::-;6507:41;;6579:31;6597:7;6605:4;6579:17;:31::i;:::-;6559:51;;6669:35;6682:12;;6696:7;6669:12;:35::i;:::-;6654:12;:50;;;;6755:68;6768:19;:37;6788:16;6768:37;;;;;;;;;;;;;;;;6807:15;6755:12;:68::i;:::-;6715:19;:37;6735:16;6715:37;;;;;;;;;;;;;;;:108;;;;6850:1;6837:10;:14;:36;;;;;6855:18;;;;;;;;;;;6837:36;6834:123;;;6899:46;6917:10;6928:16;6899:17;:46::i;:::-;6834:123;7011:15;6967:14;:41;6982:7;:25;6990:16;6982:25;;;;;;;;;;;;;;;;;;;;;;;;;6967:41;;;;;;;;;;;;;;;;:59;;;;;;;;;;;7047:16;:25;;:36;7073:9;7047:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7047:36:0;7134:4;7099:58;;7108:16;7099:58;;;7141:15;7099:58;;;;;;;;;;;;;;;;;;7186:5;7168:15;;:23;;;;;;;;;;;;;;;;;;5963:1236;;;;;;:::o;5436:345::-;5520:7;5562:11;5548:25;;:10;:25;;;5545:180;;;5621:8;;;;;;;;;;;5599:7;:19;5607:10;5599:19;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;5545:180;;;5702:11;5680:7;:19;5688:10;5680:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;5545:180;5735:38;5750:9;5761:11;5735:14;:38::i;:::-;;5436:345;;;:::o;8444:205::-;214:24;241:10;214:37;;270:14;:32;285:16;270:32;;;;;;;;;;;;;;;;;;;;;;;;;262:41;;;;;;;;8574:17;8555:16;;:36;;;;;;;;;;;;;;;;;;8637:4;8602:14;:32;8617:16;;;;;;;;;;;8602:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;8444:205;;:::o;7369:147::-;7448:7;7480:14;:24;7495:8;7480:24;;;;;;;;;;;;;;;;7473:31;;7369:147;;;:::o;11867:2399::-;12010:7;12035:30;12117:15;12201:20;12247;12282:23;12659:16;13329:27;12102:1;12097:4;:6;12093:1;:11;1102:9;12069:36;12035:71;;12135:55;12151:13;12149:1;:15;12167:22;12135:12;:55::i;:::-;12117:73;;12224:12;;12201:35;;12270:1;12247:24;;12614:22;12612:1;:24;12342:253;12378:166;12507:9;12484:22;12482:1;:24;:34;12448:1;12439:7;:10;:78;12378:4;:166::i;:::-;12569:7;12342:12;:253::i;:::-;12323:314;;;;;;;;12282:366;;12678:17;12690:4;12678:11;:17::i;:::-;12659:36;;12706:1264;12747:8;12731:12;12713:15;:30;12712:43;12706:1264;;;12800:12;12789:8;:23;12771:41;;12839:196;12870:9;12996:22;12975:1;12959:15;:17;12958:60;12942:13;12940:1;:15;12939:80;12917:1;12900:15;12899:19;;;;;;;;12898:122;12839:12;:196::i;:::-;12827:208;;13101:22;13098:1;13082:15;:17;13081:42;13066:13;:58;13050:74;;13153:1;13146:4;:8;13139:15;;13230:1;13225:4;:6;13220:1;13219:13;1102:9;13195:38;13169:65;;13259:55;13275:13;13273:1;:15;13291:22;13259:12;:55::i;:::-;13249:65;;13705:22;13703:1;:24;13401:281;13441:182;13582:9;13559:22;13557:1;:24;:34;13519:1;13510:7;:10;:82;13441:4;:182::i;:::-;13652:7;13401:12;:281::i;:::-;13378:350;;;;;;;;13329:414;;13788:15;13773:12;:30;13758:45;;13848:15;13833:12;:30;13818:45;;13896:19;13878:37;;13941:17;13953:4;13941:11;:17::i;:::-;13930:28;;12706:1264;;;14010:15;13995:12;:30;13980:45;;14087:22;14084:1;14068:15;:17;14067:42;14052:13;:58;14036:74;;14132:4;14124:12;;:4;:12;;;14121:108;;;14178:13;14162;:29;;;;14213:4;14206;:11;;;;14121:108;14246:12;14239:19;;11867:2399;;;;;;;;;;;;;:::o;17863:147::-;17921:7;17941:9;17957:1;17953;:5;17941:17;;17981:1;17976;:6;;17969:14;;;;;;18001:1;17994:8;;17863:147;;;;;:::o;4273:1011::-;4384:21;4442:31;4514:6;4558:16;4616:13;4690:22;4422:9;;4408:13;;:23;4384:47;;4496:3;4476:19;:23;4442:57;;4521:1;4514:8;;4510:691;4526:1;4524;:3;4510:691;;;4577:7;:24;4585:15;4577:24;;;;;;;;;;;;;;;;;;;;;;;;;4558:43;;4646:19;:29;4666:8;4646:29;;;;;;;;;;;;;;;;4632:13;:43;4616:59;;4740:13;4715:14;:24;4730:8;4715:24;;;;;;;;;;;;;;;;:38;4690:63;;4783:3;4771:8;:15;;;;:39;;;;;4800:9;4790:5;:20;;4771:39;:81;;;;;4845:6;4833:8;4842:1;4833:11;;;;;;;;;;;;;;;;;;:18;4814:14;:38;;4771:81;4768:422;;;4958:2;4953:3;4941:8;4950:1;4941:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4921:31;;:19;:31;:35;4920:40;;;;;;;;4886:20;:30;4907:8;4886:30;;;;;;;;;;;;;;;;:74;;;;;;;;;;;4997:8;4979:26;;5036:8;5029:59;;;5083:2;5078:3;5066:8;5075:1;5066:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5046:31;;:19;:31;:35;5045:40;;;;;;;;5086:1;5029:59;;;;;;;;;;;;;;;;;;;;;;;;5172:2;5167:3;5155:8;5164:1;5155:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5135:31;;:19;:31;:35;5134:40;;;;;;;;5107:67;;;;4768:422;4529:3;;;;;;;4510:691;;;5253:23;5211:20;:38;5232:16;;;;;;;;;;;5211:38;;;;;;;;;;;;;;;;:65;;;;;;;;;;;4273:1011;;;;;;;;:::o;17665:123::-;17723:7;17755:1;17750;:6;;17743:14;;;;;;17779:1;17775;:5;17768:12;;17665:123;;;;:::o;14807:1727::-;14912:7;14937:20;14983:22;15020:12;15050:16;15099:21;15147:30;15298:20;15578:9;15646;14960:12;;14937:35;;15008:1;14983:26;;15035:4;;15020:19;;15069;15086:1;15081:4;:6;15069:11;:19::i;:::-;15050:38;;15123:13;;15099:37;;15216:1;15211:4;:6;15206:1;15205:13;1102:9;15181:38;15147:73;;15231:823;15264:8;15253:7;15238:12;:22;15237:35;15231:823;;;15336:8;15321:12;:23;15298:46;;15378:1;15362:12;:17;15359:205;;;15443:1;15428:12;:16;15413:31;;15471:1;15463:9;;;;15502:19;15519:1;15514:4;:6;15502:11;:19::i;:::-;15491:30;;15540:8;;15359:205;15608:22;15605:1;15592:12;:14;15591:39;15578:53;;15674:1;15658:13;:17;15646:29;;15710:12;15700:7;:22;15690:32;;15796:1;15793;15791;:3;15790:7;15786:1;15773:12;:14;;;;;;;;15772:26;15754:14;:45;15737:62;;15830:1;15814:17;;15876:12;15861;:27;15846:42;;15915:1;15910:4;:6;15903:13;;15993:1;15988:4;:6;15983:1;15982:13;1102:9;15958:38;15932:65;;16023:19;16040:1;16035:4;:6;16023:11;:19::i;:::-;16012:30;;15231:823;;;16077:1;16067:7;:11;16064:303;;;16138:22;16135:1;16127:7;:9;16126:34;16109:13;:52;16105:56;;16244:22;16241:1;16233:7;:9;16232:34;16228:1;16226;:3;16225:42;16221:1;16213:7;:9;;;;;;;;16212:56;16194:14;:75;16177:92;;16315:7;16300:12;:22;16285:37;;16354:1;16338:17;;16064:303;16398:4;16389:13;;:5;:13;;;16386:109;;;16435:4;16428;:11;;;;16470:13;16454;:29;;;;16386:109;16512:14;16505:21;;14807:1727;;;;;;;;;;;;;:::o;16550:198::-;16595:6;16614;16633:1;16628;16624;:5;16623:11;;;;;;;;16614:20;;16649:1;16645:5;;16661:80;16672:1;16668;:5;16661:80;;;16694:1;16690:5;;16728:1;16723;16719;16715;:5;;;;;;;;:9;16714:15;;;;;;;;16710:19;;16661:80;;;16550:198;;;;:::o;14277:518::-;14349:7;14385:1;14377:4;:9;;14374:71;;;14428:4;14420:5;:12;14412:21;;;;14374:71;14465:1;14458:4;:8;:22;;;;;14478:2;14470:4;:10;;14458:22;14455:97;;;14533:5;14530:1;14525:4;:6;14524:14;14514:6;:25;14506:34;;;;14455:97;14572:2;14565:4;:9;:23;;;;;14586:2;14578:4;:10;;14565:23;14562:99;;;14642:5;14638:2;14633:4;:7;14632:15;14622:6;:26;14614:35;;;;14562:99;14681:2;14674:4;:9;:23;;;;;14695:2;14687:4;:10;;14674:23;14671:98;;;14750:5;14746:2;14741:4;:7;14740:15;14731:6;:25;14723:34;;;;14671:98;14786:1;14779:8;;14277:518;;;;:::o;28:16723::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://30025a6a476084c4a094a453822cb957fc91d32369c03775e1b8b793eee535c6
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.