ETH Price: $2,717.87 (+0.56%)

Contract

0xA1F18BA7a1FA1F2c15EAE5C42e722278F1235b7a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer136899922021-11-26 13:24:361180 days ago1637933076IN
Expert Student Class Token
0 ETH0.0037989180.3
Transfer112592032020-11-15 0:41:111557 days ago1605400871IN
Expert Student Class Token
0 ETH0.0005969416.00000145
Transfer110601342020-10-15 11:42:251588 days ago1602762145IN
Expert Student Class Token
0 ETH0.0015891842.59531268
Transfer110338822020-10-11 11:11:351592 days ago1602414695IN
Expert Student Class Token
0 ETH0.001268534
Transfer103843582020-07-03 4:30:571692 days ago1593750657IN
Expert Student Class Token
0 ETH0.0015674842
Transfer101939362020-06-03 16:36:451721 days ago1591202205IN
Expert Student Class Token
0 ETH0.0018312335
Transfer96319502020-03-08 16:52:321808 days ago1583686352IN
Expert Student Class Token
0 ETH0.0004689921
Transfer96319402020-03-08 16:49:451808 days ago1583686185IN
Expert Student Class Token
0 ETH0.0011132921.27822797
Transfer93756212020-01-29 7:14:331848 days ago1580282073IN
Expert Student Class Token
0 ETH0.0003918710.5
Transfer93123212020-01-19 14:28:011857 days ago1579444081IN
Expert Student Class Token
0 ETH0.000104612
Transfer92873432020-01-15 18:27:441861 days ago1579112864IN
Expert Student Class Token
0 ETH0.000223926
Transfer92185572020-01-05 5:46:321872 days ago1578203192IN
Expert Student Class Token
0 ETH0.000111993
Transfer90999732019-12-13 12:14:271895 days ago1576239267IN
Expert Student Class Token
0 ETH0.000156963
Transfer90472962019-12-04 3:51:491904 days ago1575431509IN
Expert Student Class Token
0 ETH0.0005190110
Transfer90450862019-12-03 18:22:461904 days ago1575397366IN
Expert Student Class Token
0 ETH0.000036961
Transfer90399142019-12-02 20:23:421905 days ago1575318222IN
Expert Student Class Token
0 ETH0.000044511.2
Transfer90089492019-11-27 8:51:201911 days ago1574844680IN
Expert Student Class Token
0 ETH0.0005716111
Transfer90015112019-11-26 1:10:371912 days ago1574730637IN
Expert Student Class Token
0 ETH0.0004073111
Transfer89997742019-11-25 17:32:241912 days ago1574703144IN
Expert Student Class Token
0 ETH0.0004435812
Transfer89997532019-11-25 17:26:331912 days ago1574702793IN
Expert Student Class Token
0 ETH0.0004694512.7
Transfer89978372019-11-25 9:52:371913 days ago1574675557IN
Expert Student Class Token
0 ETH0.000739320
Transfer89978222019-11-25 9:49:121913 days ago1574675352IN
Expert Student Class Token
0 ETH0.000739320
Transfer89972832019-11-25 7:40:241913 days ago1574667624IN
Expert Student Class Token
0 ETH0.0009627526
Transfer89862662019-11-23 11:53:381915 days ago1574510018IN
Expert Student Class Token
0 ETH0.0003702910
Transfer89862292019-11-23 11:46:471915 days ago1574509607IN
Expert Student Class Token
0 ETH0.0005209310
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ESCX

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-05-11
*/

/* 
@Registered Company PT.Edukasi Digital Aset Indonesia
@Project Expert Student Class :School learning about blockchain technology,trading,management risk,and investment.
@Created march 2019 by ESCX Team
@Official Website https://escx.co.id
 */
pragma solidity ^0.4.18;

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

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

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

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

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

