ETH Price: $3,387.55 (-1.32%)

Contract

0x3f44858a52d64f6A9A998D4B6c89C1071C84fe29
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Whitelistwithdra...143979602022-03-16 13:51:57986 days ago1647438717IN
0x3f44858a...71C84fe29
0 ETH0.0022441848.26106795
Mintwith Signed ...143786082022-03-13 13:33:54989 days ago1647178434IN
0x3f44858a...71C84fe29
0.15 ETH0.0029612115.42293234
Mintwith Signed ...143784392022-03-13 13:00:27989 days ago1647176427IN
0x3f44858a...71C84fe29
0.15 ETH0.0060766331.64899225
Mintwith Signed ...143783842022-03-13 12:45:27989 days ago1647175527IN
0x3f44858a...71C84fe29
0.15 ETH0.0045771323.83910567
Mintwith Signed ...143783142022-03-13 12:32:21989 days ago1647174741IN
0x3f44858a...71C84fe29
0.15 ETH0.0068033835.43630336
Mintwith Signed ...143782532022-03-13 12:15:18989 days ago1647173718IN
0x3f44858a...71C84fe29
0.15 ETH0.0037611217.98814007
Mintwith Signed ...143781172022-03-13 11:48:01989 days ago1647172081IN
0x3f44858a...71C84fe29
0.15 ETH0.0040601321.14643429
Mintwith Signed ...143780352022-03-13 11:27:06989 days ago1647170826IN
0x3f44858a...71C84fe29
0.15 ETH0.0029713814.2103063
Mintwith Signed ...143779582022-03-13 11:09:15989 days ago1647169755IN
0x3f44858a...71C84fe29
0.15 ETH0.0056060926.81046661
Mintwith Signed ...143778042022-03-13 10:34:02989 days ago1647167642IN
0x3f44858a...71C84fe29
0.15 ETH0.0029883814.29157211
Mintwith Signed ...143776452022-03-13 9:59:53989 days ago1647165593IN
0x3f44858a...71C84fe29
0.15 ETH0.0040449221.06852424
Mintwith Signed ...143775602022-03-13 9:38:43989 days ago1647164323IN
0x3f44858a...71C84fe29
0.15 ETH0.0033649216.09236124
Mintwith Signed ...143775132022-03-13 9:29:55989 days ago1647163795IN
0x3f44858a...71C84fe29
0.15 ETH0.0027913914.53933479
Mintwith Signed ...143774372022-03-13 9:11:25989 days ago1647162685IN
0x3f44858a...71C84fe29
0.15 ETH0.0034219116.36585232
Mintwith Signed ...143772892022-03-13 8:36:17989 days ago1647160577IN
0x3f44858a...71C84fe29
0.15 ETH0.0022280511.60438727
Mintwith Signed ...143771992022-03-13 8:18:42989 days ago1647159522IN
0x3f44858a...71C84fe29
0.15 ETH0.0051595924.6751229
Mintwith Signed ...143771482022-03-13 8:04:17989 days ago1647158657IN
0x3f44858a...71C84fe29
0.15 ETH0.004128819.74549545
Mintwith Signed ...143750792022-03-13 0:02:47990 days ago1647129767IN
0x3f44858a...71C84fe29
0.15 ETH0.0051266524.51902603
Mintwith Signed ...143745372022-03-12 22:05:06990 days ago1647122706IN
0x3f44858a...71C84fe29
0.15 ETH0.0051642224.69725252
Mintwith Signed ...143742502022-03-12 21:00:13990 days ago1647118813IN
0x3f44858a...71C84fe29
0.15 ETH0.005433328.30009822
Mintwith Signed ...143741832022-03-12 20:45:20990 days ago1647117920IN
0x3f44858a...71C84fe29
0.15 ETH0.005071326.41288617
Mintwith Signed ...143741742022-03-12 20:43:27990 days ago1647117807IN
0x3f44858a...71C84fe29
0.15 ETH0.0060612931.56905524
Mintwith Signed ...143736882022-03-12 19:00:13990 days ago1647111613IN
0x3f44858a...71C84fe29
0.15 ETH0.0055874926.7214916
Mintwith Signed ...143733552022-03-12 17:47:50990 days ago1647107270IN
0x3f44858a...71C84fe29
0.15 ETH0.006282630.04577081
Mintwith Signed ...143733052022-03-12 17:35:21990 days ago1647106521IN
0x3f44858a...71C84fe29
0.15 ETH0.0052604825.15761778
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
148747692022-05-30 20:56:31911 days ago1653944191
0x3f44858a...71C84fe29
4.71 ETH
143786082022-03-13 13:33:54989 days ago1647178434
0x3f44858a...71C84fe29
0.12 ETH
143784392022-03-13 13:00:27989 days ago1647176427
0x3f44858a...71C84fe29
0.12 ETH
143783842022-03-13 12:45:27989 days ago1647175527
0x3f44858a...71C84fe29
0.12 ETH
143783142022-03-13 12:32:21989 days ago1647174741
0x3f44858a...71C84fe29
0.12 ETH
143782532022-03-13 12:15:18989 days ago1647173718
0x3f44858a...71C84fe29
0.12 ETH
143781172022-03-13 11:48:01989 days ago1647172081
0x3f44858a...71C84fe29
0.12 ETH
143780352022-03-13 11:27:06989 days ago1647170826
0x3f44858a...71C84fe29
0.12 ETH
143779582022-03-13 11:09:15989 days ago1647169755
0x3f44858a...71C84fe29
0.12 ETH
143778042022-03-13 10:34:02989 days ago1647167642
0x3f44858a...71C84fe29
0.12 ETH
143776452022-03-13 9:59:53989 days ago1647165593
0x3f44858a...71C84fe29
0.12 ETH
143775602022-03-13 9:38:43989 days ago1647164323
0x3f44858a...71C84fe29
0.12 ETH
143775132022-03-13 9:29:55989 days ago1647163795
0x3f44858a...71C84fe29
0.12 ETH
143774372022-03-13 9:11:25989 days ago1647162685
0x3f44858a...71C84fe29
0.12 ETH
143772892022-03-13 8:36:17989 days ago1647160577
0x3f44858a...71C84fe29
0.12 ETH
143771992022-03-13 8:18:42989 days ago1647159522
0x3f44858a...71C84fe29
0.12 ETH
143771482022-03-13 8:04:17989 days ago1647158657
0x3f44858a...71C84fe29
0.12 ETH
143750792022-03-13 0:02:47990 days ago1647129767
0x3f44858a...71C84fe29
0.12 ETH
143745372022-03-12 22:05:06990 days ago1647122706
0x3f44858a...71C84fe29
0.12 ETH
143742502022-03-12 21:00:13990 days ago1647118813
0x3f44858a...71C84fe29
0.12 ETH
143741832022-03-12 20:45:20990 days ago1647117920
0x3f44858a...71C84fe29
0.12 ETH
143741742022-03-12 20:43:27990 days ago1647117807
0x3f44858a...71C84fe29
0.12 ETH
143736882022-03-12 19:00:13990 days ago1647111613
0x3f44858a...71C84fe29
0.12 ETH
143733552022-03-12 17:47:50990 days ago1647107270
0x3f44858a...71C84fe29
0.12 ETH
143733052022-03-12 17:35:21990 days ago1647106521
0x3f44858a...71C84fe29
0.12 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Minting

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : minting.sol
import "./VerifySignature.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

