ETH Price: $3,309.42 (-4.06%)

Contract

0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9
 
Transaction Hash
Method
Block
From
To
Transfer212750812024-11-26 23:02:112 hrs ago1732662131IN
Swipe: SXP Token
0 ETH0.000452188.04061594
Transfer212744382024-11-26 20:53:114 hrs ago1732654391IN
Swipe: SXP Token
0 ETH0.0007768615.10301114
Transfer212742782024-11-26 20:21:114 hrs ago1732652471IN
Swipe: SXP Token
0 ETH0.0004765212.18297336
Approve212730332024-11-26 16:11:238 hrs ago1732637483IN
Swipe: SXP Token
0 ETH0.0007930215.58335227
Transfer212728162024-11-26 15:27:599 hrs ago1732634879IN
Swipe: SXP Token
0 ETH0.0007742315.05186849
Approve212727242024-11-26 15:09:359 hrs ago1732633775IN
Swipe: SXP Token
0 ETH0.0011589522.92553107
Transfer From212717312024-11-26 11:49:5913 hrs ago1732621799IN
Swipe: SXP Token
0 ETH0.0007385218.44337162
Transfer212717212024-11-26 11:47:5913 hrs ago1732621679IN
Swipe: SXP Token
0 ETH0.0009450918.36486
Transfer From212716812024-11-26 11:39:5913 hrs ago1732621199IN
Swipe: SXP Token
0 ETH0.000806120.1491354
Approve212716662024-11-26 11:36:4713 hrs ago1732621007IN
Swipe: SXP Token
0 ETH0.0010572820.77632904
Transfer212716362024-11-26 11:30:4713 hrs ago1732620647IN
Swipe: SXP Token
0 ETH0.0009397216.71337186
Approve212708502024-11-26 8:52:3516 hrs ago1732611155IN
Swipe: SXP Token
0 ETH0.0005070710.03301866
Approve212691062024-11-26 3:01:3522 hrs ago1732590095IN
Swipe: SXP Token
0 ETH0.000357297.02106489
Transfer212688032024-11-26 2:00:5923 hrs ago1732586459IN
Swipe: SXP Token
0 ETH0.000337376.55741953
Approve212681982024-11-25 23:59:1125 hrs ago1732579151IN
Swipe: SXP Token
0 ETH0.000333056.5788984
Transfer212668712024-11-25 19:31:4729 hrs ago1732563107IN
Swipe: SXP Token
0 ETH0.000646218.80593142
Transfer212668572024-11-25 19:28:5929 hrs ago1732562939IN
Swipe: SXP Token
0 ETH0.0010131118.01858952
Approve212664722024-11-25 18:11:1130 hrs ago1732558271IN
Swipe: SXP Token
0 ETH0.000775115.33608961
Approve212661072024-11-25 16:57:1132 hrs ago1732553831IN
Swipe: SXP Token
0 ETH0.000936618.40484505
Transfer From212655162024-11-25 14:57:5934 hrs ago1732546679IN
Swipe: SXP Token
0 ETH0.0012453231.12779106
Approve212654962024-11-25 14:53:5934 hrs ago1732546439IN
Swipe: SXP Token
0 ETH0.0017700134.78189213
Transfer212654342024-11-25 14:41:1134 hrs ago1732545671IN
Swipe: SXP Token
0 ETH0.0011351822.07423541
Transfer212653572024-11-25 14:25:4734 hrs ago1732544747IN
Swipe: SXP Token
0 ETH0.0013117125.50689317
Approve212651642024-11-25 13:47:1135 hrs ago1732542431IN
Swipe: SXP Token
0 ETH0.0006395212.56711206
Transfer212650432024-11-25 13:22:3535 hrs ago1732540955IN
Swipe: SXP Token
0 ETH0.0011677422.69673151
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:
SwipeToken

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-08-16
*/

pragma solidity ^0.5.0;


// ----------------------------------------------------------------------------

// 'SXP' 'Swipe' token contract

//

