Contract 0xAaD5dC6860deC75BA775837f83d533782aF72E0c 1

Contract Overview

Balance:
0.1 Ether

Token:
Txn Hash
Method
Block
From
To
Value
0xd3a5e8c2d731de2a8ab3b985bd4ee5e0ca7f6615ab98b9401ca26531122f391aPurchase Dataset266186892021-08-06 15:12:28418 days 22 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.0039253550
0x3312a3c91b9a5ccc526ba33df82f0582aa3600665350df28d085f42c3ad8d610List For Sale266186692021-08-06 15:11:08418 days 22 hrs ago0x76e1e8705a176a2953ccf4f603feee1af6dce761 IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.005923150
0xe9fa2831d1d15b41ab0662163973b5c4669adb5a9e7be42c8cd4d4ad33ab0844Register Dataset...266186592021-08-06 15:10:28418 days 22 hrs ago0x76e1e8705a176a2953ccf4f603feee1af6dce761 IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.020215750
0x8546909c8c214b84858fc5c81e9c82d6371028a8c9e08b5f91a4ae2ee9c0aa29Insert Account P...266186402021-08-06 15:09:12418 days 22 hrs ago0x76e1e8705a176a2953ccf4f603feee1af6dce761 IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.017524850
0xaef97b47136f2b4230590395b5010d8ea5ec67a79f0a7e6e48b2cf7fa7d50349Insert Account I...265324662021-08-02 15:05:56422 days 22 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.000031171
0x69875fdaacabafd786a63d35aafee341b336029c15b1623dba9e7fe5599c0799Insert Metadata265324472021-08-02 15:04:40422 days 22 hrs ago0x28e9ca69732a63d5987844b14d410a3febd5c840 IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.000020731
0xca47dee4eac0e0d1ea53e0c13055d3b6d3929509918a80f142a63903d6c298a9Insert Metadata265324212021-08-02 15:02:48422 days 22 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.000025681
0x38f4b988e2e4d0ce0e547a43299b0bed21e675dfde451ba4ee43297619d37141Purchase Dataset265323742021-08-02 14:59:40422 days 22 hrs ago0x28e9ca69732a63d5987844b14d410a3febd5c840 IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.0030703550
0xdce0f1f72432594f4f314481d2a571087744fa792d3de1ff19ca94f702fbb0faTransfer265323652021-08-02 14:59:04422 days 22 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.000051551
0x16d8d70bfd4f5e47504f429fcbab8f18c25487e0b21af5645801a7164253df3aList For Sale265323052021-08-02 14:55:04422 days 23 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.005923150
0x752adcff858040cb4558cd296721484057a513245ac9ca3335ffa756a48d232fRegister Dataset...265322922021-08-02 14:54:12422 days 23 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.024705450
0x4a371f2fe9f56e6bb89d0aa1623670777e05143bd6303a21be187a448438e032Insert Account P...265322592021-08-02 14:52:00422 days 23 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0 Ether0.01753850
0x2cb8bd70a1515ad3d90b9d5ee4956e3c1dc43a70e9aef237368d6be73301ecfdTransfer265322142021-08-02 14:49:00422 days 23 hrs ago0x30504796a08012fe9f410450dc04e8236da75d0f IN  0xaad5dc6860dec75ba775837f83d533782af72e0c0.1 Ether0.00004871
0x7dba246e2bef629022aa33dd7b0669207d06b31e7943879fa7ddde45469d72430x60806040265153022021-08-01 19:59:36423 days 17 hrs ago0x814d9b6e2aea969ba5ce9d69a81ef570ee5be3e4 IN  Create: Datagold0 Ether0.004074251
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Datagold

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-01
*/

/** 
 * dgc 006: 8/1/2021. No more DAT, we will only have DGC for the data market. Total supply: 1B.
 * dgc 005: 6/29/2021. A user will pay for a dataset using DAT. Rewards will be given to seller in DGC. 
 * dgc 004: 6/21/2021. We created a two-way bridge between DAT and DGC, 1 DGC = 100 DAT. 
 * dgc 003: 6/7/2021. We introduced the notion of listing. A dataset needs to be registered to get a unique datasetID and then gets 
 *    listed for sale. A unique listingID will be assigned for each listing. A listing can be listed (1), sold (2), or unlisted (3).
 * dgc 002: 6/2/2021. Symbol: DGC (Data Gold Coins). Write an insertManyMetaData function for efficiency. 10M as the total supply
 * dgc 001: 5/12/2021.    
 *    1) Our metadata model supports the metadata of a dataset and the metadata/profile for an account. 
 *    2) We will also support the price metadata in terms of PPS
 *    Recommendation 1: enum DatasetProfile {contributor, coverage, creator, date, description, format,  identifier, language, publisher, relation, rights, source, subject, title, type}
 *    Recommendation 2: enum AccountProfile {firstname, lastname, organization, street1, street2, city, state, province, zip, country, email, phone, fax, website}
 *
 */
pragma solidity ^0.5.17;

/*
    ERC20 Standard Token interface
*/
contract ERC20Interface{ // six  functions
    function balanceOf(address tokenOwner) public view returns (uint balance);
    function allowance(address tokenOwner, address spender) public view returns (uint remaining);
    function transfer(address to, uint rawAmt) public returns (bool success);
    function approve(address spender, uint rawAmt) public returns (bool success);
    function transferFrom(address from, address to, uint rawAmt) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint rawAmt);
    event Approval(address indexed tokenOwner, address indexed spender, uint rawAmt);
}

// ----------------------------------------------------------------------------
// Safe Math Contract
// ----------------------------------------------------------------------------
contract SafeMath {
    function safeAdd(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function safeSub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a); 
        c = a - b; 
    } 
        
    function safeMul(uint a, uint b) internal pure returns (uint c) { 
        c = a * b; 
        require(a == 0 || c / a == b); 
    } 
        
    function safeDiv(uint a, uint b) internal pure returns (uint c) { 
        require(b > 0);
        c = a / b;
    }
}