pragma solidity ^0.8.0;

interface Minimalmint {
    function mintafterverification(
        uint256 value1,
        uint256 value2,
        uint256 colorpointer,
        uint256 tokenid,
        string memory rtimetamp
    ) external;
}

contract Minting is VerifySignature, Ownable {
    Minimalmint minter;
    address internal dataprovider;
    uint256 public nonce;
    uint256 public constant mint_price = 150000000000000000 wei;

    address public currentcurator;
    address public terra0multisig;
    mapping(address => curator) public curators;

    uint256 public maxnonce = 2001;
    uint256[2] public temprange = [19000, 23000];
    uint256[2] public moistrange = [70000, 80000];

    uint256 public timelimit = 2200;
    uint256 public artistmintcounter = 15;

    struct curator {
        uint256 percentage;
        uint256 colorandlocationpointer;
        bool curatorwhitelist;
        uint256 curatorshares;
    }

    constructor(
        address _dataprovider,
        address _terra0multisig,
        address _erc721
    ) {
        dataprovider = _dataprovider;
        terra0multisig = _terra0multisig;
        nonce = 0;
        maxnonce = 1601;
        timelimit = 2200;
        minter = Minimalmint(_erc721);

    }

    function checkrange(
        uint256 value,
        uint256 downrange,
        uint256 upperrange
    ) public pure returns (bool pass) {
        bool down = value >= downrange;
        bool up = value <= upperrange;
        return (bool(down && up));
    }

    function artistmint(
        uint256 value1,
        uint256 value2,
        uint256 _nonce,
        string memory htimestamp,
        uint256 colorandlocationpointer
    ) external onlyOwner {
        require(_nonce < maxnonce, "Max number of tokens minted");
        require(currentcurator != address(0), "No curator set");

        require(
            checkrange(value1, moistrange[0], moistrange[1]) == true,
            "Moisture range out of bounds"
        );
        require(
            checkrange(value2, temprange[0], temprange[1]) == true,
            "Temperature range out of bounds"
        );
        require(artistmintcounter > 0);
        artistmintcounter -= 1;
        minter.mintafterverification(
            value1,
            value2,
            colorandlocationpointer,
            _nonce,
            htimestamp
        );
        nonce = _nonce;
    }

    function mintwithSignedData(
        address signer,
        uint256 value1,
        uint256 value2,
        uint256 _nonce,
        uint256 timestamp,
        string memory htimestamp,
        bytes memory signature
    ) external payable {
        require(
            verify(
                signer,
                value1,
                value2,
                _nonce,
                timestamp,
                htimestamp,
                signature
            ) == true,
            "Wrong signature"
        );
        require(signer == dataprovider, "Signer is not dataprovider");
        require(_nonce > nonce, "Datapacket already minted");
        uint256 latest_date = block.timestamp - timelimit;
        require(timestamp > latest_date, "Datapacket too old");
        require(msg.value >= mint_price, "Insufficient payment");
        require(currentcurator != address(0), "No curator set");
        require(_nonce < maxnonce, "Max number tokens minted");
        require(
            checkrange(value1, moistrange[0], moistrange[1]) == true,
            "Moisture range out of bounds"
        );
        require(
            checkrange(value2, temprange[0], temprange[1]) == true,
            "Temperature range out of bounds"
        );
        nonce = _nonce;
        minter.mintafterverification(
            value1,
            value2,
            curators[currentcurator].colorandlocationpointer,
            _nonce,
            htimestamp
        );
        curators[currentcurator].curatorshares =
            curators[currentcurator].curatorshares +
            (mint_price / curators[currentcurator].percentage);
        uint256 terra0value = mint_price -
            (mint_price / curators[currentcurator].percentage);
        (bool sent, ) = payable(terra0multisig).call{value: terra0value}("");
        require(sent, "Transfer failed.");
    }

    function setcurator(
        address _curator,
        uint256 percentage,
        uint256 colorandlocationpointer
    ) external onlyOwner {
        currentcurator = _curator;
        curators[currentcurator].curatorwhitelist = false;
        curators[currentcurator]
            .colorandlocationpointer = colorandlocationpointer;
        curators[currentcurator].percentage = percentage;
    }

    function whitelistwithdrawcurator(address _curator) external onlyOwner {
        curators[_curator].curatorwhitelist = true;
    }

    function withdraw() external {
        require(
            curators[msg.sender].curatorwhitelist == true,
            "Exhibition still running"
        );
        uint256 share = curators[msg.sender].curatorshares;
        curators[msg.sender].curatorshares = 0;
        (bool sent, ) = msg.sender.call{value: share}("");
        require(sent, "Transfer failed.");
    }

    function changetimelimit(uint256 newtimelimit) external onlyOwner {
        timelimit = newtimelimit;
    }

    function changevaluerange(
        uint256 temprange0,
        uint256 temprange1,
        uint256 moistrange0,
        uint256 moistrange1
    ) public onlyOwner {
        temprange[0] = temprange0;
        temprange[1] = temprange1;
        moistrange[0] = moistrange0;
        moistrange[1] = moistrange1;
    }
}