contract AltcoinToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ESCX is ERC20 {
    
    using SafeMath for uint256;
    address owner = msg.sender;

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;    

    string public constant name = "ESCX Token";
    string public constant symbol = "ESCX";
    uint public constant decimals = 8;
    
    uint256 public totalSupply = 200000000e8;
    uint256 public totalDistributed = 0;    
    uint256 public constant MIN_PURCHASE = 1 ether / 100; // 0.05 Ether
    uint256 public tokensPerEth = 22000e8;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    
    event Distr(address indexed to, uint256 amount);
    event DistrFinished();
    event StartICO();
    event ResetICO();

    event Airdrop(address indexed _owner, uint _amount, uint _balance);

    event TokensPerEthUpdated(uint _tokensPerEth);
    
    event Burn(address indexed burner, uint256 value);

    bool public distributionFinished = false;

    bool public icoStart = false;
    
    modifier canDistr() {
        require(!distributionFinished);
        require(icoStart);
        _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    
    constructor () public {
        owner = msg.sender;
    }
    
    function transferOwnership(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

    function startICO() onlyOwner public returns (bool) {
        icoStart = true;
        emit StartICO();
        return true;
    }

    function resetICO() onlyOwner public returns (bool) {
        icoStart = false;
        distributionFinished = false;
        emit ResetICO();
        return true;
    }

    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        emit DistrFinished();
        return true;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        totalDistributed = totalDistributed.add(_amount);        
        balances[_to] = balances[_to].add(_amount);
        emit Distr(_to, _amount);
        emit Transfer(address(0), _to, _amount);

        return true;
    }

    function doAirdrop(address _participant, uint _amount) internal {

        require( _amount > 0 );      

        require( totalDistributed < totalSupply );
        
        balances[_participant] = balances[_participant].add(_amount);
        totalDistributed = totalDistributed.add(_amount);

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }

        // log
        emit Airdrop(_participant, _amount, balances[_participant]);
        emit Transfer(address(0), _participant, _amount);
    }

    function transferTokenTo(address _participant, uint _amount) public onlyOwner {        
        doAirdrop(_participant, _amount);
    }

    function transferTokenToMultiple(address[] _addresses, uint _amount) public onlyOwner {        
        for (uint i = 0; i < _addresses.length; i++) doAirdrop(_addresses[i], _amount);
    }

    function updateTokensPerEth(uint _tokensPerEth) public onlyOwner {        
        tokensPerEth = _tokensPerEth;
        emit TokensPerEthUpdated(_tokensPerEth);
    }
           
    function () external payable {
        getTokens();
     }
    
    function getTokens() payable canDistr  public {
        uint256 tokens = 0;

        // minimum contribution
        require( msg.value >= MIN_PURCHASE );

        require( msg.value > 0 );

        // get baseline number of tokens
        tokens = tokensPerEth.mul(msg.value) / 1 ether;        
        address investor = msg.sender;
        
        if (tokens > 0) {
            distr(investor, tokens);
        }

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }

    function balanceOf(address _owner) constant public returns (uint256) {
        return balances[_owner];
    }

    // mitigates the ERC20 short address attack
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
    
    function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[msg.sender]);
        
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }
    
    function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[_from]);
        require(_amount <= allowed[_from][msg.sender]);
        
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(_from, _to, _amount);
        return true;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        // mitigates the ERC20 spend/approval race condition
        if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; }
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint){
        AltcoinToken t = AltcoinToken(tokenAddress);
        uint bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw() onlyOwner public {
        address myAddress = this;
        uint256 etherBalance = myAddress.balance;
        owner.transfer(etherBalance);
    }
    
    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        totalDistributed = totalDistributed.sub(_value);
        emit Burn(burner, _value);
    }
    
    function withdrawAltcoinTokens(address _tokenContract) onlyOwner public returns (bool) {
        AltcoinToken token = AltcoinToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }
}

Contract Security Audit

Contract ABI

