ETH Price: $2,320.58 (+0.46%)

Contract

0x98cC695d0C6E40239Ea9C2411B71A17B6a85D5Ea
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve139019892021-12-29 18:56:21993 days ago1640804181IN
0x98cC695d...B6a85D5Ea
0 ETH0.00332367136.83322933
Approve119516012021-03-01 9:49:061296 days ago1614592146IN
0x98cC695d...B6a85D5Ea
0 ETH0.00511451115
Approve113824232020-12-03 22:41:221384 days ago1607035282IN
0x98cC695d...B6a85D5Ea
0 ETH0.002210550
Approve112946882020-11-20 11:23:301397 days ago1605871410IN
0x98cC695d...B6a85D5Ea
0 ETH0.0028018663
Approve112933362020-11-20 6:28:111398 days ago1605853691IN
0x98cC695d...B6a85D5Ea
0 ETH0.0021792249
Increase Allowan...112776802020-11-17 20:39:441400 days ago1605645584IN
0x98cC695d...B6a85D5Ea
0 ETH0.0020534745.34869883
Approve112773692020-11-17 19:30:581400 days ago1605641458IN
0x98cC695d...B6a85D5Ea
0 ETH0.0028463364
Increase Allowan...112771432020-11-17 18:39:121400 days ago1605638352IN
0x98cC695d...B6a85D5Ea
0 ETH0.0025351256
Approve112765262020-11-17 16:28:431400 days ago1605630523IN
0x98cC695d...B6a85D5Ea
0 ETH0.00459861103.40000023
Increase Allowan...112763162020-11-17 15:42:441400 days ago1605627764IN
0x98cC695d...B6a85D5Ea
0 ETH0.00475461105
Increase Allowan...112762532020-11-17 15:27:051400 days ago1605626825IN
0x98cC695d...B6a85D5Ea
0 ETH0.0036225680
Approve112760272020-11-17 14:38:491400 days ago1605623929IN
0x98cC695d...B6a85D5Ea
0 ETH0.0041805594
Approve112760232020-11-17 14:38:151400 days ago1605623895IN
0x98cC695d...B6a85D5Ea
0 ETH0.0041805594
Increase Allowan...112759952020-11-17 14:30:031400 days ago1605623403IN
0x98cC695d...B6a85D5Ea
0 ETH0.0033961575
Approve112759782020-11-17 14:27:201400 days ago1605623240IN
0x98cC695d...B6a85D5Ea
0 ETH0.0031131870.00000145
Approve112759582020-11-17 14:22:311400 days ago1605622951IN
0x98cC695d...B6a85D5Ea
0 ETH0.0031131870.00000145
Approve112759202020-11-17 14:15:211400 days ago1605622521IN
0x98cC695d...B6a85D5Ea
0 ETH0.0036023981
Approve112759132020-11-17 14:13:241400 days ago1605622404IN
0x98cC695d...B6a85D5Ea
0 ETH0.0039137188
Approve112759062020-11-17 14:12:031400 days ago1605622323IN
0x98cC695d...B6a85D5Ea
0 ETH0.0038247686
Approve112759042020-11-17 14:11:491400 days ago1605622309IN
0x98cC695d...B6a85D5Ea
0 ETH0.0035579280
Approve112759022020-11-17 14:11:091400 days ago1605622269IN
0x98cC695d...B6a85D5Ea
0 ETH0.0035579280
Approve112759012020-11-17 14:10:531400 days ago1605622253IN
0x98cC695d...B6a85D5Ea
0 ETH0.0039581889
Transfer112758172020-11-17 13:50:421400 days ago1605621042IN
0x98cC695d...B6a85D5Ea
0 ETH0.0045008182
Transfer112758142020-11-17 13:49:571400 days ago1605620997IN
0x98cC695d...B6a85D5Ea
0 ETH0.0045008182
Approve112757872020-11-17 13:44:441400 days ago1605620684IN
0x98cC695d...B6a85D5Ea
0 ETH0.0031131870
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:
Token

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-11-01
*/

