ETH Price: $3,305.34 (-3.51%)
Gas: 7 Gwei

Contract

0x196a26eF25Beea61f9199e3F9d4C5C03377DF786
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Stake202271092024-07-03 16:15:112 hrs ago1720023311IN
0x196a26eF...3377DF786
0 ETH0.0007357612.86656015
Stake202266822024-07-03 14:48:593 hrs ago1720018139IN
0x196a26eF...3377DF786
0 ETH0.0026675315.68974856
Stake202266172024-07-03 14:35:594 hrs ago1720017359IN
0x196a26eF...3377DF786
0 ETH0.001966916.06172049
Unstake202266112024-07-03 14:34:474 hrs ago1720017287IN
0x196a26eF...3377DF786
0 ETH0.0013144317.13959065
Stake202265272024-07-03 14:17:594 hrs ago1720016279IN
0x196a26eF...3377DF786
0 ETH0.0018175920.59669064
Stake202264762024-07-03 14:07:474 hrs ago1720015667IN
0x196a26eF...3377DF786
0 ETH0.0018801421.30261503
Stake202264292024-07-03 13:58:234 hrs ago1720015103IN
0x196a26eF...3377DF786
0 ETH0.0016114516.82608549
Stake202223992024-07-03 0:27:2318 hrs ago1719966443IN
0x196a26eF...3377DF786
0 ETH0.000803684.72741437
Stake202222452024-07-02 23:55:5918 hrs ago1719964559IN
0x196a26eF...3377DF786
0 ETH0.000345374.39073179
Stake202221362024-07-02 23:34:1119 hrs ago1719963251IN
0x196a26eF...3377DF786
0 ETH0.000545214.63435459
Stake202215992024-07-02 21:46:2320 hrs ago1719956783IN
0x196a26eF...3377DF786
0 ETH0.000789748.94930401
Stake202214802024-07-02 21:22:2321 hrs ago1719955343IN
0x196a26eF...3377DF786
0 ETH0.00057966.94481341
Stake202213662024-07-02 20:59:1121 hrs ago1719953951IN
0x196a26eF...3377DF786
0 ETH0.000947897.74054485
Stake202210742024-07-02 20:00:4722 hrs ago1719950447IN
0x196a26eF...3377DF786
0 ETH0.000530596.35842957
Stake202207972024-07-02 19:04:2323 hrs ago1719947063IN
0x196a26eF...3377DF786
0 ETH0.000582236.59783244
Stake202207192024-07-02 18:48:4723 hrs ago1719946127IN
0x196a26eF...3377DF786
0 ETH0.001234227.47025246
Stake202206242024-07-02 18:29:3524 hrs ago1719944975IN
0x196a26eF...3377DF786
0 ETH0.000870247.10645968
Stake202203112024-07-02 17:26:3525 hrs ago1719941195IN
0x196a26eF...3377DF786
0 ETH0.000446827.81384146
Stake202202852024-07-02 17:21:2325 hrs ago1719940883IN
0x196a26eF...3377DF786
0 ETH0.000457287.99674556
Stake202202662024-07-02 17:17:3525 hrs ago1719940655IN
0x196a26eF...3377DF786
0 ETH0.000467278.17146986
Stake202202502024-07-02 17:14:2325 hrs ago1719940463IN
0x196a26eF...3377DF786
0 ETH0.0001768
Stake202200962024-07-02 16:43:3525 hrs ago1719938615IN
0x196a26eF...3377DF786
0 ETH0.000720788.63633859
Stake202198532024-07-02 15:54:3526 hrs ago1719935675IN
0x196a26eF...3377DF786
0 ETH0.0018412710.83065812
Stake202197962024-07-02 15:42:4726 hrs ago1719934967IN
0x196a26eF...3377DF786
0 ETH0.000907269.0726461
Stake202197632024-07-02 15:36:1127 hrs ago1719934571IN
0x196a26eF...3377DF786
0 ETH0.0002984710.47281528
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
202271092024-07-03 16:15:112 hrs ago1720023311
0x196a26eF...3377DF786
0 ETH
202266822024-07-03 14:48:593 hrs ago1720018139
0x196a26eF...3377DF786
0 ETH
202266172024-07-03 14:35:594 hrs ago1720017359
0x196a26eF...3377DF786
0 ETH
202266112024-07-03 14:34:474 hrs ago1720017287
0x196a26eF...3377DF786
0 ETH
202265272024-07-03 14:17:594 hrs ago1720016279
0x196a26eF...3377DF786
0 ETH
202264762024-07-03 14:07:474 hrs ago1720015667
0x196a26eF...3377DF786
0 ETH
202264292024-07-03 13:58:234 hrs ago1720015103
0x196a26eF...3377DF786
0 ETH
202223992024-07-03 0:27:2318 hrs ago1719966443
0x196a26eF...3377DF786
0 ETH
202222452024-07-02 23:55:5918 hrs ago1719964559
0x196a26eF...3377DF786
0 ETH
202221362024-07-02 23:34:1119 hrs ago1719963251
0x196a26eF...3377DF786
0 ETH
202215992024-07-02 21:46:2320 hrs ago1719956783
0x196a26eF...3377DF786
0 ETH
202214802024-07-02 21:22:2321 hrs ago1719955343
0x196a26eF...3377DF786
0 ETH
202213662024-07-02 20:59:1121 hrs ago1719953951
0x196a26eF...3377DF786
0 ETH
202210742024-07-02 20:00:4722 hrs ago1719950447
0x196a26eF...3377DF786
0 ETH
202207972024-07-02 19:04:2323 hrs ago1719947063
0x196a26eF...3377DF786
0 ETH
202207192024-07-02 18:48:4723 hrs ago1719946127
0x196a26eF...3377DF786
0 ETH
202206242024-07-02 18:29:3524 hrs ago1719944975
0x196a26eF...3377DF786
0 ETH
202203112024-07-02 17:26:3525 hrs ago1719941195
0x196a26eF...3377DF786
0 ETH
202202852024-07-02 17:21:2325 hrs ago1719940883
0x196a26eF...3377DF786
0 ETH
202202662024-07-02 17:17:3525 hrs ago1719940655
0x196a26eF...3377DF786
0 ETH
202200962024-07-02 16:43:3525 hrs ago1719938615
0x196a26eF...3377DF786
0 ETH
202198532024-07-02 15:54:3526 hrs ago1719935675
0x196a26eF...3377DF786
0 ETH
202197962024-07-02 15:42:4726 hrs ago1719934967
0x196a26eF...3377DF786
0 ETH
202196652024-07-02 15:16:2327 hrs ago1719933383
0x196a26eF...3377DF786
0 ETH
202196532024-07-02 15:13:5927 hrs ago1719933239
0x196a26eF...3377DF786
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LOKAStaking

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-30
*/

pragma solidity ^0.8.0;


// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Membership is Context {
    address private owner;
    event MembershipChanged(address indexed owner, uint256 level);
    event OwnerTransferred(address indexed preOwner, address indexed newOwner);

    mapping(address => uint256) internal membership;

    constructor() {
        owner = _msgSender();
        setMembership(_msgSender(), 1);
    }

    function transferOwner(address newOwner) public onlyOwner {
        address preOwner = owner;
        setMembership(newOwner, 1);
        setMembership(preOwner, 0);
        owner = newOwner;
        emit OwnerTransferred(preOwner, newOwner);
    }

    function setMembership(address key, uint256 level) public onlyOwner {
        membership[key] = level;
        emit MembershipChanged(key, level);
    }

    modifier onlyOwner() {
        require(isOwner(), "Membership : caller is not the owner");
        _;
    }

    function isOwner() public view returns (bool) {
        return _msgSender() == owner;
    }


    modifier onlyAdmin() {
        require(isAdmin(), "Membership : caller is not a admin");
        _;
    }

    function isAdmin() public view returns (bool) {
        return membership[_msgSender()] == 1;
    }

    modifier onlyMinter() {
        require(isMinter(), "Memberhsip : caller is not a Minter");
        _;
    }

    function isMinter() public view returns (bool) {
        return isOwner() || membership[_msgSender()] == 11;
    }
    
    function getMembership(address account) public view returns (uint256){
        return membership[account];
    }
}

// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721.sol)
/**
 * @dev Required interface of an ERC721 compliant contract.
 */
interface IERC721 is IERC165 {
    /**
     * @dev Emitted when `tokenId` token is transferred from `from` to `to`.
     */
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
     */
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
     */
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /**
     * @dev Returns the number of tokens in ``owner``'s account.
     */
    function balanceOf(address owner) external view returns (uint256 balance);

    /**
     * @dev Returns the owner of the `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function ownerOf(uint256 tokenId) external view returns (address owner);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
     * are aware of the ERC721 protocol to prevent tokens from being forever locked.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    /**
     * @dev Transfers `tokenId` token from `from` to `to`.
     *
     * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    /**
     * @dev Gives permission to `to` to transfer `tokenId` token to another account.
     * The approval is cleared when the token is transferred.
     *
     * Only a single account can be approved at a time, so approving the zero address clears previous approvals.
     *
     * Requirements:
     *
     * - The caller must own the token or be an approved operator.
     * - `tokenId` must exist.
     *
     * Emits an {Approval} event.
     */
    function approve(address to, uint256 tokenId) external;

    /**
     * @dev Approve or remove `operator` as an operator for the caller.
     * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
     *
     * Requirements:
     *
     * - The `operator` cannot be the caller.
     *
     * Emits an {ApprovalForAll} event.
     */
    function setApprovalForAll(address operator, bool _approved) external;

    /**
     * @dev Returns the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
     *
     * See {setApprovalForAll}
     */
    function isApprovedForAll(address owner, address operator) external view returns (bool);
}

contract Transmitter is Membership {
    function checkToken(address token, address payer, uint256 amount) public view {
        require(IERC20(token).balanceOf(payer)>=amount, "Insufficient balance");
        require(IERC20(token).allowance(payer, address(this))>=amount, "Not approved");
    }
    function checkNft(address nft, address owner, uint256 tokenId) public view {
        require(IERC721(nft).ownerOf(tokenId) == owner, "Not owner");
        require(IERC721(nft).isApprovedForAll(owner, address(this)), "Not approved");
    }
    function transferToken(address token, address payer, address receiver, uint256 amount) public onlyMinter{
        IERC20(token).transferFrom(payer, receiver, amount);
    }
    function transferNft(address nft, address owner, address proposer, uint256 tokenId) public onlyMinter{
        IERC721(nft).transferFrom(owner, proposer, tokenId);
    }
}