[{"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawAltcoinTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resetICO","outputs":[{"name":"","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":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startICO","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferTokenTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoStart","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerEth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"transferTokenToMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_PURCHASE","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"totalDistributed","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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"StartICO","type":"event"},{"anonymous":false,"inputs":[],"name":"ResetICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokensPerEth","type":"uint256"}],"name":"TokensPerEthUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555066470de4df82000060045560006005556502003a37f0006006556000600760006101000a81548160ff0219169083151502179055506000600760016101000a81548160ff0219169083151502179055503480156100a157600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612196806100f26000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461015e578063095ea7b3146101ee57806318160ddd146102535780632195845f1461027e57806323b872dd146102d95780632c0a036b1461035e578063313ce5671461038d5780633ccfd60b146103b857806342966c68146103cf57806370a08231146103fc5780637fa8c158146104535780638144650a14610482578063827037db146104cf57806395d89b41146104fe5780639b1cbccc1461058e5780639ea407be146105bd578063a9059cbb146105ea578063aa6ca8081461064f578063c108d54214610659578063c3888bce14610688578063c489744b146106f8578063cbdd69b51461076f578063d439390c1461079a578063dd62ed3e146107c5578063efca2eed1461083c578063f2fde38b14610867575b61015c6108aa565b005b34801561016a57600080fd5b5061017361097c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b3578082015181840152602081019050610198565b50505050905090810190601f1680156101e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101fa57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b5565b604051808215151515815260200191505060405180910390f35b34801561025f57600080fd5b50610268610b43565b6040518082815260200191505060405180910390f35b34801561028a57600080fd5b506102bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b604051808215151515815260200191505060405180910390f35b3480156102e557600080fd5b50610344600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d8e565b604051808215151515815260200191505060405180910390f35b34801561036a57600080fd5b50610373611164565b604051808215151515815260200191505060405180910390f35b34801561039957600080fd5b506103a261122b565b6040518082815260200191505060405180910390f35b3480156103c457600080fd5b506103cd611230565b005b3480156103db57600080fd5b506103fa60048036038101908080359060200190929190505050611319565b005b34801561040857600080fd5b5061043d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e5565b6040518082815260200191505060405180910390f35b34801561045f57600080fd5b5061046861152e565b604051808215151515815260200191505060405180910390f35b34801561048e57600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115da565b005b3480156104db57600080fd5b506104e4611644565b604051808215151515815260200191505060405180910390f35b34801561050a57600080fd5b50610513611657565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610553578082015181840152602081019050610538565b50505050905090810190601f1680156105805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059a57600080fd5b506105a3611690565b604051808215151515815260200191505060405180910390f35b3480156105c957600080fd5b506105e860048036038101908080359060200190929190505050611773565b005b3480156105f657600080fd5b50610635600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611810565b604051808215151515815260200191505060405180910390f35b6106576108aa565b005b34801561066557600080fd5b5061066e611a4b565b604051808215151515815260200191505060405180910390f35b34801561069457600080fd5b506106f66004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611a5e565b005b34801561070457600080fd5b50610759600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afd565b6040518082815260200191505060405180910390f35b34801561077b57600080fd5b50610784611be8565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107af611bee565b6040518082815260200191505060405180910390f35b3480156107d157600080fd5b50610826600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf9565b6040518082815260200191505060405180910390f35b34801561084857600080fd5b50610851611c80565b6040518082815260200191505060405180910390f35b34801561087357600080fd5b506108a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c86565b005b600080600760009054906101000a900460ff161515156108c957600080fd5b600760019054906101000a900460ff1615156108e457600080fd5b60009150662386f26fc1000034101515156108fe57600080fd5b60003411151561090d57600080fd5b670de0b6b3a764000061092b34600654611d5d90919063ffffffff16565b81151561093457fe5b049150339050600082111561094f5761094d8183611d95565b505b600454600554101515610978576001600760006101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600a81526020017f4553435820546f6b656e0000000000000000000000000000000000000000000081525081565b6000808214158015610a4457506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610a525760009050610b3d565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60045481565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610baa57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4a57600080fd5b505af1158015610d5e573d6000803e3d6000fd5b505050506040513d6020811015610d7457600080fd5b810190808051906020019092919050505092505050919050565b6000606060048101600036905010151515610da557fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610de157600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610e2f57600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610eba57600080fd5b610f0c83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fde83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111c257600080fd5b6000600760016101000a81548160ff0219169083151502179055506000600760006101000a81548160ff0219169083151502179055507f709bfbbb9211cec7e9d6203bd75ecb00bc1802373741d11b664a136ae1b0ab0260405160405180910390a16001905090565b600881565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561128f57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611314573d6000803e3d6000fd5b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137757600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113c557600080fd5b33905061141a82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061147282600454611f3c90919063ffffffff16565b60048190555061148d82600554611f3c90919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158c57600080fd5b6001600760016101000a81548160ff0219169083151502179055507f6a6b80772682d230603482c384f27af24be0f9cb49cce7a9009a31880841193d60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163657600080fd5b6116408282611f71565b5050565b600760019054906101000a900460ff1681565b6040805190810160405280600481526020017f455343580000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116ee57600080fd5b600760009054906101000a900460ff1615151561170a57600080fd5b600760019054906101000a900460ff16151561172557600080fd5b6001600760006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117cf57600080fd5b806006819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b600060406004810160003690501015151561182757fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561186357600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156118b157600080fd5b61190383600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199883600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600760009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abc57600080fd5b600090505b8251811015611af857611aeb8382815181101515611adb57fe5b9060200190602002015183611f71565b8080600101915050611ac1565b505050565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b505050506040513d6020811015611bca57600080fd5b81019080805190602001909291905050509050809250505092915050565b60065481565b662386f26fc1000081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611d5a5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080831415611d705760009050611d8f565b8183029050818382811515611d8157fe5b04141515611d8b57fe5b8090505b92915050565b6000600760009054906101000a900460ff16151515611db357600080fd5b600760019054906101000a900460ff161515611dce57600080fd5b611de382600554611f5590919063ffffffff16565b600581905550611e3b82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211151515611f4a57fe5b818303905092915050565b60008183019050828110151515611f6857fe5b80905092915050565b600081111515611f8057600080fd5b600454600554101515611f9257600080fd5b611fe481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203c81600554611f5590919063ffffffff16565b60058190555060045460055410151561206b576001600760006101000a81548160ff0219169083151502179055505b8173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820aa8dd6a3ac6cd11b8c6bf7f3acdbaa7d4c58eb7d4cfe537411cd216c4572c1ee0029

Deployed Bytecode

0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461015e578063095ea7b3146101ee57806318160ddd146102535780632195845f1461027e57806323b872dd146102d95780632c0a036b1461035e578063313ce5671461038d5780633ccfd60b146103b857806342966c68146103cf57806370a08231146103fc5780637fa8c158146104535780638144650a14610482578063827037db146104cf57806395d89b41146104fe5780639b1cbccc1461058e5780639ea407be146105bd578063a9059cbb146105ea578063aa6ca8081461064f578063c108d54214610659578063c3888bce14610688578063c489744b146106f8578063cbdd69b51461076f578063d439390c1461079a578063dd62ed3e146107c5578063efca2eed1461083c578063f2fde38b14610867575b61015c6108aa565b005b34801561016a57600080fd5b5061017361097c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b3578082015181840152602081019050610198565b50505050905090810190601f1680156101e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101fa57600080fd5b50610239600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b5565b604051808215151515815260200191505060405180910390f35b34801561025f57600080fd5b50610268610b43565b6040518082815260200191505060405180910390f35b34801561028a57600080fd5b506102bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b604051808215151515815260200191505060405180910390f35b3480156102e557600080fd5b50610344600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d8e565b604051808215151515815260200191505060405180910390f35b34801561036a57600080fd5b50610373611164565b604051808215151515815260200191505060405180910390f35b34801561039957600080fd5b506103a261122b565b6040518082815260200191505060405180910390f35b3480156103c457600080fd5b506103cd611230565b005b3480156103db57600080fd5b506103fa60048036038101908080359060200190929190505050611319565b005b34801561040857600080fd5b5061043d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e5565b6040518082815260200191505060405180910390f35b34801561045f57600080fd5b5061046861152e565b604051808215151515815260200191505060405180910390f35b34801561048e57600080fd5b506104cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115da565b005b3480156104db57600080fd5b506104e4611644565b604051808215151515815260200191505060405180910390f35b34801561050a57600080fd5b50610513611657565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610553578082015181840152602081019050610538565b50505050905090810190601f1680156105805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059a57600080fd5b506105a3611690565b604051808215151515815260200191505060405180910390f35b3480156105c957600080fd5b506105e860048036038101908080359060200190929190505050611773565b005b3480156105f657600080fd5b50610635600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611810565b604051808215151515815260200191505060405180910390f35b6106576108aa565b005b34801561066557600080fd5b5061066e611a4b565b604051808215151515815260200191505060405180910390f35b34801561069457600080fd5b506106f66004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611a5e565b005b34801561070457600080fd5b50610759600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afd565b6040518082815260200191505060405180910390f35b34801561077b57600080fd5b50610784611be8565b6040518082815260200191505060405180910390f35b3480156107a657600080fd5b506107af611bee565b6040518082815260200191505060405180910390f35b3480156107d157600080fd5b50610826600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bf9565b6040518082815260200191505060405180910390f35b34801561084857600080fd5b50610851611c80565b6040518082815260200191505060405180910390f35b34801561087357600080fd5b506108a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c86565b005b600080600760009054906101000a900460ff161515156108c957600080fd5b600760019054906101000a900460ff1615156108e457600080fd5b60009150662386f26fc1000034101515156108fe57600080fd5b60003411151561090d57600080fd5b670de0b6b3a764000061092b34600654611d5d90919063ffffffff16565b81151561093457fe5b049150339050600082111561094f5761094d8183611d95565b505b600454600554101515610978576001600760006101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600a81526020017f4553435820546f6b656e0000000000000000000000000000000000000000000081525081565b6000808214158015610a4457506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610a525760009050610b3d565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60045481565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610baa57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4a57600080fd5b505af1158015610d5e573d6000803e3d6000fd5b505050506040513d6020811015610d7457600080fd5b810190808051906020019092919050505092505050919050565b6000606060048101600036905010151515610da557fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610de157600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610e2f57600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610eba57600080fd5b610f0c83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fde83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111c257600080fd5b6000600760016101000a81548160ff0219169083151502179055506000600760006101000a81548160ff0219169083151502179055507f709bfbbb9211cec7e9d6203bd75ecb00bc1802373741d11b664a136ae1b0ab0260405160405180910390a16001905090565b600881565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561128f57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611314573d6000803e3d6000fd5b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137757600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113c557600080fd5b33905061141a82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061147282600454611f3c90919063ffffffff16565b60048190555061148d82600554611f3c90919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158c57600080fd5b6001600760016101000a81548160ff0219169083151502179055507f6a6b80772682d230603482c384f27af24be0f9cb49cce7a9009a31880841193d60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163657600080fd5b6116408282611f71565b5050565b600760019054906101000a900460ff1681565b6040805190810160405280600481526020017f455343580000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116ee57600080fd5b600760009054906101000a900460ff1615151561170a57600080fd5b600760019054906101000a900460ff16151561172557600080fd5b6001600760006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117cf57600080fd5b806006819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b600060406004810160003690501015151561182757fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561186357600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156118b157600080fd5b61190383600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199883600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600760009054906101000a900460ff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abc57600080fd5b600090505b8251811015611af857611aeb8382815181101515611adb57fe5b9060200190602002015183611f71565b8080600101915050611ac1565b505050565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b505050506040513d6020811015611bca57600080fd5b81019080805190602001909291905050509050809250505092915050565b60065481565b662386f26fc1000081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611d5a5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080831415611d705760009050611d8f565b8183029050818382811515611d8157fe5b04141515611d8b57fe5b8090505b92915050565b6000600760009054906101000a900460ff16151515611db357600080fd5b600760019054906101000a900460ff161515611dce57600080fd5b611de382600554611f5590919063ffffffff16565b600581905550611e3b82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211151515611f4a57fe5b818303905092915050565b60008183019050828110151515611f6857fe5b80905092915050565b600081111515611f8057600080fd5b600454600554101515611f9257600080fd5b611fe481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203c81600554611f5590919063ffffffff16565b60058190555060045460055410151561206b576001600760006101000a81548160ff0219169083151502179055505b8173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820aa8dd6a3ac6cd11b8c6bf7f3acdbaa7d4c58eb7d4cfe537411cd216c4572c1ee0029

Deployed Bytecode Sourcemap

2376:7121:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5946:11;:9;:11::i;:::-;2376:7121;2594:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2594:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2594:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7771:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7771:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2734:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2734:40:0;;;;;;;;;;;;;;;;;;;;;;;9234:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9234:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:537;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7222:537:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4122:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4122:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2688:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2688:33:0;;;;;;;;;;;;;;;;;;;;;;;8514:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8514:170:0;;;;;;8696:526;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8696:526:0;;;;;;;;;;;;;;;;;;;;;;;;;;6526:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6526:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3980:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3980:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5373:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5373:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3490:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3490:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2643:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2643:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2643:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4304:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4304:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5717;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5717:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;6808:402;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6808:402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5978:540;;;;;;3441:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3441:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5518:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5518:191:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8291:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8291:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2900:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2900:37:0;;;;;;;;;;;;;;;;;;;;;;;2827:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2827:52:0;;;;;;;;;;;;;;;;;;;;;;;8141:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8141:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2781:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2781:35:0;;;;;;;;;;;;;;;;;;;;;;;3821:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3821:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5978:540;6035:14;6292:16;3571:20;;;;;;;;;;;3570:21;3562:30;;;;;;;;3611:8;;;;;;;;;;;3603:17;;;;;;;;6052:1;6035:18;;2866:13;6108:9;:25;;6099:36;;;;;;;;6169:1;6157:9;:13;6148:24;;;;;;;;6266:7;6236:27;6253:9;6236:12;;:16;;:27;;;;:::i;:::-;:37;;;;;;;;6227:46;;6311:10;6292:29;;6355:1;6346:6;:10;6342:66;;;6373:23;6379:8;6389:6;6373:5;:23::i;:::-;;6342:66;6444:11;;6424:16;;:31;;6420:91;;;6495:4;6472:20;;:27;;;;;;;;;;;;;;;;;;6420:91;5978:540;;:::o;2594:42::-;;;;;;;;;;;;;;;;;;;;:::o;7771:358::-;7838:12;7939:1;7929:6;:11;;:49;;;;;7977:1;7944:7;:19;7952:10;7944:19;;;;;;;;;;;;;;;:29;7964:8;7944:29;;;;;;;;;;;;;;;;:34;;7929:49;7925:72;;;7989:5;7982:12;;;;7925:72;8039:6;8007:7;:19;8015:10;8007:19;;;;;;;;;;;;;;;:29;8027:8;8007:29;;;;;;;;;;;;;;;:38;;;;8082:8;8061:38;;8070:10;8061:38;;;8092:6;8061:38;;;;;;;;;;;;;;;;;;8117:4;8110:11;;7771:358;;;;;:::o;2734:40::-;;;;:::o;9234:260::-;9315:4;9332:18;9392:14;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;9366:14;9332:49;;9409:5;:15;;;9433:4;9409:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9409:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9409:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9409:30:0;;;;;;;;;;;;;;;;9392:47;;9457:5;:14;;;9472:5;;;;;;;;;;;9479:6;9457:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9457:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9457:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9457:29:0;;;;;;;;;;;;;;;;9450:36;;9234:260;;;;;:::o;7222:537::-;7329:12;7305:6;6774:1;6767:4;:8;6748;;:15;;:27;;6741:35;;;;;;7379:1;7364:17;;:3;:17;;;;7356:26;;;;;;;;7412:8;:15;7421:5;7412:15;;;;;;;;;;;;;;;;7401:7;:26;;7393:35;;;;;;;;7458:7;:14;7466:5;7458:14;;;;;;;;;;;;;;;:26;7473:10;7458:26;;;;;;;;;;;;;;;;7447:7;:37;;7439:46;;;;;;;;7524:28;7544:7;7524:8;:15;7533:5;7524:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;7506:8;:15;7515:5;7506:15;;;;;;;;;;;;;;;:46;;;;7592:39;7623:7;7592;:14;7600:5;7592:14;;;;;;;;;;;;;;;:26;7607:10;7592:26;;;;;;;;;;;;;;;;:30;;:39;;;;:::i;:::-;7563:7;:14;7571:5;7563:14;;;;;;;;;;;;;;;:26;7578:10;7563:26;;;;;;;;;;;;;;;:68;;;;7658:26;7676:7;7658:8;:13;7667:3;7658:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7642:8;:13;7651:3;7642:13;;;;;;;;;;;;;;;:42;;;;7716:3;7700:29;;7709:5;7700:29;;;7721:7;7700:29;;;;;;;;;;;;;;;;;;7747:4;7740:11;;7222:537;;;;;;:::o;4122:174::-;4168:4;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;4196:5;4185:8;;:16;;;;;;;;;;;;;;;;;;4235:5;4212:20;;:28;;;;;;;;;;;;;;;;;;4256:10;;;;;;;;;;4284:4;4277:11;;4122:174;:::o;2688:33::-;2720:1;2688:33;:::o;8514:170::-;8562:17;8597:20;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;8582:4;8562:24;;8620:9;:17;;;8597:40;;8648:5;;;;;;;;;;;:14;;:28;8663:12;8648:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8648:28:0;8514:170;;:::o;8696:526::-;8987:14;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;8772:8;:20;8781:10;8772:20;;;;;;;;;;;;;;;;8762:6;:30;;8754:39;;;;;;;;9004:10;8987:27;;9044:28;9065:6;9044:8;:16;9053:6;9044:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;9025:8;:16;9034:6;9025:16;;;;;;;;;;;;;;;:47;;;;9097:23;9113:6;9097:11;;:15;;:23;;;;:::i;:::-;9083:11;:37;;;;9150:28;9171:6;9150:16;;:20;;:28;;;;:::i;:::-;9131:16;:47;;;;9199:6;9194:20;;;9207:6;9194:20;;;;;;;;;;;;;;;;;;8696:526;;:::o;6526:111::-;6586:7;6613:8;:16;6622:6;6613:16;;;;;;;;;;;;;;;;6606:23;;6526:111;;;:::o;3980:134::-;4026:4;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;4054:4;4043:8;;:15;;;;;;;;;;;;;;;;;;4074:10;;;;;;;;;;4102:4;4095:11;;3980:134;:::o;5373:137::-;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;5470:32;5480:12;5494:7;5470:9;:32::i;:::-;5373:137;;:::o;3490:28::-;;;;;;;;;;;;;:::o;2643:38::-;;;;;;;;;;;;;;;;;;;;:::o;4304:170::-;4369:4;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;3571:20;;;;;;;;;;;3570:21;3562:30;;;;;;;;3611:8;;;;;;;;;;;3603:17;;;;;;;;4409:4;4386:20;;:27;;;;;;;;;;;;;;;;;;4429:15;;;;;;;;;;4462:4;4455:11;;4304:170;:::o;5717:::-;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;5816:13;5801:12;:28;;;;5845:34;5865:13;5845:34;;;;;;;;;;;;;;;;;;5717:170;:::o;6808:402::-;6896:12;6872:6;6774:1;6767:4;:8;6748;;:15;;:27;;6741:35;;;;;;6946:1;6931:17;;:3;:17;;;;6923:26;;;;;;;;6979:8;:20;6988:10;6979:20;;;;;;;;;;;;;;;;6968:7;:31;;6960:40;;;;;;;;7044:33;7069:7;7044:8;:20;7053:10;7044:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;7021:8;:20;7030:10;7021:20;;;;;;;;;;;;;;;:56;;;;7104:26;7122:7;7104:8;:13;7113:3;7104:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7088:8;:13;7097:3;7088:13;;;;;;;;;;;;;;;:42;;;;7167:3;7146:34;;7155:10;7146:34;;;7172:7;7146:34;;;;;;;;;;;;;;;;;;7198:4;7191:11;;6808:402;;;;;:::o;3441:40::-;;;;;;;;;;;;;:::o;5518:191::-;5628:6;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;5637:1;5628:10;;5623:78;5644:10;:17;5640:1;:21;5623:78;;;5668:33;5678:10;5689:1;5678:13;;;;;;;;;;;;;;;;;;5693:7;5668:9;:33::i;:::-;5663:3;;;;;;;5623:78;;;5518:191;;;:::o;8291:211::-;8376:4;8392:14;8446:8;8422:12;8392:43;;8457:1;:11;;;8469:3;8457:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8457:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8457:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8457:16:0;;;;;;;;;;;;;;;;8446:27;;8491:3;8484:10;;8291:211;;;;;;:::o;2900:37::-;;;;:::o;2827:52::-;2866:13;2827:52;:::o;8141:138::-;8219:7;8246;:15;8254:6;8246:15;;;;;;;;;;;;;;;:25;8262:8;8246:25;;;;;;;;;;;;;;;;8239:32;;8141:138;;;;:::o;2781:35::-;;;;:::o;3821:151::-;3706:5;;;;;;;;;;;3692:19;;:10;:19;;;3684:28;;;;;;;;3918:1;3898:22;;:8;:22;;;;3894:71;;;3945:8;3937:5;;:16;;;;;;;;;;;;;;;;;;3894:71;3821:151;:::o;472:202::-;530:9;561:1;556;:6;552:47;;;586:1;579:8;;;;552:47;617:1;613;:5;609:9;;645:1;640;636;:5;;;;;;;;:10;629:18;;;;;;665:1;658:8;;472:202;;;;;:::o;4486:314::-;4557:4;3571:20;;;;;;;;;;;3570:21;3562:30;;;;;;;;3611:8;;;;;;;;;;;3603:17;;;;;;;;4593:29;4614:7;4593:16;;:20;;:29;;;;:::i;:::-;4574:16;:48;;;;4657:26;4675:7;4657:8;:13;4666:3;4657:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;4641:8;:13;4650:3;4641:13;;;;;;;;;;;;;;;:42;;;;4705:3;4699:19;;;4710:7;4699:19;;;;;;;;;;;;;;;;;;4755:3;4734:34;;4751:1;4734:34;;;4760:7;4734:34;;;;;;;;;;;;;;;;;;4788:4;4781:11;;4486:314;;;;:::o;1187:123::-;1245:7;1277:1;1272;:6;;1265:14;;;;;;1301:1;1297;:5;1290:12;;1187:123;;;;:::o;1384:141::-;1442:9;1472:1;1468;:5;1464:9;;1496:1;1491;:6;;1484:14;;;;;;1516:1;1509:8;;1384:141;;;;:::o;4808:557::-;4904:1;4894:7;:11;4885:22;;;;;;;;4954:11;;4935:16;;:30;4926:41;;;;;;;;5013:35;5040:7;5013:8;:22;5022:12;5013:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;4988:8;:22;4997:12;4988:22;;;;;;;;;;;;;;;:60;;;;5078:29;5099:7;5078:16;;:20;;:29;;;;:::i;:::-;5059:16;:48;;;;5144:11;;5124:16;;:31;;5120:91;;;5195:4;5172:20;;:27;;;;;;;;;;;;;;;;;;5120:91;5252:12;5244:54;;;5266:7;5275:8;:22;5284:12;5275:22;;;;;;;;;;;;;;;;5244:54;;;;;;;;;;;;;;;;;;;;;;;;5335:12;5314:43;;5331:1;5314:43;;;5349:7;5314:43;;;;;;;;;;;;;;;;;;4808:557;;:::o

Swarm Source

bzzr://aa8dd6a3ac6cd11b8c6bf7f3acdbaa7d4c58eb7d4cfe537411cd216c4572c1ee

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.