pragma solidity ^0.6.0;

// ----------------------------------------------------------------------------
// 'YFDAO' token contract

// Symbol      : YFDAO
// Name        : YFDAO
// Total supply: 10 million 
// Decimals    : 18
// ----------------------------------------------------------------------------




library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
  
  function ceil(uint a, uint m) internal pure returns (uint r) {
    return (a + m - 1) / m * m;
  }
}

abstract contract ERC20Interface {
    function totalSupply() public virtual view returns (uint);
    function balanceOf(address tokenOwner) public virtual view returns (uint256 balance);
    function allowance(address tokenOwner, address spender) public virtual view returns (uint256 remaining);
    function transfer(address to, uint256 tokens) public virtual returns (bool success);
    function approve(address spender, uint256 tokens) public virtual returns (bool success);
    function transferFrom(address from, address to, uint256 tokens) public virtual returns (bool success);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}

contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}

// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract Token is ERC20Interface, Owned {
    using SafeMath for uint256;
    string public symbol = "YFDAO";
    string public  name = "YFDAO";
    uint256 public decimals = 18;
    uint256 public currentSupply = 1000000 * 10**(decimals); // 1 million
    uint256 _totalSupply = 10000000 * 10**(decimals); // 10 million
    uint256 public totalBurnt=0;
    address public owner1= 0x5102CfE9dcbB621BB22883D655e35D76aA2ebb70;
    address public owner2=0xe9f87ad9976A831C358fD08E4ac71c2eA80887E0;
    address public stakeFarmingContract;
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
    
    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        // mint _totalSupply amount of tokens and send to owner
        balances[owner] = balances[owner].add(currentSupply);
        emit Transfer(address(0),owner,currentSupply);
    }
    
    // ------------------------------------------------------------------------
    // Set the STAKE_FARMING_CONTRACT
    // @required only owner
    // ------------------------------------------------------------------------
    function setStakeFarmingContract(address _address) external onlyOwner{
        require(_address != address(0), "Invalid address");
        stakeFarmingContract = _address;
    }
    
    // ------------------------------------------------------------------------
    // Token Minting function
    // @params _amount expects the amount of tokens to be minted excluding the 
    // required decimals
    // @params _beneficiary tokens will be sent to _beneficiary
    // @required only stakeFarmingContract
    // ------------------------------------------------------------------------
    function mintTokens(uint256 _amount, address _beneficiary) public returns(bool){
        require(msg.sender == stakeFarmingContract);
        require(_beneficiary != address(0), "Invalid address");
        require(currentSupply.add(_amount) <= _totalSupply, "exceeds max cap supply 10 million");
       currentSupply = currentSupply.add(_amount);
        
        // mint _amount tokens and keep inside contract
        balances[_beneficiary] = balances[_beneficiary].add(_amount);
        
        emit Transfer(stakeFarmingContract,_beneficiary, _amount);
        return true;
    }
    
   
   
    // ------------------------------------------------------------------------
   
    
    /** ERC20Interface function's implementation **/
    
    // ------------------------------------------------------------------------
    // Get the total supply of the `token`
    // ------------------------------------------------------------------------
    function totalSupply() public override view returns (uint256){
       return _totalSupply; 
    }
    
    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public override view returns (uint256 balance) {
        return balances[tokenOwner];
    }

    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // - 1% burn on every transaction except for owners and stakeFarmingContract(In and Out both the transactions are included)
    // ------------------------------------------------------------------------
    function transfer(address to, uint256 tokens) public override returns  (bool success) {
        // prevent transfer to 0x0, use burn instead
        require(address(to) != address(0));
        require(balances[msg.sender] >= tokens );
        require(balances[to].add(tokens) >= balances[to]);
        if(msg.sender==owner1|| msg.sender==owner2 || to==stakeFarmingContract || msg.sender==stakeFarmingContract){
             balances[msg.sender] = balances[msg.sender].sub(tokens);
             balances[to] = balances[to].add(tokens);
              emit Transfer(msg.sender,to,tokens);
        }else{
            uint256 burnAmount= (tokens.mul(1)).div(100);
            totalBurnt=totalBurnt.add(burnAmount);
            currentSupply=currentSupply.sub(burnAmount);
             balances[msg.sender] = balances[msg.sender].sub(tokens);
             balances[to] = balances[to].add(tokens.sub(burnAmount));
              emit Transfer(msg.sender,to,tokens.sub(burnAmount));
              emit Transfer(msg.sender,address(0),burnAmount);
           
    }
     return true;
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    // 
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // - 1% burn on every transaction except for owners and stakeFarmingContract(In and Out both the transactions are included)
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint256 tokens) public override returns (bool success){
        require(tokens <= allowed[from][msg.sender]); //check allowance
        require(balances[from] >= tokens);
        require(from != address(0), "Invalid address");
        require(to != address(0), "Invalid address");
        
        if(from==owner1|| from==owner2 || to==stakeFarmingContract){
             balances[from] = balances[from].sub(tokens);
             balances[to] = balances[to].add(tokens);
               allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
              emit Transfer(from,to,tokens);
        }else{
            uint256 burnAmount= (tokens.mul(1)).div(100);
            totalBurnt=totalBurnt.add(burnAmount);
            currentSupply=currentSupply.sub(burnAmount);
             balances[from] = balances[from].sub(tokens);
             balances[to] = balances[to].add(tokens.sub(burnAmount));
             allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens.sub(burnAmount));
              emit Transfer(from,to,tokens.sub(burnAmount));
              emit Transfer(from,address(0),burnAmount);
           
        }
        return true;
    }
    
    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public override view returns (uint256 remaining) {
        return allowed[tokenOwner][spender];
    }
    
    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, allowed[msg.sender][spender].sub(subtractedValue));
        return true;
    }
    
    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_beneficiary","type":"address"}],"name":"mintTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setStakeFarmingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeFarmingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600581526020017f594644414f00000000000000000000000000000000000000000000000000000081525060019080519060200190620000519291906200034a565b506040518060400160405280600581526020017f594644414f000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200034a565b506012600355600354600a0a620f424002600455600354600a0a62989680026005556000600655735102cfe9dcbb621bb22883d655e35d76aa2ebb70600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9f87ad9976a831c358fd08e4ac71c2ea80887e0600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200017d57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023a600454600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200032d60201b620022b91790919060201c565b600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a3620003f9565b6000808284019050838110156200034057fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200038d57805160ff1916838001178555620003be565b82800160010185558215620003be579182015b82811115620003bd578251825591602001919060010190620003a0565b5b509050620003cd9190620003d1565b5090565b620003f691905b80821115620003f2576000816000905550600101620003d8565b5090565b90565b6123d980620004096000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806373688914116100ad578063966ff65011610071578063966ff6501461060d578063a457c2d71461062b578063a9059cbb14610691578063dd62ed3e146106f7578063f2fde38b1461076f5761012c565b8063736889141461049457806373c64d4d146104de578063771282f6146105225780638da5cb5b1461054057806395d89b411461058a5761012c565b80632a87c4ec116100f45780632a87c4ec14610324578063313ce5671461036e578063395093511461038c57806352709725146103f257806370a082311461043c5761012c565b806306fdde0314610131578063095ea7b3146101b457806310c5b3281461021a57806318160ddd1461028057806323b872dd1461029e575b600080fd5b6101396107b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610851565b604051808215151515815260200191505060405180910390f35b6102666004803603604081101561023057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610868565b604051808215151515815260200191505060405180910390f35b610288610b17565b6040518082815260200191505060405180910390f35b61030a600480360360608110156102b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b21565b604051808215151515815260200191505060405180910390f35b61032c61148f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103766114b5565b6040518082815260200191505060405180910390f35b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114bb565b604051808215151515815260200191505060405180910390f35b6103fa611560565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047e6004803603602081101561045257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b61049c6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115f5565b005b61052a611735565b6040518082815260200191505060405180910390f35b61054861173b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610592611760565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d25780820151818401526020810190506105b7565b50505050905090810190601f1680156105ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106156117fe565b6040518082815260200191505060405180910390f35b6106776004803603604081101561064157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611804565b604051808215151515815260200191505060405180910390f35b6106dd600480360360408110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b6107596004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f45565b6040518082815260200191505060405180910390f35b6107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcc565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b505050505081565b600061085e3384846120c2565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60055461097f846004546122b990919063ffffffff16565b11156109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061235f6021913960400191505060405180910390fd5b6109eb836004546122b990919063ffffffff16565b600481905550610a4383600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610bac57600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610c9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610de75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610e3f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110e757610e9682600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f2b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffd82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611484565b600061111060646111026001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611127816006546122b990919063ffffffff16565b600681905550611142816004546122d590919063ffffffff16565b60048190555061119a83600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112416111f382856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061132561129a82856122d590919063ffffffff16565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61140784876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000611556338461155185600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b6120c2565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461164e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505081565b60065481565b600061189f338461189a85600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b6120c2565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118e457600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561193057600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c283600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b10156119cd57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a765750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ace5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b265750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611cbf57611b7d82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611f3b565b6000611ce86064611cda6001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611cff816006546122b990919063ffffffff16565b600681905550611d1a816004546122d590919063ffffffff16565b600481905550611d7283600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e19611dcb82856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ebe84876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461202557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123806024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061233d6022913960400191505060405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110156122cb57fe5b8091505092915050565b6000828211156122e157fe5b818303905092915050565b6000808314156122ff576000905061231d565b600082840290508284828161231057fe5b041461231857fe5b809150505b92915050565b60008082848161232f57fe5b049050809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737365786365656473206d61782063617020737570706c79203130206d696c6c696f6e45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e4ac6ee1df4b0422d3cf9da390c748c6d581fb5f835da7ff72d04dca5360b18d64736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806373688914116100ad578063966ff65011610071578063966ff6501461060d578063a457c2d71461062b578063a9059cbb14610691578063dd62ed3e146106f7578063f2fde38b1461076f5761012c565b8063736889141461049457806373c64d4d146104de578063771282f6146105225780638da5cb5b1461054057806395d89b411461058a5761012c565b80632a87c4ec116100f45780632a87c4ec14610324578063313ce5671461036e578063395093511461038c57806352709725146103f257806370a082311461043c5761012c565b806306fdde0314610131578063095ea7b3146101b457806310c5b3281461021a57806318160ddd1461028057806323b872dd1461029e575b600080fd5b6101396107b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610851565b604051808215151515815260200191505060405180910390f35b6102666004803603604081101561023057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610868565b604051808215151515815260200191505060405180910390f35b610288610b17565b6040518082815260200191505060405180910390f35b61030a600480360360608110156102b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b21565b604051808215151515815260200191505060405180910390f35b61032c61148f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103766114b5565b6040518082815260200191505060405180910390f35b6103d8600480360360408110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114bb565b604051808215151515815260200191505060405180910390f35b6103fa611560565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047e6004803603602081101561045257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b61049c6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115f5565b005b61052a611735565b6040518082815260200191505060405180910390f35b61054861173b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610592611760565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d25780820151818401526020810190506105b7565b50505050905090810190601f1680156105ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106156117fe565b6040518082815260200191505060405180910390f35b6106776004803603604081101561064157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611804565b604051808215151515815260200191505060405180910390f35b6106dd600480360360408110156106a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b6107596004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f45565b6040518082815260200191505060405180910390f35b6107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcc565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b505050505081565b600061085e3384846120c2565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60055461097f846004546122b990919063ffffffff16565b11156109d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061235f6021913960400191505060405180910390fd5b6109eb836004546122b990919063ffffffff16565b600481905550610a4383600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610bac57600080fd5b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610c9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610de75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610e3f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110e757610e9682600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f2b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffd82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611484565b600061111060646111026001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611127816006546122b990919063ffffffff16565b600681905550611142816004546122d590919063ffffffff16565b60048190555061119a83600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112416111f382856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061132561129a82856122d590919063ffffffff16565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61140784876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000611556338461155185600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b6120c2565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461164e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505081565b60065481565b600061189f338461189a85600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b6120c2565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118e457600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561193057600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c283600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b10156119cd57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a765750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ace5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b265750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611cbf57611b7d82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1282600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611f3b565b6000611ce86064611cda6001866122ec90919063ffffffff16565b61232390919063ffffffff16565b9050611cff816006546122b990919063ffffffff16565b600681905550611d1a816004546122d590919063ffffffff16565b600481905550611d7283600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e19611dcb82856122d590919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b990919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ebe84876122d590919063ffffffff16565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461202557600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123806024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061233d6022913960400191505060405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808284019050838110156122cb57fe5b8091505092915050565b6000828211156122e157fe5b818303905092915050565b6000808314156122ff576000905061231d565b600082840290508284828161231057fe5b041461231857fe5b809150505b92915050565b60008082848161232f57fe5b049050809150509291505056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737365786365656473206d61782063617020737570706c79203130206d696c6c696f6e45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e4ac6ee1df4b0422d3cf9da390c748c6d581fb5f835da7ff72d04dca5360b18d64736f6c63430006000033

