ETH Price: $2,308.95 (-0.07%)

Token

Decentralize Silver Token (DST)
 

Overview

Max Total Supply

143,059,900 DST

Holders

4,293

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
20 DST

Value
$0.00
0x1f735f4aecc9c5017b549926c8dfa0c75fba36cb
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:
DSTToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-14
*/

pragma solidity ^0.4.18;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
contract SafeMath {
  function safeMul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

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

  function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}
// accepted from zeppelin-solidity https://github.com/OpenZeppelin/zeppelin-solidity
/*
 * ERC20 interface
 * see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
  uint public totalSupply;
  function balanceOf(address _who) public constant returns (uint);
  function allowance(address _owner, address _spender) public constant returns (uint);

  function transfer(address _to, uint _value) public returns (bool ok);
  function transferFrom(address _from, address _to, uint _value) public returns (bool ok);
  function approve(address _spender, uint _value) public returns (bool ok);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}
/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  // event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    // OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract DSTToken is ERC20, Ownable, SafeMath {

    // Token related informations
    string public constant name = "Decentralize Silver Token";
    string public constant symbol = "DST";
    uint256 public constant decimals = 18; // decimal places

    uint256 public tokensPerEther = 1500;

    // MultiSig Wallet Address
    address public DSTMultisig;

    // Wallet L,M,N and O address
    address dstWalletLMNO;

    bool public startStop = false;

    mapping (address => uint256) public walletA;
    mapping (address => uint256) public walletB; 
    mapping (address => uint256) public walletC;
    mapping (address => uint256) public walletF;
    mapping (address => uint256) public walletG;
    mapping (address => uint256) public walletH;

    mapping (address => uint256) public releasedA;
    mapping (address => uint256) public releasedB; 
    mapping (address => uint256) public releasedC;
    mapping (address => uint256) public releasedF;
    mapping (address => uint256) public releasedG; 
    mapping (address => uint256) public releasedH;

    // Mapping of token balance and allowed address for each address with transfer limit
    mapping (address => uint256) balances;
    //mapping of allowed address for each address with tranfer limit
    mapping (address => mapping (address => uint256)) allowed;

    struct WalletConfig{
        uint256 start;
        uint256 cliff;
        uint256 duration;
    }

    mapping (uint => address) public walletAddresses;
    mapping (uint => WalletConfig) public allWalletConfig;

    // @param _dstWalletLMNO Ether Address for wallet L,M,N and O
    // Only to be called by Owner of this contract
    function setDSTWalletLMNO(address _dstWalletLMNO) onlyOwner external{
        require(_dstWalletLMNO != address(0));
        dstWalletLMNO = _dstWalletLMNO;
    }

    // Owner can Set Multisig wallet
    // @param _dstMultisig address of Multisig wallet.
    function setDSTMultiSig(address _dstMultisig) onlyOwner external{
        require(_dstMultisig != address(0));
        DSTMultisig = _dstMultisig;
    }

    function startStopICO(bool status) onlyOwner external{
        startStop = status;
    }

    function addWalletAddressAndTokens(uint _id, address _walletAddress, uint256 _tokens) onlyOwner external{
        require(_walletAddress != address(0));
        walletAddresses[_id] = _walletAddress;
        balances[_walletAddress] = safeAdd(balances[_walletAddress],_tokens); // wallet tokens initialize        
    }

    // function preAllocation(uint256 _walletId, uint256 _tokens) onlyOwner external{
    //     require(_tokens > 0);
    //     balances[walletAddresses[_walletId]] = safeAdd(balances[walletAddresses[_walletId]],_tokens); // wallet tokens initialize
    // }

    function addWalletConfig(uint256 _id, uint256 _start, uint256 _cliff, uint256 _duration) onlyOwner external{
        uint256 start = safeAdd(_start,now);
        uint256 cliff = safeAdd(start,_cliff);
        allWalletConfig[_id] = WalletConfig(
            start,
            cliff,
            _duration
        );
    }

    function assignToken(address _investor,uint256 _tokens) external {
        // Check investor address and tokens.Not allow 0 value
        require(_investor != address(0) && _tokens > 0);
        // Check wallet have enough token balance to assign
        require(_tokens <= balances[msg.sender]);
        
        // Debit the tokens from the wallet
        balances[msg.sender] = safeSub(balances[msg.sender],_tokens);
        // Increasing the totalSupply
        totalSupply = safeAdd(totalSupply, _tokens);

        // Assign tokens to the investor
        if(msg.sender == walletAddresses[0]){
            walletA[_investor] = safeAdd(walletA[_investor],_tokens);
        }
        else if(msg.sender == walletAddresses[1]){
            walletB[_investor] = safeAdd(walletB[_investor],_tokens);
        }
        else if(msg.sender == walletAddresses[2]){
            walletC[_investor] = safeAdd(walletC[_investor],_tokens);
        }
        else if(msg.sender == walletAddresses[5]){
            walletF[_investor] = safeAdd(walletF[_investor],_tokens);
        }
        else if(msg.sender == walletAddresses[6]){
            walletG[_investor] = safeAdd(walletG[_investor],_tokens);
        }
        else if(msg.sender == walletAddresses[7]){
            walletH[_investor] = safeAdd(walletH[_investor],_tokens);
        }
        else{
            revert();
        }
    }

    function assignTokenIJK(address _userAddress,uint256 _tokens) external {
        require(msg.sender == walletAddresses[8] || msg.sender == walletAddresses[9] || msg.sender == walletAddresses[10]);
        // Check investor address and tokens.Not allow 0 value
        require(_userAddress != address(0) && _tokens > 0);
        // Assign tokens to the investor
        assignTokensWallet(msg.sender,_userAddress, _tokens);
    }

    function withdrawToken() public {
        //require(walletA[msg.sender] > 0 || walletB[msg.sender] > 0 || walletC[msg.sender] > 0);
        uint256 currentBalance = 0;
        if(walletA[msg.sender] > 0){
            uint256 unreleasedA = getReleasableAmount(0,msg.sender);
            walletA[msg.sender] = safeSub(walletA[msg.sender], unreleasedA);
            currentBalance = safeAdd(currentBalance, unreleasedA);
            releasedA[msg.sender] = safeAdd(releasedA[msg.sender], unreleasedA);
        }
        if(walletB[msg.sender] > 0){
            uint256 unreleasedB = getReleasableAmount(1,msg.sender);
            walletB[msg.sender] = safeSub(walletB[msg.sender], unreleasedB);
            currentBalance = safeAdd(currentBalance, unreleasedB);
            releasedB[msg.sender] = safeAdd(releasedB[msg.sender], unreleasedB);
        }
        if(walletC[msg.sender] > 0){
            uint256 unreleasedC = getReleasableAmount(2,msg.sender);
            walletC[msg.sender] = safeSub(walletC[msg.sender], unreleasedC);
            currentBalance = safeAdd(currentBalance, unreleasedC);
            releasedC[msg.sender] = safeAdd(releasedC[msg.sender], unreleasedC);
        }
        require(currentBalance > 0);
        // Assign tokens to the sender
        balances[msg.sender] = safeAdd(balances[msg.sender], currentBalance);
    }

    function withdrawBonusToken() public {
        //require(walletF[msg.sender] > 0 || walletG[msg.sender] > 0 || walletH[msg.sender] > 0);
        uint256 currentBalance = 0;
        if(walletF[msg.sender] > 0){
            uint256 unreleasedF = getReleasableBonusAmount(5,msg.sender);
            walletF[msg.sender] = safeSub(walletF[msg.sender], unreleasedF);
            currentBalance = safeAdd(currentBalance, unreleasedF);
            releasedF[msg.sender] = safeAdd(releasedF[msg.sender], unreleasedF);
        }
        if(walletG[msg.sender] > 0){
            uint256 unreleasedG = getReleasableBonusAmount(6,msg.sender);
            walletG[msg.sender] = safeSub(walletG[msg.sender], unreleasedG);
            currentBalance = safeAdd(currentBalance, unreleasedG);
            releasedG[msg.sender] = safeAdd(releasedG[msg.sender], unreleasedG);
        }
        if(walletH[msg.sender] > 0){
            uint256 unreleasedH = getReleasableBonusAmount(7,msg.sender);
            walletH[msg.sender] = safeSub(walletH[msg.sender], unreleasedH);
            currentBalance = safeAdd(currentBalance, unreleasedH);
            releasedH[msg.sender] = safeAdd(releasedH[msg.sender], unreleasedH);
        }
        require(currentBalance > 0);
        // Assign tokens to the sender
        balances[msg.sender] = safeAdd(balances[msg.sender], currentBalance);
    }

    function getReleasableAmount(uint256 _walletId,address _beneficiary) public view returns (uint256){
        uint256 totalBalance;

        if(_walletId == 0){
            totalBalance = safeAdd(walletA[_beneficiary], releasedA[_beneficiary]);    
            return safeSub(getData(_walletId,totalBalance), releasedA[_beneficiary]);
        }
        else if(_walletId == 1){
            totalBalance = safeAdd(walletB[_beneficiary], releasedB[_beneficiary]);
            return safeSub(getData(_walletId,totalBalance), releasedB[_beneficiary]);
        }
        else if(_walletId == 2){
            totalBalance = safeAdd(walletC[_beneficiary], releasedC[_beneficiary]);
            return safeSub(getData(_walletId,totalBalance), releasedC[_beneficiary]);
        }
        else{
            revert();
        }
    }

    function getReleasableBonusAmount(uint256 _walletId,address _beneficiary) public view returns (uint256){
        uint256 totalBalance;

        if(_walletId == 5){
            totalBalance = safeAdd(walletF[_beneficiary], releasedF[_beneficiary]);    
            return safeSub(getData(_walletId,totalBalance), releasedF[_beneficiary]);
        }
        else if(_walletId == 6){
            totalBalance = safeAdd(walletG[_beneficiary], releasedG[_beneficiary]);
            return safeSub(getData(_walletId,totalBalance), releasedG[_beneficiary]);
        }
        else if(_walletId == 7){
            totalBalance = safeAdd(walletH[_beneficiary], releasedH[_beneficiary]);
            return safeSub(getData(_walletId,totalBalance), releasedH[_beneficiary]);
        }
        else{
            revert();
        }
    }

    function getData(uint256 _walletId,uint256 _totalBalance) public view returns (uint256) {
        uint256 availableBalanceIn = safeDiv(safeMul(_totalBalance, safeSub(allWalletConfig[_walletId].cliff, allWalletConfig[_walletId].start)), allWalletConfig[_walletId].duration);
        return safeMul(availableBalanceIn, safeDiv(getVestedAmount(_walletId,_totalBalance), availableBalanceIn));
    }

    function getVestedAmount(uint256 _walletId,uint256 _totalBalance) public view returns (uint256) {
        uint256 cliff = allWalletConfig[_walletId].cliff;
        uint256 start = allWalletConfig[_walletId].start;
        uint256 duration = allWalletConfig[_walletId].duration;

        if (now < cliff) {
            return 0;
        } else if (now >= safeAdd(start,duration)) {
            return _totalBalance;
        } else {
            return safeDiv(safeMul(_totalBalance,safeSub(now,start)),duration);
        }
    }

    // Sale of the tokens. Investors can call this method to invest into DST Tokens
    function() payable external {
        // Allow only to invest in ICO stage
        require(startStop);
        // Sorry !! We only allow to invest with minimum 1 Ether as value
        require(msg.value >= 1 ether);

        // multiply by exchange rate to get newly created token amount
        uint256 createdTokens = safeMul(msg.value, tokensPerEther);

        // Call to Internal function to assign tokens
        assignTokensWallet(walletAddresses[3],msg.sender, createdTokens);
    }

    // DST accepts Cash Investment through manual process in Fiat Currency
    // DST Team will assign the tokens to investors manually through this function
    //@ param cashInvestor address of investor
    //@ param assignedTokens number of tokens to give to investor
    function cashInvestment(address cashInvestor, uint256 assignedTokens) onlyOwner external {
        // Check if cashInvestor address is set or not
        // By mistake tokens mentioned as 0, save the cost of assigning tokens.
        require(cashInvestor != address(0) && assignedTokens > 0);

        // Call to Internal function to assign tokens
        assignTokensWallet(walletAddresses[4],cashInvestor, assignedTokens);
    }

    // // Function will transfer the tokens to investor's address
    // // Common function code for Crowdsale Investor And Cash Investor 
    // function assignTokens(address investor, uint256 tokens) internal {
    //     // Creating tokens and  increasing the totalSupply
    //     totalSupply = safeAdd(totalSupply, tokens);

    //     // Assign new tokens to the sender
    //     balances[investor] = safeAdd(balances[investor], tokens);

    //     // Finally token created for sender, log the creation event
    //     Transfer(0, investor, tokens);
    // }

    // Function will transfer the tokens to investor's address
    // Common function code for Crowdsale Investor And Cash Investor 
    function assignTokensWallet(address walletAddress,address investor, uint256 tokens) internal {
        // Check wallet have enough token balance to assign
        require(tokens <= balances[walletAddress]);
        // Creating tokens and  increasing the totalSupply
        totalSupply = safeAdd(totalSupply, tokens);

        // Debit the tokens from wallet
        balances[walletAddress] = safeSub(balances[walletAddress],tokens);
        // Assign new tokens to the sender
        balances[investor] = safeAdd(balances[investor], tokens);

        // Finally token created for sender, log the creation event
        Transfer(0, investor, tokens);
    }

    function finalizeCrowdSale() external{
        // Check DST Multisig wallet set or not
        require(DSTMultisig != address(0));
        // Send fund to multisig wallet
        require(DSTMultisig.send(address(this).balance));
    }

    // @param _who The address of the investor to check balance
    // @return balance tokens of investor address
    function balanceOf(address _who) public constant returns (uint) {
        return balances[_who];
    }

    // @param _owner The address of the account owning tokens
    // @param _spender The address of the account able to transfer the tokens
    // @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) public constant returns (uint) {
        return allowed[_owner][_spender];
    }

    //  Transfer `value` DST tokens from sender's account
    // `msg.sender` to provided account address `to`.
    // @param _to The address of the recipient
    // @param _value The number of DST tokens to transfer
    // @return Whether the transfer was successful or not
    function transfer(address _to, uint _value) public returns (bool ok) {
        //validate receiver address and value.Not allow 0 value
        require(_to != 0 && _value > 0);
        uint256 senderBalance = balances[msg.sender];
        //Check sender have enough balance
        require(senderBalance >= _value);
        senderBalance = safeSub(senderBalance, _value);
        balances[msg.sender] = senderBalance;
        balances[_to] = safeAdd(balances[_to], _value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    //  Transfer `value` DST tokens from sender 'from'
    // to provided account address `to`.
    // @param from The address of the sender
    // @param to The address of the recipient
    // @param value The number of miBoodle to transfer
    // @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint _value) public returns (bool ok) {
        //validate _from,_to address and _value(Now allow with 0)
        require(_from != 0 && _to != 0 && _value > 0);
        //Check amount is approved by the owner for spender to spent and owner have enough balances
        require(allowed[_from][msg.sender] >= _value && balances[_from] >= _value);
        balances[_from] = safeSub(balances[_from],_value);
        balances[_to] = safeAdd(balances[_to],_value);
        allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender],_value);
        Transfer(_from, _to, _value);
        return true;
    }

    //  `msg.sender` approves `spender` to spend `value` tokens
    // @param spender The address of the account able to transfer the tokens
    // @param value The amount of wei to be approved for transfer
    // @return Whether the approval was successful or not
    function approve(address _spender, uint _value) public returns (bool ok) {
        //validate _spender address
        require(_spender != 0);
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    // This method is only use for debit DSTToken from DST wallet L,M,N and O
    // @dev Required state: is dstWalletLMNO set
    // @param _walletAddress The address of the wallet from tokens debit
    // @param token The number of DST tokens to debit
    // @return Whether the debit was successful or not
    function debitWalletLMNO(address _walletAddress,uint256 token) external onlyDSTWalletLMNO returns (bool){
        // Check if DST wallet LMNO is set or not
        require(dstWalletLMNO != address(0));
        // Check wallet have enough token and token is valid
        require(balances[_walletAddress] >= token && token > 0);
        // Increasing the totalSupply
        totalSupply = safeAdd(totalSupply, token);
        // Debit tokens from wallet balance
        balances[_walletAddress] = safeSub(balances[_walletAddress],token);
        return true;
    }

    // This method is only use for credit DSTToken to DST wallet L,M,N and O users
    // @dev Required state: is dstWalletLMNO set
    // @param claimAddress The address of the wallet user to credit tokens
    // @param token The number of DST tokens to credit
    // @return Whether the credit was successful or not
    function creditWalletUserLMNO(address claimAddress,uint256 token) external onlyDSTWalletLMNO returns (bool){
        // Check if DST wallet LMNO is set or not
        require(dstWalletLMNO != address(0));
        // Check claiment address and token is valid or not
        require(claimAddress != address(0) && token > 0);
        // Assign tokens to user
        balances[claimAddress] = safeAdd(balances[claimAddress], token);
        // balances[_walletAddress] = safeSub(balances[_walletAddress],token);
        return true;
    }

    // DSTWalletLMNO related modifer
    // @dev Throws if called by any account other than the DSTWalletLMNO owner
    modifier onlyDSTWalletLMNO() {
        require(msg.sender == dstWalletLMNO);
        _;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedB","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawBonusToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletF","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"walletAddresses","outputs":[{"name":"","type":"address"}],"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":"_id","type":"uint256"},{"name":"_walletAddress","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"addWalletAddressAndTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"cashInvestor","type":"address"},{"name":"assignedTokens","type":"uint256"}],"name":"cashInvestment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_start","type":"uint256"},{"name":"_cliff","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"addWalletConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedG","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_walletId","type":"uint256"},{"name":"_totalBalance","type":"uint256"}],"name":"getData","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_userAddress","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"assignTokenIJK","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"status","type":"bool"}],"name":"startStopICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_walletId","type":"uint256"},{"name":"_beneficiary","type":"address"}],"name":"getReleasableBonusAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startStop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dstMultisig","type":"address"}],"name":"setDSTMultiSig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedF","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletC","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizeCrowdSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedA","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":"walletG","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"assignToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dstWalletLMNO","type":"address"}],"name":"setDSTWalletLMNO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletA","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allWalletConfig","outputs":[{"name":"start","type":"uint256"},{"name":"cliff","type":"uint256"},{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_walletAddress","type":"address"},{"name":"token","type":"uint256"}],"name":"debitWalletLMNO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_walletId","type":"uint256"},{"name":"_beneficiary","type":"address"}],"name":"getReleasableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DSTMultisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"claimAddress","type":"address"},{"name":"token","type":"uint256"}],"name":"creditWalletUserLMNO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletB","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_walletId","type":"uint256"},{"name":"_totalBalance","type":"uint256"}],"name":"getVestedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releasedC","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60606040526105dc6002556000600460146101000a81548160ff02191690831515021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613ff9806100756000396000f300606060405260043610610224576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062574e53146102a857806302f83a56146102f55780630552acc11461030a57806306fdde0314610357578063095ea7b3146103e55780631469d5d41461043f57806318160ddd146104a257806318debd27146104cb57806319fc9e541461051657806323b872dd14610558578063313ce567146105d157806331b39a56146105fa5780633c821ad8146106385780634e4fe3061461068557806357dc561f146106c55780635a5ddcf6146107075780635fd0526e1461072c57806365d1a3b81461078257806370a08231146107cf57806371098a351461081c57806372198ead1461084957806383766111146108825780638b0b815b146108cf5780638ca9e7211461091c5780638da5cb5b1461093157806394a984921461098657806395d89b41146109d35780639c5cba0614610a61578063a401d24d14610aae578063a449a62e14610af0578063a9059cbb14610b29578063aa5d335814610b83578063af686e1b14610bd0578063b8079d4914610c15578063c5460e7114610c6f578063c8f630e314610cc5578063ca628c7814610d12578063daa50ee014610d27578063dd62ed3e14610d7c578063ea31602714610de8578063ec7e28c914610e42578063f137d1a314610e8f578063f2fde38b14610ecf578063f342830714610f08578063f856d60514610f55575b6000600460149054906101000a900460ff16151561024157600080fd5b670de0b6b3a7640000341015151561025857600080fd5b61026434600254610f7e565b90506102a5601360006003815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163383610fb9565b50005b34156102b357600080fd5b6102df600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611186565b6040518082815260200191505060405180910390f35b341561030057600080fd5b61030861119e565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116b7565b6040518082815260200191505060405180910390f35b341561036257600080fd5b61036a6116cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103aa57808201518184015260208101905061038f565b50505050905090810190601f1680156103d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103f057600080fd5b610425600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611708565b604051808215151515815260200191505060405180910390f35b341561044a57600080fd5b610460600480803590602001909190505061181f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ad57600080fd5b6104b5611852565b6040518082815260200191505060405180910390f35b34156104d657600080fd5b610514600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611858565b005b341561052157600080fd5b610556600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119d3565b005b341561056357600080fd5b6105b7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611aba565b604051808215151515815260200191505060405180910390f35b34156105dc57600080fd5b6105e4611e74565b6040518082815260200191505060405180910390f35b341561060557600080fd5b6106366004808035906020019091908035906020019091908035906020019091908035906020019091905050611e79565b005b341561064357600080fd5b61066f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f48565b6040518082815260200191505060405180910390f35b341561069057600080fd5b6106af6004808035906020019091908035906020019091905050611f60565b6040518082815260200191505060405180910390f35b34156106d057600080fd5b610705600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fe8565b005b341561071257600080fd5b61072a60048080351515906020019091905050612181565b005b341561073757600080fd5b61076c600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121fa565b6040518082815260200191505060405180910390f35b341561078d57600080fd5b6107b9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124cd565b6040518082815260200191505060405180910390f35b34156107da57600080fd5b610806600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124e5565b6040518082815260200191505060405180910390f35b341561082757600080fd5b61082f61252e565b604051808215151515815260200191505060405180910390f35b341561085457600080fd5b610880600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612541565b005b341561088d57600080fd5b6108b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061261d565b6040518082815260200191505060405180910390f35b34156108da57600080fd5b610906600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612635565b6040518082815260200191505060405180910390f35b341561092757600080fd5b61092f61264d565b005b341561093c57600080fd5b610944612726565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561099157600080fd5b6109bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061274c565b6040518082815260200191505060405180910390f35b34156109de57600080fd5b6109e6612764565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a26578082015181840152602081019050610a0b565b50505050905090810190601f168015610a535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6c57600080fd5b610a98600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061279d565b6040518082815260200191505060405180910390f35b3415610ab957600080fd5b610aee600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506127b5565b005b3415610afb57600080fd5b610b27600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ecc565b005b3415610b3457600080fd5b610b69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612fa8565b604051808215151515815260200191505060405180910390f35b3415610b8e57600080fd5b610bba600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061317a565b6040518082815260200191505060405180910390f35b3415610bdb57600080fd5b610bf16004808035906020019091905050613192565b60405180848152602001838152602001828152602001935050505060405180910390f35b3415610c2057600080fd5b610c55600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506131bc565b604051808215151515815260200191505060405180910390f35b3415610c7a57600080fd5b610caf600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061337a565b6040518082815260200191505060405180910390f35b3415610cd057600080fd5b610cfc600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061364d565b6040518082815260200191505060405180910390f35b3415610d1d57600080fd5b610d25613665565b005b3415610d3257600080fd5b610d3a613b7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610d8757600080fd5b610dd2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ba4565b6040518082815260200191505060405180910390f35b3415610df357600080fd5b610e28600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613c2b565b604051808215151515815260200191505060405180910390f35b3415610e4d57600080fd5b610e79600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613dc5565b6040518082815260200191505060405180910390f35b3415610e9a57600080fd5b610eb96004808035906020019091908035906020019091905050613ddd565b6040518082815260200191505060405180910390f35b3415610eda57600080fd5b610f06600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613e81565b005b3415610f1357600080fd5b610f3f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613f5d565b6040518082815260200191505060405180910390f35b3415610f6057600080fd5b610f68613f75565b6040518082815260200191505060405180910390f35b6000806000841415610f935760009150610fb2565b8284029050828482811515610fa457fe5b04141515610fae57fe5b8091505b5092915050565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561100757600080fd5b61101360005482613f7b565b600081905550611062601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ee601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600c6020528060005260406000206000915090505481565b600080600080600093506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611322576111fb6005336121fa565b9250611246600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f99565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112938484613f7b565b93506112de600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561149c576113756006336121fa565b91506113c0600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061140d8483613f7b565b9350611458600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611616576114ef6007336121fa565b905061153a600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115878482613f7b565b93506115d2601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008411151561162557600080fd5b61166e601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485613f7b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60086020528060005260406000206000915090505481565b6040805190810160405280601981526020017f446563656e7472616c697a652053696c76657220546f6b656e0000000000000081525081565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561172f57600080fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60136020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156118f057600080fd5b816013600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061198b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a6c5750600081115b1515611a7757600080fd5b611ab6601360006004815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610fb9565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff1614158015611af9575060008373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b055750600082115b1515611b1057600080fd5b81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611bdb575081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515611be657600080fd5b611c2f601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbb601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d84601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ed857600080fd5b611ee28542613f7b565b9150611eee8285613f7b565b90506060604051908101604052808381526020018281526020018481525060146000888152602001908152602001600020600082015181600001556020820151816001015560408201518160020155905050505050505050565b600f6020528060005260406000206000915090505481565b600080611fc1611fa584611fa06014600089815260200190815260200160002060010154601460008a815260200190815260200160002060000154613f99565b610f7e565b6014600087815260200190815260200160002060020154613fb2565b9050611fdf81611fda611fd48787613ddd565b84613fb2565b610f7e565b91505092915050565b601360006008815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120b55750601360006009815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061211f575060136000600a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561212a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121675750600081115b151561217257600080fd5b61217d338383610fb9565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121dd57600080fd5b80600460146101000a81548160ff02191690831515021790555050565b60008060058414156122e95761228e600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506122e261229d8583611f60565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b60068414156123d55761237a600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506123ce6123898583611f60565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b60078414156124c157612466600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506124ba6124758583611f60565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b600080fd5b5092915050565b600a6020528060005260406000206000915090505481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561259d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125d957600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e6020528060005260406000206000915090505481565b60076020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156126ab57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561272457600080fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915090505481565b6040805190810160405280600381526020017f445354000000000000000000000000000000000000000000000000000000000081525081565b60096020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127f25750600081115b15156127fd57600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561284b57600080fd5b612894601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e360005482613f7b565b6000819055506013600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156129e157612999600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec8565b601360006001815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ada57612a92600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec7565b601360006002815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612bd357612b8b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec6565b601360006005815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ccc57612c84600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec5565b601360006006815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612dc557612d7d600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec4565b601360006007815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ebe57612e76600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec3565b600080fd5b5b5b5b5b5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f6457600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1614158015612fd25750600083115b1515612fdd57600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015151561302e57600080fd5b6130388184613f99565b905080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130c7601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60056020528060005260406000206000915090505481565b60146020528060005260406000206000915090508060000154908060010154908060020154905083565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561321a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561327857600080fd5b81601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156132c75750600082115b15156132d257600080fd5b6132de60005483613f7b565b60008190555061332d601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060008414156134695761340e600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061346261341d8583611f60565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b6001841415613555576134fa600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061354e6135098583611f60565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b6002841415613641576135e6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061363a6135f58583611f60565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b600080fd5b5092915050565b60106020528060005260406000206000915090505481565b600080600080600093506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156137e9576136c260003361337a565b925061370d600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f99565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061375a8484613f7b565b93506137a5600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156139635761383c60013361337a565b9150613887600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138d48483613f7b565b935061391f600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115613add576139b660023361337a565b9050613a01600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a4e8482613f7b565b9350613a99600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600084111515613aec57600080fd5b613b35601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485613f7b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c8957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515613ce757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613d245750600082115b1515613d2f57600080fd5b613d78601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60066020528060005260406000206000915090505481565b60008060008060146000878152602001908152602001600020600101549250601460008781526020019081526020016000206000015491506014600087815260200190815260200160002060020154905082421015613e3f5760009350613e78565b613e498282613f7b565b42101515613e5957849350613e78565b613e75613e6f86613e6a4286613f99565b610f7e565b82613fb2565b93505b50505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613edd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613f1957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d6020528060005260406000206000915090505481565b60025481565b6000808284019050838110151515613f8f57fe5b8091505092915050565b6000828211151515613fa757fe5b818303905092915050565b6000808284811515613fc057fe5b04905080915050929150505600a165627a7a723058208144d0818eaf9b3524a6cb0e7e938e7d023ea6924bfecc3c627a546b3b11561e0029

Deployed Bytecode

0x606060405260043610610224576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062574e53146102a857806302f83a56146102f55780630552acc11461030a57806306fdde0314610357578063095ea7b3146103e55780631469d5d41461043f57806318160ddd146104a257806318debd27146104cb57806319fc9e541461051657806323b872dd14610558578063313ce567146105d157806331b39a56146105fa5780633c821ad8146106385780634e4fe3061461068557806357dc561f146106c55780635a5ddcf6146107075780635fd0526e1461072c57806365d1a3b81461078257806370a08231146107cf57806371098a351461081c57806372198ead1461084957806383766111146108825780638b0b815b146108cf5780638ca9e7211461091c5780638da5cb5b1461093157806394a984921461098657806395d89b41146109d35780639c5cba0614610a61578063a401d24d14610aae578063a449a62e14610af0578063a9059cbb14610b29578063aa5d335814610b83578063af686e1b14610bd0578063b8079d4914610c15578063c5460e7114610c6f578063c8f630e314610cc5578063ca628c7814610d12578063daa50ee014610d27578063dd62ed3e14610d7c578063ea31602714610de8578063ec7e28c914610e42578063f137d1a314610e8f578063f2fde38b14610ecf578063f342830714610f08578063f856d60514610f55575b6000600460149054906101000a900460ff16151561024157600080fd5b670de0b6b3a7640000341015151561025857600080fd5b61026434600254610f7e565b90506102a5601360006003815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163383610fb9565b50005b34156102b357600080fd5b6102df600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611186565b6040518082815260200191505060405180910390f35b341561030057600080fd5b61030861119e565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116b7565b6040518082815260200191505060405180910390f35b341561036257600080fd5b61036a6116cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103aa57808201518184015260208101905061038f565b50505050905090810190601f1680156103d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103f057600080fd5b610425600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611708565b604051808215151515815260200191505060405180910390f35b341561044a57600080fd5b610460600480803590602001909190505061181f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ad57600080fd5b6104b5611852565b6040518082815260200191505060405180910390f35b34156104d657600080fd5b610514600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611858565b005b341561052157600080fd5b610556600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119d3565b005b341561056357600080fd5b6105b7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611aba565b604051808215151515815260200191505060405180910390f35b34156105dc57600080fd5b6105e4611e74565b6040518082815260200191505060405180910390f35b341561060557600080fd5b6106366004808035906020019091908035906020019091908035906020019091908035906020019091905050611e79565b005b341561064357600080fd5b61066f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f48565b6040518082815260200191505060405180910390f35b341561069057600080fd5b6106af6004808035906020019091908035906020019091905050611f60565b6040518082815260200191505060405180910390f35b34156106d057600080fd5b610705600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fe8565b005b341561071257600080fd5b61072a60048080351515906020019091905050612181565b005b341561073757600080fd5b61076c600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121fa565b6040518082815260200191505060405180910390f35b341561078d57600080fd5b6107b9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124cd565b6040518082815260200191505060405180910390f35b34156107da57600080fd5b610806600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124e5565b6040518082815260200191505060405180910390f35b341561082757600080fd5b61082f61252e565b604051808215151515815260200191505060405180910390f35b341561085457600080fd5b610880600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612541565b005b341561088d57600080fd5b6108b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061261d565b6040518082815260200191505060405180910390f35b34156108da57600080fd5b610906600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612635565b6040518082815260200191505060405180910390f35b341561092757600080fd5b61092f61264d565b005b341561093c57600080fd5b610944612726565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561099157600080fd5b6109bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061274c565b6040518082815260200191505060405180910390f35b34156109de57600080fd5b6109e6612764565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a26578082015181840152602081019050610a0b565b50505050905090810190601f168015610a535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6c57600080fd5b610a98600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061279d565b6040518082815260200191505060405180910390f35b3415610ab957600080fd5b610aee600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506127b5565b005b3415610afb57600080fd5b610b27600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ecc565b005b3415610b3457600080fd5b610b69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612fa8565b604051808215151515815260200191505060405180910390f35b3415610b8e57600080fd5b610bba600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061317a565b6040518082815260200191505060405180910390f35b3415610bdb57600080fd5b610bf16004808035906020019091905050613192565b60405180848152602001838152602001828152602001935050505060405180910390f35b3415610c2057600080fd5b610c55600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506131bc565b604051808215151515815260200191505060405180910390f35b3415610c7a57600080fd5b610caf600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061337a565b6040518082815260200191505060405180910390f35b3415610cd057600080fd5b610cfc600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061364d565b6040518082815260200191505060405180910390f35b3415610d1d57600080fd5b610d25613665565b005b3415610d3257600080fd5b610d3a613b7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610d8757600080fd5b610dd2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ba4565b6040518082815260200191505060405180910390f35b3415610df357600080fd5b610e28600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613c2b565b604051808215151515815260200191505060405180910390f35b3415610e4d57600080fd5b610e79600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613dc5565b6040518082815260200191505060405180910390f35b3415610e9a57600080fd5b610eb96004808035906020019091908035906020019091905050613ddd565b6040518082815260200191505060405180910390f35b3415610eda57600080fd5b610f06600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613e81565b005b3415610f1357600080fd5b610f3f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613f5d565b6040518082815260200191505060405180910390f35b3415610f6057600080fd5b610f68613f75565b6040518082815260200191505060405180910390f35b6000806000841415610f935760009150610fb2565b8284029050828482811515610fa457fe5b04141515610fae57fe5b8091505b5092915050565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561100757600080fd5b61101360005482613f7b565b600081905550611062601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ee601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600c6020528060005260406000206000915090505481565b600080600080600093506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611322576111fb6005336121fa565b9250611246600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f99565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112938484613f7b565b93506112de600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561149c576113756006336121fa565b91506113c0600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061140d8483613f7b565b9350611458600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611616576114ef6007336121fa565b905061153a600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115878482613f7b565b93506115d2601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008411151561162557600080fd5b61166e601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485613f7b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60086020528060005260406000206000915090505481565b6040805190810160405280601981526020017f446563656e7472616c697a652053696c76657220546f6b656e0000000000000081525081565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561172f57600080fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60136020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156118f057600080fd5b816013600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061198b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a6c5750600081115b1515611a7757600080fd5b611ab6601360006004815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383610fb9565b5050565b6000808473ffffffffffffffffffffffffffffffffffffffff1614158015611af9575060008373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b055750600082115b1515611b1057600080fd5b81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611bdb575081601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515611be657600080fd5b611c2f601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbb601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d84601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ed857600080fd5b611ee28542613f7b565b9150611eee8285613f7b565b90506060604051908101604052808381526020018281526020018481525060146000888152602001908152602001600020600082015181600001556020820151816001015560408201518160020155905050505050505050565b600f6020528060005260406000206000915090505481565b600080611fc1611fa584611fa06014600089815260200190815260200160002060010154601460008a815260200190815260200160002060000154613f99565b610f7e565b6014600087815260200190815260200160002060020154613fb2565b9050611fdf81611fda611fd48787613ddd565b84613fb2565b610f7e565b91505092915050565b601360006008815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120b55750601360006009815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061211f575060136000600a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561212a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121675750600081115b151561217257600080fd5b61217d338383610fb9565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121dd57600080fd5b80600460146101000a81548160ff02191690831515021790555050565b60008060058414156122e95761228e600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506122e261229d8583611f60565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b60068414156123d55761237a600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506123ce6123898583611f60565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b60078414156124c157612466600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b90506124ba6124758583611f60565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b91506124c6565b600080fd5b5092915050565b600a6020528060005260406000206000915090505481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561259d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125d957600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e6020528060005260406000206000915090505481565b60076020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156126ab57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561272457600080fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915090505481565b6040805190810160405280600381526020017f445354000000000000000000000000000000000000000000000000000000000081525081565b60096020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127f25750600081115b15156127fd57600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561284b57600080fd5b612894601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e360005482613f7b565b6000819055506013600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156129e157612999600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec8565b601360006001815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ada57612a92600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec7565b601360006002815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612bd357612b8b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec6565b601360006005815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ccc57612c84600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec5565b601360006006815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612dc557612d7d600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec4565b601360006007815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612ebe57612e76600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ec3565b600080fd5b5b5b5b5b5b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f6457600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1614158015612fd25750600083115b1515612fdd57600080fd5b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015151561302e57600080fd5b6130388184613f99565b905080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130c7601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60056020528060005260406000206000915090505481565b60146020528060005260406000206000915090508060000154908060010154908060020154905083565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561321a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561327857600080fd5b81601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156132c75750600082115b15156132d257600080fd5b6132de60005483613f7b565b60008190555061332d601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060008414156134695761340e600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061346261341d8583611f60565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b6001841415613555576134fa600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061354e6135098583611f60565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b6002841415613641576135e6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f7b565b905061363a6135f58583611f60565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613f99565b9150613646565b600080fd5b5092915050565b60106020528060005260406000206000915090505481565b600080600080600093506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156137e9576136c260003361337a565b925061370d600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f99565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061375a8484613f7b565b93506137a5600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613f7b565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156139635761383c60013361337a565b9150613887600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f99565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138d48483613f7b565b935061391f600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115613add576139b660023361337a565b9050613a01600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f99565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a4e8482613f7b565b9350613a99600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613f7b565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600084111515613aec57600080fd5b613b35601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485613f7b565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c8957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515613ce757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613d245750600082115b1515613d2f57600080fd5b613d78601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613f7b565b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60066020528060005260406000206000915090505481565b60008060008060146000878152602001908152602001600020600101549250601460008781526020019081526020016000206000015491506014600087815260200190815260200160002060020154905082421015613e3f5760009350613e78565b613e498282613f7b565b42101515613e5957849350613e78565b613e75613e6f86613e6a4286613f99565b610f7e565b82613fb2565b93505b50505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613edd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613f1957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d6020528060005260406000206000915090505481565b60025481565b6000808284019050838110151515613f8f57fe5b8091505092915050565b6000828211151515613fa757fe5b818303905092915050565b6000808284811515613fc057fe5b04905080915050929150505600a165627a7a723058208144d0818eaf9b3524a6cb0e7e938e7d023ea6924bfecc3c627a546b3b11561e0029

Swarm Source

bzzr://8144d0818eaf9b3524a6cb0e7e938e7d023ea6924bfecc3c627a546b3b11561e
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.