File 2 of 4 : VerifySignature.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract VerifySignature {

    function getMessageHash(
        uint256 value1,
        uint256 value2,
        uint256 nonce,
        uint256 timestamp,
        string memory htimestamp
    ) public pure returns (bytes32) {
        return
            keccak256(
                abi.encode(value1, value2, nonce, timestamp, htimestamp)
            );
    }

    function getEthSignedMessageHash(bytes32 _messageHash)
        public
        pure
        returns (bytes32)
    {
        return
            keccak256(
                abi.encodePacked(
                    "\x19Ethereum Signed Message:\n32",
                    _messageHash
                )
            );
    }

    function verify(
        address _signer,
        uint256 _value1,
        uint256 _value2,
        uint256 _nonce,
        uint256 _timestamp,
        string memory htimestamp,
        bytes memory signature
    ) public pure returns (bool) {
        bytes32 messageHash = getMessageHash(
            _value1,
            _value2,
            _nonce,
            _timestamp,
            htimestamp
        );
        bytes32 ethSignedMessageHash = getEthSignedMessageHash(messageHash);

        return recoverSigner(ethSignedMessageHash, signature) == _signer;
    }

    function recoverSigner(
        bytes32 _ethSignedMessageHash,
        bytes memory _signature
    ) public pure returns (address) {
        (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature);

        return ecrecover(_ethSignedMessageHash, v, r, s);
    }

    function splitSignature(bytes memory sig)
        public
        pure
        returns (
            bytes32 r,
            bytes32 s,
            uint8 v
        )
    {
        require(sig.length == 65, "invalid signature length");

        assembly {
            // first 32 bytes, after the length prefix
            r := mload(add(sig, 32))
            // second 32 bytes
            s := mload(add(sig, 64))
            // final byte (first byte of the next 32 bytes)
            v := byte(0, mload(add(sig, 96)))
        }

        // implicitly return (r, s, v)
    }
}