contract Datagold is ERC20Interface, SafeMath{
    string public constant name = "Datagold";
    string public constant symbol = "DGC";
    uint8 public constant decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it
    uint public constant totalSupply = 1*10**9*10**18; // 10M is the total supply
    uint public lastDatasetId = 1000000000; // the genesis datasetId

   // datagold coins
    mapping(address => uint) balances;       // two column table: owneraddress, balance
    mapping(address => mapping(address => uint)) allowed; // three column table: owneraddress, spenderaddress, allowance

    // listing information
    uint public lastListingID = 1000000000; // the genesis listingID
    mapping(uint => uint) listingPrice;        // price in datagold units
    mapping(uint => uint) listingDatasetID;    // which dataset is for sale for this listing
    mapping(uint => address) listingOwners; // need to record of the owner of this listing
    mapping(uint => uint) listingStatus;   // 1: listed; 2: sold; 3: unlisted, onced sold or unlisted, the listing is closed. 
    
    
    // the profile of a dataset
    mapping(uint => mapping(string => string)) metadata; // dataid, key, value
    mapping(uint => address) datasetOwners; // the ownership of a dataset

    
    // the profile of an account
    mapping(address => mapping(string => string)) accountInfo; // address, key, value

    event AssignDatasetId(uint indexed datasetId, address indexed account);
    event Sold(uint indexed listingID, uint indexed datasetID, address oldOwner, address newOwner, uint price);
    event TransferDatasetOwner(uint indexed datasetId, address indexed oldOwner, address indexed newOwner);
    
    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    constructor() public {
        balances[address(this)] = totalSupply;
        emit Transfer(address(0), address(this), totalSupply);
    }


    function balanceOf(address tokenOwner) public view returns (uint balance) {
        return balances[tokenOwner];
    }

    function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    // called by the owner
    function approve(address spender, uint rawAmt) public returns (bool success) {
        allowed[msg.sender][spender] = rawAmt;
        emit Approval(msg.sender, spender, rawAmt);
        return true;
    }

    function transfer(address to, uint rawAmt) public returns (bool success) {
        balances[msg.sender] = safeSub(balances[msg.sender], rawAmt);
        balances[to] = safeAdd(balances[to], rawAmt);
        emit Transfer(msg.sender, to, rawAmt);
        return true;
    }

    function transferFrom(address from, address to, uint rawAmt) public returns (bool success) {
        balances[from] = safeSub(balances[from], rawAmt);
        allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], rawAmt);
        balances[to] = safeAdd(balances[to], rawAmt);
        emit Transfer(from, to, rawAmt);
        return true;
    }

  
 
    modifier onlyDatasetOwner(uint datasetID){
       require(msg.sender == datasetOwners[datasetID], "only the dataset owner can call this function. ");
       _;
    }
    
 
    function insertMetadata(uint datasetId, string memory key, string memory value)     
    onlyDatasetOwner(datasetId)
    public returns (bool success){
        metadata[datasetId][key] = value;
        
        return true;
    }
    
    // called by any one who likes to sell a dataset 
    function registerDatasetProfile(string memory contributor, 
                              string memory coverage, 
                              string memory creator, 
                              string memory date, 
                              string memory description, 
                              string memory format,  
                              string memory identifier, 
                              string memory language, 
                              string memory publisher, 
                              string memory relation, 
                              string memory rights, 
                              string memory source, 
                              string memory subject, 
                              string memory title, 
                              string memory dtype)
    public returns (uint)
    {
        lastDatasetId = lastDatasetId + 1;
        datasetOwners[lastDatasetId] = msg.sender;
        emit AssignDatasetId(lastDatasetId, msg.sender);
        metadata[lastDatasetId]['contributor'] = contributor;
        metadata[lastDatasetId]['coverage'] = coverage;
         metadata[lastDatasetId]['creator'] = creator;
         metadata[lastDatasetId]['date'] = date;
         metadata[lastDatasetId]['description'] = description;
         metadata[lastDatasetId]['format'] = format;
         metadata[lastDatasetId]['identifier'] = identifier;
         metadata[lastDatasetId]['language'] = language;
         metadata[lastDatasetId]['publisher'] = publisher;
         metadata[lastDatasetId]['relation'] = relation;
         metadata[lastDatasetId]['rights'] = rights;
         metadata[lastDatasetId]['source'] = source;
         metadata[lastDatasetId]['subject'] = subject;
         metadata[lastDatasetId]['title'] = title;
         metadata[lastDatasetId]['type'] = dtype;
         
         return lastDatasetId;
    }
  
    
    function listForSale(uint datasetID, uint price)
    onlyDatasetOwner(datasetID)
    public returns (uint){
        lastListingID = lastListingID + 1;
        listingDatasetID[lastListingID] = datasetID;
        listingOwners[lastListingID] =  msg.sender;
        listingPrice[lastListingID] = price;
        listingStatus[lastListingID] = 1;
        
        return lastListingID;
    }  
    
    function getListingDatasetID(uint listingID)
    public view
    returns (uint)
    {
      return listingDatasetID[listingID];
      
    }
    
    function getListingOwner(uint listingID)
    public view
    returns (address)
    {
      return listingOwners[listingID];
      
    }
    
    function getListingPrice(uint listingID)
    public view
    returns (uint)
    {
      return listingPrice[listingID];
      
    }    

    function getListingStatus(uint listingID)
    public view
    returns (uint)
    {
      return listingStatus[listingID];
      
    }    

 
    function unlistFromSale(uint listingID)
    public returns(bool)
    {
          require(listingStatus[listingID] == 1);
          
          require(listingOwners[listingID] == msg.sender, "Only the owner of the listing can unlist it.");
          listingStatus[listingID] = 3;
          
          return true;
    }
    

    /* We need to make sure that the current owner of the dataset is the owner that posted the listing 
       a listing is invalid once the owner of a dataset has changed */
    function purchaseDataset(uint listingID)
    external 
    returns (bool)
    {
        require(listingStatus[listingID] == 1);
        
        uint datasetID = listingDatasetID[listingID];
        require(listingOwners[listingID] == datasetOwners[datasetID], "The owner of the dataset has changed, the listing is not valid anymore.");
        
        address buyer = msg.sender;
        
        uint price = listingPrice[listingID];
        uint amtToContract = safeDiv(safeMul(price, 3), 100);
        uint amtToSeller = safeSub(price, amtToContract);

        address seller = datasetOwners[datasetID];
        balances[buyer] = safeSub(balances[buyer], price);
        balances[address(this)] = safeAdd(balances[address(this)], amtToContract);
        emit Transfer(buyer, address(this), amtToContract);
        balances[seller] = safeAdd(balances[seller], amtToSeller);
        emit Transfer(buyer, seller, amtToSeller);
    
            
        datasetOwners[datasetID] = buyer;
        listingStatus[listingID] = 2;
        emit Sold(listingID, datasetID, seller, buyer, listingPrice[listingID]);
 
        return true;      
    }
    
    
    
    function insertAccountInfo(string memory key, string memory value)
    public returns (bool success){
        accountInfo[msg.sender][key] = value;
        return true;
    }
    
    function insertAccountProfile(
                  string memory firstname,
                  string memory lastname, 
                  string memory organization, 
                  string memory street1, 
                  string memory street2, 
                  string memory city, 
                  string memory state, 
                  string memory province, 
                  string memory zip, 
                  string memory country, 
                  string memory email, 
                  string memory phone, 
                  string memory fax, 
                  string memory website
                  )
    public returns(bool)
    {
        accountInfo[msg.sender]['firstname'] = firstname;
        accountInfo[msg.sender]['lastname'] = lastname;
        accountInfo[msg.sender]['organization'] = organization;
        accountInfo[msg.sender]['street1'] = street1;
        accountInfo[msg.sender]['street2'] = street2;
        accountInfo[msg.sender]['city'] = city;
        accountInfo[msg.sender]['state'] = state;
        accountInfo[msg.sender]['province'] = province;
        accountInfo[msg.sender]['zip'] = zip;
        accountInfo[msg.sender]['country'] = country;
        accountInfo[msg.sender]['email'] = email;
        accountInfo[msg.sender]['phone'] = phone;
        accountInfo[msg.sender]['fax'] = fax;
        accountInfo[msg.sender]['website'] = website;
      
        return true;  
    } 


    
    function queryMetadata(uint datasetId, string memory key) public view returns (string memory value)
    {
        return metadata[datasetId][key];
    }

    
    function queryPrice(uint listingID) public view returns (uint)
    {
        return listingPrice[listingID];
    }  
    

    function queryAccountInfo(address account, string memory key) public view returns (string memory)
    {
        return accountInfo[account][key];
    }
    
    function getDatasetOwner(uint datasetId) public view returns (address){
        return datasetOwners[datasetId];
    }


    /* only the dataset owner or the delegate can transfer the ownership of a dataset */
    function transferDatasetOwner(uint datasetId, address newOwner) public
    onlyDatasetOwner(datasetId)
    returns (bool success)
    {
        datasetOwners[datasetId] = newOwner;
        emit TransferDatasetOwner(datasetId, datasetOwners[datasetId], newOwner);
 
        return true;
    }
    
    /* Exeriment only: a user can buy DGC by sending ETH to this contract address */
   function() external payable {
    uint amt = msg.value*10000;
    balances[address(this)] = safeSub(balances[address(this)], amt);
    balances[msg.sender] = safeAdd(balances[msg.sender], amt);
    }
    
    /*
    function () external payable{
        revert();
    }
    */
}

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"rawAmt","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"datasetId","type":"uint256"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AssignDatasetId","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingID","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"datasetID","type":"uint256"},{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"Sold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"rawAmt","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"datasetId","type":"uint256"},{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"TransferDatasetOwner","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmt","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"datasetId","type":"uint256"}],"name":"getDatasetOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"getListingDatasetID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"getListingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"getListingPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"getListingStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"value","type":"string"}],"name":"insertAccountInfo","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"firstname","type":"string"},{"internalType":"string","name":"lastname","type":"string"},{"internalType":"string","name":"organization","type":"string"},{"internalType":"string","name":"street1","type":"string"},{"internalType":"string","name":"street2","type":"string"},{"internalType":"string","name":"city","type":"string"},{"internalType":"string","name":"state","type":"string"},{"internalType":"string","name":"province","type":"string"},{"internalType":"string","name":"zip","type":"string"},{"internalType":"string","name":"country","type":"string"},{"internalType":"string","name":"email","type":"string"},{"internalType":"string","name":"phone","type":"string"},{"internalType":"string","name":"fax","type":"string"},{"internalType":"string","name":"website","type":"string"}],"name":"insertAccountProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"datasetId","type":"uint256"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"value","type":"string"}],"name":"insertMetadata","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastDatasetId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastListingID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"datasetID","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"listForSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"purchaseDataset","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"key","type":"string"}],"name":"queryAccountInfo","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"datasetId","type":"uint256"},{"internalType":"string","name":"key","type":"string"}],"name":"queryMetadata","outputs":[{"internalType":"string","name":"value","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"queryPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"contributor","type":"string"},{"internalType":"string","name":"coverage","type":"string"},{"internalType":"string","name":"creator","type":"string"},{"internalType":"string","name":"date","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"format","type":"string"},{"internalType":"string","name":"identifier","type":"string"},{"internalType":"string","name":"language","type":"string"},{"internalType":"string","name":"publisher","type":"string"},{"internalType":"string","name":"relation","type":"string"},{"internalType":"string","name":"rights","type":"string"},{"internalType":"string","name":"source","type":"string"},{"internalType":"string","name":"subject","type":"string"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"dtype","type":"string"}],"name":"registerDatasetProfile","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"rawAmt","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"datasetId","type":"uint256"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferDatasetOwner","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"rawAmt","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"listingID","type":"uint256"}],"name":"unlistFromSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052633b9aca00600055633b9aca0060035534801561002057600080fd5b506b033b2e3c9fd0803ce8000000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040518082815260200191505060405180910390a36147b6806100f26000396000f3fe60806040526004361061019c5760003560e01c80637221bb01116100ec578063975d84861161008a578063d6077fbf11610064578063d6077fbf14611f70578063dd62ed3e14611fbf578063e80d7fec14612044578063f433ea3f1461209d5761019c565b8063975d848614611e83578063a1b4861014611eae578063a9059cbb14611efd5761019c565b80637e900047116100c65780637e90004714611ba857806383998fac14611c235780639341f29c14611da457806395d89b4114611df35761019c565b80637221bb0114611aaf57806374afa36014611b025780637b2d547314611b2d5761019c565b806323b872dd1161015957806349ee56f91161013357806349ee56f91461180d578063685f9d15146118605780636e6fceb6146118d357806370a0823114611a4a5761019c565b806323b872dd146116fa5780632e24086a1461178d578063313ce567146117dc5761019c565b806306fdde03146102c05780630889a4a214610350578063095ea7b3146104b15780630ce71795146105245780630d06d75f14610db057806318160ddd146116cf575b6000612710340290506101ee600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826121e8565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061027a600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612202565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050005b3480156102cc57600080fd5b506102d561221c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103155780820151818401526020810190506102fa565b50505050905090810190601f1680156103425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035c57600080fd5b506104366004803603604081101561037357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103b057600080fd5b8201836020820111156103c257600080fd5b803590602001918460018302840111640100000000831117156103e457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612255565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047657808201518184015260208101905061045b565b50505050905090810190601f1680156104a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bd57600080fd5b5061050a600480360360408110156104d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061239e565b604051808215151515815260200191505060405180910390f35b34801561053057600080fd5b50610d9660048036036101c081101561054857600080fd5b810190808035906020019064010000000081111561056557600080fd5b82018360208201111561057757600080fd5b8035906020019184600183028401116401000000008311171561059957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105fc57600080fd5b82018360208201111561060e57600080fd5b8035906020019184600183028401116401000000008311171561063057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561069357600080fd5b8201836020820111156106a557600080fd5b803590602001918460018302840111640100000000831117156106c757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561072a57600080fd5b82018360208201111561073c57600080fd5b8035906020019184600183028401116401000000008311171561075e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107c157600080fd5b8201836020820111156107d357600080fd5b803590602001918460018302840111640100000000831117156107f557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561085857600080fd5b82018360208201111561086a57600080fd5b8035906020019184600183028401116401000000008311171561088c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108ef57600080fd5b82018360208201111561090157600080fd5b8035906020019184600183028401116401000000008311171561092357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561098657600080fd5b82018360208201111561099857600080fd5b803590602001918460018302840111640100000000831117156109ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610a1d57600080fd5b820183602082011115610a2f57600080fd5b80359060200191846001830284011164010000000083111715610a5157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ab457600080fd5b820183602082011115610ac657600080fd5b80359060200191846001830284011164010000000083111715610ae857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4b57600080fd5b820183602082011115610b5d57600080fd5b80359060200191846001830284011164010000000083111715610b7f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610be257600080fd5b820183602082011115610bf457600080fd5b80359060200191846001830284011164010000000083111715610c1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610c7957600080fd5b820183602082011115610c8b57600080fd5b80359060200191846001830284011164010000000083111715610cad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610d1057600080fd5b820183602082011115610d2257600080fd5b80359060200191846001830284011164010000000083111715610d4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612490565b604051808215151515815260200191505060405180910390f35b348015610dbc57600080fd5b506116b960048036036101e0811015610dd457600080fd5b8101908080359060200190640100000000811115610df157600080fd5b820183602082011115610e0357600080fd5b80359060200191846001830284011164010000000083111715610e2557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610e8857600080fd5b820183602082011115610e9a57600080fd5b80359060200191846001830284011164010000000083111715610ebc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610f1f57600080fd5b820183602082011115610f3157600080fd5b80359060200191846001830284011164010000000083111715610f5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610fb657600080fd5b820183602082011115610fc857600080fd5b80359060200191846001830284011164010000000083111715610fea57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561104d57600080fd5b82018360208201111561105f57600080fd5b8035906020019184600183028401116401000000008311171561108157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156110e457600080fd5b8201836020820111156110f657600080fd5b8035906020019184600183028401116401000000008311171561111857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561117b57600080fd5b82018360208201111561118d57600080fd5b803590602001918460018302840111640100000000831117156111af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561121257600080fd5b82018360208201111561122457600080fd5b8035906020019184600183028401116401000000008311171561124657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156112a957600080fd5b8201836020820111156112bb57600080fd5b803590602001918460018302840111640100000000831117156112dd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561134057600080fd5b82018360208201111561135257600080fd5b8035906020019184600183028401116401000000008311171561137457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156113d757600080fd5b8201836020820111156113e957600080fd5b8035906020019184600183028401116401000000008311171561140b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561146e57600080fd5b82018360208201111561148057600080fd5b803590602001918460018302840111640100000000831117156114a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561150557600080fd5b82018360208201111561151757600080fd5b8035906020019184600183028401116401000000008311171561153957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561159c57600080fd5b8201836020820111156115ae57600080fd5b803590602001918460018302840111640100000000831117156115d057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561163357600080fd5b82018360208201111561164557600080fd5b8035906020019184600183028401116401000000008311171561166757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612c88565b6040518082815260200191505060405180910390f35b3480156116db57600080fd5b506116e4613332565b6040518082815260200191505060405180910390f35b34801561170657600080fd5b506117736004803603606081101561171d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613342565b604051808215151515815260200191505060405180910390f35b34801561179957600080fd5b506117c6600480360360208110156117b057600080fd5b81019080803590602001909291905050506135d2565b6040518082815260200191505060405180910390f35b3480156117e857600080fd5b506117f16135ef565b604051808260ff1660ff16815260200191505060405180910390f35b34801561181957600080fd5b506118466004803603602081101561183057600080fd5b81019080803590602001909291905050506135f4565b604051808215151515815260200191505060405180910390f35b34801561186c57600080fd5b506118b96004803603604081101561188357600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b30565b604051808215151515815260200191505060405180910390f35b3480156118df57600080fd5b50611a30600480360360408110156118f657600080fd5b810190808035906020019064010000000081111561191357600080fd5b82018360208201111561192557600080fd5b8035906020019184600183028401116401000000008311171561194757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156119aa57600080fd5b8201836020820111156119bc57600080fd5b803590602001918460018302840111640100000000831117156119de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613cd5565b604051808215151515815260200191505060405180910390f35b348015611a5657600080fd5b50611a9960048036036020811015611a6d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d9c565b6040518082815260200191505060405180910390f35b348015611abb57600080fd5b50611ae860048036036020811015611ad257600080fd5b8101908080359060200190929190505050613de5565b604051808215151515815260200191505060405180910390f35b348015611b0e57600080fd5b50611b17613ee0565b6040518082815260200191505060405180910390f35b348015611b3957600080fd5b50611b6660048036036020811015611b5057600080fd5b8101908080359060200190929190505050613ee6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611bb457600080fd5b50611be160048036036020811015611bcb57600080fd5b8101908080359060200190929190505050613f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611c2f57600080fd5b50611d8a60048036036060811015611c4657600080fd5b810190808035906020019092919080359060200190640100000000811115611c6d57600080fd5b820183602082011115611c7f57600080fd5b80359060200191846001830284011164010000000083111715611ca157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115611d0457600080fd5b820183602082011115611d1657600080fd5b80359060200191846001830284011164010000000083111715611d3857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613f60565b604051808215151515815260200191505060405180910390f35b348015611db057600080fd5b50611ddd60048036036020811015611dc757600080fd5b81019080803590602001909291905050506140b5565b6040518082815260200191505060405180910390f35b348015611dff57600080fd5b50611e086140d2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611e48578082015181840152602081019050611e2d565b50505050905090810190601f168015611e755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015611e8f57600080fd5b50611e9861410b565b6040518082815260200191505060405180910390f35b348015611eba57600080fd5b50611ee760048036036020811015611ed157600080fd5b8101908080359060200190929190505050614111565b6040518082815260200191505060405180910390f35b348015611f0957600080fd5b50611f5660048036036040811015611f2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061412e565b604051808215151515815260200191505060405180910390f35b348015611f7c57600080fd5b50611fa960048036036020811015611f9357600080fd5b81019080803590602001909291905050506142b7565b6040518082815260200191505060405180910390f35b348015611fcb57600080fd5b5061202e60048036036040811015611fe257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506142d4565b6040518082815260200191505060405180910390f35b34801561205057600080fd5b506120876004803603604081101561206757600080fd5b81019080803590602001909291908035906020019092919050505061435b565b6040518082815260200191505060405180910390f35b3480156120a957600080fd5b5061216d600480360360408110156120c057600080fd5b8101908080359060200190929190803590602001906401000000008111156120e757600080fd5b8201836020820111156120f957600080fd5b8035906020019184600183028401116401000000008311171561211b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506144d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156121ad578082015181840152602081019050612192565b50505050905090810190601f1680156121da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000828211156121f757600080fd5b818303905092915050565b600081830190508281101561221657600080fd5b92915050565b6040518060400160405280600881526020017f44617461676f6c6400000000000000000000000000000000000000000000000081525081565b6060600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040518082805190602001908083835b602083106122ca57805182526020820191506020810190506020830392506122a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123915780601f1061236657610100808354040283529160200191612391565b820191906000526020600020905b81548152906001019060200180831161237457829003601f168201915b5050505050905092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008e600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f66697273746e616d65000000000000000000000000000000000000000000000081525060090190509081526020016040518091039020908051906020019061252192919061463a565b508d600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f6c6173746e616d650000000000000000000000000000000000000000000000008152506008019050908152602001604051809103902090805190602001906125b192919061463a565b508c600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f6f7267616e697a6174696f6e0000000000000000000000000000000000000000815250600c0190509081526020016040518091039020908051906020019061264192919061463a565b508b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f73747265657431000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902090805190602001906126d192919061463a565b508a600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f737472656574320000000000000000000000000000000000000000000000000081525060070190509081526020016040518091039020908051906020019061276192919061463a565b5089600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f63697479000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902090805190602001906127f192919061463a565b5088600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f737461746500000000000000000000000000000000000000000000000000000081525060050190509081526020016040518091039020908051906020019061288192919061463a565b5087600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f70726f76696e636500000000000000000000000000000000000000000000000081525060080190509081526020016040518091039020908051906020019061291192919061463a565b5086600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f7a697000000000000000000000000000000000000000000000000000000000008152506003019050908152602001604051809103902090805190602001906129a192919061463a565b5085600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f636f756e74727900000000000000000000000000000000000000000000000000815250600701905090815260200160405180910390209080519060200190612a3192919061463a565b5084600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f656d61696c000000000000000000000000000000000000000000000000000000815250600501905090815260200160405180910390209080519060200190612ac192919061463a565b5083600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f70686f6e65000000000000000000000000000000000000000000000000000000815250600501905090815260200160405180910390209080519060200190612b5192919061463a565b5082600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f6661780000000000000000000000000000000000000000000000000000000000815250600301905090815260200160405180910390209080519060200190612be192919061463a565b5081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180807f7765627369746500000000000000000000000000000000000000000000000000815250600701905090815260200160405180910390209080519060200190612c7192919061463a565b50600190509e9d5050505050505050505050505050565b600060016000540160008190555033600960008054815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff166000547f78567a4dff8af3b37e8e3780653a200eb7a02c6db02bd9160f7d926a0f007c0060405160405180910390a38f600860008054815260200190815260200160002060405180807f636f6e7472696275746f72000000000000000000000000000000000000000000815250600b01905090815260200160405180910390209080519060200190612d9392919061463a565b508e600860008054815260200190815260200160002060405180807f636f766572616765000000000000000000000000000000000000000000000000815250600801905090815260200160405180910390209080519060200190612df892919061463a565b508d600860008054815260200190815260200160002060405180807f63726561746f7200000000000000000000000000000000000000000000000000815250600701905090815260200160405180910390209080519060200190612e5d92919061463a565b508c600860008054815260200190815260200160002060405180807f6461746500000000000000000000000000000000000000000000000000000000815250600401905090815260200160405180910390209080519060200190612ec292919061463a565b508b600860008054815260200190815260200160002060405180807f6465736372697074696f6e000000000000000000000000000000000000000000815250600b01905090815260200160405180910390209080519060200190612f2792919061463a565b508a600860008054815260200190815260200160002060405180807f666f726d61740000000000000000000000000000000000000000000000000000815250600601905090815260200160405180910390209080519060200190612f8c92919061463a565b5089600860008054815260200190815260200160002060405180807f6964656e74696669657200000000000000000000000000000000000000000000815250600a01905090815260200160405180910390209080519060200190612ff192919061463a565b5088600860008054815260200190815260200160002060405180807f6c616e677561676500000000000000000000000000000000000000000000000081525060080190509081526020016040518091039020908051906020019061305692919061463a565b5087600860008054815260200190815260200160002060405180807f7075626c697368657200000000000000000000000000000000000000000000008152506009019050908152602001604051809103902090805190602001906130bb92919061463a565b5086600860008054815260200190815260200160002060405180807f72656c6174696f6e00000000000000000000000000000000000000000000000081525060080190509081526020016040518091039020908051906020019061312092919061463a565b5085600860008054815260200190815260200160002060405180807f726967687473000000000000000000000000000000000000000000000000000081525060060190509081526020016040518091039020908051906020019061318592919061463a565b5084600860008054815260200190815260200160002060405180807f736f7572636500000000000000000000000000000000000000000000000000008152506006019050908152602001604051809103902090805190602001906131ea92919061463a565b5083600860008054815260200190815260200160002060405180807f7375626a6563740000000000000000000000000000000000000000000000000081525060070190509081526020016040518091039020908051906020019061324f92919061463a565b5082600860008054815260200190815260200160002060405180807f7469746c650000000000000000000000000000000000000000000000000000008152506005019050908152602001604051809103902090805190602001906132b492919061463a565b5081600860008054815260200190815260200160002060405180807f747970650000000000000000000000000000000000000000000000000000000081525060040190509081526020016040518091039020908051906020019061331992919061463a565b5060005490509f9e505050505050505050505050505050565b6b033b2e3c9fd0803ce800000081565b600061338d600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121e8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613456600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121e8565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351f600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612202565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600060076000838152602001908152602001600020549050919050565b601281565b6000600160076000848152602001908152602001600020541461361657600080fd5b6000600560008481526020019081526020016000205490506009600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166006600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604781526020018061470f6047913960600191505060405180910390fd5b6000339050600060046000868152602001908152602001600020549050600061374c6137458360036145ed565b606461461a565b9050600061375a83836121e8565b905060006009600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506137dd600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856121e8565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613869600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612202565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a361395a600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612202565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3846009600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600760008a81526020019081526020016000208190555085887f231a992b2a92b7e889992c5006959cdfd2dbf8df2a9412a17a05fc4b480687738388600460008e815260200190815260200160002054604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a360019650505050505050919050565b6000826009600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613bea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806146e0602f913960400191505060405180910390fd5b826009600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff166009600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16857f12b248221387a7b0c4d802ec263fbc83e99e2099aa31cdea9d834cd757a8e28460405160405180910390a4600191505092915050565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040518082805190602001908083835b60208310613d4b5780518252602082019150602081019050602083039250613d28565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190613d9192919061463a565b506001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006001600760008481526020019081526020016000205414613e0757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613ebe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614756602c913960400191505060405180910390fd5b6003600760008481526020019081526020016000208190555060019050919050565b60005481565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000836009600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461401a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806146e0602f913960400191505060405180910390fd5b8260086000878152602001908152602001600020856040518082805190602001908083835b60208310614062578051825260208201915060208101905060208303925061403f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902090805190602001906140a892919061463a565b5060019150509392505050565b600060056000838152602001908152602001600020549050919050565b6040518060400160405280600381526020017f444743000000000000000000000000000000000000000000000000000000000081525081565b60035481565b600060046000838152602001908152602001600020549050919050565b6000614179600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121e8565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614205600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612202565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600060046000838152602001908152602001600020549050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000826009600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806146e0602f913960400191505060405180910390fd5b60016003540160038190555083600560006003548152602001908152602001600020819055503360066000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826004600060035481526020019081526020016000208190555060016007600060035481526020019081526020016000208190555060035491505092915050565b606060086000848152602001908152602001600020826040518082805190602001908083835b6020831061451957805182526020820191506020810190506020830392506144f6565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156145e05780601f106145b5576101008083540402835291602001916145e0565b820191906000526020600020905b8154815290600101906020018083116145c357829003601f168201915b5050505050905092915050565b60008183029050600083148061460b57508183828161460857fe5b04145b61461457600080fd5b92915050565b600080821161462857600080fd5b81838161463157fe5b04905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061467b57805160ff19168380011785556146a9565b828001600101855582156146a9579182015b828111156146a857825182559160200191906001019061468d565b5b5090506146b691906146ba565b5090565b6146dc91905b808211156146d85760008160009055506001016146c0565b5090565b9056fe6f6e6c79207468652064617461736574206f776e65722063616e2063616c6c20746869732066756e6374696f6e2e20546865206f776e6572206f6620746865206461746173657420686173206368616e6765642c20746865206c697374696e67206973206e6f742076616c696420616e796d6f72652e4f6e6c7920746865206f776e6572206f6620746865206c697374696e672063616e20756e6c6973742069742ea265627a7a72315820c52dac636c131d0a4ace68ad63f361c12e4b495d20184168c25a70d0f5bd966d64736f6c63430005110032