Deployed Bytecode Sourcemap

2667:9689:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2667:9689:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2784:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2784:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7725:157;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7725:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4567:595;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4567:595:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5542:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8553:1240;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8553:1240:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3176:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2820:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10655:202;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10655:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3105:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5870:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5870:132:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3033:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3966:180;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3966:180:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2855:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1967:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2747:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2747:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2999:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11360:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11360:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6480:1098;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6480:1098:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10083:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10083:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2235:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2235:166:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2784:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7725:157::-;7799:4;7816:36;7825:10;7837:7;7846:5;7816:8;:36::i;:::-;7870:4;7863:11;;7725:157;;;;:::o;4567:595::-;4641:4;4679:20;;;;;;;;;;;4665:34;;:10;:34;;;4657:43;;;;;;4743:1;4719:26;;:12;:26;;;;4711:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:12;;4784:26;4802:7;4784:13;;:17;;:26;;;;:::i;:::-;:42;;4776:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4890:26;4908:7;4890:13;;:17;;:26;;;;:::i;:::-;4874:13;:42;;;;5019:35;5046:7;5019:8;:22;5028:12;5019:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;4994:8;:22;5003:12;4994:22;;;;;;;;;;;;;;;:60;;;;5110:12;5080:52;;5089:20;;;;;;;;;;;5080:52;;;5124:7;5080:52;;;;;;;;;;;;;;;;;;5150:4;5143:11;;4567:595;;;;:::o;5542:99::-;5595:7;5620:12;;5613:19;;5542:99;:::o;8553:1240::-;8642:12;8684:7;:13;8692:4;8684:13;;;;;;;;;;;;;;;:25;8698:10;8684:25;;;;;;;;;;;;;;;;8674:6;:35;;8666:44;;;;;;8765:6;8747:8;:14;8756:4;8747:14;;;;;;;;;;;;;;;;:24;;8739:33;;;;;;8807:1;8791:18;;:4;:18;;;;8783:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8862:1;8848:16;;:2;:16;;;;8840:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8914:6;;;;;;;;;;;8908:12;;:4;:12;;;:27;;;;8929:6;;;;;;;;;;;8923:12;;:4;:12;;;8908:27;:55;;;;8943:20;;;;;;;;;;;8939:24;;:2;:24;;;8908:55;8905:859;;;8997:26;9016:6;8997:8;:14;9006:4;8997:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8980:8;:14;8989:4;8980:14;;;;;;;;;;;;;;;:43;;;;9054:24;9071:6;9054:8;:12;9063:2;9054:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;9039:8;:12;9048:2;9039:12;;;;;;;;;;;;;;;:39;;;;9124:37;9154:6;9124:7;:13;9132:4;9124:13;;;;;;;;;;;;;;;:25;9138:10;9124:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;9096:7;:13;9104:4;9096:13;;;;;;;;;;;;;;;:25;9110:10;9096:25;;;;;;;;;;;;;;;:65;;;;9197:2;9183:24;;9192:4;9183:24;;;9200:6;9183:24;;;;;;;;;;;;;;;;;;8905:859;;;9238:18;9258:24;9278:3;9259:13;9270:1;9259:6;:10;;:13;;;;:::i;:::-;9258:19;;:24;;;;:::i;:::-;9238:44;;9308:26;9323:10;9308;;:14;;:26;;;;:::i;:::-;9297:10;:37;;;;9363:29;9381:10;9363:13;;:17;;:29;;;;:::i;:::-;9349:13;:43;;;;9425:26;9444:6;9425:8;:14;9434:4;9425:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;9408:8;:14;9417:4;9408:14;;;;;;;;;;;;;;;:43;;;;9482:40;9499:22;9510:10;9499:6;:10;;:22;;;;:::i;:::-;9482:8;:12;9491:2;9482:12;;;;;;;;;;;;;;;;:16;;:40;;;;:::i;:::-;9467:8;:12;9476:2;9467:12;;;;;;;;;;;;;;;:55;;;;9566:53;9596:22;9607:10;9596:6;:10;;:22;;;;:::i;:::-;9566:7;:13;9574:4;9566:13;;;;;;;;;;;;;;;:25;9580:10;9566:25;;;;;;;;;;;;;;;;:29;;:53;;;;:::i;:::-;9538:7;:13;9546:4;9538:13;;;;;;;;;;;;;;;:25;9552:10;9538:25;;;;;;;;;;;;;;;:81;;;;9655:2;9641:40;;9650:4;9641:40;;;9658:22;9669:10;9658:6;:10;;:22;;;;:::i;:::-;9641:40;;;;;;;;;;;;;;;;;;9725:1;9703:36;;9712:4;9703:36;;;9728:10;9703:36;;;;;;;;;;;;;;;;;;8905:859;;9781:4;9774:11;;8553:1240;;;;;:::o;3176:35::-;;;;;;;;;;;;;:::o;2820:28::-;;;;:::o;10655:202::-;10735:4;10752:75;10761:10;10773:7;10782:44;10815:10;10782:7;:19;10790:10;10782:19;;;;;;;;;;;;;;;:28;10802:7;10782:28;;;;;;;;;;;;;;;;:32;;:44;;;;:::i;:::-;10752:8;:75::i;:::-;10845:4;10838:11;;10655:202;;;;:::o;3105:64::-;;;;;;;;;;;;;:::o;5870:132::-;5939:15;5974:8;:20;5983:10;5974:20;;;;;;;;;;;;;;;;5967:27;;5870:132;;;:::o;3033:65::-;;;;;;;;;;;;;:::o;3966:180::-;2201:5;;;;;;;;;;;2187:19;;:10;:19;;;2179:28;;;;;;4074:1:::1;4054:22;;:8;:22;;;;4046:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4130:8;4107:20;;:31;;;;;;;;;;;;;;;;;;3966:180:::0;:::o;2855:55::-;;;;:::o;1967:28::-;;;;;;;;;;;;;:::o;2747:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2999:27::-;;;;:::o;11360:212::-;11445:4;11462:80;11471:10;11483:7;11492:49;11525:15;11492:7;:19;11500:10;11492:19;;;;;;;;;;;;;;;:28;11512:7;11492:28;;;;;;;;;;;;;;;;:32;;:49;;;;:::i;:::-;11462:8;:80::i;:::-;11560:4;11553:11;;11360:212;;;;:::o;6480:1098::-;6552:12;6662:1;6639:25;;6647:2;6639:25;;;;6631:34;;;;;;6708:6;6684:8;:20;6693:10;6684:20;;;;;;;;;;;;;;;;:30;;6676:40;;;;;;6763:8;:12;6772:2;6763:12;;;;;;;;;;;;;;;;6735:24;6752:6;6735:8;:12;6744:2;6735:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;:40;;6727:49;;;;;;6802:6;;;;;;;;;;;6790:18;;:10;:18;;;:39;;;;6823:6;;;;;;;;;;;6811:18;;:10;:18;;;6790:39;:67;;;;6837:20;;;;;;;;;;;6833:24;;:2;:24;;;6790:67;:103;;;;6873:20;;;;;;;;;;;6861:32;;:10;:32;;;6790:103;6787:765;;;6933:32;6958:6;6933:8;:20;6942:10;6933:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6910:8;:20;6919:10;6910:20;;;;;;;;;;;;;;;:55;;;;6996:24;7013:6;6996:8;:12;7005:2;6996:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6981:8;:12;6990:2;6981:12;;;;;;;;;;;;;;;:39;;;;7062:2;7042:30;;7051:10;7042:30;;;7065:6;7042:30;;;;;;;;;;;;;;;;;;6787:765;;;7103:18;7123:24;7143:3;7124:13;7135:1;7124:6;:10;;:13;;;;:::i;:::-;7123:19;;:24;;;;:::i;:::-;7103:44;;7173:26;7188:10;7173;;:14;;:26;;;;:::i;:::-;7162:10;:37;;;;7228:29;7246:10;7228:13;;:17;;:29;;;;:::i;:::-;7214:13;:43;;;;7296:32;7321:6;7296:8;:20;7305:10;7296:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7273:8;:20;7282:10;7273:20;;;;;;;;;;;;;;;:55;;;;7359:40;7376:22;7387:10;7376:6;:10;;:22;;;;:::i;:::-;7359:8;:12;7368:2;7359:12;;;;;;;;;;;;;;;;:16;;:40;;;;:::i;:::-;7344:8;:12;7353:2;7344:12;;;;;;;;;;;;;;;:55;;;;7441:2;7421:46;;7430:10;7421:46;;;7444:22;7455:10;7444:6;:10;;:22;;;;:::i;:::-;7421:46;;;;;;;;;;;;;;;;;;7517:1;7489:42;;7498:10;7489:42;;;7520:10;7489:42;;;;;;;;;;;;;;;;;;6787:765;;7566:4;7559:11;;6480:1098;;;;:::o;10083:159::-;10169:17;10206:7;:19;10214:10;10206:19;;;;;;;;;;;;;;;:28;10226:7;10206:28;;;;;;;;;;;;;;;;10199:35;;10083:159;;;;:::o;2235:166::-;2201:5;;;;;;;;;;;2187:19;;:10;:19;;;2179:28;;;;;;2325:9:::1;2317:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2383:9;2350:43;;2371:10;2350:43;;;;;;;;;;;;2235:166:::0;:::o;12016:331::-;12126:1;12109:19;;:5;:19;;;;12101:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12207:1;12188:21;;:7;:21;;;;12180:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12287:5;12261:7;:14;12269:5;12261:14;;;;;;;;;;;;;;;:23;12276:7;12261:23;;;;;;;;;;;;;;;:31;;;;12324:7;12308:31;;12317:5;12308:31;;;12333:5;12308:31;;;;;;;;;;;;;;;;;;12016:331;;;:::o;928:133::-;986:7;1002:9;1018:1;1014;:5;1002:17;;1038:1;1033;:6;;1026:14;;;;1054:1;1047:8;;;928:133;;;;:::o;809:113::-;867:7;895:1;890;:6;;883:14;;;;915:1;911;:5;904:12;;809:113;;;;:::o;347:180::-;405:7;430:1;425;:6;421:37;;;449:1;442:8;;;;421:37;464:9;480:1;476;:5;464:17;;504:1;499;495;:5;;;;;;:10;488:18;;;;520:1;513:8;;;347:180;;;;;:::o;533:270::-;591:7;682:9;698:1;694;:5;;;;;;682:17;;796:1;789:8;;;533:270;;;;:::o

Swarm Source

ipfs://e4ac6ee1df4b0422d3cf9da390c748c6d581fb5f835da7ff72d04dca5360b18d

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.