contract LOKAStaking is Membership{
    event Stake(address indexed from, uint256 indexed continent, uint256 amount);
    event Unstake(address indexed from, uint256 indexed continent, uint256 amount);
    address payable private receiver;
    address LOKA;
    Transmitter transmitter;
    address[] internal stakers;
    mapping(uint256 => uint256) private continents;
    mapping(address => mapping (uint256 => uint256) ) public stakes;
    mapping(address => uint256) public indexes;

    constructor(address _loka, Transmitter _transmitter) {
        setLoka(_loka);
        setTransmitter(_transmitter);
        setReceiver(payable(_msgSender()));
    }
    function setTransmitter(Transmitter _transmitter) public onlyOwner {
        transmitter = _transmitter;
    }
    function setReceiver(address payable _receiver) public onlyOwner {
        receiver = _receiver;
    }
    function setLoka(address _loka) public onlyOwner {
        LOKA = _loka;
    }
    function getReceiver() public view returns(address) {
        return receiver;
    }
    function getTransmitter() public view returns(address) {
        return address(transmitter);
    }
    function getStakerCount() public view returns(uint256){
        return stakers.length;
    }
    function getStakers() public view returns(address[] memory){
        return stakers;
    }
    function getStakersRange(uint256 start, uint256 end) public view returns(address[] memory){
        address[] memory addresses = new address[](end-start);
         for(uint256 i=start; i<end; ++i){
            addresses[i-start] = stakers[i];
        }
        return addresses;
    }
    function getAmount() public view returns(uint256[] memory){
        uint256[] memory amounts = new uint256[](stakers.length);
        for(uint256 i=0; i<stakers.length; ++i){
            amounts[i] = stakes[stakers[i]][0];
        }
        return amounts;
    }
    function getAmountRange(uint256 start, uint256 end) public view returns(uint256[] memory){
        uint256[] memory amounts = new uint256[](end-start);
        for(uint256 i=start; i<end; ++i){
            amounts[i-start] = stakes[stakers[i]][0];
        }
        return amounts;
    }
    function getAmounts(uint256 size) public view returns(uint256[][] memory){
        uint256[][] memory amounts = new uint256[][](stakers.length);
        for(uint256 i=0; i<stakers.length; ++i){
            amounts[i] = new uint256[](size);
            for(uint256 j=0; j<size; ++j)
                amounts[i][j] = stakes[stakers[i]][j];
        }
        return amounts;
    }
    function getAmountsByAddress(uint256 size, address[] memory owners) public view returns(uint256[][] memory){
        uint256[][] memory amounts = new uint256[][](owners.length);
        for(uint256 i=0; i<owners.length; ++i){
            amounts[i] = new uint256[](size);
            for(uint256 j=0; j<size; ++j)
                amounts[i][j] = stakes[owners[i]][j];
        }
        return amounts;
    }
    function getAmountsRange(uint256 size, uint256 start, uint256 end) public view returns(uint256[][] memory){
        uint256[][] memory amounts = new uint256[][](end-start);
        for(uint256 i=start; i<end; ++i){
            amounts[i-start] = new uint256[](size);
            for(uint256 j=0; j<size; ++j)
                amounts[i-start][j] = stakes[stakers[i]][j];
        }
        return amounts;
    }
    function stake(uint256 continent, uint256 amount) public {
        require(continent>0, "Invalid index");
        require(amount>0, "Invalid amount");
        transmitter.transferToken(LOKA, _msgSender(), receiver, amount);
        continents[continent] += amount;
        continents[0] += amount;
        stakes[_msgSender()][continent] += amount;
        stakes[_msgSender()][0] += amount;
        if(indexes[_msgSender()]==0)
        {
            stakers.push(_msgSender());
            indexes[_msgSender()] = stakers.length;
        }
        emit Stake(_msgSender(), continent, amount);
    }
    function unstake(uint256 continent, uint256 amount) public {
        require(continent>0, "Invalid index");
        require(amount>0, "Invalid amount");
        require(stakes[_msgSender()][continent]>=amount, "Insufficient balance");
        transmitter.transferToken(LOKA, receiver, _msgSender(), amount);
        continents[continent] -= amount;
        continents[0] -= amount;
        stakes[_msgSender()][continent] -= amount;
        stakes[_msgSender()][0] -= amount;
        emit Unstake(_msgSender(), continent, amount);
    }
    
    function stakeOf(address owner, uint256 continent) public view returns(uint256) {
        return stakes[owner][continent];
    }
    function totalStakeOf(address owner) public view returns(uint256) {
        return stakes[owner][0];
    }
    function allStakeOf(address owner, uint256 size) public view returns(uint256[] memory) {
        uint256[] memory all = new uint256[](size);
        for(uint256 i=0; i<size; ++i)
            all[i] = stakes[owner][i];
        return all;
    }

    function stakeOfContinent(uint256 index) public view returns(uint256) {
        return continents[index];
    }
    function totalStakeOfContinent() public view returns(uint256) {
        return continents[0];
    }
    function allStakeOfContinent(uint256 size) public view returns(uint256[] memory) {
        uint256[] memory all = new uint256[](size);
        for(uint256 i=0; i<size; ++i)
            all[i] = continents[i];
        return all;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_loka","type":"address"},{"internalType":"contract Transmitter","name":"_transmitter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"MembershipChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"preOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"continent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"continent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstake","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"size","type":"uint256"}],"name":"allStakeOf","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"}],"name":"allStakeOfContinent","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAmount","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getAmountRange","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"}],"name":"getAmounts","outputs":[{"internalType":"uint256[][]","name":"","type":"uint256[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"},{"internalType":"address[]","name":"owners","type":"address[]"}],"name":"getAmountsByAddress","outputs":[{"internalType":"uint256[][]","name":"","type":"uint256[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"size","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getAmountsRange","outputs":[{"internalType":"uint256[][]","name":"","type":"uint256[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getMembership","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakerCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"getStakersRange","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTransmitter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"indexes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_loka","type":"address"}],"name":"setLoka","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"key","type":"address"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"setMembership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_receiver","type":"address"}],"name":"setReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Transmitter","name":"_transmitter","type":"address"}],"name":"setTransmitter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"continent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"continent","type":"uint256"}],"name":"stakeOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"stakeOfContinent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"totalStakeOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakeOfContinent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"continent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162003146380380620031468339818101604052810190620000379190620004bb565b62000047620000f260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a86200009a620000f260201b60201c565b6001620000fa60201b60201c565b620000b982620001e460201b60201c565b620000ca816200027a60201b60201c565b620000ea620000de620000f260201b60201c565b6200031060201b60201c565b5050620005e3565b600033905090565b6200010a620003a660201b60201c565b6200014c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001439062000589565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f65efeaf737ce094d287661b6a56bb530dce1fc30853708d1912a74f8ae65ffbb82604051620001d89190620005c6565b60405180910390a25050565b620001f4620003a660201b60201c565b62000236576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200022d9062000589565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6200028a620003a660201b60201c565b620002cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c39062000589565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b62000320620003a660201b60201c565b62000362576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003599062000589565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16620003f0620000f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200043e8262000411565b9050919050565b620004508162000431565b81146200045c57600080fd5b50565b600081519050620004708162000445565b92915050565b6000620004838262000431565b9050919050565b620004958162000476565b8114620004a157600080fd5b50565b600081519050620004b5816200048a565b92915050565b60008060408385031215620004d557620004d46200040c565b5b6000620004e5858286016200045f565b9250506020620004f885828601620004a4565b9150509250929050565b600082825260208201905092915050565b7f4d656d62657273686970203a2063616c6c6572206973206e6f7420746865206f60008201527f776e657200000000000000000000000000000000000000000000000000000000602082015250565b60006200057160248362000502565b91506200057e8262000513565b604082019050919050565b60006020820190508181036000830152620005a48162000562565b9050919050565b6000819050919050565b620005c081620005ab565b82525050565b6000602082019050620005dd6000830184620005b5565b92915050565b612b5380620005f36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063718da7ee116101045780639e2c8a5b116100a2578063d321fe2911610071578063d321fe2914610568578063e3f56eaa14610586578063ec95c4c9146105b6578063ed87169c146105e6576101cf565b80639e2c8a5b146104e25780639fe32732146104fe578063b6db75a01461051a578063cd401c1d14610538576101cf565b80638610d094116100de5780638610d0941461045a578063874dae881461048a5780638f32d59b146104a657806398aca922146104c4576101cf565b8063718da7ee146103f25780637b0472f01461040e57806384c6fbba1461042a576101cf565b80634fb2e45d11610171578063584b62a11161014b578063584b62a11461034457806359f7cf50146103745780635bb5d121146103a45780636b701c95146103c2576101cf565b80634fb2e45d146102ee57806350e59eb31461030a57806355d95e0b14610328576101cf565b80632045d91f116101ad5780632045d91f146102405780632db78d931461027057806334c5a044146102a057806343352d61146102d0576101cf565b80630b5f0f1f146101d45780631319649d146101f25780631643c7f514610210575b600080fd5b6101dc610616565b6040516101e99190611f38565b60405180910390f35b6101fa610631565b6040516102079190611f38565b60405180910390f35b61022a60048036038101906102259190611ff1565b61063e565b60405161023791906120ef565b60405180910390f35b61025a60048036038101906102559190612111565b610724565b60405161026791906120ef565b60405180910390f35b61028a60048036038101906102859190612151565b610861565b6040516102979190611f38565b60405180910390f35b6102ba60048036038101906102b59190612151565b610879565b6040516102c79190611f38565b60405180910390f35b6102d86108c2565b6040516102e5919061223c565b60405180910390f35b61030860048036038101906103039190612151565b610950565b005b610312610a71565b60405161031f9190612279565b60405180910390f35b610342600480360381019061033d9190612151565b610ad1565b005b61035e60048036038101906103599190611ff1565b610b5c565b60405161036b9190611f38565b60405180910390f35b61038e60048036038101906103899190612294565b610b81565b60405161039b91906123f2565b60405180910390f35b6103ac610d51565b6040516103b99190612423565b60405180910390f35b6103dc60048036038101906103d79190612597565b610d7b565b6040516103e991906123f2565b60405180910390f35b61040c60048036038101906104079190612631565b610f20565b005b61042860048036038101906104239190612111565b610fab565b005b610444600480360381019061043f9190612294565b6113a3565b60405161045191906120ef565b60405180910390f35b610474600480360381019061046f9190612111565b61144b565b604051610481919061223c565b60405180910390f35b6104a4600480360381019061049f9190611ff1565b611566565b005b6104ae611643565b6040516104bb9190612279565b60405180910390f35b6104cc6116a1565b6040516104d99190612423565b60405180910390f35b6104fc60048036038101906104f79190612111565b6116cb565b005b6105186004803603810190610513919061269c565b611a53565b005b610522611ade565b60405161052f9190612279565b60405180910390f35b610552600480360381019061054d91906126c9565b611b2e565b60405161055f91906123f2565b60405180910390f35b610570611d1a565b60405161057d91906120ef565b60405180910390f35b6105a0600480360381019061059b9190612151565b611e45565b6040516105ad9190611f38565b60405180910390f35b6105d060048036038101906105cb9190612294565b611e9f565b6040516105dd9190611f38565b60405180910390f35b61060060048036038101906105fb9190611ff1565b611ebc565b60405161060d9190611f38565b60405180910390f35b60006006600080815260200190815260200160002054905090565b6000600580549050905090565b606060008267ffffffffffffffff81111561065c5761065b612454565b5b60405190808252806020026020018201604052801561068a5781602001602082028036833780820191505090505b50905060005b8381101561071957600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828152602001908152602001600020548282815181106106fc576106fb61271c565b5b602002602001018181525050806107129061277a565b9050610690565b508091505092915050565b60606000838361073491906127c3565b67ffffffffffffffff81111561074d5761074c612454565b5b60405190808252806020026020018201604052801561077b5781602001602082028036833780820191505090505b50905060008490505b838110156108565760076000600583815481106107a4576107a361271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008081526020019081526020016000205482868361082891906127c3565b815181106108395761083861271c565b5b6020026020010181815250508061084f9061277a565b9050610784565b508091505092915050565b60086020528060005260406000206000915090505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600580548060200260200160405190810160405280929190818152602001828054801561094657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116108fc575b5050505050905090565b610958611643565b610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e9061287a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109c8826001611566565b6109d3816000611566565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8934ce4adea8d9ce0d714d2c22b86790e41b7731c84b926fbbdc1d40ff6533c960405160405180910390a35050565b6000610a7b611643565b80610acc5750600b60016000610a8f611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b905090565b610ad9611643565b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f9061287a565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6007602052816000526040600020602052806000526040600020600091509150505481565b6060600060058054905067ffffffffffffffff811115610ba457610ba3612454565b5b604051908082528060200260200182016040528015610bd757816020015b6060815260200190600190039081610bc25790505b50905060005b600580549050811015610d47578367ffffffffffffffff811115610c0457610c03612454565b5b604051908082528060200260200182016040528015610c325781602001602082028036833780820191505090505b50828281518110610c4657610c4561271c565b5b602002602001018190525060005b84811015610d35576007600060058481548110610c7457610c7361271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838381518110610cfe57610cfd61271c565b5b60200260200101518281518110610d1857610d1761271c565b5b60200260200101818152505080610d2e9061277a565b9050610c54565b5080610d409061277a565b9050610bdd565b5080915050919050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606000825167ffffffffffffffff811115610d9a57610d99612454565b5b604051908082528060200260200182016040528015610dcd57816020015b6060815260200190600190039081610db85790505b50905060005b8351811015610f15578467ffffffffffffffff811115610df657610df5612454565b5b604051908082528060200260200182016040528015610e245781602001602082028036833780820191505090505b50828281518110610e3857610e3761271c565b5b602002602001018190525060005b85811015610f035760076000868481518110610e6557610e6461271c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838381518110610ecc57610ecb61271c565b5b60200260200101518281518110610ee657610ee561271c565b5b60200260200101818152505080610efc9061277a565b9050610e46565b5080610f0e9061277a565b9050610dd3565b508091505092915050565b610f28611643565b610f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5e9061287a565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008211610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe5906128e6565b60405180910390fd5b60008111611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102890612952565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c54de4f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661109a611f17565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b81526004016110dd94939291906129d1565b600060405180830381600087803b1580156110f757600080fd5b505af115801561110b573d6000803e3d6000fd5b50505050806006600084815260200190815260200160002060008282546111329190612a16565b925050819055508060066000808152602001908152602001600020600082825461115c9190612a16565b925050819055508060076000611170611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060008282546111ca9190612a16565b9250508190555080600760006111de611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060008282546112389190612a16565b9250508190555060006008600061124d611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611349576005611298611f17565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005805490506008600061130a611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81611352611f17565b73ffffffffffffffffffffffffffffffffffffffff167f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b6836040516113979190611f38565b60405180910390a35050565b606060008267ffffffffffffffff8111156113c1576113c0612454565b5b6040519080825280602002602001820160405280156113ef5781602001602082028036833780820191505090505b50905060005b838110156114415760066000828152602001908152602001600020548282815181106114245761142361271c565b5b6020026020010181815250508061143a9061277a565b90506113f5565b5080915050919050565b60606000838361145b91906127c3565b67ffffffffffffffff81111561147457611473612454565b5b6040519080825280602002602001820160405280156114a25781602001602082028036833780820191505090505b50905060008490505b8381101561155b57600581815481106114c7576114c661271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168286836114ff91906127c3565b815181106115105761150f61271c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806115549061277a565b90506114ab565b508091505092915050565b61156e611643565b6115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a49061287a565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f65efeaf737ce094d287661b6a56bb530dce1fc30853708d1912a74f8ae65ffbb826040516116379190611f38565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611685611f17565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000821161170e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611705906128e6565b60405180910390fd5b60008111611751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174890612952565b60405180910390fd5b806007600061175e611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205410156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612ab8565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c54de4f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611877611f17565b856040518563ffffffff1660e01b81526004016118979493929190612ad8565b600060405180830381600087803b1580156118b157600080fd5b505af11580156118c5573d6000803e3d6000fd5b50505050806006600084815260200190815260200160002060008282546118ec91906127c3565b925050819055508060066000808152602001908152602001600020600082825461191691906127c3565b92505081905550806007600061192a611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082825461198491906127c3565b925050819055508060076000611998611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060008282546119f291906127c3565b9250508190555081611a02611f17565b73ffffffffffffffffffffffffffffffffffffffff167ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb28083604051611a479190611f38565b60405180910390a35050565b611a5b611643565b611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a919061287a565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001806000611aed611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414905090565b606060008383611b3e91906127c3565b67ffffffffffffffff811115611b5757611b56612454565b5b604051908082528060200260200182016040528015611b8a57816020015b6060815260200190600190039081611b755790505b50905060008490505b83811015611d0e578567ffffffffffffffff811115611bb557611bb4612454565b5b604051908082528060200260200182016040528015611be35781602001602082028036833780820191505090505b50828683611bf191906127c3565b81518110611c0257611c0161271c565b5b602002602001018190525060005b86811015611cfc576007600060058481548110611c3057611c2f61271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838784611cb491906127c3565b81518110611cc557611cc461271c565b5b60200260200101518281518110611cdf57611cde61271c565b5b60200260200101818152505080611cf59061277a565b9050611c10565b5080611d079061277a565b9050611b93565b50809150509392505050565b6060600060058054905067ffffffffffffffff811115611d3d57611d3c612454565b5b604051908082528060200260200182016040528015611d6b5781602001602082028036833780820191505090505b50905060005b600580549050811015611e3d576007600060058381548110611d9657611d9561271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002054828281518110611e2057611e1f61271c565b5b60200260200101818152505080611e369061277a565b9050611d71565b508091505090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808152602001908152602001600020549050919050565b600060066000838152602001908152602001600020549050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600033905090565b6000819050919050565b611f3281611f1f565b82525050565b6000602082019050611f4d6000830184611f29565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f9282611f67565b9050919050565b611fa281611f87565b8114611fad57600080fd5b50565b600081359050611fbf81611f99565b92915050565b611fce81611f1f565b8114611fd957600080fd5b50565b600081359050611feb81611fc5565b92915050565b6000806040838503121561200857612007611f5d565b5b600061201685828601611fb0565b925050602061202785828601611fdc565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61206681611f1f565b82525050565b6000612078838361205d565b60208301905092915050565b6000602082019050919050565b600061209c82612031565b6120a6818561203c565b93506120b18361204d565b8060005b838110156120e25781516120c9888261206c565b97506120d483612084565b9250506001810190506120b5565b5085935050505092915050565b600060208201905081810360008301526121098184612091565b905092915050565b6000806040838503121561212857612127611f5d565b5b600061213685828601611fdc565b925050602061214785828601611fdc565b9150509250929050565b60006020828403121561216757612166611f5d565b5b600061217584828501611fb0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121b381611f87565b82525050565b60006121c583836121aa565b60208301905092915050565b6000602082019050919050565b60006121e98261217e565b6121f38185612189565b93506121fe8361219a565b8060005b8381101561222f57815161221688826121b9565b9750612221836121d1565b925050600181019050612202565b5085935050505092915050565b6000602082019050818103600083015261225681846121de565b905092915050565b60008115159050919050565b6122738161225e565b82525050565b600060208201905061228e600083018461226a565b92915050565b6000602082840312156122aa576122a9611f5d565b5b60006122b884828501611fdc565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061230982612031565b61231381856122ed565b935061231e8361204d565b8060005b8381101561234f578151612336888261206c565b975061234183612084565b925050600181019050612322565b5085935050505092915050565b600061236883836122fe565b905092915050565b6000602082019050919050565b6000612388826122c1565b61239281856122cc565b9350836020820285016123a4856122dd565b8060005b858110156123e057848403895281516123c1858261235c565b94506123cc83612370565b925060208a019950506001810190506123a8565b50829750879550505050505092915050565b6000602082019050818103600083015261240c818461237d565b905092915050565b61241d81611f87565b82525050565b60006020820190506124386000830184612414565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61248c82612443565b810181811067ffffffffffffffff821117156124ab576124aa612454565b5b80604052505050565b60006124be611f53565b90506124ca8282612483565b919050565b600067ffffffffffffffff8211156124ea576124e9612454565b5b602082029050602081019050919050565b600080fd5b600061251361250e846124cf565b6124b4565b90508083825260208201905060208402830185811115612536576125356124fb565b5b835b8181101561255f578061254b8882611fb0565b845260208401935050602081019050612538565b5050509392505050565b600082601f83011261257e5761257d61243e565b5b813561258e848260208601612500565b91505092915050565b600080604083850312156125ae576125ad611f5d565b5b60006125bc85828601611fdc565b925050602083013567ffffffffffffffff8111156125dd576125dc611f62565b5b6125e985828601612569565b9150509250929050565b60006125fe82611f67565b9050919050565b61260e816125f3565b811461261957600080fd5b50565b60008135905061262b81612605565b92915050565b60006020828403121561264757612646611f5d565b5b60006126558482850161261c565b91505092915050565b600061266982611f87565b9050919050565b6126798161265e565b811461268457600080fd5b50565b60008135905061269681612670565b92915050565b6000602082840312156126b2576126b1611f5d565b5b60006126c084828501612687565b91505092915050565b6000806000606084860312156126e2576126e1611f5d565b5b60006126f086828701611fdc565b935050602061270186828701611fdc565b925050604061271286828701611fdc565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061278582611f1f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127b8576127b761274b565b5b600182019050919050565b60006127ce82611f1f565b91506127d983611f1f565b9250828210156127ec576127eb61274b565b5b828203905092915050565b600082825260208201905092915050565b7f4d656d62657273686970203a2063616c6c6572206973206e6f7420746865206f60008201527f776e657200000000000000000000000000000000000000000000000000000000602082015250565b60006128646024836127f7565b915061286f82612808565b604082019050919050565b6000602082019050818103600083015261289381612857565b9050919050565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b60006128d0600d836127f7565b91506128db8261289a565b602082019050919050565b600060208201905081810360008301526128ff816128c3565b9050919050565b7f496e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b600061293c600e836127f7565b915061294782612906565b602082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b6000819050919050565b600061299761299261298d84611f67565b612972565b611f67565b9050919050565b60006129a98261297c565b9050919050565b60006129bb8261299e565b9050919050565b6129cb816129b0565b82525050565b60006080820190506129e66000830187612414565b6129f36020830186612414565b612a0060408301856129c2565b612a0d6060830184611f29565b95945050505050565b6000612a2182611f1f565b9150612a2c83611f1f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a6157612a6061274b565b5b828201905092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612aa26014836127f7565b9150612aad82612a6c565b602082019050919050565b60006020820190508181036000830152612ad181612a95565b9050919050565b6000608082019050612aed6000830187612414565b612afa60208301866129c2565b612b076040830185612414565b612b146060830184611f29565b9594505050505056fea2646970667358221220d16bd7c7279aa7805b0e742c2ac770085d319cdaabeb0204513e546f7de3997f64736f6c634300080a003300000000000000000000000061e90a50137e1f645c9ef4a0d3a4f01477738406000000000000000000000000be681f8b55a765c048dc2bcdfd5ab05d839bb4c0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063718da7ee116101045780639e2c8a5b116100a2578063d321fe2911610071578063d321fe2914610568578063e3f56eaa14610586578063ec95c4c9146105b6578063ed87169c146105e6576101cf565b80639e2c8a5b146104e25780639fe32732146104fe578063b6db75a01461051a578063cd401c1d14610538576101cf565b80638610d094116100de5780638610d0941461045a578063874dae881461048a5780638f32d59b146104a657806398aca922146104c4576101cf565b8063718da7ee146103f25780637b0472f01461040e57806384c6fbba1461042a576101cf565b80634fb2e45d11610171578063584b62a11161014b578063584b62a11461034457806359f7cf50146103745780635bb5d121146103a45780636b701c95146103c2576101cf565b80634fb2e45d146102ee57806350e59eb31461030a57806355d95e0b14610328576101cf565b80632045d91f116101ad5780632045d91f146102405780632db78d931461027057806334c5a044146102a057806343352d61146102d0576101cf565b80630b5f0f1f146101d45780631319649d146101f25780631643c7f514610210575b600080fd5b6101dc610616565b6040516101e99190611f38565b60405180910390f35b6101fa610631565b6040516102079190611f38565b60405180910390f35b61022a60048036038101906102259190611ff1565b61063e565b60405161023791906120ef565b60405180910390f35b61025a60048036038101906102559190612111565b610724565b60405161026791906120ef565b60405180910390f35b61028a60048036038101906102859190612151565b610861565b6040516102979190611f38565b60405180910390f35b6102ba60048036038101906102b59190612151565b610879565b6040516102c79190611f38565b60405180910390f35b6102d86108c2565b6040516102e5919061223c565b60405180910390f35b61030860048036038101906103039190612151565b610950565b005b610312610a71565b60405161031f9190612279565b60405180910390f35b610342600480360381019061033d9190612151565b610ad1565b005b61035e60048036038101906103599190611ff1565b610b5c565b60405161036b9190611f38565b60405180910390f35b61038e60048036038101906103899190612294565b610b81565b60405161039b91906123f2565b60405180910390f35b6103ac610d51565b6040516103b99190612423565b60405180910390f35b6103dc60048036038101906103d79190612597565b610d7b565b6040516103e991906123f2565b60405180910390f35b61040c60048036038101906104079190612631565b610f20565b005b61042860048036038101906104239190612111565b610fab565b005b610444600480360381019061043f9190612294565b6113a3565b60405161045191906120ef565b60405180910390f35b610474600480360381019061046f9190612111565b61144b565b604051610481919061223c565b60405180910390f35b6104a4600480360381019061049f9190611ff1565b611566565b005b6104ae611643565b6040516104bb9190612279565b60405180910390f35b6104cc6116a1565b6040516104d99190612423565b60405180910390f35b6104fc60048036038101906104f79190612111565b6116cb565b005b6105186004803603810190610513919061269c565b611a53565b005b610522611ade565b60405161052f9190612279565b60405180910390f35b610552600480360381019061054d91906126c9565b611b2e565b60405161055f91906123f2565b60405180910390f35b610570611d1a565b60405161057d91906120ef565b60405180910390f35b6105a0600480360381019061059b9190612151565b611e45565b6040516105ad9190611f38565b60405180910390f35b6105d060048036038101906105cb9190612294565b611e9f565b6040516105dd9190611f38565b60405180910390f35b61060060048036038101906105fb9190611ff1565b611ebc565b60405161060d9190611f38565b60405180910390f35b60006006600080815260200190815260200160002054905090565b6000600580549050905090565b606060008267ffffffffffffffff81111561065c5761065b612454565b5b60405190808252806020026020018201604052801561068a5781602001602082028036833780820191505090505b50905060005b8381101561071957600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828152602001908152602001600020548282815181106106fc576106fb61271c565b5b602002602001018181525050806107129061277a565b9050610690565b508091505092915050565b60606000838361073491906127c3565b67ffffffffffffffff81111561074d5761074c612454565b5b60405190808252806020026020018201604052801561077b5781602001602082028036833780820191505090505b50905060008490505b838110156108565760076000600583815481106107a4576107a361271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008081526020019081526020016000205482868361082891906127c3565b815181106108395761083861271c565b5b6020026020010181815250508061084f9061277a565b9050610784565b508091505092915050565b60086020528060005260406000206000915090505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600580548060200260200160405190810160405280929190818152602001828054801561094657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116108fc575b5050505050905090565b610958611643565b610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e9061287a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109c8826001611566565b6109d3816000611566565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8934ce4adea8d9ce0d714d2c22b86790e41b7731c84b926fbbdc1d40ff6533c960405160405180910390a35050565b6000610a7b611643565b80610acc5750600b60016000610a8f611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b905090565b610ad9611643565b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f9061287a565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6007602052816000526040600020602052806000526040600020600091509150505481565b6060600060058054905067ffffffffffffffff811115610ba457610ba3612454565b5b604051908082528060200260200182016040528015610bd757816020015b6060815260200190600190039081610bc25790505b50905060005b600580549050811015610d47578367ffffffffffffffff811115610c0457610c03612454565b5b604051908082528060200260200182016040528015610c325781602001602082028036833780820191505090505b50828281518110610c4657610c4561271c565b5b602002602001018190525060005b84811015610d35576007600060058481548110610c7457610c7361271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838381518110610cfe57610cfd61271c565b5b60200260200101518281518110610d1857610d1761271c565b5b60200260200101818152505080610d2e9061277a565b9050610c54565b5080610d409061277a565b9050610bdd565b5080915050919050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606000825167ffffffffffffffff811115610d9a57610d99612454565b5b604051908082528060200260200182016040528015610dcd57816020015b6060815260200190600190039081610db85790505b50905060005b8351811015610f15578467ffffffffffffffff811115610df657610df5612454565b5b604051908082528060200260200182016040528015610e245781602001602082028036833780820191505090505b50828281518110610e3857610e3761271c565b5b602002602001018190525060005b85811015610f035760076000868481518110610e6557610e6461271c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838381518110610ecc57610ecb61271c565b5b60200260200101518281518110610ee657610ee561271c565b5b60200260200101818152505080610efc9061277a565b9050610e46565b5080610f0e9061277a565b9050610dd3565b508091505092915050565b610f28611643565b610f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5e9061287a565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008211610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe5906128e6565b60405180910390fd5b60008111611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102890612952565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c54de4f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661109a611f17565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b81526004016110dd94939291906129d1565b600060405180830381600087803b1580156110f757600080fd5b505af115801561110b573d6000803e3d6000fd5b50505050806006600084815260200190815260200160002060008282546111329190612a16565b925050819055508060066000808152602001908152602001600020600082825461115c9190612a16565b925050819055508060076000611170611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060008282546111ca9190612a16565b9250508190555080600760006111de611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060008282546112389190612a16565b9250508190555060006008600061124d611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611349576005611298611f17565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005805490506008600061130a611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81611352611f17565b73ffffffffffffffffffffffffffffffffffffffff167f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b6836040516113979190611f38565b60405180910390a35050565b606060008267ffffffffffffffff8111156113c1576113c0612454565b5b6040519080825280602002602001820160405280156113ef5781602001602082028036833780820191505090505b50905060005b838110156114415760066000828152602001908152602001600020548282815181106114245761142361271c565b5b6020026020010181815250508061143a9061277a565b90506113f5565b5080915050919050565b60606000838361145b91906127c3565b67ffffffffffffffff81111561147457611473612454565b5b6040519080825280602002602001820160405280156114a25781602001602082028036833780820191505090505b50905060008490505b8381101561155b57600581815481106114c7576114c661271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168286836114ff91906127c3565b815181106115105761150f61271c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806115549061277a565b90506114ab565b508091505092915050565b61156e611643565b6115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a49061287a565b60405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f65efeaf737ce094d287661b6a56bb530dce1fc30853708d1912a74f8ae65ffbb826040516116379190611f38565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611685611f17565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000821161170e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611705906128e6565b60405180910390fd5b60008111611751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174890612952565b60405180910390fd5b806007600061175e611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205410156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612ab8565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c54de4f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611877611f17565b856040518563ffffffff1660e01b81526004016118979493929190612ad8565b600060405180830381600087803b1580156118b157600080fd5b505af11580156118c5573d6000803e3d6000fd5b50505050806006600084815260200190815260200160002060008282546118ec91906127c3565b925050819055508060066000808152602001908152602001600020600082825461191691906127c3565b92505081905550806007600061192a611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082825461198491906127c3565b925050819055508060076000611998611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060008282546119f291906127c3565b9250508190555081611a02611f17565b73ffffffffffffffffffffffffffffffffffffffff167ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb28083604051611a479190611f38565b60405180910390a35050565b611a5b611643565b611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a919061287a565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001806000611aed611f17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414905090565b606060008383611b3e91906127c3565b67ffffffffffffffff811115611b5757611b56612454565b5b604051908082528060200260200182016040528015611b8a57816020015b6060815260200190600190039081611b755790505b50905060008490505b83811015611d0e578567ffffffffffffffff811115611bb557611bb4612454565b5b604051908082528060200260200182016040528015611be35781602001602082028036833780820191505090505b50828683611bf191906127c3565b81518110611c0257611c0161271c565b5b602002602001018190525060005b86811015611cfc576007600060058481548110611c3057611c2f61271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082815260200190815260200160002054838784611cb491906127c3565b81518110611cc557611cc461271c565b5b60200260200101518281518110611cdf57611cde61271c565b5b60200260200101818152505080611cf59061277a565b9050611c10565b5080611d079061277a565b9050611b93565b50809150509392505050565b6060600060058054905067ffffffffffffffff811115611d3d57611d3c612454565b5b604051908082528060200260200182016040528015611d6b5781602001602082028036833780820191505090505b50905060005b600580549050811015611e3d576007600060058381548110611d9657611d9561271c565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002054828281518110611e2057611e1f61271c565b5b60200260200101818152505080611e369061277a565b9050611d71565b508091505090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808152602001908152602001600020549050919050565b600060066000838152602001908152602001600020549050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600033905090565b6000819050919050565b611f3281611f1f565b82525050565b6000602082019050611f4d6000830184611f29565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f9282611f67565b9050919050565b611fa281611f87565b8114611fad57600080fd5b50565b600081359050611fbf81611f99565b92915050565b611fce81611f1f565b8114611fd957600080fd5b50565b600081359050611feb81611fc5565b92915050565b6000806040838503121561200857612007611f5d565b5b600061201685828601611fb0565b925050602061202785828601611fdc565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61206681611f1f565b82525050565b6000612078838361205d565b60208301905092915050565b6000602082019050919050565b600061209c82612031565b6120a6818561203c565b93506120b18361204d565b8060005b838110156120e25781516120c9888261206c565b97506120d483612084565b9250506001810190506120b5565b5085935050505092915050565b600060208201905081810360008301526121098184612091565b905092915050565b6000806040838503121561212857612127611f5d565b5b600061213685828601611fdc565b925050602061214785828601611fdc565b9150509250929050565b60006020828403121561216757612166611f5d565b5b600061217584828501611fb0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121b381611f87565b82525050565b60006121c583836121aa565b60208301905092915050565b6000602082019050919050565b60006121e98261217e565b6121f38185612189565b93506121fe8361219a565b8060005b8381101561222f57815161221688826121b9565b9750612221836121d1565b925050600181019050612202565b5085935050505092915050565b6000602082019050818103600083015261225681846121de565b905092915050565b60008115159050919050565b6122738161225e565b82525050565b600060208201905061228e600083018461226a565b92915050565b6000602082840312156122aa576122a9611f5d565b5b60006122b884828501611fdc565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061230982612031565b61231381856122ed565b935061231e8361204d565b8060005b8381101561234f578151612336888261206c565b975061234183612084565b925050600181019050612322565b5085935050505092915050565b600061236883836122fe565b905092915050565b6000602082019050919050565b6000612388826122c1565b61239281856122cc565b9350836020820285016123a4856122dd565b8060005b858110156123e057848403895281516123c1858261235c565b94506123cc83612370565b925060208a019950506001810190506123a8565b50829750879550505050505092915050565b6000602082019050818103600083015261240c818461237d565b905092915050565b61241d81611f87565b82525050565b60006020820190506124386000830184612414565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61248c82612443565b810181811067ffffffffffffffff821117156124ab576124aa612454565b5b80604052505050565b60006124be611f53565b90506124ca8282612483565b919050565b600067ffffffffffffffff8211156124ea576124e9612454565b5b602082029050602081019050919050565b600080fd5b600061251361250e846124cf565b6124b4565b90508083825260208201905060208402830185811115612536576125356124fb565b5b835b8181101561255f578061254b8882611fb0565b845260208401935050602081019050612538565b5050509392505050565b600082601f83011261257e5761257d61243e565b5b813561258e848260208601612500565b91505092915050565b600080604083850312156125ae576125ad611f5d565b5b60006125bc85828601611fdc565b925050602083013567ffffffffffffffff8111156125dd576125dc611f62565b5b6125e985828601612569565b9150509250929050565b60006125fe82611f67565b9050919050565b61260e816125f3565b811461261957600080fd5b50565b60008135905061262b81612605565b92915050565b60006020828403121561264757612646611f5d565b5b60006126558482850161261c565b91505092915050565b600061266982611f87565b9050919050565b6126798161265e565b811461268457600080fd5b50565b60008135905061269681612670565b92915050565b6000602082840312156126b2576126b1611f5d565b5b60006126c084828501612687565b91505092915050565b6000806000606084860312156126e2576126e1611f5d565b5b60006126f086828701611fdc565b935050602061270186828701611fdc565b925050604061271286828701611fdc565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061278582611f1f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156127b8576127b761274b565b5b600182019050919050565b60006127ce82611f1f565b91506127d983611f1f565b9250828210156127ec576127eb61274b565b5b828203905092915050565b600082825260208201905092915050565b7f4d656d62657273686970203a2063616c6c6572206973206e6f7420746865206f60008201527f776e657200000000000000000000000000000000000000000000000000000000602082015250565b60006128646024836127f7565b915061286f82612808565b604082019050919050565b6000602082019050818103600083015261289381612857565b9050919050565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b60006128d0600d836127f7565b91506128db8261289a565b602082019050919050565b600060208201905081810360008301526128ff816128c3565b9050919050565b7f496e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b600061293c600e836127f7565b915061294782612906565b602082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b6000819050919050565b600061299761299261298d84611f67565b612972565b611f67565b9050919050565b60006129a98261297c565b9050919050565b60006129bb8261299e565b9050919050565b6129cb816129b0565b82525050565b60006080820190506129e66000830187612414565b6129f36020830186612414565b612a0060408301856129c2565b612a0d6060830184611f29565b95945050505050565b6000612a2182611f1f565b9150612a2c83611f1f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a6157612a6061274b565b5b828201905092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612aa26014836127f7565b9150612aad82612a6c565b602082019050919050565b60006020820190508181036000830152612ad181612a95565b9050919050565b6000608082019050612aed6000830187612414565b612afa60208301866129c2565b612b076040830185612414565b612b146060830184611f29565b9594505050505056fea2646970667358221220d16bd7c7279aa7805b0e742c2ac770085d319cdaabeb0204513e546f7de3997f64736f6c634300080a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000061e90a50137e1f645c9ef4a0d3a4f01477738406000000000000000000000000be681f8b55a765c048dc2bcdfd5ab05d839bb4c0