// Symbol      : SXP

// Name        : Swipe

// Total supply: 300,000,000.000000000000000000

// Decimals    : 18

// Website     : https://swipe.io


//


// ----------------------------------------------------------------------------



// ----------------------------------------------------------------------------

// Safe maths

// ----------------------------------------------------------------------------

library SafeMath {

    function add(uint a, uint b) internal pure returns (uint c) {

        c = a + b;

        require(c >= a);

    }

    function sub(uint a, uint b) internal pure returns (uint c) {

        require(b <= a);

        c = a - b;

    }

    function mul(uint a, uint b) internal pure returns (uint c) {

        c = a * b;

        require(a == 0 || c / a == b);

    }

    function div(uint a, uint b) internal pure returns (uint c) {

        require(b > 0);

        c = a / b;

    }

}



// ----------------------------------------------------------------------------

// ERC Token Standard #20 Interface

// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md

// ----------------------------------------------------------------------------

contract ERC20Interface {

    function totalSupply() public view returns (uint);

    function balanceOf(address tokenOwner) public view returns (uint balance);

    function allowance(address tokenOwner, address spender) public view returns (uint remaining);

    function transfer(address to, uint tokens) public returns (bool success);

    function approve(address spender, uint tokens) public returns (bool success);

    function transferFrom(address from, address to, uint tokens) public returns (bool success);


    event Transfer(address indexed from, address indexed to, uint tokens);

    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

}



// ----------------------------------------------------------------------------

// Contract function to receive approval and execute function in one call

//

// Borrowed from MiniMeToken

// ----------------------------------------------------------------------------

contract ApproveAndCallFallBack {

    function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;

}



// ----------------------------------------------------------------------------

// Owned contract

// ----------------------------------------------------------------------------

contract Owned {

    address public owner;

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


    constructor() public {

        owner = msg.sender;

    }


    modifier onlyOwner {

        require(msg.sender == owner);

        _;

    }


    function transferOwnership(address newOwner) public onlyOwner {

        owner = newOwner;
        emit OwnershipTransferred(owner, newOwner);

    }

}

// ----------------------------------------------------------------------------

// Tokenlock contract

// ----------------------------------------------------------------------------
contract Tokenlock is Owned {
    
    uint8 isLocked = 0;       //flag indicates if token is locked

    event Freezed();
    event UnFreezed();

    modifier validLock {
        require(isLocked == 0);
        _;
    }
    
    function freeze() public onlyOwner {
        isLocked = 1;
        
        emit Freezed();
    }

    function unfreeze() public onlyOwner {
        isLocked = 0;
        
        emit UnFreezed();
    }
}

// ----------------------------------------------------------------------------

// Limit users in blacklist

// ----------------------------------------------------------------------------
contract UserLock is Owned {
    
    mapping(address => bool) blacklist;
        
    event LockUser(address indexed who);
    event UnlockUser(address indexed who);

    modifier permissionCheck {
        require(!blacklist[msg.sender]);
        _;
    }
    
    function lockUser(address who) public onlyOwner {
        blacklist[who] = true;
        
        emit LockUser(who);
    }

    function unlockUser(address who) public onlyOwner {
        blacklist[who] = false;
        
        emit UnlockUser(who);
    }
}


// ----------------------------------------------------------------------------

// ERC20 Token, with the addition of symbol, name and decimals and a

// fixed supply

// ----------------------------------------------------------------------------