File 3 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 4 of 4 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @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;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dataprovider","type":"address"},{"internalType":"address","name":"_terra0multisig","type":"address"},{"internalType":"address","name":"_erc721","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"value1","type":"uint256"},{"internalType":"uint256","name":"value2","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"htimestamp","type":"string"},{"internalType":"uint256","name":"colorandlocationpointer","type":"uint256"}],"name":"artistmint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"artistmintcounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newtimelimit","type":"uint256"}],"name":"changetimelimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"temprange0","type":"uint256"},{"internalType":"uint256","name":"temprange1","type":"uint256"},{"internalType":"uint256","name":"moistrange0","type":"uint256"},{"internalType":"uint256","name":"moistrange1","type":"uint256"}],"name":"changevaluerange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"downrange","type":"uint256"},{"internalType":"uint256","name":"upperrange","type":"uint256"}],"name":"checkrange","outputs":[{"internalType":"bool","name":"pass","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"curators","outputs":[{"internalType":"uint256","name":"percentage","type":"uint256"},{"internalType":"uint256","name":"colorandlocationpointer","type":"uint256"},{"internalType":"bool","name":"curatorwhitelist","type":"bool"},{"internalType":"uint256","name":"curatorshares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentcurator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_messageHash","type":"bytes32"}],"name":"getEthSignedMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"value1","type":"uint256"},{"internalType":"uint256","name":"value2","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"htimestamp","type":"string"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxnonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"value1","type":"uint256"},{"internalType":"uint256","name":"value2","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"htimestamp","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"mintwithSignedData","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"moistrange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_ethSignedMessageHash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"recoverSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_curator","type":"address"},{"internalType":"uint256","name":"percentage","type":"uint256"},{"internalType":"uint256","name":"colorandlocationpointer","type":"uint256"}],"name":"setcurator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"splitSignature","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"temprange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"terra0multisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signer","type":"address"},{"internalType":"uint256","name":"_value1","type":"uint256"},{"internalType":"uint256","name":"_value2","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"_timestamp","type":"uint256"},{"internalType":"string","name":"htimestamp","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_curator","type":"address"}],"name":"whitelistwithdrawcurator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526107d16007556040518060400160405280614a3861ffff1681526020016159d861ffff1681525060089060026200003d92919062000286565b5060405180604001604052806201117062ffffff1681526020016201388062ffffff16815250600a90600262000075929190620002d1565b50610898600c55600f600d553480156200008e57600080fd5b5060405162003398380380620033988339818101604052810190620000b4919062000353565b620000d4620000c8620001ba60201b60201c565b620001c260201b60201c565b82600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550610641600781905550610898600c8190555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620003f7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8260028101928215620002be579160200282015b82811115620002bd578251829061ffff169055916020019190600101906200029a565b5b509050620002cd91906200031d565b5090565b82600281019282156200030a579160200282015b8281111562000309578251829062ffffff16905591602001919060010190620002e5565b5b5090506200031991906200031d565b5090565b5b80821115620003385760008160009055506001016200031e565b5090565b6000815190506200034d81620003dd565b92915050565b6000806000606084860312156200036957600080fd5b600062000379868287016200033c565b93505060206200038c868287016200033c565b92505060406200039f868287016200033c565b9150509250925092565b6000620003b682620003bd565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620003e881620003a9565b8114620003f457600080fd5b50565b612f9180620004076000396000f3fe6080604052600436106101815760003560e01c806385f86cc4116100d1578063a7bb58031161008a578063ea69837111610064578063ea6983711461059b578063f2ae775e146105b7578063f2fde38b146105e2578063fa5408011461060b57610181565b8063a7bb580314610508578063affed0e014610547578063b0725cb11461057257610181565b806385f86cc4146103e4578063869290c01461040f57806387963f8e1461044c5780638da5cb5b1461047757806390ffc224146104a257806397aba7f9146104cb57610181565b806351c083de1161013e578063715018a611610118578063715018a61461035057806379d75512146103675780637d62ee931461039257806384f56a96146103bb57610181565b806351c083de146102995780635936b4b6146102d65780637058f0bc1461031357610181565b80630487a1f9146101865780630c5df8d7146101c6578063122e5c10146101ef5780631a4231a41461022c578063298f0610146102575780633ccfd60b14610282575b600080fd5b34801561019257600080fd5b506101ad60048036038101906101a89190611ee2565b610648565b6040516101bd94939291906128d0565b60405180910390f35b3480156101d257600080fd5b506101ed60048036038101906101e891906120e6565b610685565b005b3480156101fb57600080fd5b506102166004803603810190610211919061210f565b61070b565b6040516102239190612623565b60405180910390f35b34801561023857600080fd5b50610241610731565b60405161024e91906128b5565b60405180910390f35b34801561026357600080fd5b5061026c61073d565b6040516102799190612608565b60405180910390f35b34801561028e57600080fd5b50610297610763565b005b3480156102a557600080fd5b506102c060048036038101906102bb91906120e6565b610938565b6040516102cd91906128b5565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f891906120e6565b610953565b60405161030a91906128b5565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190612250565b61096e565b604051610347919061263e565b60405180910390f35b34801561035c57600080fd5b506103656109aa565b005b34801561037357600080fd5b5061037c610a32565b60405161038991906128b5565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b4919061215e565b610a38565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190611ee2565b610de8565b005b3480156103f057600080fd5b506103f9610ec2565b60405161040691906128b5565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190611f5a565b610ec8565b6040516104439190612623565b60405180910390f35b34801561045857600080fd5b50610461610f2e565b60405161046e91906128b5565b60405180910390f35b34801561048357600080fd5b5061048c610f34565b6040516104999190612608565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190611f0b565b610f5d565b005b3480156104d757600080fd5b506104f260048036038101906104ed9190612051565b61116e565b6040516104ff9190612608565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a91906120a5565b6111dd565b60405161053e93929190612659565b60405180910390f35b34801561055357600080fd5b5061055c611245565b60405161056991906128b5565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906121ed565b61124b565b005b6105b560048036038101906105b09190611f5a565b6113d1565b005b3480156105c357600080fd5b506105cc611bb9565b6040516105d99190612608565b60405180910390f35b3480156105ee57600080fd5b5061060960048036038101906106049190611ee2565b611bdf565b005b34801561061757600080fd5b50610632600480360381019061062d9190612028565b611cd7565b60405161063f919061263e565b60405180910390f35b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060030154905084565b61068d611d07565b73ffffffffffffffffffffffffffffffffffffffff166106ab610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f8906127b5565b60405180910390fd5b80600c8190555050565b60008083851015905060008386111590508180156107265750805b925050509392505050565b670214e8348c4f000081565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff161515146107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f090612755565b60405180910390fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015490506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555060003373ffffffffffffffffffffffffffffffffffffffff16826040516108ae906125f3565b60006040518083038185875af1925050503d80600081146108eb576040519150601f19603f3d011682016040523d82523d6000602084013e6108f0565b606091505b5050905080610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612855565b60405180910390fd5b5050565b6008816002811061094857600080fd5b016000915090505481565b600a816002811061096357600080fd5b016000915090505481565b60008585858585604051602001610989959493929190612915565b60405160208183030381529060405280519060200120905095945050505050565b6109b2611d07565b73ffffffffffffffffffffffffffffffffffffffff166109d0610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d906127b5565b60405180910390fd5b610a306000611d0f565b565b600d5481565b610a40611d07565b73ffffffffffffffffffffffffffffffffffffffff16610a5e610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906127b5565b60405180910390fd5b6007548310610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612875565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190612775565b60405180910390fd5b60011515610c1186600a600060028110610bcd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600a600160028110610c0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a906127d5565b60405180910390fd5b60011515610cda856008600060028110610c96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01546008600160028110610cd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1390612815565b60405180910390fd5b6000600d5411610d2b57600080fd5b6001600d6000828254610d3e9190612aaf565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bf7177686868487876040518663ffffffff1660e01b8152600401610da8959493929190612915565b600060405180830381600087803b158015610dc257600080fd5b505af1158015610dd6573d6000803e3d6000fd5b50505050826003819055505050505050565b610df0611d07565b73ffffffffffffffffffffffffffffffffffffffff16610e0e610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b906127b5565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff02191690831515021790555050565b60075481565b600080610ed8888888888861096e565b90506000610ee582611cd7565b90508973ffffffffffffffffffffffffffffffffffffffff16610f08828661116e565b73ffffffffffffffffffffffffffffffffffffffff161492505050979650505050505050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f65611d07565b73ffffffffffffffffffffffffffffffffffffffff16610f83610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd0906127b5565b60405180910390fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055508060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508160066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505050565b60008060008061117d856111dd565b925092509250600186828585604051600081526020016040526040516111a69493929190612690565b6020604051602081039080840390855afa1580156111c8573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60008060006041845114611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612895565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b60035481565b611253611d07565b73ffffffffffffffffffffffffffffffffffffffff16611271610f34565b73ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be906127b5565b60405180910390fd5b836008600060028110611303577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0181905550826008600160028110611344577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555081600a600060028110611385577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555080600a6001600281106113c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555050505050565b600115156113e488888888888888610ec8565b151514611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d906126f5565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad90612735565b60405180910390fd5b60035484116114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612835565b60405180910390fd5b6000600c544261150a9190612aaf565b905080841161154e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611545906126d5565b60405180910390fd5b670214e8348c4f0000341015611599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159090612795565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561162b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162290612775565b60405180910390fd5b600754851061166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906127f5565b60405180910390fd5b600115156116f688600a6000600281106116b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600a6001600281106116ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f906127d5565b60405180910390fd5b600115156117bf87600860006002811061177b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015460086001600281106117b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f890612815565b60405180910390fd5b84600381905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bf71776888860066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015489886040518663ffffffff1660e01b81526004016118cf959493929190612915565b600060405180830381600087803b1580156118e957600080fd5b505af11580156118fd573d6000803e3d6000fd5b5050505060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154670214e8348c4f00006119799190612a7e565b60066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546119e89190612a28565b60066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154670214e8348c4f0000611aca9190612a7e565b670214e8348c4f0000611add9190612aaf565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611b27906125f3565b60006040518083038185875af1925050503d8060008114611b64576040519150601f19603f3d011682016040523d82523d6000602084013e611b69565b606091505b5050905080611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490612855565b60405180910390fd5b50505050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611be7611d07565b73ffffffffffffffffffffffffffffffffffffffff16611c05610f34565b73ffffffffffffffffffffffffffffffffffffffff1614611c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c52906127b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc290612715565b60405180910390fd5b611cd481611d0f565b50565b600081604051602001611cea91906125cd565b604051602081830303815290604052805190602001209050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611de6611de184612994565b61296f565b905082815260208101848484011115611dfe57600080fd5b611e09848285612b42565b509392505050565b6000611e24611e1f846129c5565b61296f565b905082815260208101848484011115611e3c57600080fd5b611e47848285612b42565b509392505050565b600081359050611e5e81612f16565b92915050565b600081359050611e7381612f2d565b92915050565b600082601f830112611e8a57600080fd5b8135611e9a848260208601611dd3565b91505092915050565b600082601f830112611eb457600080fd5b8135611ec4848260208601611e11565b91505092915050565b600081359050611edc81612f44565b92915050565b600060208284031215611ef457600080fd5b6000611f0284828501611e4f565b91505092915050565b600080600060608486031215611f2057600080fd5b6000611f2e86828701611e4f565b9350506020611f3f86828701611ecd565b9250506040611f5086828701611ecd565b9150509250925092565b600080600080600080600060e0888a031215611f7557600080fd5b6000611f838a828b01611e4f565b9750506020611f948a828b01611ecd565b9650506040611fa58a828b01611ecd565b9550506060611fb68a828b01611ecd565b9450506080611fc78a828b01611ecd565b93505060a088013567ffffffffffffffff811115611fe457600080fd5b611ff08a828b01611ea3565b92505060c088013567ffffffffffffffff81111561200d57600080fd5b6120198a828b01611e79565b91505092959891949750929550565b60006020828403121561203a57600080fd5b600061204884828501611e64565b91505092915050565b6000806040838503121561206457600080fd5b600061207285828601611e64565b925050602083013567ffffffffffffffff81111561208f57600080fd5b61209b85828601611e79565b9150509250929050565b6000602082840312156120b757600080fd5b600082013567ffffffffffffffff8111156120d157600080fd5b6120dd84828501611e79565b91505092915050565b6000602082840312156120f857600080fd5b600061210684828501611ecd565b91505092915050565b60008060006060848603121561212457600080fd5b600061213286828701611ecd565b935050602061214386828701611ecd565b925050604061215486828701611ecd565b9150509250925092565b600080600080600060a0868803121561217657600080fd5b600061218488828901611ecd565b955050602061219588828901611ecd565b94505060406121a688828901611ecd565b935050606086013567ffffffffffffffff8111156121c357600080fd5b6121cf88828901611ea3565b92505060806121e088828901611ecd565b9150509295509295909350565b6000806000806080858703121561220357600080fd5b600061221187828801611ecd565b945050602061222287828801611ecd565b935050604061223387828801611ecd565b925050606061224487828801611ecd565b91505092959194509250565b600080600080600060a0868803121561226857600080fd5b600061227688828901611ecd565b955050602061228788828901611ecd565b945050604061229888828901611ecd565b93505060606122a988828901611ecd565b925050608086013567ffffffffffffffff8111156122c657600080fd5b6122d288828901611ea3565b9150509295509295909350565b6122e881612ae3565b82525050565b6122f781612af5565b82525050565b61230681612b01565b82525050565b61231d61231882612b01565b612bb5565b82525050565b600061232e826129f6565b6123388185612a0c565b9350612348818560208601612b51565b61235181612c4c565b840191505092915050565b6000612369601283612a0c565b915061237482612c5d565b602082019050919050565b600061238c601c83612a1d565b915061239782612c86565b601c82019050919050565b60006123af600f83612a0c565b91506123ba82612caf565b602082019050919050565b60006123d2602683612a0c565b91506123dd82612cd8565b604082019050919050565b60006123f5601a83612a0c565b915061240082612d27565b602082019050919050565b6000612418601883612a0c565b915061242382612d50565b602082019050919050565b600061243b600e83612a0c565b915061244682612d79565b602082019050919050565b600061245e601483612a0c565b915061246982612da2565b602082019050919050565b6000612481602083612a0c565b915061248c82612dcb565b602082019050919050565b60006124a4601c83612a0c565b91506124af82612df4565b602082019050919050565b60006124c7601883612a0c565b91506124d282612e1d565b602082019050919050565b60006124ea601f83612a0c565b91506124f582612e46565b602082019050919050565b600061250d601983612a0c565b915061251882612e6f565b602082019050919050565b6000612530600083612a01565b915061253b82612e98565b600082019050919050565b6000612553601083612a0c565b915061255e82612e9b565b602082019050919050565b6000612576601b83612a0c565b915061258182612ec4565b602082019050919050565b6000612599601883612a0c565b91506125a482612eed565b602082019050919050565b6125b881612b2b565b82525050565b6125c781612b35565b82525050565b60006125d88261237f565b91506125e4828461230c565b60208201915081905092915050565b60006125fe82612523565b9150819050919050565b600060208201905061261d60008301846122df565b92915050565b600060208201905061263860008301846122ee565b92915050565b600060208201905061265360008301846122fd565b92915050565b600060608201905061266e60008301866122fd565b61267b60208301856122fd565b61268860408301846125be565b949350505050565b60006080820190506126a560008301876122fd565b6126b260208301866125be565b6126bf60408301856122fd565b6126cc60608301846122fd565b95945050505050565b600060208201905081810360008301526126ee8161235c565b9050919050565b6000602082019050818103600083015261270e816123a2565b9050919050565b6000602082019050818103600083015261272e816123c5565b9050919050565b6000602082019050818103600083015261274e816123e8565b9050919050565b6000602082019050818103600083015261276e8161240b565b9050919050565b6000602082019050818103600083015261278e8161242e565b9050919050565b600060208201905081810360008301526127ae81612451565b9050919050565b600060208201905081810360008301526127ce81612474565b9050919050565b600060208201905081810360008301526127ee81612497565b9050919050565b6000602082019050818103600083015261280e816124ba565b9050919050565b6000602082019050818103600083015261282e816124dd565b9050919050565b6000602082019050818103600083015261284e81612500565b9050919050565b6000602082019050818103600083015261286e81612546565b9050919050565b6000602082019050818103600083015261288e81612569565b9050919050565b600060208201905081810360008301526128ae8161258c565b9050919050565b60006020820190506128ca60008301846125af565b92915050565b60006080820190506128e560008301876125af565b6128f260208301866125af565b6128ff60408301856122ee565b61290c60608301846125af565b95945050505050565b600060a08201905061292a60008301886125af565b61293760208301876125af565b61294460408301866125af565b61295160608301856125af565b81810360808301526129638184612323565b90509695505050505050565b600061297961298a565b90506129858282612b84565b919050565b6000604051905090565b600067ffffffffffffffff8211156129af576129ae612c1d565b5b6129b882612c4c565b9050602081019050919050565b600067ffffffffffffffff8211156129e0576129df612c1d565b5b6129e982612c4c565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612a3382612b2b565b9150612a3e83612b2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a7357612a72612bbf565b5b828201905092915050565b6000612a8982612b2b565b9150612a9483612b2b565b925082612aa457612aa3612bee565b5b828204905092915050565b6000612aba82612b2b565b9150612ac583612b2b565b925082821015612ad857612ad7612bbf565b5b828203905092915050565b6000612aee82612b0b565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015612b6f578082015181840152602081019050612b54565b83811115612b7e576000848401525b50505050565b612b8d82612c4c565b810181811067ffffffffffffffff82111715612bac57612bab612c1d565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446174617061636b657420746f6f206f6c640000000000000000000000000000600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f57726f6e67207369676e61747572650000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5369676e6572206973206e6f74206461746170726f7669646572000000000000600082015250565b7f45786869626974696f6e207374696c6c2072756e6e696e670000000000000000600082015250565b7f4e6f2063757261746f7220736574000000000000000000000000000000000000600082015250565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4d6f6973747572652072616e6765206f7574206f6620626f756e647300000000600082015250565b7f4d6178206e756d62657220746f6b656e73206d696e7465640000000000000000600082015250565b7f54656d70657261747572652072616e6765206f7574206f6620626f756e647300600082015250565b7f446174617061636b657420616c7265616479206d696e74656400000000000000600082015250565b50565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b7f4d6178206e756d626572206f6620746f6b656e73206d696e7465640000000000600082015250565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b612f1f81612ae3565b8114612f2a57600080fd5b50565b612f3681612b01565b8114612f4157600080fd5b50565b612f4d81612b2b565b8114612f5857600080fd5b5056fea2646970667358221220b8e8df09082e6655fc1175bddf85c10566bd9c962c3969aee4b35f06e3de72b264736f6c634300080400330000000000000000000000009777f6c5044d4ebf0a7fea82be090c6a4a594e3800000000000000000000000070e095fb47e10e696bf40d759b3656d273c76ddc000000000000000000000000db7805468c975d7157c02b44d43e3ad2d549f664

Deployed Bytecode

0x6080604052600436106101815760003560e01c806385f86cc4116100d1578063a7bb58031161008a578063ea69837111610064578063ea6983711461059b578063f2ae775e146105b7578063f2fde38b146105e2578063fa5408011461060b57610181565b8063a7bb580314610508578063affed0e014610547578063b0725cb11461057257610181565b806385f86cc4146103e4578063869290c01461040f57806387963f8e1461044c5780638da5cb5b1461047757806390ffc224146104a257806397aba7f9146104cb57610181565b806351c083de1161013e578063715018a611610118578063715018a61461035057806379d75512146103675780637d62ee931461039257806384f56a96146103bb57610181565b806351c083de146102995780635936b4b6146102d65780637058f0bc1461031357610181565b80630487a1f9146101865780630c5df8d7146101c6578063122e5c10146101ef5780631a4231a41461022c578063298f0610146102575780633ccfd60b14610282575b600080fd5b34801561019257600080fd5b506101ad60048036038101906101a89190611ee2565b610648565b6040516101bd94939291906128d0565b60405180910390f35b3480156101d257600080fd5b506101ed60048036038101906101e891906120e6565b610685565b005b3480156101fb57600080fd5b506102166004803603810190610211919061210f565b61070b565b6040516102239190612623565b60405180910390f35b34801561023857600080fd5b50610241610731565b60405161024e91906128b5565b60405180910390f35b34801561026357600080fd5b5061026c61073d565b6040516102799190612608565b60405180910390f35b34801561028e57600080fd5b50610297610763565b005b3480156102a557600080fd5b506102c060048036038101906102bb91906120e6565b610938565b6040516102cd91906128b5565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f891906120e6565b610953565b60405161030a91906128b5565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190612250565b61096e565b604051610347919061263e565b60405180910390f35b34801561035c57600080fd5b506103656109aa565b005b34801561037357600080fd5b5061037c610a32565b60405161038991906128b5565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b4919061215e565b610a38565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190611ee2565b610de8565b005b3480156103f057600080fd5b506103f9610ec2565b60405161040691906128b5565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190611f5a565b610ec8565b6040516104439190612623565b60405180910390f35b34801561045857600080fd5b50610461610f2e565b60405161046e91906128b5565b60405180910390f35b34801561048357600080fd5b5061048c610f34565b6040516104999190612608565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190611f0b565b610f5d565b005b3480156104d757600080fd5b506104f260048036038101906104ed9190612051565b61116e565b6040516104ff9190612608565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a91906120a5565b6111dd565b60405161053e93929190612659565b60405180910390f35b34801561055357600080fd5b5061055c611245565b60405161056991906128b5565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906121ed565b61124b565b005b6105b560048036038101906105b09190611f5a565b6113d1565b005b3480156105c357600080fd5b506105cc611bb9565b6040516105d99190612608565b60405180910390f35b3480156105ee57600080fd5b5061060960048036038101906106049190611ee2565b611bdf565b005b34801561061757600080fd5b50610632600480360381019061062d9190612028565b611cd7565b60405161063f919061263e565b60405180910390f35b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060030154905084565b61068d611d07565b73ffffffffffffffffffffffffffffffffffffffff166106ab610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f8906127b5565b60405180910390fd5b80600c8190555050565b60008083851015905060008386111590508180156107265750805b925050509392505050565b670214e8348c4f000081565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff161515146107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f090612755565b60405180910390fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015490506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555060003373ffffffffffffffffffffffffffffffffffffffff16826040516108ae906125f3565b60006040518083038185875af1925050503d80600081146108eb576040519150601f19603f3d011682016040523d82523d6000602084013e6108f0565b606091505b5050905080610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612855565b60405180910390fd5b5050565b6008816002811061094857600080fd5b016000915090505481565b600a816002811061096357600080fd5b016000915090505481565b60008585858585604051602001610989959493929190612915565b60405160208183030381529060405280519060200120905095945050505050565b6109b2611d07565b73ffffffffffffffffffffffffffffffffffffffff166109d0610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d906127b5565b60405180910390fd5b610a306000611d0f565b565b600d5481565b610a40611d07565b73ffffffffffffffffffffffffffffffffffffffff16610a5e610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906127b5565b60405180910390fd5b6007548310610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612875565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190612775565b60405180910390fd5b60011515610c1186600a600060028110610bcd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600a600160028110610c0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a906127d5565b60405180910390fd5b60011515610cda856008600060028110610c96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01546008600160028110610cd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1390612815565b60405180910390fd5b6000600d5411610d2b57600080fd5b6001600d6000828254610d3e9190612aaf565b92505081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bf7177686868487876040518663ffffffff1660e01b8152600401610da8959493929190612915565b600060405180830381600087803b158015610dc257600080fd5b505af1158015610dd6573d6000803e3d6000fd5b50505050826003819055505050505050565b610df0611d07565b73ffffffffffffffffffffffffffffffffffffffff16610e0e610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b906127b5565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff02191690831515021790555050565b60075481565b600080610ed8888888888861096e565b90506000610ee582611cd7565b90508973ffffffffffffffffffffffffffffffffffffffff16610f08828661116e565b73ffffffffffffffffffffffffffffffffffffffff161492505050979650505050505050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f65611d07565b73ffffffffffffffffffffffffffffffffffffffff16610f83610f34565b73ffffffffffffffffffffffffffffffffffffffff1614610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd0906127b5565b60405180910390fd5b82600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055508060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508160066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505050565b60008060008061117d856111dd565b925092509250600186828585604051600081526020016040526040516111a69493929190612690565b6020604051602081039080840390855afa1580156111c8573d6000803e3d6000fd5b50505060206040510351935050505092915050565b60008060006041845114611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612895565b60405180910390fd5b6020840151925060408401519150606084015160001a90509193909250565b60035481565b611253611d07565b73ffffffffffffffffffffffffffffffffffffffff16611271610f34565b73ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be906127b5565b60405180910390fd5b836008600060028110611303577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0181905550826008600160028110611344577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555081600a600060028110611385577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555080600a6001600281106113c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b018190555050505050565b600115156113e488888888888888610ec8565b151514611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d906126f5565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad90612735565b60405180910390fd5b60035484116114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612835565b60405180910390fd5b6000600c544261150a9190612aaf565b905080841161154e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611545906126d5565b60405180910390fd5b670214e8348c4f0000341015611599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159090612795565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561162b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162290612775565b60405180910390fd5b600754851061166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906127f5565b60405180910390fd5b600115156116f688600a6000600281106116b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600a6001600281106116ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f906127d5565b60405180910390fd5b600115156117bf87600860006002811061177b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015460086001600281106117b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461070b565b151514611801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f890612815565b60405180910390fd5b84600381905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bf71776888860066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015489886040518663ffffffff1660e01b81526004016118cf959493929190612915565b600060405180830381600087803b1580156118e957600080fd5b505af11580156118fd573d6000803e3d6000fd5b5050505060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154670214e8348c4f00006119799190612a7e565b60066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546119e89190612a28565b60066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600060066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154670214e8348c4f0000611aca9190612a7e565b670214e8348c4f0000611add9190612aaf565b90506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611b27906125f3565b60006040518083038185875af1925050503d8060008114611b64576040519150601f19603f3d011682016040523d82523d6000602084013e611b69565b606091505b5050905080611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490612855565b60405180910390fd5b50505050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611be7611d07565b73ffffffffffffffffffffffffffffffffffffffff16611c05610f34565b73ffffffffffffffffffffffffffffffffffffffff1614611c5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c52906127b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc290612715565b60405180910390fd5b611cd481611d0f565b50565b600081604051602001611cea91906125cd565b604051602081830303815290604052805190602001209050919050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611de6611de184612994565b61296f565b905082815260208101848484011115611dfe57600080fd5b611e09848285612b42565b509392505050565b6000611e24611e1f846129c5565b61296f565b905082815260208101848484011115611e3c57600080fd5b611e47848285612b42565b509392505050565b600081359050611e5e81612f16565b92915050565b600081359050611e7381612f2d565b92915050565b600082601f830112611e8a57600080fd5b8135611e9a848260208601611dd3565b91505092915050565b600082601f830112611eb457600080fd5b8135611ec4848260208601611e11565b91505092915050565b600081359050611edc81612f44565b92915050565b600060208284031215611ef457600080fd5b6000611f0284828501611e4f565b91505092915050565b600080600060608486031215611f2057600080fd5b6000611f2e86828701611e4f565b9350506020611f3f86828701611ecd565b9250506040611f5086828701611ecd565b9150509250925092565b600080600080600080600060e0888a031215611f7557600080fd5b6000611f838a828b01611e4f565b9750506020611f948a828b01611ecd565b9650506040611fa58a828b01611ecd565b9550506060611fb68a828b01611ecd565b9450506080611fc78a828b01611ecd565b93505060a088013567ffffffffffffffff811115611fe457600080fd5b611ff08a828b01611ea3565b92505060c088013567ffffffffffffffff81111561200d57600080fd5b6120198a828b01611e79565b91505092959891949750929550565b60006020828403121561203a57600080fd5b600061204884828501611e64565b91505092915050565b6000806040838503121561206457600080fd5b600061207285828601611e64565b925050602083013567ffffffffffffffff81111561208f57600080fd5b61209b85828601611e79565b9150509250929050565b6000602082840312156120b757600080fd5b600082013567ffffffffffffffff8111156120d157600080fd5b6120dd84828501611e79565b91505092915050565b6000602082840312156120f857600080fd5b600061210684828501611ecd565b91505092915050565b60008060006060848603121561212457600080fd5b600061213286828701611ecd565b935050602061214386828701611ecd565b925050604061215486828701611ecd565b9150509250925092565b600080600080600060a0868803121561217657600080fd5b600061218488828901611ecd565b955050602061219588828901611ecd565b94505060406121a688828901611ecd565b935050606086013567ffffffffffffffff8111156121c357600080fd5b6121cf88828901611ea3565b92505060806121e088828901611ecd565b9150509295509295909350565b6000806000806080858703121561220357600080fd5b600061221187828801611ecd565b945050602061222287828801611ecd565b935050604061223387828801611ecd565b925050606061224487828801611ecd565b91505092959194509250565b600080600080600060a0868803121561226857600080fd5b600061227688828901611ecd565b955050602061228788828901611ecd565b945050604061229888828901611ecd565b93505060606122a988828901611ecd565b925050608086013567ffffffffffffffff8111156122c657600080fd5b6122d288828901611ea3565b9150509295509295909350565b6122e881612ae3565b82525050565b6122f781612af5565b82525050565b61230681612b01565b82525050565b61231d61231882612b01565b612bb5565b82525050565b600061232e826129f6565b6123388185612a0c565b9350612348818560208601612b51565b61235181612c4c565b840191505092915050565b6000612369601283612a0c565b915061237482612c5d565b602082019050919050565b600061238c601c83612a1d565b915061239782612c86565b601c82019050919050565b60006123af600f83612a0c565b91506123ba82612caf565b602082019050919050565b60006123d2602683612a0c565b91506123dd82612cd8565b604082019050919050565b60006123f5601a83612a0c565b915061240082612d27565b602082019050919050565b6000612418601883612a0c565b915061242382612d50565b602082019050919050565b600061243b600e83612a0c565b915061244682612d79565b602082019050919050565b600061245e601483612a0c565b915061246982612da2565b602082019050919050565b6000612481602083612a0c565b915061248c82612dcb565b602082019050919050565b60006124a4601c83612a0c565b91506124af82612df4565b602082019050919050565b60006124c7601883612a0c565b91506124d282612e1d565b602082019050919050565b60006124ea601f83612a0c565b91506124f582612e46565b602082019050919050565b600061250d601983612a0c565b915061251882612e6f565b602082019050919050565b6000612530600083612a01565b915061253b82612e98565b600082019050919050565b6000612553601083612a0c565b915061255e82612e9b565b602082019050919050565b6000612576601b83612a0c565b915061258182612ec4565b602082019050919050565b6000612599601883612a0c565b91506125a482612eed565b602082019050919050565b6125b881612b2b565b82525050565b6125c781612b35565b82525050565b60006125d88261237f565b91506125e4828461230c565b60208201915081905092915050565b60006125fe82612523565b9150819050919050565b600060208201905061261d60008301846122df565b92915050565b600060208201905061263860008301846122ee565b92915050565b600060208201905061265360008301846122fd565b92915050565b600060608201905061266e60008301866122fd565b61267b60208301856122fd565b61268860408301846125be565b949350505050565b60006080820190506126a560008301876122fd565b6126b260208301866125be565b6126bf60408301856122fd565b6126cc60608301846122fd565b95945050505050565b600060208201905081810360008301526126ee8161235c565b9050919050565b6000602082019050818103600083015261270e816123a2565b9050919050565b6000602082019050818103600083015261272e816123c5565b9050919050565b6000602082019050818103600083015261274e816123e8565b9050919050565b6000602082019050818103600083015261276e8161240b565b9050919050565b6000602082019050818103600083015261278e8161242e565b9050919050565b600060208201905081810360008301526127ae81612451565b9050919050565b600060208201905081810360008301526127ce81612474565b9050919050565b600060208201905081810360008301526127ee81612497565b9050919050565b6000602082019050818103600083015261280e816124ba565b9050919050565b6000602082019050818103600083015261282e816124dd565b9050919050565b6000602082019050818103600083015261284e81612500565b9050919050565b6000602082019050818103600083015261286e81612546565b9050919050565b6000602082019050818103600083015261288e81612569565b9050919050565b600060208201905081810360008301526128ae8161258c565b9050919050565b60006020820190506128ca60008301846125af565b92915050565b60006080820190506128e560008301876125af565b6128f260208301866125af565b6128ff60408301856122ee565b61290c60608301846125af565b95945050505050565b600060a08201905061292a60008301886125af565b61293760208301876125af565b61294460408301866125af565b61295160608301856125af565b81810360808301526129638184612323565b90509695505050505050565b600061297961298a565b90506129858282612b84565b919050565b6000604051905090565b600067ffffffffffffffff8211156129af576129ae612c1d565b5b6129b882612c4c565b9050602081019050919050565b600067ffffffffffffffff8211156129e0576129df612c1d565b5b6129e982612c4c565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612a3382612b2b565b9150612a3e83612b2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a7357612a72612bbf565b5b828201905092915050565b6000612a8982612b2b565b9150612a9483612b2b565b925082612aa457612aa3612bee565b5b828204905092915050565b6000612aba82612b2b565b9150612ac583612b2b565b925082821015612ad857612ad7612bbf565b5b828203905092915050565b6000612aee82612b0b565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015612b6f578082015181840152602081019050612b54565b83811115612b7e576000848401525b50505050565b612b8d82612c4c565b810181811067ffffffffffffffff82111715612bac57612bab612c1d565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446174617061636b657420746f6f206f6c640000000000000000000000000000600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f57726f6e67207369676e61747572650000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5369676e6572206973206e6f74206461746170726f7669646572000000000000600082015250565b7f45786869626974696f6e207374696c6c2072756e6e696e670000000000000000600082015250565b7f4e6f2063757261746f7220736574000000000000000000000000000000000000600082015250565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4d6f6973747572652072616e6765206f7574206f6620626f756e647300000000600082015250565b7f4d6178206e756d62657220746f6b656e73206d696e7465640000000000000000600082015250565b7f54656d70657261747572652072616e6765206f7574206f6620626f756e647300600082015250565b7f446174617061636b657420616c7265616479206d696e74656400000000000000600082015250565b50565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b7f4d6178206e756d626572206f6620746f6b656e73206d696e7465640000000000600082015250565b7f696e76616c6964207369676e6174757265206c656e6774680000000000000000600082015250565b612f1f81612ae3565b8114612f2a57600080fd5b50565b612f3681612b01565b8114612f4157600080fd5b50565b612f4d81612b2b565b8114612f5857600080fd5b5056fea2646970667358221220b8e8df09082e6655fc1175bddf85c10566bd9c962c3969aee4b35f06e3de72b264736f6c63430008040033

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

0000000000000000000000009777f6c5044d4ebf0a7fea82be090c6a4a594e3800000000000000000000000070e095fb47e10e696bf40d759b3656d273c76ddc000000000000000000000000db7805468c975d7157c02b44d43e3ad2d549f664

-----Decoded View---------------
Arg [0] : _dataprovider (address): 0x9777f6c5044d4eBF0A7FEA82be090C6a4A594e38
Arg [1] : _terra0multisig (address): 0x70e095FB47e10e696bf40d759B3656d273C76DDC
Arg [2] : _erc721 (address): 0xDB7805468C975d7157C02B44d43E3AD2D549f664

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009777f6c5044d4ebf0a7fea82be090c6a4a594e38
Arg [1] : 00000000000000000000000070e095fb47e10e696bf40d759b3656d273c76ddc
Arg [2] : 000000000000000000000000db7805468c975d7157c02b44d43e3ad2d549f664


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  ]
[ 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.