-----Decoded View---------------
Arg [0] : _loka (address): 0x61E90A50137E1F645c9eF4a0d3A4f01477738406
Arg [1] : _transmitter (address): 0xBE681f8B55A765c048dC2BCdfD5Ab05d839BB4C0

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000061e90a50137e1f645c9ef4a0d3a4f01477738406
Arg [1] : 000000000000000000000000be681f8b55a765c048dc2bcdfd5ab05d839bb4c0


Deployed Bytecode Sourcemap

11784:5645:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17080:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12977:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16705:248;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13745:293;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12237:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5152:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13077:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4034:254;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5024:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12692:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12167:63;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14044:384;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12870:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14434:415;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12582:104;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15278:613;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17187:239;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13175:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4296:155;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4577:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12778:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15897:546;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12464:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4796:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14855:417;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13471:268;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16591:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16961:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16455:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17080:101;17133:7;17160:10;:13;17171:1;17160:13;;;;;;;;;;;;17153:20;;17080:101;:::o;12977:94::-;13023:7;13049;:14;;;;13042:21;;12977:94;:::o;16705:248::-;16774:16;16803:20;16840:4;16826:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16803:42;;16860:9;16856:68;16875:4;16873:1;:6;16856:68;;;16908:6;:13;16915:5;16908:13;;;;;;;;;;;;;;;:16;16922:1;16908:16;;;;;;;;;;;;16899:3;16903:1;16899:6;;;;;;;;:::i;:::-;;;;;;;:25;;;;;16881:3;;;;:::i;:::-;;;16856:68;;;;16942:3;16935:10;;;16705:248;;;;:::o;13745:293::-;13817:16;13845:24;13890:5;13886:3;:9;;;;:::i;:::-;13872:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13845:51;;13911:9;13921:5;13911:15;;13907:99;13930:3;13928:1;:5;13907:99;;;13973:6;:18;13980:7;13988:1;13980:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13973:18;;;;;;;;;;;;;;;:21;13992:1;13973:21;;;;;;;;;;;;13954:7;13964:5;13962:1;:7;;;;:::i;:::-;13954:16;;;;;;;;:::i;:::-;;;;;;;:40;;;;;13935:3;;;;:::i;:::-;;;13907:99;;;;14023:7;14016:14;;;13745:293;;;;:::o;12237:42::-;;;;;;;;;;;;;;;;;:::o;5152:114::-;5213:7;5239:10;:19;5250:7;5239:19;;;;;;;;;;;;;;;;5232:26;;5152:114;;;:::o;13077:92::-;13119:16;13154:7;13147:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13077:92;:::o;4034:254::-;4499:9;:7;:9::i;:::-;4491:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4103:16:::1;4122:5:::0;::::1;;;;;;;;;;4103:24;;4138:26;4152:8;4162:1;4138:13;:26::i;:::-;4175;4189:8;4199:1;4175:13;:26::i;:::-;4220:8;4212:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;4271:8;4244:36;;4261:8;4244:36;;;;;;;;;;;;4092:196;4034:254:::0;:::o;5024:116::-;5065:4;5089:9;:7;:9::i;:::-;:43;;;;5130:2;5102:10;:24;5113:12;:10;:12::i;:::-;5102:24;;;;;;;;;;;;;;;;:30;5089:43;5082:50;;5024:116;:::o;12692:80::-;4499:9;:7;:9::i;:::-;4491:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12759:5:::1;12752:4;;:12;;;;;;;;;;;;;;;;;;12692:80:::0;:::o;12167:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14044:384::-;14098:18;14128:26;14173:7;:14;;;;14157:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14128:60;;14203:9;14199:197;14218:7;:14;;;;14216:1;:16;14199:197;;;14280:4;14266:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14253:7;14261:1;14253:10;;;;;;;;:::i;:::-;;;;;;;:32;;;;14304:9;14300:84;14319:4;14317:1;:6;14300:84;;;14363:6;:18;14370:7;14378:1;14370:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14363:18;;;;;;;;;;;;;;;:21;14382:1;14363:21;;;;;;;;;;;;14347:7;14355:1;14347:10;;;;;;;;:::i;:::-;;;;;;;;14358:1;14347:13;;;;;;;;:::i;:::-;;;;;;;:37;;;;;14325:3;;;;:::i;:::-;;;14300:84;;;;14234:3;;;;:::i;:::-;;;14199:197;;;;14413:7;14406:14;;;14044:384;;;:::o;12870:101::-;12916:7;12951:11;;;;;;;;;;;12936:27;;12870:101;:::o;14434:415::-;14522:18;14552:26;14597:6;:13;14581:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14552:59;;14626:9;14622:195;14641:6;:13;14639:1;:15;14622:195;;;14702:4;14688:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14675:7;14683:1;14675:10;;;;;;;;:::i;:::-;;;;;;;:32;;;;14726:9;14722:83;14741:4;14739:1;:6;14722:83;;;14785:6;:17;14792:6;14799:1;14792:9;;;;;;;;:::i;:::-;;;;;;;;14785:17;;;;;;;;;;;;;;;:20;14803:1;14785:20;;;;;;;;;;;;14769:7;14777:1;14769:10;;;;;;;;:::i;:::-;;;;;;;;14780:1;14769:13;;;;;;;;:::i;:::-;;;;;;;:36;;;;;14747:3;;;;:::i;:::-;;;14722:83;;;;14656:3;;;;:::i;:::-;;;14622:195;;;;14834:7;14827:14;;;14434:415;;;;:::o;12582:104::-;4499:9;:7;:9::i;:::-;4491:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12669:9:::1;12658:8;;:20;;;;;;;;;;;;;;;;;;12582:104:::0;:::o;15278:613::-;15364:1;15354:9;:11;15346:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;15409:1;15402:6;:8;15394:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;15440:11;;;;;;;;;;;:25;;;15466:4;;;;;;;;;;;15472:12;:10;:12::i;:::-;15486:8;;;;;;;;;;;15496:6;15440:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15539:6;15514:10;:21;15525:9;15514:21;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;15573:6;15556:10;:13;15567:1;15556:13;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;15625:6;15590;:20;15597:12;:10;:12::i;:::-;15590:20;;;;;;;;;;;;;;;:31;15611:9;15590:31;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;15669:6;15642;:20;15649:12;:10;:12::i;:::-;15642:20;;;;;;;;;;;;;;;:23;15663:1;15642:23;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;15712:1;15689:7;:21;15697:12;:10;:12::i;:::-;15689:21;;;;;;;;;;;;;;;;:24;15686:144;;;15739:7;15752:12;:10;:12::i;:::-;15739:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15804:7;:14;;;;15780:7;:21;15788:12;:10;:12::i;:::-;15780:21;;;;;;;;;;;;;;;:38;;;;15686:144;15865:9;15851:12;:10;:12::i;:::-;15845:38;;;15876:6;15845:38;;;;;;:::i;:::-;;;;;;;;15278:613;;:::o;17187:239::-;17250:16;17279:20;17316:4;17302:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17279:42;;17336:9;17332:65;17351:4;17349:1;:6;17332:65;;;17384:10;:13;17395:1;17384:13;;;;;;;;;;;;17375:3;17379:1;17375:6;;;;;;;;:::i;:::-;;;;;;;:22;;;;;17357:3;;;;:::i;:::-;;;17332:65;;;;17415:3;17408:10;;;17187:239;;;:::o;13175:290::-;13248:16;13276:26;13323:5;13319:3;:9;;;;:::i;:::-;13305:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13276:53;;13345:9;13355:5;13345:15;;13341:90;13364:3;13362:1;:5;13341:90;;;13409:7;13417:1;13409:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13388:9;13400:5;13398:1;:7;;;;:::i;:::-;13388:18;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;;;13369:3;;;;:::i;:::-;;;13341:90;;;;13448:9;13441:16;;;13175:290;;;;:::o;4296:155::-;4499:9;:7;:9::i;:::-;4491:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4393:5:::1;4375:10;:15;4386:3;4375:15;;;;;;;;;;;;;;;:23;;;;4432:3;4414:29;;;4437:5;4414:29;;;;;;:::i;:::-;;;;;;;;4296:155:::0;;:::o;4577:93::-;4617:4;4657:5;;;;;;;;;;;4641:21;;:12;:10;:12::i;:::-;:21;;;4634:28;;4577:93;:::o;12778:86::-;12821:7;12848:8;;;;;;;;;;;12841:15;;12778:86;:::o;15897:546::-;15985:1;15975:9;:11;15967:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;16030:1;16023:6;:8;16015:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;16102:6;16069;:20;16076:12;:10;:12::i;:::-;16069:20;;;;;;;;;;;;;;;:31;16090:9;16069:31;;;;;;;;;;;;:39;;16061:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;16144:11;;;;;;;;;;;:25;;;16170:4;;;;;;;;;;;16176:8;;;;;;;;;;;16186:12;:10;:12::i;:::-;16200:6;16144:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16243:6;16218:10;:21;16229:9;16218:21;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;16277:6;16260:10;:13;16271:1;16260:13;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;16329:6;16294;:20;16301:12;:10;:12::i;:::-;16294:20;;;;;;;;;;;;;;;:31;16315:9;16294:31;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;16373:6;16346;:20;16353:12;:10;:12::i;:::-;16346:20;;;;;;;;;;;;;;;:23;16367:1;16346:23;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;16417:9;16403:12;:10;:12::i;:::-;16395:40;;;16428:6;16395:40;;;;;;:::i;:::-;;;;;;;;15897:546;;:::o;12464:112::-;4499:9;:7;:9::i;:::-;4491:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12556:12:::1;12542:11;;:26;;;;;;;;;;;;;;;;;;12464:112:::0;:::o;4796:101::-;4836:4;4888:1;4860:10;:24;4871:12;:10;:12::i;:::-;4860:24;;;;;;;;;;;;;;;;:29;4853:36;;4796:101;:::o;14855:417::-;14942:18;14972:26;15021:5;15017:3;:9;;;;:::i;:::-;15001:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14972:55;;15042:9;15052:5;15042:15;;15038:202;15061:3;15059:1;:5;15038:202;;;15118:4;15104:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15085:7;15095:5;15093:1;:7;;;;:::i;:::-;15085:16;;;;;;;;:::i;:::-;;;;;;;:38;;;;15142:9;15138:90;15157:4;15155:1;:6;15138:90;;;15207:6;:18;15214:7;15222:1;15214:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15207:18;;;;;;;;;;;;;;;:21;15226:1;15207:21;;;;;;;;;;;;15185:7;15195:5;15193:1;:7;;;;:::i;:::-;15185:16;;;;;;;;:::i;:::-;;;;;;;;15202:1;15185:19;;;;;;;;:::i;:::-;;;;;;;:43;;;;;15163:3;;;;:::i;:::-;;;15138:90;;;;15066:3;;;;:::i;:::-;;;15038:202;;;;15257:7;15250:14;;;14855:417;;;;;:::o;13471:268::-;13512:16;13540:24;13581:7;:14;;;;13567:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13540:56;;13611:9;13607:100;13626:7;:14;;;;13624:1;:16;13607:100;;;13674:6;:18;13681:7;13689:1;13681:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13674:18;;;;;;;;;;;;;;;:21;13693:1;13674:21;;;;;;;;;;;;13661:7;13669:1;13661:10;;;;;;;;:::i;:::-;;;;;;;:34;;;;;13642:3;;;;:::i;:::-;;;13607:100;;;;13724:7;13717:14;;;13471:268;:::o;16591:108::-;16648:7;16675:6;:13;16682:5;16675:13;;;;;;;;;;;;;;;:16;16689:1;16675:16;;;;;;;;;;;;16668:23;;16591:108;;;:::o;16961:113::-;17022:7;17049:10;:17;17060:5;17049:17;;;;;;;;;;;;17042:24;;16961:113;;;:::o;16455:130::-;16526:7;16553:6;:13;16560:5;16553:13;;;;;;;;;;;;;;;:24;16567:9;16553:24;;;;;;;;;;;;16546:31;;16455:130;;;;:::o;3445:98::-;3498:7;3525:10;3518:17;;3445:98;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:75::-;475:6;508:2;502:9;492:19;;442:75;:::o;523:117::-;632:1;629;622:12;646:117;755:1;752;745:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:122::-;1349:24;1367:5;1349:24;:::i;:::-;1342:5;1339:35;1329:63;;1388:1;1385;1378:12;1329:63;1276:122;:::o;1404:139::-;1450:5;1488:6;1475:20;1466:29;;1504:33;1531:5;1504:33;:::i;:::-;1404:139;;;;:::o;1549:474::-;1617:6;1625;1674:2;1662:9;1653:7;1649:23;1645:32;1642:119;;;1680:79;;:::i;:::-;1642:119;1800:1;1825:53;1870:7;1861:6;1850:9;1846:22;1825:53;:::i;:::-;1815:63;;1771:117;1927:2;1953:53;1998:7;1989:6;1978:9;1974:22;1953:53;:::i;:::-;1943:63;;1898:118;1549:474;;;;;:::o;2029:114::-;2096:6;2130:5;2124:12;2114:22;;2029:114;;;:::o;2149:184::-;2248:11;2282:6;2277:3;2270:19;2322:4;2317:3;2313:14;2298:29;;2149:184;;;;:::o;2339:132::-;2406:4;2429:3;2421:11;;2459:4;2454:3;2450:14;2442:22;;2339:132;;;:::o;2477:108::-;2554:24;2572:5;2554:24;:::i;:::-;2549:3;2542:37;2477:108;;:::o;2591:179::-;2660:10;2681:46;2723:3;2715:6;2681:46;:::i;:::-;2759:4;2754:3;2750:14;2736:28;;2591:179;;;;:::o;2776:113::-;2846:4;2878;2873:3;2869:14;2861:22;;2776:113;;;:::o;2925:732::-;3044:3;3073:54;3121:5;3073:54;:::i;:::-;3143:86;3222:6;3217:3;3143:86;:::i;:::-;3136:93;;3253:56;3303:5;3253:56;:::i;:::-;3332:7;3363:1;3348:284;3373:6;3370:1;3367:13;3348:284;;;3449:6;3443:13;3476:63;3535:3;3520:13;3476:63;:::i;:::-;3469:70;;3562:60;3615:6;3562:60;:::i;:::-;3552:70;;3408:224;3395:1;3392;3388:9;3383:14;;3348:284;;;3352:14;3648:3;3641:10;;3049:608;;;2925:732;;;;:::o;3663:373::-;3806:4;3844:2;3833:9;3829:18;3821:26;;3893:9;3887:4;3883:20;3879:1;3868:9;3864:17;3857:47;3921:108;4024:4;4015:6;3921:108;:::i;:::-;3913:116;;3663:373;;;;:::o;4042:474::-;4110:6;4118;4167:2;4155:9;4146:7;4142:23;4138:32;4135:119;;;4173:79;;:::i;:::-;4135:119;4293:1;4318:53;4363:7;4354:6;4343:9;4339:22;4318:53;:::i;:::-;4308:63;;4264:117;4420:2;4446:53;4491:7;4482:6;4471:9;4467:22;4446:53;:::i;:::-;4436:63;;4391:118;4042:474;;;;;:::o;4522:329::-;4581:6;4630:2;4618:9;4609:7;4605:23;4601:32;4598:119;;;4636:79;;:::i;:::-;4598:119;4756:1;4781:53;4826:7;4817:6;4806:9;4802:22;4781:53;:::i;:::-;4771:63;;4727:117;4522:329;;;;:::o;4857:114::-;4924:6;4958:5;4952:12;4942:22;;4857:114;;;:::o;4977:184::-;5076:11;5110:6;5105:3;5098:19;5150:4;5145:3;5141:14;5126:29;;4977:184;;;;:::o;5167:132::-;5234:4;5257:3;5249:11;;5287:4;5282:3;5278:14;5270:22;;5167:132;;;:::o;5305:108::-;5382:24;5400:5;5382:24;:::i;:::-;5377:3;5370:37;5305:108;;:::o;5419:179::-;5488:10;5509:46;5551:3;5543:6;5509:46;:::i;:::-;5587:4;5582:3;5578:14;5564:28;;5419:179;;;;:::o;5604:113::-;5674:4;5706;5701:3;5697:14;5689:22;;5604:113;;;:::o;5753:732::-;5872:3;5901:54;5949:5;5901:54;:::i;:::-;5971:86;6050:6;6045:3;5971:86;:::i;:::-;5964:93;;6081:56;6131:5;6081:56;:::i;:::-;6160:7;6191:1;6176:284;6201:6;6198:1;6195:13;6176:284;;;6277:6;6271:13;6304:63;6363:3;6348:13;6304:63;:::i;:::-;6297:70;;6390:60;6443:6;6390:60;:::i;:::-;6380:70;;6236:224;6223:1;6220;6216:9;6211:14;;6176:284;;;6180:14;6476:3;6469:10;;5877:608;;;5753:732;;;;:::o;6491:373::-;6634:4;6672:2;6661:9;6657:18;6649:26;;6721:9;6715:4;6711:20;6707:1;6696:9;6692:17;6685:47;6749:108;6852:4;6843:6;6749:108;:::i;:::-;6741:116;;6491:373;;;;:::o;6870:90::-;6904:7;6947:5;6940:13;6933:21;6922:32;;6870:90;;;:::o;6966:109::-;7047:21;7062:5;7047:21;:::i;:::-;7042:3;7035:34;6966:109;;:::o;7081:210::-;7168:4;7206:2;7195:9;7191:18;7183:26;;7219:65;7281:1;7270:9;7266:17;7257:6;7219:65;:::i;:::-;7081:210;;;;:::o;7297:329::-;7356:6;7405:2;7393:9;7384:7;7380:23;7376:32;7373:119;;;7411:79;;:::i;:::-;7373:119;7531:1;7556:53;7601:7;7592:6;7581:9;7577:22;7556:53;:::i;:::-;7546:63;;7502:117;7297:329;;;;:::o;7632:139::-;7724:6;7758:5;7752:12;7742:22;;7632:139;;;:::o;7777:209::-;7901:11;7935:6;7930:3;7923:19;7975:4;7970:3;7966:14;7951:29;;7777:209;;;;:::o;7992:157::-;8084:4;8107:3;8099:11;;8137:4;8132:3;8128:14;8120:22;;7992:157;;;:::o;8155:174::-;8244:11;8278:6;8273:3;8266:19;8318:4;8313:3;8309:14;8294:29;;8155:174;;;;:::o;8365:712::-;8474:3;8503:54;8551:5;8503:54;:::i;:::-;8573:76;8642:6;8637:3;8573:76;:::i;:::-;8566:83;;8673:56;8723:5;8673:56;:::i;:::-;8752:7;8783:1;8768:284;8793:6;8790:1;8787:13;8768:284;;;8869:6;8863:13;8896:63;8955:3;8940:13;8896:63;:::i;:::-;8889:70;;8982:60;9035:6;8982:60;:::i;:::-;8972:70;;8828:224;8815:1;8812;8808:9;8803:14;;8768:284;;;8772:14;9068:3;9061:10;;8479:598;;;8365:712;;;;:::o;9083:256::-;9202:10;9237:96;9329:3;9321:6;9237:96;:::i;:::-;9223:110;;9083:256;;;;:::o;9345:138::-;9440:4;9472;9467:3;9463:14;9455:22;;9345:138;;;:::o;9523:1111::-;9692:3;9721:79;9794:5;9721:79;:::i;:::-;9816:111;9920:6;9915:3;9816:111;:::i;:::-;9809:118;;9953:3;9998:4;9990:6;9986:17;9981:3;9977:27;10028:81;10103:5;10028:81;:::i;:::-;10132:7;10163:1;10148:441;10173:6;10170:1;10167:13;10148:441;;;10244:9;10238:4;10234:20;10229:3;10222:33;10295:6;10289:13;10323:114;10432:4;10417:13;10323:114;:::i;:::-;10315:122;;10460:85;10538:6;10460:85;:::i;:::-;10450:95;;10574:4;10569:3;10565:14;10558:21;;10208:381;10195:1;10192;10188:9;10183:14;;10148:441;;;10152:14;10605:4;10598:11;;10625:3;10618:10;;9697:937;;;;;9523:1111;;;;:::o;10640:473::-;10833:4;10871:2;10860:9;10856:18;10848:26;;10920:9;10914:4;10910:20;10906:1;10895:9;10891:17;10884:47;10948:158;11101:4;11092:6;10948:158;:::i;:::-;10940:166;;10640:473;;;;:::o;11119:118::-;11206:24;11224:5;11206:24;:::i;:::-;11201:3;11194:37;11119:118;;:::o;11243:222::-;11336:4;11374:2;11363:9;11359:18;11351:26;;11387:71;11455:1;11444:9;11440:17;11431:6;11387:71;:::i;:::-;11243:222;;;;:::o;11471:117::-;11580:1;11577;11570:12;11594:102;11635:6;11686:2;11682:7;11677:2;11670:5;11666:14;11662:28;11652:38;;11594:102;;;:::o;11702:180::-;11750:77;11747:1;11740:88;11847:4;11844:1;11837:15;11871:4;11868:1;11861:15;11888:281;11971:27;11993:4;11971:27;:::i;:::-;11963:6;11959:40;12101:6;12089:10;12086:22;12065:18;12053:10;12050:34;12047:62;12044:88;;;12112:18;;:::i;:::-;12044:88;12152:10;12148:2;12141:22;11931:238;11888:281;;:::o;12175:129::-;12209:6;12236:20;;:::i;:::-;12226:30;;12265:33;12293:4;12285:6;12265:33;:::i;:::-;12175:129;;;:::o;12310:311::-;12387:4;12477:18;12469:6;12466:30;12463:56;;;12499:18;;:::i;:::-;12463:56;12549:4;12541:6;12537:17;12529:25;;12609:4;12603;12599:15;12591:23;;12310:311;;;:::o;12627:117::-;12736:1;12733;12726:12;12767:710;12863:5;12888:81;12904:64;12961:6;12904:64;:::i;:::-;12888:81;:::i;:::-;12879:90;;12989:5;13018:6;13011:5;13004:21;13052:4;13045:5;13041:16;13034:23;;13105:4;13097:6;13093:17;13085:6;13081:30;13134:3;13126:6;13123:15;13120:122;;;13153:79;;:::i;:::-;13120:122;13268:6;13251:220;13285:6;13280:3;13277:15;13251:220;;;13360:3;13389:37;13422:3;13410:10;13389:37;:::i;:::-;13384:3;13377:50;13456:4;13451:3;13447:14;13440:21;;13327:144;13311:4;13306:3;13302:14;13295:21;;13251:220;;;13255:21;12869:608;;12767:710;;;;;:::o;13500:370::-;13571:5;13620:3;13613:4;13605:6;13601:17;13597:27;13587:122;;13628:79;;:::i;:::-;13587:122;13745:6;13732:20;13770:94;13860:3;13852:6;13845:4;13837:6;13833:17;13770:94;:::i;:::-;13761:103;;13577:293;13500:370;;;;:::o;13876:684::-;13969:6;13977;14026:2;14014:9;14005:7;14001:23;13997:32;13994:119;;;14032:79;;:::i;:::-;13994:119;14152:1;14177:53;14222:7;14213:6;14202:9;14198:22;14177:53;:::i;:::-;14167:63;;14123:117;14307:2;14296:9;14292:18;14279:32;14338:18;14330:6;14327:30;14324:117;;;14360:79;;:::i;:::-;14324:117;14465:78;14535:7;14526:6;14515:9;14511:22;14465:78;:::i;:::-;14455:88;;14250:303;13876:684;;;;;:::o;14566:104::-;14611:7;14640:24;14658:5;14640:24;:::i;:::-;14629:35;;14566:104;;;:::o;14676:138::-;14757:32;14783:5;14757:32;:::i;:::-;14750:5;14747:43;14737:71;;14804:1;14801;14794:12;14737:71;14676:138;:::o;14820:155::-;14874:5;14912:6;14899:20;14890:29;;14928:41;14963:5;14928:41;:::i;:::-;14820:155;;;;:::o;14981:345::-;15048:6;15097:2;15085:9;15076:7;15072:23;15068:32;15065:119;;;15103:79;;:::i;:::-;15065:119;15223:1;15248:61;15301:7;15292:6;15281:9;15277:22;15248:61;:::i;:::-;15238:71;;15194:125;14981:345;;;;:::o;15332:115::-;15388:7;15417:24;15435:5;15417:24;:::i;:::-;15406:35;;15332:115;;;:::o;15453:160::-;15545:43;15582:5;15545:43;:::i;:::-;15538:5;15535:54;15525:82;;15603:1;15600;15593:12;15525:82;15453:160;:::o;15619:177::-;15684:5;15722:6;15709:20;15700:29;;15738:52;15784:5;15738:52;:::i;:::-;15619:177;;;;:::o;15802:367::-;15880:6;15929:2;15917:9;15908:7;15904:23;15900:32;15897:119;;;15935:79;;:::i;:::-;15897:119;16055:1;16080:72;16144:7;16135:6;16124:9;16120:22;16080:72;:::i;:::-;16070:82;;16026:136;15802:367;;;;:::o;16175:619::-;16252:6;16260;16268;16317:2;16305:9;16296:7;16292:23;16288:32;16285:119;;;16323:79;;:::i;:::-;16285:119;16443:1;16468:53;16513:7;16504:6;16493:9;16489:22;16468:53;:::i;:::-;16458:63;;16414:117;16570:2;16596:53;16641:7;16632:6;16621:9;16617:22;16596:53;:::i;:::-;16586:63;;16541:118;16698:2;16724:53;16769:7;16760:6;16749:9;16745:22;16724:53;:::i;:::-;16714:63;;16669:118;16175:619;;;;;:::o;16800:180::-;16848:77;16845:1;16838:88;16945:4;16942:1;16935:15;16969:4;16966:1;16959:15;16986:180;17034:77;17031:1;17024:88;17131:4;17128:1;17121:15;17155:4;17152:1;17145:15;17172:233;17211:3;17234:24;17252:5;17234:24;:::i;:::-;17225:33;;17280:66;17273:5;17270:77;17267:103;;;17350:18;;:::i;:::-;17267:103;17397:1;17390:5;17386:13;17379:20;;17172:233;;;:::o;17411:191::-;17451:4;17471:20;17489:1;17471:20;:::i;:::-;17466:25;;17505:20;17523:1;17505:20;:::i;:::-;17500:25;;17544:1;17541;17538:8;17535:34;;;17549:18;;:::i;:::-;17535:34;17594:1;17591;17587:9;17579:17;;17411:191;;;;:::o;17608:169::-;17692:11;17726:6;17721:3;17714:19;17766:4;17761:3;17757:14;17742:29;;17608:169;;;;:::o;17783:223::-;17923:34;17919:1;17911:6;17907:14;17900:58;17992:6;17987:2;17979:6;17975:15;17968:31;17783:223;:::o;18012:366::-;18154:3;18175:67;18239:2;18234:3;18175:67;:::i;:::-;18168:74;;18251:93;18340:3;18251:93;:::i;:::-;18369:2;18364:3;18360:12;18353:19;;18012:366;;;:::o;18384:419::-;18550:4;18588:2;18577:9;18573:18;18565:26;;18637:9;18631:4;18627:20;18623:1;18612:9;18608:17;18601:47;18665:131;18791:4;18665:131;:::i;:::-;18657:139;;18384:419;;;:::o;18809:163::-;18949:15;18945:1;18937:6;18933:14;18926:39;18809:163;:::o;18978:366::-;19120:3;19141:67;19205:2;19200:3;19141:67;:::i;:::-;19134:74;;19217:93;19306:3;19217:93;:::i;:::-;19335:2;19330:3;19326:12;19319:19;;18978:366;;;:::o;19350:419::-;19516:4;19554:2;19543:9;19539:18;19531:26;;19603:9;19597:4;19593:20;19589:1;19578:9;19574:17;19567:47;19631:131;19757:4;19631:131;:::i;:::-;19623:139;;19350:419;;;:::o;19775:164::-;19915:16;19911:1;19903:6;19899:14;19892:40;19775:164;:::o;19945:366::-;20087:3;20108:67;20172:2;20167:3;20108:67;:::i;:::-;20101:74;;20184:93;20273:3;20184:93;:::i;:::-;20302:2;20297:3;20293:12;20286:19;;19945:366;;;:::o;20317:419::-;20483:4;20521:2;20510:9;20506:18;20498:26;;20570:9;20564:4;20560:20;20556:1;20545:9;20541:17;20534:47;20598:131;20724:4;20598:131;:::i;:::-;20590:139;;20317:419;;;:::o;20742:60::-;20770:3;20791:5;20784:12;;20742:60;;;:::o;20808:142::-;20858:9;20891:53;20909:34;20918:24;20936:5;20918:24;:::i;:::-;20909:34;:::i;:::-;20891:53;:::i;:::-;20878:66;;20808:142;;;:::o;20956:126::-;21006:9;21039:37;21070:5;21039:37;:::i;:::-;21026:50;;20956:126;;;:::o;21088:134::-;21146:9;21179:37;21210:5;21179:37;:::i;:::-;21166:50;;21088:134;;;:::o;21228:147::-;21323:45;21362:5;21323:45;:::i;:::-;21318:3;21311:58;21228:147;;:::o;21381:569::-;21566:4;21604:3;21593:9;21589:19;21581:27;;21618:71;21686:1;21675:9;21671:17;21662:6;21618:71;:::i;:::-;21699:72;21767:2;21756:9;21752:18;21743:6;21699:72;:::i;:::-;21781:80;21857:2;21846:9;21842:18;21833:6;21781:80;:::i;:::-;21871:72;21939:2;21928:9;21924:18;21915:6;21871:72;:::i;:::-;21381:569;;;;;;;:::o;21956:305::-;21996:3;22015:20;22033:1;22015:20;:::i;:::-;22010:25;;22049:20;22067:1;22049:20;:::i;:::-;22044:25;;22203:1;22135:66;22131:74;22128:1;22125:81;22122:107;;;22209:18;;:::i;:::-;22122:107;22253:1;22250;22246:9;22239:16;;21956:305;;;;:::o;22267:170::-;22407:22;22403:1;22395:6;22391:14;22384:46;22267:170;:::o;22443:366::-;22585:3;22606:67;22670:2;22665:3;22606:67;:::i;:::-;22599:74;;22682:93;22771:3;22682:93;:::i;:::-;22800:2;22795:3;22791:12;22784:19;;22443:366;;;:::o;22815:419::-;22981:4;23019:2;23008:9;23004:18;22996:26;;23068:9;23062:4;23058:20;23054:1;23043:9;23039:17;23032:47;23096:131;23222:4;23096:131;:::i;:::-;23088:139;;22815:419;;;:::o;23240:569::-;23425:4;23463:3;23452:9;23448:19;23440:27;;23477:71;23545:1;23534:9;23530:17;23521:6;23477:71;:::i;:::-;23558:80;23634:2;23623:9;23619:18;23610:6;23558:80;:::i;:::-;23648:72;23716:2;23705:9;23701:18;23692:6;23648:72;:::i;:::-;23730;23798:2;23787:9;23783:18;23774:6;23730:72;:::i;:::-;23240:569;;;;;;;:::o

Swarm Source

ipfs://d16bd7c7279aa7805b0e742c2ac770085d319cdaabeb0204513e546f7de3997f

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.