Deployed ByteCode Sourcemap

2733:11450:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13929:8;13950:5;13940:9;:15;13929:26;;13988:37;13996:8;:23;14013:4;13996:23;;;;;;;;;;;;;;;;14021:3;13988:7;:37::i;:::-;13962:8;:23;13979:4;13962:23;;;;;;;;;;;;;;;:63;;;;14055:34;14063:8;:20;14072:10;14063:20;;;;;;;;;;;;;;;;14085:3;14055:7;:34::i;:::-;14032:8;:20;14041:10;14032:20;;;;;;;;;;;;;;;:57;;;;13894:203;2733:11450;2785:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2785:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2785:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13112:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13112:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13112:154:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13112:154:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13112:154:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13112:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13112:154:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13112:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5102:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5102:208:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5102:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11325:1468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11325:1468:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11325:1468:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11325:1468:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11325:1468:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11325:1468:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11325:1468:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6461:1918;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6461:1918:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6461:1918:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6461:1918:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6461:1918:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6461:1918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6461:1918:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2986:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2986:49:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5603:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5603:358:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5603:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9268:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9268:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9268:140:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2876:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2876:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9941:1170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9941:1170:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9941:1170:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13498:299;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13498:299:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13498:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11135:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11135:178:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11135:178:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11135:178:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11135:178:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11135:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11135:178:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11135:178:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11135:178:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11135:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11135:178:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4791:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4791:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4791:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9423:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9423:327:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9423:327:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3069:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3069:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8964:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8964:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8964:142:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13278:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13278:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13278:120:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6159:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6159:235:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6159:235:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6159:235:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6159:235:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6159:235:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6159:235:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6159:235:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6159:235:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6159:235:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6159:235:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8806:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8806:146:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8806:146:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2832:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2832:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2832:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3404:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3404:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12979:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12979:117:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12979:117:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5318:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5318:277:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5318:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9118:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9118:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9118:138:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4919:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4919:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4919:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8395:397;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8395:397:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8395:397:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12810:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12810:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12810:155:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12810:155:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12810:155:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;12810:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;12810:155:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12810:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2317:120;2373:6;2405:1;2400;:6;;2392:15;;;;;;2427:1;2423;:5;2419:9;;2317:120;;;;:::o;2193:118::-;2249:6;2276:1;2272;:5;2268:9;;2301:1;2296;:6;;2288:15;;;;;;2193:118;;;;:::o;2785:40::-;;;;;;;;;;;;;;;;;;;:::o;13112:154::-;13195:13;13233:11;:20;13245:7;13233:20;;;;;;;;;;;;;;;13254:3;13233:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;13233:25:0;;;;;;;;;;;;;;;;;;;;;13226:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13112:154;;;;:::o;5102:208::-;5165:12;5221:6;5190:7;:19;5198:10;5190:19;;;;;;;;;;;;;;;:28;5210:7;5190:28;;;;;;;;;;;;;;;:37;;;;5264:7;5243:37;;5252:10;5243:37;;;5273:6;5243:37;;;;;;;;;;;;;;;;;;5298:4;5291:11;;5102:208;;;;:::o;11325:1468::-;11988:4;12049:9;12010:11;:23;12022:10;12010:23;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:::i;:::-;;12107:8;12069:11;:23;12081:10;12069:23;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;:::i;:::-;;12168:12;12126:11;:23;12138:10;12126:23;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;:54;;;;;;;;;;;;:::i;:::-;;12228:7;12191:11;:23;12203:10;12191:23;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;12283:7;12246:11;:23;12258:10;12246:23;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;12335:4;12301:11;:23;12313:10;12301:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;:::i;:::-;;12385:5;12350:11;:23;12362:10;12350:23;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:::i;:::-;;12439:8;12401:11;:23;12413:10;12401:23;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;:::i;:::-;;12491:3;12458:11;:23;12470:10;12458:23;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;:::i;:::-;;12542:7;12505:11;:23;12517:10;12505:23;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;12595:5;12560:11;:23;12572:10;12560:23;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:::i;:::-;;12646:5;12611:11;:23;12623:10;12611:23;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:::i;:::-;;12695:3;12662:11;:23;12674:10;12662:23;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;:::i;:::-;;12746:7;12709:11;:23;12721:10;12709:23;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;12779:4;12772:11;;11325:1468;;;;;;;;;;;;;;;;:::o;6461:1918::-;7314:4;7368:1;7352:13;;:17;7336:13;:33;;;;7411:10;7380:13;:28;7394:13;;7380:28;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7468:10;7437:42;;7453:13;;7437:42;;;;;;;;;;7531:11;7490:8;:23;7499:13;;7490:23;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;:::i;:::-;;7591:8;7553;:23;7562:13;;7553:23;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;:::i;:::-;;7648:7;7611:8;:23;7620:13;;7611:23;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;7701:4;7667:8;:23;7676:13;;7667:23;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;:::i;:::-;;7758:11;7717:8;:23;7726:13;;7717:23;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;:::i;:::-;;7817:6;7781:8;:23;7790:13;;7781:23;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;:::i;:::-;;7875:10;7835:8;:23;7844:13;;7835:23;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:::i;:::-;;7935:8;7897;:23;7906:13;;7897:23;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;:::i;:::-;;7994:9;7955:8;:23;7964:13;;7955:23;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:::i;:::-;;8053:8;8015;:23;8024:13;;8015:23;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;:::i;:::-;;8109:6;8073:8;:23;8082:13;;8073:23;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;:::i;:::-;;8163:6;8127:8;:23;8136:13;;8127:23;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;:::i;:::-;;8218:7;8181:8;:23;8190:13;;8181:23;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;:::i;:::-;;8272:5;8237:8;:23;8246:13;;8237:23;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:::i;:::-;;8323:5;8289:8;:23;8298:13;;8289:23;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;:::i;:::-;;8358:13;;8351:20;;6461:1918;;;;;;;;;;;;;;;;;:::o;2986:49::-;3021:14;2986:49;:::o;5603:358::-;5680:12;5722:31;5730:8;:14;5739:4;5730:14;;;;;;;;;;;;;;;;5746:6;5722:7;:31::i;:::-;5705:8;:14;5714:4;5705:14;;;;;;;;;;;;;;;:48;;;;5792:42;5800:7;:13;5808:4;5800:13;;;;;;;;;;;;;;;:25;5814:10;5800:25;;;;;;;;;;;;;;;;5827:6;5792:7;:42::i;:::-;5764:7;:13;5772:4;5764:13;;;;;;;;;;;;;;;:25;5778:10;5764:25;;;;;;;;;;;;;;;:70;;;;5860:29;5868:8;:12;5877:2;5868:12;;;;;;;;;;;;;;;;5882:6;5860:7;:29::i;:::-;5845:8;:12;5854:2;5845:12;;;;;;;;;;;;;;;:44;;;;5920:2;5905:26;;5914:4;5905:26;;;5924:6;5905:26;;;;;;;;;;;;;;;;;;5949:4;5942:11;;5603:358;;;;;:::o;9268:140::-;9341:4;9368:13;:24;9382:9;9368:24;;;;;;;;;;;;9361:31;;9268:140;;;:::o;2876:35::-;2909:2;2876:35;:::o;9941:1170::-;10011:4;10069:1;10041:13;:24;10055:9;10041:24;;;;;;;;;;;;:29;10033:38;;;;;;10092:14;10109:16;:27;10126:9;10109:27;;;;;;;;;;;;10092:44;;10183:13;:24;10197:9;10183:24;;;;;;;;;;;;;;;;;;;;;10155:52;;:13;:24;10169:9;10155:24;;;;;;;;;;;;;;;;;;;;;:52;;;10147:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10304:13;10320:10;10304:26;;10351:10;10364:12;:23;10377:9;10364:23;;;;;;;;;;;;10351:36;;10398:18;10419:31;10427:17;10435:5;10442:1;10427:7;:17::i;:::-;10446:3;10419:7;:31::i;:::-;10398:52;;10461:16;10480:29;10488:5;10495:13;10480:7;:29::i;:::-;10461:48;;10522:14;10539:13;:24;10553:9;10539:24;;;;;;;;;;;;;;;;;;;;;10522:41;;10592:31;10600:8;:15;10609:5;10600:15;;;;;;;;;;;;;;;;10617:5;10592:7;:31::i;:::-;10574:8;:15;10583:5;10574:15;;;;;;;;;;;;;;;:49;;;;10660:47;10668:8;:23;10685:4;10668:23;;;;;;;;;;;;;;;;10693:13;10660:7;:47::i;:::-;10634:8;:23;10651:4;10634:23;;;;;;;;;;;;;;;:73;;;;10747:4;10723:45;;10732:5;10723:45;;;10754:13;10723:45;;;;;;;;;;;;;;;;;;10798:38;10806:8;:16;10815:6;10806:16;;;;;;;;;;;;;;;;10824:11;10798:7;:38::i;:::-;10779:8;:16;10788:6;10779:16;;;;;;;;;;;;;;;:57;;;;10868:6;10852:36;;10861:5;10852:36;;;10876:11;10852:36;;;;;;;;;;;;;;;;;;10946:5;10919:13;:24;10933:9;10919:24;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10989:1;10962:13;:24;10976:9;10962:24;;;;;;;;;;;:28;;;;11022:9;11011;11006:66;11033:6;11041:5;11048:12;:23;11061:9;11048:23;;;;;;;;;;;;11006:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11093:4;11086:11;;;;;;;;9941:1170;;;:::o;13498:299::-;13616:12;13591:9;6049:13;:24;6063:9;6049:24;;;;;;;;;;;;;;;;;;;;;6035:38;;:10;:38;;;6027:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13673:8;13646:13;:24;13660:9;13646:24;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13755:8;13697:67;;13729:13;:24;13743:9;13729:24;;;;;;;;;;;;;;;;;;;;;13697:67;;13718:9;13697:67;;;;;;;;;;13785:4;13778:11;;13498:299;;;;;:::o;11135:178::-;11223:12;11278:5;11247:11;:23;11259:10;11247:23;;;;;;;;;;;;;;;11271:3;11247:28;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11247:28:0;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;:::i;:::-;;11301:4;11294:11;;11135:178;;;;:::o;4791:120::-;4851:12;4883:8;:20;4892:10;4883:20;;;;;;;;;;;;;;;;4876:27;;4791:120;;;:::o;9423:327::-;9483:4;9543:1;9515:13;:24;9529:9;9515:24;;;;;;;;;;;;:29;9507:38;;;;;;9606:10;9578:38;;:13;:24;9592:9;9578:24;;;;;;;;;;;;;;;;;;;;;:38;;;9570:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9705:1;9678:13;:24;9692:9;9678:24;;;;;;;;;;;:28;;;;9738:4;9731:11;;9423:327;;;:::o;3069:38::-;;;;:::o;8964:142::-;9036:7;9066:13;:24;9080:9;9066:24;;;;;;;;;;;;;;;;;;;;;9059:31;;8964:142;;;:::o;13278:120::-;13340:7;13366:13;:24;13380:9;13366:24;;;;;;;;;;;;;;;;;;;;;13359:31;;13278:120;;;:::o;6159:235::-;6298:12;6266:9;6049:13;:24;6063:9;6049:24;;;;;;;;;;;;;;;;;;;;;6035:38;;:10;:38;;;6027:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6349:5;6322:8;:19;6331:9;6322:19;;;;;;;;;;;6342:3;6322:24;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6322:24:0;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;:::i;:::-;;6382:4;6375:11;;6159:235;;;;;;:::o;8806:146::-;8882:4;8909:16;:27;8926:9;8909:27;;;;;;;;;;;;8902:34;;8806:146;;;:::o;2832:37::-;;;;;;;;;;;;;;;;;;;:::o;3404:38::-;;;;:::o;12979:117::-;13036:4;13065:12;:23;13078:9;13065:23;;;;;;;;;;;;13058:30;;12979:117;;;:::o;5318:277::-;5377:12;5425:37;5433:8;:20;5442:10;5433:20;;;;;;;;;;;;;;;;5455:6;5425:7;:37::i;:::-;5402:8;:20;5411:10;5402:20;;;;;;;;;;;;;;;:60;;;;5488:29;5496:8;:12;5505:2;5496:12;;;;;;;;;;;;;;;;5510:6;5488:7;:29::i;:::-;5473:8;:12;5482:2;5473:12;;;;;;;;;;;;;;;:44;;;;5554:2;5533:32;;5542:10;5533:32;;;5558:6;5533:32;;;;;;;;;;;;;;;;;;5583:4;5576:11;;5318:277;;;;:::o;9118:138::-;9190:4;9217:12;:23;9230:9;9217:23;;;;;;;;;;;;9210:30;;9118:138;;;:::o;4919:147::-;4996:14;5030:7;:19;5038:10;5030:19;;;;;;;;;;;;;;;:28;5050:7;5030:28;;;;;;;;;;;;;;;;5023:35;;4919:147;;;;:::o;8395:397::-;8498:4;8466:9;6049:13;:24;6063:9;6049:24;;;;;;;;;;;;;;;;;;;;;6035:38;;:10;:38;;;6027:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:1;8530:13;;:17;8514:13;:33;;;;8592:9;8558:16;:31;8575:13;;8558:31;;;;;;;;;;;:43;;;;8644:10;8612:13;:28;8626:13;;8612:28;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8695:5;8665:12;:27;8678:13;;8665:27;;;;;;;;;;;:35;;;;8742:1;8711:13;:28;8725:13;;8711:28;;;;;;;;;;;:32;;;;8771:13;;8764:20;;8395:397;;;;;:::o;12810:155::-;12889:19;12933:8;:19;12942:9;12933:19;;;;;;;;;;;12953:3;12933:24;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12933:24:0;;;;;;;;;;;;;;;;;;;;;12926:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12810:155;;;;:::o;2454:135::-;2510:6;2538:1;2534;:5;2530:9;;2564:1;2559;:6;:20;;;;2578:1;2573;2569;:5;;;;;;:10;2559:20;2551:29;;;;;;2454:135;;;;:::o;2606:118::-;2662:6;2694:1;2690;:5;2682:14;;;;;;2715:1;2711;:5;;;;;;2707:9;;2606:118;;;;:::o;2733:11450::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://c52dac636c131d0a4ace68ad63f361c12e4b495d20184168c25a70d0f5bd966d
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

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.