contract SwipeToken is ERC20Interface, Tokenlock, UserLock {

    using SafeMath for uint;


    string public symbol;

    string public  name;

    uint8 public decimals;

    uint _totalSupply;


    mapping(address => uint) balances;

    mapping(address => mapping(address => uint)) allowed;



    // ------------------------------------------------------------------------

    // Constructor

    // ------------------------------------------------------------------------

    constructor() public {

        symbol = "SXP";

        name = "Swipe";

        decimals = 18;

        _totalSupply = 300000000 * 10**uint(decimals);

        balances[owner] = _totalSupply;

        emit Transfer(address(0), owner, _totalSupply);

    }



    // ------------------------------------------------------------------------

    // Total supply

    // ------------------------------------------------------------------------

    function totalSupply() public view returns (uint) {

        return _totalSupply.sub(balances[address(0)]);

    }



    // ------------------------------------------------------------------------

    // Get the token balance for account `tokenOwner`

    // ------------------------------------------------------------------------

    function balanceOf(address tokenOwner) public view returns (uint 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

    // ------------------------------------------------------------------------

    function transfer(address to, uint tokens) public validLock permissionCheck returns (bool success) {

        balances[msg.sender] = balances[msg.sender].sub(tokens);

        balances[to] = balances[to].add(tokens);

        emit Transfer(msg.sender, to, tokens);

        return true;

    }



    // ------------------------------------------------------------------------

    // Token owner can approve for `spender` to transferFrom(...) `tokens`

    // from the token owner's account

    //

    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md

    // recommends that there are no checks for the approval double-spend attack

    // as this should be implemented in user interfaces

    // ------------------------------------------------------------------------

    function approve(address spender, uint tokens) public validLock permissionCheck returns (bool success) {

        allowed[msg.sender][spender] = tokens;

        emit Approval(msg.sender, spender, tokens);

        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

    // ------------------------------------------------------------------------

    function transferFrom(address from, address to, uint tokens) public validLock permissionCheck returns (bool success) {

        balances[from] = balances[from].sub(tokens);

        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);

        balances[to] = balances[to].add(tokens);

        emit Transfer(from, to, tokens);

        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 view returns (uint remaining) {

        return allowed[tokenOwner][spender];

    }


     // ------------------------------------------------------------------------
     // Destroys `amount` tokens from `account`, reducing the
     // total supply.
     
     // Emits a `Transfer` event with `to` set to the zero address.
     
     // Requirements
     
     // - `account` cannot be the zero address.
     // - `account` must have at least `amount` tokens.
     
     // ------------------------------------------------------------------------
    function burn(uint256 value) public validLock permissionCheck returns (bool success) {
        require(msg.sender != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        balances[msg.sender] = balances[msg.sender].sub(value);
        emit Transfer(msg.sender, address(0), value);
        return true;
    }

    // ------------------------------------------------------------------------

    // Token owner can approve for `spender` to transferFrom(...) `tokens`

    // from the token owner's account. The `spender` contract function

    // `receiveApproval(...)` is then executed

    // ------------------------------------------------------------------------

    function approveAndCall(address spender, uint tokens, bytes memory data) public validLock permissionCheck returns (bool success) {

        allowed[msg.sender][spender] = tokens;

        emit Approval(msg.sender, spender, tokens);

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);

        return true;

    }


    // ------------------------------------------------------------------------
    // Destoys `amount` tokens from `account`.`amount` is then deducted
    // from the caller's allowance.
    
    //  See `burn` and `approve`.
    // ------------------------------------------------------------------------
    function burnForAllowance(address account, address feeAccount, uint256 amount) public onlyOwner returns (bool success) {
        require(account != address(0), "burn from the zero address");
        require(balanceOf(account) >= amount, "insufficient balance");

        uint feeAmount = amount.mul(2).div(10);
        uint burnAmount = amount.sub(feeAmount);
        
        _totalSupply = _totalSupply.sub(burnAmount);
        balances[account] = balances[account].sub(amount);
        balances[feeAccount] = balances[feeAccount].add(feeAmount);
        emit Transfer(account, address(0), burnAmount);
        emit Transfer(account, msg.sender, feeAmount);
        return true;
    }


    // ------------------------------------------------------------------------

    // Don't accept ETH

    // ------------------------------------------------------------------------

    function () external payable {

        revert();

    }



    // ------------------------------------------------------------------------

    // Owner can transfer out any accidentally sent ERC20 tokens

    // ------------------------------------------------------------------------

    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {

        return ERC20Interface(tokenAddress).transfer(owner, tokens);

    }

}

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":"tokens","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":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"feeAccount","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnForAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"}],"name":"unlockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"}],"name":"lockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","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":"who","type":"address"}],"name":"LockUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"}],"name":"UnlockUser","type":"event"},{"anonymous":false,"inputs":[],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[],"name":"UnFreezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

608060405260008060146101000a81548160ff021916908360ff1602179055503480156200002c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600381526020017f535850000000000000000000000000000000000000000000000000000000000081525060029080519060200190620000ba9291906200023d565b506040805190810160405280600581526020017f537769706500000000000000000000000000000000000000000000000000000081525060039080519060200190620001089291906200023d565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a6311e1a30002600581905550600554600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620002ec565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028057805160ff1916838001178555620002b1565b82800160010185558215620002b1579182015b82811115620002b057825182559160200191906001019062000293565b5b509050620002c09190620002c4565b5090565b620002e991905b80821115620002e5576000816000905550600101620002cb565b5090565b90565b61218080620002fc6000396000f3fe608060405260043610610101576000357c01000000000000000000000000000000000000000000000000000000009004806306fdde0314610106578063095ea7b31461019657806318160ddd1461020957806323b872dd14610234578063313ce567146102c757806332790343146102f857806342966c681461038b57806362a5af3b146103de5780636a28f000146103f557806370a082311461040c5780638da5cb5b1461047157806395d89b41146104c8578063a9059cbb14610558578063bd1870a3146105cb578063cae9ca511461061c578063d797258014610726578063dc39d06d14610777578063dd62ed3e146107ea578063f2fde38b1461086f575b600080fd5b34801561011257600080fd5b5061011b6108c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015b578082015181840152602081019050610140565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a257600080fd5b506101ef600480360360408110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061095e565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e610ac9565b6040518082815260200191505060405180910390f35b34801561024057600080fd5b506102ad6004803603606081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b24565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610e48565b604051808260ff1660ff16815260200191505060405180910390f35b34801561030457600080fd5b506103716004803603606081101561031b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e5b565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103c4600480360360208110156103ae57600080fd5b810190808035906020019092919050505061123c565b604051808215151515815260200191505060405180910390f35b3480156103ea57600080fd5b506103f36114a1565b005b34801561040157600080fd5b5061040a611546565b005b34801561041857600080fd5b5061045b6004803603602081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ea565b6040518082815260200191505060405180910390f35b34801561047d57600080fd5b50610486611633565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d457600080fd5b506104dd611658565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051d578082015181840152602081019050610502565b50505050905090810190601f16801561054a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056457600080fd5b506105b16004803603604081101561057b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f6565b604051808215151515815260200191505060405180910390f35b3480156105d757600080fd5b5061061a600480360360208110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061190a565b005b34801561062857600080fd5b5061070c6004803603606081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561068657600080fd5b82018360208201111561069857600080fd5b803590602001918460018302840111640100000000831117156106ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a03565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ccb565b005b34801561078357600080fd5b506107d06004803603604081101561079a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611dc3565b604051808215151515815260200191505060405180910390f35b3480156107f657600080fd5b506108596004803603604081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f27565b6040518082815260200191505060405180910390f35b34801561087b57600080fd5b506108be6004803603602081101561089257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fae565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109565780601f1061092b57610100808354040283529160200191610956565b820191906000526020600020905b81548152906001019060200180831161093957829003601f168201915b505050505081565b600080600060149054906101000a900460ff1660ff1614151561098057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156109d957600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610b1f600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005546120c790919063ffffffff16565b905090565b600080600060149054906101000a900460ff1660ff16141515610b4657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610b9f57600080fd5b610bf182600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cc382600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d9582600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610f5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6275726e2066726f6d20746865207a65726f206164647265737300000000000081525060200191505060405180910390fd5b81610f67856115ea565b10151515610fdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f696e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b6000611006600a610ff86002866120ff90919063ffffffff16565b61213090919063ffffffff16565b9050600061101d82856120c790919063ffffffff16565b9050611034816005546120c790919063ffffffff16565b60058190555061108c84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112182600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001925050509392505050565b600080600060149054906101000a900460ff1660ff1614151561125e57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156112b757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45524332303a206275726e2066726f6d20746865207a65726f2061646472657381526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b611397826005546120c790919063ffffffff16565b6005819055506113ef82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114fc57600080fd5b6001600060146101000a81548160ff021916908360ff1602179055507f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115a157600080fd5b60008060146101000a81548160ff021916908360ff1602179055507ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d60405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ee5780601f106116c3576101008083540402835291602001916116ee565b820191906000526020600020905b8154815290600101906020018083116116d157829003601f168201915b505050505081565b600080600060149054906101000a900460ff1660ff1614151561171857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561177157600080fd5b6117c382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185882600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561196557600080fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f687691c08a3e67a160ba20a32cb1c56791955f12c5ff5d5fcf62bc456ad79ea160405160405180910390a250565b600080600060149054906101000a900460ff1660ff16141515611a2557600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a7e57600080fd5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c59578082015181840152602081019050611c3e565b50505050905090810190601f168015611c865780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ca857600080fd5b505af1158015611cbc573d6000803e3d6000fd5b50505050600190509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2657600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f169aadf55dc2098830ccf9f334e3ce3933b6e895b9114fc9f49242f2be61fe8e60405160405180910390a250565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b505050506040513d6020811015611f0e57600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60008282111515156120d857600080fd5b818303905092915050565b600081830190508281101515156120f957600080fd5b92915050565b60008183029050600083148061211f575081838281151561211c57fe5b04145b151561212a57600080fd5b92915050565b6000808211151561214057600080fd5b818381151561214b57fe5b0490509291505056fea165627a7a72305820c4106b9ad83ca84cfa02374313a92ee34de258d2bcb54537da9e21ff5d2c75620029

Deployed Bytecode

0x608060405260043610610101576000357c01000000000000000000000000000000000000000000000000000000009004806306fdde0314610106578063095ea7b31461019657806318160ddd1461020957806323b872dd14610234578063313ce567146102c757806332790343146102f857806342966c681461038b57806362a5af3b146103de5780636a28f000146103f557806370a082311461040c5780638da5cb5b1461047157806395d89b41146104c8578063a9059cbb14610558578063bd1870a3146105cb578063cae9ca511461061c578063d797258014610726578063dc39d06d14610777578063dd62ed3e146107ea578063f2fde38b1461086f575b600080fd5b34801561011257600080fd5b5061011b6108c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015b578082015181840152602081019050610140565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a257600080fd5b506101ef600480360360408110156101b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061095e565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e610ac9565b6040518082815260200191505060405180910390f35b34801561024057600080fd5b506102ad6004803603606081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b24565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610e48565b604051808260ff1660ff16815260200191505060405180910390f35b34801561030457600080fd5b506103716004803603606081101561031b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e5b565b604051808215151515815260200191505060405180910390f35b34801561039757600080fd5b506103c4600480360360208110156103ae57600080fd5b810190808035906020019092919050505061123c565b604051808215151515815260200191505060405180910390f35b3480156103ea57600080fd5b506103f36114a1565b005b34801561040157600080fd5b5061040a611546565b005b34801561041857600080fd5b5061045b6004803603602081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ea565b6040518082815260200191505060405180910390f35b34801561047d57600080fd5b50610486611633565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d457600080fd5b506104dd611658565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051d578082015181840152602081019050610502565b50505050905090810190601f16801561054a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056457600080fd5b506105b16004803603604081101561057b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f6565b604051808215151515815260200191505060405180910390f35b3480156105d757600080fd5b5061061a600480360360208110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061190a565b005b34801561062857600080fd5b5061070c6004803603606081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561068657600080fd5b82018360208201111561069857600080fd5b803590602001918460018302840111640100000000831117156106ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a03565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ccb565b005b34801561078357600080fd5b506107d06004803603604081101561079a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611dc3565b604051808215151515815260200191505060405180910390f35b3480156107f657600080fd5b506108596004803603604081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f27565b6040518082815260200191505060405180910390f35b34801561087b57600080fd5b506108be6004803603602081101561089257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fae565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109565780601f1061092b57610100808354040283529160200191610956565b820191906000526020600020905b81548152906001019060200180831161093957829003601f168201915b505050505081565b600080600060149054906101000a900460ff1660ff1614151561098057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156109d957600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610b1f600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005546120c790919063ffffffff16565b905090565b600080600060149054906101000a900460ff1660ff16141515610b4657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610b9f57600080fd5b610bf182600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cc382600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d9582600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610f5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6275726e2066726f6d20746865207a65726f206164647265737300000000000081525060200191505060405180910390fd5b81610f67856115ea565b10151515610fdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f696e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b6000611006600a610ff86002866120ff90919063ffffffff16565b61213090919063ffffffff16565b9050600061101d82856120c790919063ffffffff16565b9050611034816005546120c790919063ffffffff16565b60058190555061108c84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112182600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001925050509392505050565b600080600060149054906101000a900460ff1660ff1614151561125e57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156112b757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45524332303a206275726e2066726f6d20746865207a65726f2061646472657381526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b611397826005546120c790919063ffffffff16565b6005819055506113ef82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114fc57600080fd5b6001600060146101000a81548160ff021916908360ff1602179055507f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115a157600080fd5b60008060146101000a81548160ff021916908360ff1602179055507ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d60405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116ee5780601f106116c3576101008083540402835291602001916116ee565b820191906000526020600020905b8154815290600101906020018083116116d157829003601f168201915b505050505081565b600080600060149054906101000a900460ff1660ff1614151561171857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561177157600080fd5b6117c382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c790919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185882600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561196557600080fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f687691c08a3e67a160ba20a32cb1c56791955f12c5ff5d5fcf62bc456ad79ea160405160405180910390a250565b600080600060149054906101000a900460ff1660ff16141515611a2557600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a7e57600080fd5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c59578082015181840152602081019050611c3e565b50505050905090810190601f168015611c865780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ca857600080fd5b505af1158015611cbc573d6000803e3d6000fd5b50505050600190509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2657600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f169aadf55dc2098830ccf9f334e3ce3933b6e895b9114fc9f49242f2be61fe8e60405160405180910390a250565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b505050506040513d6020811015611f0e57600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60008282111515156120d857600080fd5b818303905092915050565b600081830190508281101515156120f957600080fd5b92915050565b60008183029050600083148061211f575081838281151561211c57fe5b04145b151561212a57600080fd5b92915050565b6000808211151561214057600080fd5b818381151561214b57fe5b0490509291505056fea165627a7a72305820c4106b9ad83ca84cfa02374313a92ee34de258d2bcb54537da9e21ff5d2c75620029

Deployed Bytecode Sourcemap

4873:7617:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12033:8;;;5004:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5004:19:0;;;:::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;5004:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7534:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7534:242:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7534:242:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5857:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5857:118:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8339:381;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8339:381:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8339:381:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5032:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5032:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11089:699;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11089:699:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11089:699:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9654:367;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9654:367:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9654:367:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3646:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3646:101:0;;;:::i;:::-;;3755:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3755:105:0;;;:::i;:::-;;6210:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6210:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6210:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2776:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2776:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4975;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4975:20:0;;;:::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;4975:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6697:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6697:303:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6697:303:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4475:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4475:132:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4475:132:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10397:369;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10397:369:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10397:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10397:369:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10397:369:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10397:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;10397:369:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4340:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4340:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4340:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12297:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12297:188:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12297:188:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9018:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9018:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9018:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3052:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3052:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3052:154:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5004:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7534:242::-;7623:12;3612:1;3600:8;;;;;;;;;;;:13;;;3592:22;;;;;;;;4286:9;:21;4296:10;4286:21;;;;;;;;;;;;;;;;;;;;;;;;;4285:22;4277:31;;;;;;;;7681:6;7650:7;:19;7658:10;7650:19;;;;;;;;;;;;;;;:28;7670:7;7650:28;;;;;;;;;;;;;;;:37;;;;7726:7;7705:37;;7714:10;7705:37;;;7735:6;7705:37;;;;;;;;;;;;;;;;;;7762:4;7755:11;;7534:242;;;;:::o;5857:118::-;5901:4;5927:38;5944:8;:20;5961:1;5944:20;;;;;;;;;;;;;;;;5927:12;;:16;;:38;;;;:::i;:::-;5920:45;;5857:118;:::o;8339:381::-;8442:12;3612:1;3600:8;;;;;;;;;;;:13;;;3592:22;;;;;;;;4286:9;:21;4296:10;4286:21;;;;;;;;;;;;;;;;;;;;;;;;;4285:22;4277:31;;;;;;;;8486:26;8505:6;8486:8;:14;8495:4;8486:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8469:8;:14;8478:4;8469:14;;;;;;;;;;;;;;;:43;;;;8553:37;8583:6;8553:7;:13;8561:4;8553:13;;;;;;;;;;;;;;;:25;8567:10;8553:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;8525:7;:13;8533:4;8525:13;;;;;;;;;;;;;;;:25;8539:10;8525:25;;;;;;;;;;;;;;;:65;;;;8618:24;8635:6;8618:8;:12;8627:2;8618:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;8603:8;:12;8612:2;8603:12;;;;;;;;;;;;;;;:39;;;;8675:2;8660:26;;8669:4;8660:26;;;8679:6;8660:26;;;;;;;;;;;;;;;;;;8706:4;8699:11;;8339:381;;;;;:::o;5032:21::-;;;;;;;;;;;;;:::o;11089:699::-;11194:12;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;11246:1;11227:21;;:7;:21;;;;11219:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11320:6;11298:18;11308:7;11298:9;:18::i;:::-;:28;;11290:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11364:14;11381:21;11399:2;11381:13;11392:1;11381:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;11364:38;;11413:15;11431:21;11442:9;11431:6;:10;;:21;;;;:::i;:::-;11413:39;;11488:28;11505:10;11488:12;;:16;;:28;;;;:::i;:::-;11473:12;:43;;;;11547:29;11569:6;11547:8;:17;11556:7;11547:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;11527:8;:17;11536:7;11527:17;;;;;;;;;;;;;;;:49;;;;11610:35;11635:9;11610:8;:20;11619:10;11610:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;11587:8;:20;11596:10;11587:20;;;;;;;;;;;;;;;:58;;;;11687:1;11661:41;;11670:7;11661:41;;;11691:10;11661:41;;;;;;;;;;;;;;;;;;11736:10;11718:40;;11727:7;11718:40;;;11748:9;11718:40;;;;;;;;;;;;;;;;;;11776:4;11769:11;;;;11089:699;;;;;:::o;9654:367::-;9725:12;3612:1;3600:8;;;;;;;;;;;:13;;;3592:22;;;;;;;;4286:9;:21;4296:10;4286:21;;;;;;;;;;;;;;;;;;;;;;;;;4285:22;4277:31;;;;;;;;9780:1;9758:24;;:10;:24;;;;9750:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9848:23;9865:5;9848:12;;:16;;:23;;;;:::i;:::-;9833:12;:38;;;;9905:31;9930:5;9905:8;:20;9914:10;9905:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;9882:8;:20;9891:10;9882:20;;;;;;;;;;;;;;;:54;;;;9981:1;9952:39;;9961:10;9952:39;;;9985:5;9952:39;;;;;;;;;;;;;;;;;;10009:4;10002:11;;9654:367;;;:::o;3646:101::-;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;3703:1;3692:8;;:12;;;;;;;;;;;;;;;;;;3730:9;;;;;;;;;;3646:101::o;3755:105::-;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;3814:1;3803:8;;:12;;;;;;;;;;;;;;;;;;3841:11;;;;;;;;;;3755:105::o;6210:124::-;6270:12;6304:8;:20;6313:10;6304:20;;;;;;;;;;;;;;;;6297:27;;6210:124;;;:::o;2776:20::-;;;;;;;;;;;;;:::o;4975:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6697:303::-;6782:12;3612:1;3600:8;;;;;;;;;;;:13;;;3592:22;;;;;;;;4286:9;:21;4296:10;4286:21;;;;;;;;;;;;;;;;;;;;;;;;;4285:22;4277:31;;;;;;;;6832:32;6857:6;6832:8;:20;6841:10;6832:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6809:8;:20;6818:10;6809:20;;;;;;;;;;;;;;;:55;;;;6892:24;6909:6;6892:8;:12;6901:2;6892:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6877:8;:12;6886:2;6877:12;;;;;;;;;;;;;;;:39;;;;6955:2;6934:32;;6943:10;6934:32;;;6959:6;6934:32;;;;;;;;;;;;;;;;;;6986:4;6979:11;;6697:303;;;;:::o;4475:132::-;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;4553:5;4536:9;:14;4546:3;4536:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4595:3;4584:15;;;;;;;;;;;;4475:132;:::o;10397:369::-;10512:12;3612:1;3600:8;;;;;;;;;;;:13;;;3592:22;;;;;;;;4286:9;:21;4296:10;4286:21;;;;;;;;;;;;;;;;;;;;;;;;;4285:22;4277:31;;;;;;;;10570:6;10539:7;:19;10547:10;10539:19;;;;;;;;;;;;;;;:28;10559:7;10539:28;;;;;;;;;;;;;;;:37;;;;10615:7;10594:37;;10603:10;10594:37;;;10624:6;10594:37;;;;;;;;;;;;;;;;;;10667:7;10644:47;;;10692:10;10704:6;10720:4;10727;10644:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10644:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10644:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10644:88:0;;;;10752:4;10745:11;;10397:369;;;;;:::o;4340:127::-;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;4416:4;4399:9;:14;4409:3;4399:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;4455:3;4446:13;;;;;;;;;;;;4340:127;:::o;12297:188::-;12389:12;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;12438:12;12423:37;;;12461:5;;;;;;;;;;;12468:6;12423:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12423:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12423:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12423:52:0;;;;;;;;;;;;;;;;12416:59;;12297:188;;;;:::o;9018:151::-;9095:14;9131:7;:19;9139:10;9131:19;;;;;;;;;;;;;;;:28;9151:7;9131:28;;;;;;;;;;;;;;;;9124:35;;9018:151;;;;:::o;3052:154::-;3012:5;;;;;;;;;;;2998:19;;:10;:19;;;2990:28;;;;;;;;3135:8;3127:5;;:16;;;;;;;;;;;;;;;;;;3187:8;3159:37;;3180:5;;;;;;;;;;;3159:37;;;;;;;;;;;;3052:154;:::o;748:120::-;800:6;834:1;829;:6;;821:15;;;;;;;;857:1;853;:5;849:9;;748:120;;;;:::o;620:::-;672:6;701:1;697;:5;693:9;;728:1;723;:6;;715:15;;;;;;;;620:120;;;;:::o;876:134::-;928:6;957:1;953;:5;949:9;;984:1;979;:6;:20;;;;998:1;993;989;:5;;;;;;;;:10;979:20;971:29;;;;;;;;876:134;;;;:::o;1018:119::-;1070:6;1103:1;1099;:5;1091:14;;;;;;;;1126:1;1122;:5;;;;;;;;1118:9;;1018:119;;;;:::o

Swarm Source

bzzr://c4106b9ad83ca84cfa02374313a92ee34de258d2bcb54537da9e21ff5d2c7562

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Swipe is a cryptocurrency wallet and debit card that enables users to spend their cryptocurrencies over the world.

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.