ETH Price: $3,395.17 (+1.49%)

Contract

0xd0466448fb6bf17BeAF9325974B7F71c6937609b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw120634342021-03-18 15:20:581381 days ago1616080858IN
0xd0466448...c6937609b
0 ETH0.00453785138
Add True Proof116370472021-01-12 1:06:561446 days ago1610413616IN
0xd0466448...c6937609b
0 ETH0.0083059260
Add True Proof116370342021-01-12 1:04:121446 days ago1610413452IN
0xd0466448...c6937609b
0 ETH0.0083059260
Add True Proof116361972021-01-11 21:53:241446 days ago1610402004IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof115423012020-12-28 11:58:511461 days ago1609156731IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof115423012020-12-28 11:58:511461 days ago1609156731IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof115405852020-12-28 5:56:051461 days ago1609134965IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof115405752020-12-28 5:53:351461 days ago1609134815IN
0xd0466448...c6937609b
0 ETH0.0083059260
Add True Proof115405732020-12-28 5:53:271461 days ago1609134807IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof115405692020-12-28 5:51:351461 days ago1609134695IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof114770342020-12-18 11:51:471471 days ago1608292307IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof114755882020-12-18 6:37:101471 days ago1608273430IN
0xd0466448...c6937609b
0 ETH0.0083059260
Add True Proof114755862020-12-18 6:36:381471 days ago1608273398IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof114254932020-12-10 13:40:081479 days ago1607607608IN
0xd0466448...c6937609b
0 ETH0.0065068647
Add True Proof114254882020-12-10 13:38:101479 days ago1607607490IN
0xd0466448...c6937609b
0 ETH0.0076067654.94472871
Add True Proof114254812020-12-10 13:37:131479 days ago1607607433IN
0xd0466448...c6937609b
0 ETH0.0076067654.94472871
Add True Proof114254772020-12-10 13:36:451479 days ago1607607405IN
0xd0466448...c6937609b
0 ETH0.007606154.94472871
Add True Proof114254772020-12-10 13:36:451479 days ago1607607405IN
0xd0466448...c6937609b
0 ETH0.0076054454.94472871
Add True Proof114254692020-12-10 13:34:221479 days ago1607607262IN
0xd0466448...c6937609b
0 ETH0.0076067654.94472871
Add True Proof114254272020-12-10 13:25:301479 days ago1607606730IN
0xd0466448...c6937609b
0 ETH0.0077521956
Add True Proof114254272020-12-10 13:25:301479 days ago1607606730IN
0xd0466448...c6937609b
0 ETH0.0077528656
Add True Proof114254212020-12-10 13:24:251479 days ago1607606665IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof114254122020-12-10 13:22:571479 days ago1607606577IN
0xd0466448...c6937609b
0 ETH0.0083059260
Add True Proof114254092020-12-10 13:21:561479 days ago1607606516IN
0xd0466448...c6937609b
0 ETH0.0083066460
Add True Proof114254092020-12-10 13:21:561479 days ago1607606516IN
0xd0466448...c6937609b
0 ETH0.0083066460
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
120634342021-03-18 15:20:581381 days ago1616080858
0xd0466448...c6937609b
18.76294229 ETH
116370472021-01-12 1:06:561446 days ago1610413616
0xd0466448...c6937609b
0.00843792 ETH
116370342021-01-12 1:04:121446 days ago1610413452
0xd0466448...c6937609b
0.00843792 ETH
116361972021-01-11 21:53:241446 days ago1610402004
0xd0466448...c6937609b
0.00843792 ETH
115423012020-12-28 11:58:511461 days ago1609156731
0xd0466448...c6937609b
0.00843792 ETH
115423012020-12-28 11:58:511461 days ago1609156731
0xd0466448...c6937609b
0.00843792 ETH
115405852020-12-28 5:56:051461 days ago1609134965
0xd0466448...c6937609b
0.00843792 ETH
115405752020-12-28 5:53:351461 days ago1609134815
0xd0466448...c6937609b
0.00843792 ETH
115405732020-12-28 5:53:271461 days ago1609134807
0xd0466448...c6937609b
0.00843792 ETH
115405692020-12-28 5:51:351461 days ago1609134695
0xd0466448...c6937609b
0.00843792 ETH
114770342020-12-18 11:51:471471 days ago1608292307
0xd0466448...c6937609b
0.00843792 ETH
114755882020-12-18 6:37:101471 days ago1608273430
0xd0466448...c6937609b
0.00843792 ETH
114755862020-12-18 6:36:381471 days ago1608273398
0xd0466448...c6937609b
0.00843792 ETH
114254932020-12-10 13:40:081479 days ago1607607608
0xd0466448...c6937609b
0.0066097 ETH
114254882020-12-10 13:38:101479 days ago1607607490
0xd0466448...c6937609b
0.00772698 ETH
114254812020-12-10 13:37:131479 days ago1607607433
0xd0466448...c6937609b
0.00772698 ETH
114254772020-12-10 13:36:451479 days ago1607607405
0xd0466448...c6937609b
0.00772698 ETH
114254772020-12-10 13:36:451479 days ago1607607405
0xd0466448...c6937609b
0.00772698 ETH
114254692020-12-10 13:34:221479 days ago1607607262
0xd0466448...c6937609b
0.00772698 ETH
114254272020-12-10 13:25:301479 days ago1607606730
0xd0466448...c6937609b
0.00787539 ETH
114254272020-12-10 13:25:301479 days ago1607606730
0xd0466448...c6937609b
0.00787539 ETH
114254212020-12-10 13:24:251479 days ago1607606665
0xd0466448...c6937609b
0.00843792 ETH
114254122020-12-10 13:22:571479 days ago1607606577
0xd0466448...c6937609b
0.00843792 ETH
114254092020-12-10 13:21:561479 days ago1607606516
0xd0466448...c6937609b
0.00843792 ETH
114254092020-12-10 13:21:561479 days ago1607606516
0xd0466448...c6937609b
0.00843792 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TrueProfileLogic

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-09-21
*/

pragma solidity 0.4.26;

library SafeMath {
    /** SafeMath **
    * SafeMath based on the OpenZeppelin framework
    * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol
    */

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a < b ? a : b;
    }

    function max256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    function abs128(int128 a) internal pure returns (int128) {
        return a < 0 ? a * -1 : a;
    }
}

contract Accessible {
    /** Access Right Management **
    * Copyright 2019
    * Florian Weigand
    * Synalytix UG, Munich
    * florian(at)synalytix.de
    */

    address public owner;
    mapping(address => bool) public accessAllowed;

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

    modifier ownership() {
        require(owner == msg.sender, "Accessible: Only the owner of contract can call this method");
        _;
    }

    modifier accessible() {
        require(accessAllowed[msg.sender], "Accessible: This address has no allowence to access this method");
        _;
    }

    function allowAccess(address _address) public ownership {
        if (_address != address(0)) {
            accessAllowed[_address] = true;
        }
    }

    function denyAccess(address _address) public ownership {
        if (_address != address(0)) {
            accessAllowed[_address] = false;
        }
    }

    function transferOwnership(address _address) public ownership {
        if (_address != address(0)) {
            owner = _address;
        }
    }
}

contract Repaying is Accessible {
    /** Repaying Contract **
    * Idea based on https://ethereum.stackexchange.com/a/38517/55678
    * Stackexchange user: medvedev1088
    * ---------------------
    * ReentrancyGuard based on the OpenZeppelin framework
    * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol
    * ---------------------
    * Copyright 2019 (only modifications)
    * Florian Weigand
    * Synalytix UG, Munich
    * florian(at)synalytix.de
    */

    using SafeMath for uint256;
    uint256 private guardCounter;
    bool stopRepaying = false;
    // the max gas price is set to 65 gwei this is the same as local server max fee setting
    uint256 maxGasPrice = 65000000000;
    // gas consomption of the repayable function
    uint256 additionalGasConsumption = 42492;

    constructor () internal {
        // the counter starts at one to prevent changing it from zero to a non-zero
        // value, which is a more expensive operation.
        guardCounter = 1;
    }

    modifier repayable {
        guardCounter += 1;
        uint256 localCounter = guardCounter;

        // repayable logic with kill swtich
        if(!stopRepaying) {
            uint256 startGas = gasleft();
            _;
            uint256 gasUsed = startGas.sub(gasleft());
            // use maxGasPrice as upper bound for the gas price
            uint256 gasPrice = maxGasPrice.min256(tx.gasprice);
            uint256 repayal = gasPrice.mul(gasUsed.add(additionalGasConsumption));
            msg.sender.transfer(repayal);
        }
        else {
            _;
        }

        // if the counters don't match a reentrance is happening, stop the execution
        require(localCounter == guardCounter, "Repaying: reentrant call detected");
    }

    function() external payable {
        require(msg.data.length == 0, "Repaying: You can only transfer Ether to this contract *without* any data");
    }

    function withdraw(address _address) public ownership {
        require(_address != address(0) && (accessAllowed[_address] || _address == owner),
        "Repaying: Address is not allowed to withdraw the balance");

        _address.transfer(address(this).balance);
    }

    function setMaxGasPrice(uint256 _maxGasPrice) public ownership {
        // define absolute max. with 125 gwei
        maxGasPrice = _maxGasPrice.min256(125000000000);
    }

    function getMaxGasPrice() external view returns (uint256) {
        return maxGasPrice;
    }

    function setAdditionalGasConsumption(uint256 _additionalGasConsumption) public ownership {
        // define absolute max. with 65.000 gas limit
        additionalGasConsumption = _additionalGasConsumption.min256(65000);
    }

    function getAdditionalGasConsumption() external view returns (uint256) {
        return additionalGasConsumption;
    }

    function setStopRepaying(bool _stopRepaying) public ownership {
        stopRepaying = _stopRepaying;
    }
}

contract TrueProfileStorage is Accessible {
    /** Data Storage Contract **
    * Copyright 2019
    * Florian Weigand
    * Synalytix UG, Munich
    * florian(at)synalytix.de
    */

    /**** signature struct ****/
    struct Signature {
        uint8 v;
        bytes32 r;
        bytes32 s;
        uint8 revocationReasonId;
        bool isValue;
    }

    /**** signature storage ****/
    mapping(bytes32 => Signature)   public signatureStorage;

    /**** general storage of non-struct data which might
    be needed for further development of main contract ****/
    mapping(bytes32 => uint256) public uIntStorage;
    mapping(bytes32 => string) public stringStorage;
    mapping(bytes32 => address) public addressStorage;
    mapping(bytes32 => bytes) public bytesStorage;
    mapping(bytes32 => bool) public boolStorage;
    mapping(bytes32 => int256) public intStorage;

    /**** CRUD for Signature storage ****/
    function getSignature(bytes32 _key) external view returns (uint8 v, bytes32 r, bytes32 s, uint8 revocationReasonId) {
        Signature memory tempSignature = signatureStorage[_key];
        if (tempSignature.isValue) {
            return(tempSignature.v, tempSignature.r, tempSignature.s, tempSignature.revocationReasonId);
        } else {
            return(0, bytes32(0), bytes32(0), 0);
        }
    }

    function setSignature(bytes32 _key, uint8 _v, bytes32 _r, bytes32 _s, uint8 _revocationReasonId) external accessible {
        require(ecrecover(_key, _v, _r, _s) != 0x0, "TrueProfileStorage: Signature does not resolve to valid address");
        Signature memory tempSignature = Signature({
            v: _v,
            r: _r,
            s: _s,
            revocationReasonId: _revocationReasonId,
            isValue: true
        });
        signatureStorage[_key] = tempSignature;
    }

    function deleteSignature(bytes32 _key) external accessible {
        require(signatureStorage[_key].isValue, "TrueProfileStorage: Signature to delete was not found");
        Signature memory tempSignature = Signature({
            v: 0,
            r: bytes32(0),
            s: bytes32(0),
            revocationReasonId: 0,
            isValue: false
        });
        signatureStorage[_key] = tempSignature;
    }

    /**** Get Methods for additional storage ****/
    function getAddress(bytes32 _key) external view returns (address) {
        return addressStorage[_key];
    }

    function getUint(bytes32 _key) external view returns (uint) {
        return uIntStorage[_key];
    }

    function getString(bytes32 _key) external view returns (string) {
        return stringStorage[_key];
    }

    function getBytes(bytes32 _key) external view returns (bytes) {
        return bytesStorage[_key];
    }

    function getBool(bytes32 _key) external view returns (bool) {
        return boolStorage[_key];
    }

    function getInt(bytes32 _key) external view returns (int) {
        return intStorage[_key];
    }

    /**** Set Methods for additional storage ****/
    function setAddress(bytes32 _key, address _value) external accessible {
        addressStorage[_key] = _value;
    }

    function setUint(bytes32 _key, uint _value) external accessible {
        uIntStorage[_key] = _value;
    }

    function setString(bytes32 _key, string _value) external accessible {
        stringStorage[_key] = _value;
    }

    function setBytes(bytes32 _key, bytes _value) external accessible {
        bytesStorage[_key] = _value;
    }

    function setBool(bytes32 _key, bool _value) external accessible {
        boolStorage[_key] = _value;
    }

    function setInt(bytes32 _key, int _value) external accessible {
        intStorage[_key] = _value;
    }

    /**** Delete Methods for additional storage ****/
    function deleteAddress(bytes32 _key) external accessible {
        delete addressStorage[_key];
    }

    function deleteUint(bytes32 _key) external accessible {
        delete uIntStorage[_key];
    }

    function deleteString(bytes32 _key) external accessible {
        delete stringStorage[_key];
    }

    function deleteBytes(bytes32 _key) external accessible {
        delete bytesStorage[_key];
    }

    function deleteBool(bytes32 _key) external accessible {
        delete boolStorage[_key];
    }

    function deleteInt(bytes32 _key) external accessible {
        delete intStorage[_key];
    }
}

contract TrueProfileLogic is Repaying {
    /** Logic Contract (updatable) **
    * Copyright 2019
    * Florian Weigand
    * Synalytix UG, Munich
    * florian(at)synalytix.de
    */

    TrueProfileStorage trueProfileStorage;

    constructor(address _trueProfileStorage) public {
        trueProfileStorage = TrueProfileStorage(_trueProfileStorage);
    }

    /**** Signature logic methods ****/

    // add or update TrueProof
    // if not present add to array
    // if present the old TrueProof can be replaced with a new TrueProof
    function addTrueProof(bytes32 _key, uint8 _v, bytes32 _r, bytes32 _s) external repayable accessible {
        require(accessAllowed[ecrecover(_key, _v, _r, _s)], "TrueProfileLogic: Signature creator has no access to this contract");
        // the certifcate is valid, so set the revokationReasonId to 0
        uint8 revokationReasonId = 0;
        trueProfileStorage.setSignature(_key, _v, _r, _s, revokationReasonId);
    }

    // if the TrueProof was issued by error it can be revoked
    // for revocation a reason id needs to be given
    function revokeTrueProof(bytes32 _key, uint8 _revocationReasonId) external repayable accessible {
        require(_revocationReasonId != 0, "TrueProfileLogic: Revocation reason needs to be unequal to 0");

        uint8 v;
        bytes32 r;
        bytes32 s;
        uint8 oldRevocationReasonId;
        (v, r, s, oldRevocationReasonId) = trueProfileStorage.getSignature(_key);

        require(v != 0, "TrueProfileLogic: This TrueProof was already revoked");

        // set the revokation reason id to the new value
        trueProfileStorage.setSignature(_key, v, r, s, _revocationReasonId);
    }

    function isValidTrueProof(bytes32 _key) external view returns (bool) {
        // needs to be not revoked AND needs to have a valid signature
        return this.isValidSignatureTrueProof(_key) && this.isNotRevokedTrueProof(_key);
    }

    function isValidSignatureTrueProof(bytes32 _key) external view returns (bool) {
        uint8 v;
        bytes32 r;
        bytes32 s;
        uint8 revocationReasonId;
        (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key);

        // needs to have a valid signature
        return accessAllowed[ecrecover(_key, v, r, s)];
    }

    function isNotRevokedTrueProof(bytes32 _key) external view returns (bool) {
        uint8 v;
        bytes32 r;
        bytes32 s;
        uint8 revocationReasonId;
        (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key);

        // needs to be not revoked
        return revocationReasonId == 0;
    }

    function getSignature(bytes32 _key) external view returns (uint8 v, bytes32 r, bytes32 s, uint8 revocationReasonId) {
        return trueProfileStorage.getSignature(_key);
    }

    function getRevocationReasonId(bytes32 _key) external view returns (uint8) {
        uint8 v;
        bytes32 r;
        bytes32 s;
        uint8 revocationReasonId;
        (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key);

        return revocationReasonId;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"getRevocationReasonId","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isValidSignatureTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isNotRevokedTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_additionalGasConsumption","type":"uint256"}],"name":"setAdditionalGasConsumption","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"denyAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"accessAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMaxGasPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAdditionalGasConsumption","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"allowAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"getSignature","outputs":[{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"revocationReasonId","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stopRepaying","type":"bool"}],"name":"setStopRepaying","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_maxGasPrice","type":"uint256"}],"name":"setMaxGasPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"bytes32"},{"name":"_revocationReasonId","type":"uint8"}],"name":"revokeTrueProof","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"addTrueProof","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isValidTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_trueProfileStorage","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

60806040526003805460ff19169055640f224d4a0060045561a5fc60055534801561002957600080fd5b50604051602080611b4d833981016040525160008054600160a060020a03199081163317909155600160025560068054600160a060020a0390931692909116919091179055611ad08061007d6000396000f3006080604052600436106100fa5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662d2d89e811461019e57806339b2a61f146101cc5780633a44ab56146101f85780634c6d635c1461021057806351cff8d91461022857806361afd5ac14610249578063725019761461026a57806389c98c061461028b5780638da5cb5b146102b25780639632a4e4146102e3578063c4a85bc1146102f8578063c4b14e0b14610319578063cfd3ee2f1461035f578063d2fa635e14610379578063dcffcdc914610391578063e5595ac5146103af578063f2fde38b146103d3578063f3258da1146103f4575b361561019c576040805160e560020a62461bcd02815260206004820152604960248201527f5265706179696e673a20596f752063616e206f6e6c79207472616e736665722060448201527f457468657220746f207468697320636f6e7472616374202a776974686f75742a60648201527f20616e7920646174610000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b005b3480156101aa57600080fd5b506101b660043561040c565b6040805160ff9092168252519081900360200190f35b3480156101d857600080fd5b506101e46004356104a0565b604080519115158252519081900360200190f35b34801561020457600080fd5b506101e46004356105cd565b34801561021c57600080fd5b5061019c600435610665565b34801561023457600080fd5b5061019c600160a060020a03600435166106e1565b34801561025557600080fd5b5061019c600160a060020a0360043516610842565b34801561027657600080fd5b506101e4600160a060020a03600435166108d9565b34801561029757600080fd5b506102a06108ee565b60408051918252519081900360200190f35b3480156102be57600080fd5b506102c76108f4565b60408051600160a060020a039092168252519081900360200190f35b3480156102ef57600080fd5b506102a0610903565b34801561030457600080fd5b5061019c600160a060020a0360043516610909565b34801561032557600080fd5b506103316004356109a3565b6040805160ff9586168152602081019490945283810192909252909216606082015290519081900360800190f35b34801561036b57600080fd5b5061019c6004351515610a45565b34801561038557600080fd5b5061019c600435610abc565b34801561039d57600080fd5b5061019c60043560ff60243516610b3b565b3480156103bb57600080fd5b5061019c60043560ff6024351660443560643561118c565b3480156103df57600080fd5b5061019c600160a060020a03600435166116ec565b34801561040057600080fd5b506101e460043561178c565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d608081101561049157600080fd5b50606001519695505050505050565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b1580156104fb57600080fd5b505af115801561050f573d6000803e3d6000fd5b505050506040513d608081101561052557600080fd5b508051602080830151604080850151606095860151825160008082528187018086528f905260ff881682860152978101859052608081018390529251959a50929850965090945060019392849260a0808401939192601f198101928190039091019086865af115801561059c573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff169695505050505050565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b15801561062857600080fd5b505af115801561063c573d6000803e3d6000fd5b505050506040513d608081101561065257600080fd5b506060015160ff16159695505050505050565b600054600160a060020a031633146106c9576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b6106db8161fde863ffffffff6118a716565b60055550565b600054600160a060020a03163314610745576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a0381161580159061078c5750600160a060020a03811660009081526001602052604090205460ff168061078c5750600054600160a060020a038281169116145b1515610808576040805160e560020a62461bcd02815260206004820152603860248201527f5265706179696e673a2041646472657373206973206e6f7420616c6c6f77656460448201527f20746f207769746864726177207468652062616c616e63650000000000000000606482015290519081900360840190fd5b604051600160a060020a03821690303180156108fc02916000818181858888f1935050505015801561083e573d6000803e3d6000fd5b5050565b600054600160a060020a031633146108a6576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d657600160a060020a0381166000908152600160205260409020805460ff191690555b50565b60016020526000908152604090205460ff1681565b60045490565b600054600160a060020a031681565b60055490565b600054600160a060020a0316331461096d576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d657600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b6006546040805160e060020a63c4b14e0b028152600481018490529051600092839283928392600160a060020a03169163c4b14e0b91602480830192608092919082900301818787803b1580156109f957600080fd5b505af1158015610a0d573d6000803e3d6000fd5b505050506040513d6080811015610a2357600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b600054600160a060020a03163314610aa9576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b6003805460ff1916911515919091179055565b600054600160a060020a03163314610b20576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b610b3581641d1a94a20063ffffffff6118a716565b60045550565b6002805460010190819055600354600091829182918291829081908190819060ff161515610e75575a3360009081526001602052604090205490945060ff161515610bd2576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60ff8a161515610c52576040805160e560020a62461bcd02815260206004820152603c60248201527f5472756550726f66696c654c6f6769633a205265766f636174696f6e2072656160448201527f736f6e206e6565647320746f20626520756e657175616c20746f203000000000606482015290519081900360840190fd5b6006546040805160e060020a63c4b14e0b028152600481018e90529051600160a060020a039092169163c4b14e0b916024808201926080929091908290030181600087803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b505050506040513d6080811015610ccd57600080fd5b50805160208201516040830151606090930151919b509950909750955060ff89161515610d6a576040805160e560020a62461bcd02815260206004820152603460248201527f5472756550726f66696c654c6f6769633a2054686973205472756550726f6f6660448201527f2077617320616c7265616479207265766f6b6564000000000000000000000000606482015290519081900360840190fd5b6006546040805160e160020a637b4490d9028152600481018e905260ff808d166024830152604482018c9052606482018b90528d1660848201529051600160a060020a039092169163f68921b29160a48082019260009290919082900301818387803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050610e025a859063ffffffff6118bf16565b600454909350610e18903a63ffffffff6118a716565b9150610e3f610e326005548561192890919063ffffffff16565b839063ffffffff61198516565b604051909150339082156108fc029083906000818181858888f19350505050158015610e6f573d6000803e3d6000fd5b50611100565b3360009081526001602052604090205460ff161515610ee0576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60ff8a161515610f60576040805160e560020a62461bcd02815260206004820152603c60248201527f5472756550726f66696c654c6f6769633a205265766f636174696f6e2072656160448201527f736f6e206e6565647320746f20626520756e657175616c20746f203000000000606482015290519081900360840190fd5b6006546040805160e060020a63c4b14e0b028152600481018e90529051600160a060020a039092169163c4b14e0b916024808201926080929091908290030181600087803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b505050506040513d6080811015610fdb57600080fd5b50805160208201516040830151606090930151919b509950909750955060ff89161515611078576040805160e560020a62461bcd02815260206004820152603460248201527f5472756550726f66696c654c6f6769633a2054686973205472756550726f6f6660448201527f2077617320616c7265616479207265766f6b6564000000000000000000000000606482015290519081900360840190fd5b6006546040805160e160020a637b4490d9028152600481018e905260ff808d166024830152604482018c9052606482018b90528d1660848201529051600160a060020a039092169163f68921b29160a48082019260009290919082900301818387803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b505050505b600254851461117f576040805160e560020a62461bcd02815260206004820152602160248201527f5265706179696e673a207265656e7472616e742063616c6c206465746563746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5050505050505050505050565b600280546001019081905560035460009190829081908190819060ff161515611445575a3360009081526001602052604090205490945060ff16151561121e576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60408051600080825260208083018085528e905260ff8d1683850152606083018c9052608083018b905292516001939192849260a0808301939192601f19830192908190039091019086865af115801561127c573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff161515611345576040805160e560020a62461bcd02815260206004820152604260248201527f5472756550726f66696c654c6f6769633a205369676e6174757265206372656160448201527f746f7220686173206e6f2061636365737320746f207468697320636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6006546040805160e160020a637b4490d9028152600481018d905260ff8c166024820152604481018b9052606481018a90526000608482018190529151919850600160a060020a039092169163f68921b29160a4808301928b92919082900301818387803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b505050506113df5a859063ffffffff6118bf16565b6004549093506113f5903a63ffffffff6118a716565b915061140f610e326005548561192890919063ffffffff16565b604051909150339082156108fc029083906000818181858888f1935050505015801561143f573d6000803e3d6000fd5b50611661565b3360009081526001602052604090205460ff1615156114b0576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60408051600080825260208083018085528e905260ff8d1683850152606083018c9052608083018b905292516001939192849260a0808301939192601f19830192908190039091019086865af115801561150e573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff1615156115d7576040805160e560020a62461bcd02815260206004820152604260248201527f5472756550726f66696c654c6f6769633a205369676e6174757265206372656160448201527f746f7220686173206e6f2061636365737320746f207468697320636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6006546040805160e160020a637b4490d9028152600481018d905260ff8c166024820152604481018b9052606481018a90526000608482018190529151919850600160a060020a039092169163f68921b29160a4808301928b92919082900301818387803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050505b60025485146116e0576040805160e560020a62461bcd02815260206004820152602160248201527f5265706179696e673a207265656e7472616e742063616c6c206465746563746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50505050505050505050565b600054600160a060020a03163314611750576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d65760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b604080517f39b2a61f00000000000000000000000000000000000000000000000000000000815260048101839052905160009130916339b2a61f9160248082019260209290919082900301818787803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b505050506040513d602081101561181257600080fd5b505180156118a15750604080517f3a44ab560000000000000000000000000000000000000000000000000000000081526004810184905290513091633a44ab569160248083019260209291908290030181600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b50515b92915050565b60008183106118b657816118b8565b825b9392505050565b6000808383111561191a576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5050808203805b5092915050565b6000828201838110156118b8576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808315156119985760009150611921565b508282028284828115156119a857fe5b04146118b8576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd00616c6c6f77656e636520746f206163636573732074686973206d6574686f640041636365737369626c653a2054686973206164647265737320686173206e6f2041636365737369626c653a204f6e6c7920746865206f776e6572206f6620636f6e74726163742063616e2063616c6c2074686973206d6574686f640000000000a165627a7a723058201b30a915b2ad185a9adb60c5679095018692169ec5e2900f1c7ac6fbda92c7eb0029000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd

Deployed Bytecode

0x6080604052600436106100fa5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662d2d89e811461019e57806339b2a61f146101cc5780633a44ab56146101f85780634c6d635c1461021057806351cff8d91461022857806361afd5ac14610249578063725019761461026a57806389c98c061461028b5780638da5cb5b146102b25780639632a4e4146102e3578063c4a85bc1146102f8578063c4b14e0b14610319578063cfd3ee2f1461035f578063d2fa635e14610379578063dcffcdc914610391578063e5595ac5146103af578063f2fde38b146103d3578063f3258da1146103f4575b361561019c576040805160e560020a62461bcd02815260206004820152604960248201527f5265706179696e673a20596f752063616e206f6e6c79207472616e736665722060448201527f457468657220746f207468697320636f6e7472616374202a776974686f75742a60648201527f20616e7920646174610000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b005b3480156101aa57600080fd5b506101b660043561040c565b6040805160ff9092168252519081900360200190f35b3480156101d857600080fd5b506101e46004356104a0565b604080519115158252519081900360200190f35b34801561020457600080fd5b506101e46004356105cd565b34801561021c57600080fd5b5061019c600435610665565b34801561023457600080fd5b5061019c600160a060020a03600435166106e1565b34801561025557600080fd5b5061019c600160a060020a0360043516610842565b34801561027657600080fd5b506101e4600160a060020a03600435166108d9565b34801561029757600080fd5b506102a06108ee565b60408051918252519081900360200190f35b3480156102be57600080fd5b506102c76108f4565b60408051600160a060020a039092168252519081900360200190f35b3480156102ef57600080fd5b506102a0610903565b34801561030457600080fd5b5061019c600160a060020a0360043516610909565b34801561032557600080fd5b506103316004356109a3565b6040805160ff9586168152602081019490945283810192909252909216606082015290519081900360800190f35b34801561036b57600080fd5b5061019c6004351515610a45565b34801561038557600080fd5b5061019c600435610abc565b34801561039d57600080fd5b5061019c60043560ff60243516610b3b565b3480156103bb57600080fd5b5061019c60043560ff6024351660443560643561118c565b3480156103df57600080fd5b5061019c600160a060020a03600435166116ec565b34801561040057600080fd5b506101e460043561178c565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d608081101561049157600080fd5b50606001519695505050505050565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b1580156104fb57600080fd5b505af115801561050f573d6000803e3d6000fd5b505050506040513d608081101561052557600080fd5b508051602080830151604080850151606095860151825160008082528187018086528f905260ff881682860152978101859052608081018390529251959a50929850965090945060019392849260a0808401939192601f198101928190039091019086865af115801561059c573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff169695505050505050565b6006546040805160e060020a63c4b14e0b0281526004810184905290516000928392839283928392600160a060020a039091169163c4b14e0b9160248082019260809290919082900301818787803b15801561062857600080fd5b505af115801561063c573d6000803e3d6000fd5b505050506040513d608081101561065257600080fd5b506060015160ff16159695505050505050565b600054600160a060020a031633146106c9576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b6106db8161fde863ffffffff6118a716565b60055550565b600054600160a060020a03163314610745576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a0381161580159061078c5750600160a060020a03811660009081526001602052604090205460ff168061078c5750600054600160a060020a038281169116145b1515610808576040805160e560020a62461bcd02815260206004820152603860248201527f5265706179696e673a2041646472657373206973206e6f7420616c6c6f77656460448201527f20746f207769746864726177207468652062616c616e63650000000000000000606482015290519081900360840190fd5b604051600160a060020a03821690303180156108fc02916000818181858888f1935050505015801561083e573d6000803e3d6000fd5b5050565b600054600160a060020a031633146108a6576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d657600160a060020a0381166000908152600160205260409020805460ff191690555b50565b60016020526000908152604090205460ff1681565b60045490565b600054600160a060020a031681565b60055490565b600054600160a060020a0316331461096d576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d657600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b6006546040805160e060020a63c4b14e0b028152600481018490529051600092839283928392600160a060020a03169163c4b14e0b91602480830192608092919082900301818787803b1580156109f957600080fd5b505af1158015610a0d573d6000803e3d6000fd5b505050506040513d6080811015610a2357600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b600054600160a060020a03163314610aa9576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b6003805460ff1916911515919091179055565b600054600160a060020a03163314610b20576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b610b3581641d1a94a20063ffffffff6118a716565b60045550565b6002805460010190819055600354600091829182918291829081908190819060ff161515610e75575a3360009081526001602052604090205490945060ff161515610bd2576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60ff8a161515610c52576040805160e560020a62461bcd02815260206004820152603c60248201527f5472756550726f66696c654c6f6769633a205265766f636174696f6e2072656160448201527f736f6e206e6565647320746f20626520756e657175616c20746f203000000000606482015290519081900360840190fd5b6006546040805160e060020a63c4b14e0b028152600481018e90529051600160a060020a039092169163c4b14e0b916024808201926080929091908290030181600087803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b505050506040513d6080811015610ccd57600080fd5b50805160208201516040830151606090930151919b509950909750955060ff89161515610d6a576040805160e560020a62461bcd02815260206004820152603460248201527f5472756550726f66696c654c6f6769633a2054686973205472756550726f6f6660448201527f2077617320616c7265616479207265766f6b6564000000000000000000000000606482015290519081900360840190fd5b6006546040805160e160020a637b4490d9028152600481018e905260ff808d166024830152604482018c9052606482018b90528d1660848201529051600160a060020a039092169163f68921b29160a48082019260009290919082900301818387803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050610e025a859063ffffffff6118bf16565b600454909350610e18903a63ffffffff6118a716565b9150610e3f610e326005548561192890919063ffffffff16565b839063ffffffff61198516565b604051909150339082156108fc029083906000818181858888f19350505050158015610e6f573d6000803e3d6000fd5b50611100565b3360009081526001602052604090205460ff161515610ee0576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60ff8a161515610f60576040805160e560020a62461bcd02815260206004820152603c60248201527f5472756550726f66696c654c6f6769633a205265766f636174696f6e2072656160448201527f736f6e206e6565647320746f20626520756e657175616c20746f203000000000606482015290519081900360840190fd5b6006546040805160e060020a63c4b14e0b028152600481018e90529051600160a060020a039092169163c4b14e0b916024808201926080929091908290030181600087803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b505050506040513d6080811015610fdb57600080fd5b50805160208201516040830151606090930151919b509950909750955060ff89161515611078576040805160e560020a62461bcd02815260206004820152603460248201527f5472756550726f66696c654c6f6769633a2054686973205472756550726f6f6660448201527f2077617320616c7265616479207265766f6b6564000000000000000000000000606482015290519081900360840190fd5b6006546040805160e160020a637b4490d9028152600481018e905260ff808d166024830152604482018c9052606482018b90528d1660848201529051600160a060020a039092169163f68921b29160a48082019260009290919082900301818387803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b505050505b600254851461117f576040805160e560020a62461bcd02815260206004820152602160248201527f5265706179696e673a207265656e7472616e742063616c6c206465746563746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5050505050505050505050565b600280546001019081905560035460009190829081908190819060ff161515611445575a3360009081526001602052604090205490945060ff16151561121e576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60408051600080825260208083018085528e905260ff8d1683850152606083018c9052608083018b905292516001939192849260a0808301939192601f19830192908190039091019086865af115801561127c573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff161515611345576040805160e560020a62461bcd02815260206004820152604260248201527f5472756550726f66696c654c6f6769633a205369676e6174757265206372656160448201527f746f7220686173206e6f2061636365737320746f207468697320636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6006546040805160e160020a637b4490d9028152600481018d905260ff8c166024820152604481018b9052606481018a90526000608482018190529151919850600160a060020a039092169163f68921b29160a4808301928b92919082900301818387803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b505050506113df5a859063ffffffff6118bf16565b6004549093506113f5903a63ffffffff6118a716565b915061140f610e326005548561192890919063ffffffff16565b604051909150339082156108fc029083906000818181858888f1935050505015801561143f573d6000803e3d6000fd5b50611661565b3360009081526001602052604090205460ff1615156114b0576040805160e560020a62461bcd02815260206004820152603f6024820152600080516020611a458339815191526044820152600080516020611a25833981519152606482015290519081900360840190fd5b60408051600080825260208083018085528e905260ff8d1683850152606083018c9052608083018b905292516001939192849260a0808301939192601f19830192908190039091019086865af115801561150e573d6000803e3d6000fd5b505060408051601f190151600160a060020a03168352602083019390935250016000205460ff1615156115d7576040805160e560020a62461bcd02815260206004820152604260248201527f5472756550726f66696c654c6f6769633a205369676e6174757265206372656160448201527f746f7220686173206e6f2061636365737320746f207468697320636f6e74726160648201527f6374000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6006546040805160e160020a637b4490d9028152600481018d905260ff8c166024820152604481018b9052606481018a90526000608482018190529151919850600160a060020a039092169163f68921b29160a4808301928b92919082900301818387803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050505b60025485146116e0576040805160e560020a62461bcd02815260206004820152602160248201527f5265706179696e673a207265656e7472616e742063616c6c206465746563746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50505050505050505050565b600054600160a060020a03163314611750576040805160e560020a62461bcd02815260206004820152603b6024820152600080516020611a658339815191526044820152600080516020611a85833981519152606482015290519081900360840190fd5b600160a060020a038116156108d65760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b604080517f39b2a61f00000000000000000000000000000000000000000000000000000000815260048101839052905160009130916339b2a61f9160248082019260209290919082900301818787803b1580156117e857600080fd5b505af11580156117fc573d6000803e3d6000fd5b505050506040513d602081101561181257600080fd5b505180156118a15750604080517f3a44ab560000000000000000000000000000000000000000000000000000000081526004810184905290513091633a44ab569160248083019260209291908290030181600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b50515b92915050565b60008183106118b657816118b8565b825b9392505050565b6000808383111561191a576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5050808203805b5092915050565b6000828201838110156118b8576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808315156119985760009150611921565b508282028284828115156119a857fe5b04146118b8576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd00616c6c6f77656e636520746f206163636573732074686973206d6574686f640041636365737369626c653a2054686973206164647265737320686173206e6f2041636365737369626c653a204f6e6c7920746865206f776e6572206f6620636f6e74726163742063616e2063616c6c2074686973206d6574686f640000000000a165627a7a723058201b30a915b2ad185a9adb60c5679095018692169ec5e2900f1c7ac6fbda92c7eb0029

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

000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd

-----Decoded View---------------
Arg [0] : _trueProfileStorage (address): 0xDDf251FFd75478892a721E196EACC6e38e8Ac4dd

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd


Deployed Bytecode Sourcemap

10520:3185:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4827:8;:20;4819:106;;;;;-1:-1:-1;;;;;4819:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10520:3185;13408:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13408:294:0;;;;;;;;;;;;;;;;;;;;;;;;12509:362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12509:362:0;;;;;;;;;;;;;;;;;;;;;;;12879:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12879:334:0;;;;;5511:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5511:229:0;;;;;4941:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4941:275:0;-1:-1:-1;;;;;4941:275:0;;;;;2590:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2590:159:0;-1:-1:-1;;;;;2590:159:0;;;;;1990:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1990:45:0;-1:-1:-1;;;;;1990:45:0;;;;;5408:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5408:95:0;;;;;;;;;;;;;;;;;;;;1963:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1963:20:0;;;;;;;;-1:-1:-1;;;;;1963:20:0;;;;;;;;;;;;;;5748:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5748:121:0;;;;2423:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2423:159:0;-1:-1:-1;;;;;2423:159:0;;;;;13221:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13221:179:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5877:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5877:109:0;;;;;;;5224:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5224:176:0;;;;;11639:615;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11639:615:0;;;;;;;;;11084:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11084:431:0;;;;;;;;;;;;;2757:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2757:151:0;-1:-1:-1;;;;;2757:151:0;;;;;12262:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12262:239:0;;;;;13408:294;13619:18;;:37;;;-1:-1:-1;;;;;13619:37:0;;;;;;;;;;13476:5;;;;;;;;;;-1:-1:-1;;;;;13619:18:0;;;;:31;;:37;;;;;;;;;;;;;;;13476:5;13619:18;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;13619:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13619:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;13619:37:0;;;;13408:294;-1:-1:-1;;;;;;13408:294:0:o;12509:362::-;12723:18;;:37;;;-1:-1:-1;;;;;12723:37:0;;;;;;;;;;12581:4;;;;;;;;;;-1:-1:-1;;;;;12723:18:0;;;;:31;;:37;;;;;;;;;;;;;;;12581:4;12723:18;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;12723:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12723:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;12723:37:0;;;;;;;;;;;;;;;;;12838:24;;12824:39;12838:24;;;;;;;;;;;;;;;;;;;;;;;;;12723:37;12838:24;;;;;;;12723:37;;-1:-1:-1;12723:37:0;;-1:-1:-1;12723:37:0;-1:-1:-1;12723:37:0;;-1:-1:-1;12824:13:0;;:39;:13;;12838:24;;;;;12723:37;;-1:-1:-1;;12838:24:0;;;;;;;;;;12824:39;:13;12838:24;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;12838:24:0;;;-1:-1:-1;;12838:24:0;;-1:-1:-1;;;;;12824:39:0;;;12838:24;12824:39;;;;;;-1:-1:-1;12824:39:0;-1:-1:-1;12824:39:0;;;;;12509:362;-1:-1:-1;;;;;;12509:362:0:o;12879:334::-;13089:18;;:37;;;-1:-1:-1;;;;;13089:37:0;;;;;;;;;;12947:4;;;;;;;;;;-1:-1:-1;;;;;13089:18:0;;;;:31;;:37;;;;;;;;;;;;;;;12947:4;13089:18;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;13089:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13089:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;13089:37:0;;;13182:23;;;;12879:334;-1:-1:-1;;;;;;12879:334:0:o;5511:229::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;5693:39;:25;5726:5;5693:39;:32;:39;:::i;:::-;5666:24;:66;-1:-1:-1;5511:229:0:o;4941:275::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5013:22:0;;;;;;:72;;-1:-1:-1;;;;;;5040:23:0;;;;;;:13;:23;;;;;;;;;:44;;-1:-1:-1;5079:5:0;;-1:-1:-1;;;;;5067:17:0;;;5079:5;;5067:17;5040:44;5005:150;;;;;;;-1:-1:-1;;;;;5005:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5168:40;;-1:-1:-1;;;;;5168:17:0;;;5194:4;5186:21;5168:40;;;;;;;;;5186:21;5168:17;:40;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5168:40:0;4941:275;:::o;2590:159::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2660:22:0;;;2656:86;;-1:-1:-1;;;;;2699:23:0;;2725:5;2699:23;;;:13;:23;;;;;:31;;-1:-1:-1;;2699:31:0;;;2656:86;2590:159;:::o;1990:45::-;;;;;;;;;;;;;;;:::o;5408:95::-;5484:11;;5408:95;:::o;1963:20::-;;;-1:-1:-1;;;;;1963:20:0;;:::o;5748:121::-;5837:24;;5748:121;:::o;2423:159::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2494:22:0;;;2490:85;;-1:-1:-1;;;;;2533:23:0;;;;;2559:4;2533:23;;;;;;;;:30;;-1:-1:-1;;2533:30:0;;;;;;2423:159::o;13221:179::-;13355:18;;:37;;;-1:-1:-1;;;;;13355:37:0;;;;;;;;;;13280:7;;;;;;;;-1:-1:-1;;;;;13355:18:0;;:31;;:37;;;;;;;;;;;;;;13280:7;13355:18;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;13355:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13355:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;13355:37:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;13355:37:0;;-1:-1:-1;13355:37:0;-1:-1:-1;13221:179:0;-1:-1:-1;;13221:179:0:o;5877:109::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;5950:12;:28;;-1:-1:-1;;5950:28:0;;;;;;;;;;5877:109::o;5224:176::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;5359:33;:12;5379;5359:33;:19;:33;:::i;:::-;5345:11;:47;-1:-1:-1;5224:176:0:o;11639:615::-;4026:12;:17;;4042:1;4026:17;;;;;4151:12;;11856:7;;;;;;;;;;;;;;;;4151:12;;4150:13;4147:445;;;4199:9;2316:10;2302:25;;;;:13;:25;;;;;;4180:28;;-1:-1:-1;2302:25:0;;2294:101;;;;;;;-1:-1:-1;;;;;2294:101:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;;;;;;;;;;;;11754:24;;;;;11746:97;;;;;-1:-1:-1;;;;;11746:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11987:18;;:37;;;-1:-1:-1;;;;;11987:37:0;;;;;;;;;;-1:-1:-1;;;;;11987:18:0;;;;:31;;:37;;;;;;;;;;;;;;;:18;;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;11987:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11987:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;11987:37:0;;;;;;;;;;;;;;;;;-1:-1:-1;11987:37:0;-1:-1:-1;11987:37:0;;-1:-1:-1;11987:37:0;-1:-1:-1;12045:6:0;;;;;12037:71;;;;;-1:-1:-1;;;;;12037:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12179:18;;:67;;;-1:-1:-1;;;;;12179:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12179:18:0;;;;:31;;:67;;;;;:18;;:67;;;;;;;;:18;;:67;;;5:2:-1;;;;30:1;27;20:12;5:2;12179:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12179:67:0;;;;4257:23;4270:9;4257:8;;:23;:12;:23;:::i;:::-;4379:11;;4239:41;;-1:-1:-1;4379:31:0;;4398:11;4379:31;:18;:31;:::i;:::-;4360:50;;4443:51;4456:37;4468:24;;4456:7;:11;;:37;;;;:::i;:::-;4443:8;;:51;:12;:51;:::i;:::-;4509:28;;4425:69;;-1:-1:-1;4509:10:0;;:28;;;;;4425:69;;4509:28;;;;4425:69;4509:10;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4509:28:0;4147:445;;;2316:10;2302:25;;;;:13;:25;;;;;;;;2294:101;;;;;;;-1:-1:-1;;;;;2294:101:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;;;;;;;;;;;;11754:24;;;;;11746:97;;;;;-1:-1:-1;;;;;11746:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11987:18;;:37;;;-1:-1:-1;;;;;11987:37:0;;;;;;;;;;-1:-1:-1;;;;;11987:18:0;;;;:31;;:37;;;;;;;;;;;;;;;:18;;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;11987:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11987:37:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;11987:37:0;;;;;;;;;;;;;;;;;-1:-1:-1;11987:37:0;-1:-1:-1;11987:37:0;;-1:-1:-1;11987:37:0;-1:-1:-1;12045:6:0;;;;;12037:71;;;;;-1:-1:-1;;;;;12037:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12179:18;;:67;;;-1:-1:-1;;;;;12179:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12179:18:0;;;;:31;;:67;;;;;:18;;:67;;;;;;;;:18;;:67;;;5:2:-1;;;;30:1;27;20:12;5:2;12179:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12179:67:0;;;;4147:445;4714:12;;4698:28;;4690:74;;;;;-1:-1:-1;;;;;4690:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11639:615;;;;;;;;;;;:::o;11084:431::-;4026:12;:17;;4042:1;4026:17;;;;;4151:12;;11399:24;;4026:17;11399:24;;;;;;;;4151:12;;4150:13;4147:445;;;4199:9;2316:10;2302:25;;;;:13;:25;;;;;;4180:28;;-1:-1:-1;2302:25:0;;2294:101;;;;;;;-1:-1:-1;;;;;2294:101:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;;;;;;;;;;;;11217:27;;;11203:42;11217:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11203:13;;:42;;:13;;11217:27;;;;;;;-1:-1:-1;;11217:27:0;;;;;;;;;;;11203:42;:13;11217:27;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11217:27:0;;;-1:-1:-1;;11217:27:0;;-1:-1:-1;;;;;11203:42:0;;;11217:27;11203:42;;;;;;-1:-1:-1;11203:42:0;-1:-1:-1;11203:42:0;;;;11195:121;;;;;;;-1:-1:-1;;;;;11195:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11438:18;;:69;;;-1:-1:-1;;;;;11438:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11426:1;11438:69;;;;;;;;11426:1;;-1:-1:-1;;;;;;11438:18:0;;;;:31;;:69;;;;;11426:1;;11438:69;;;;;;;11426:1;11438:18;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;11438:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11438:69:0;;;;4257:23;4270:9;4257:8;;:23;:12;:23;:::i;:::-;4379:11;;4239:41;;-1:-1:-1;4379:31:0;;4398:11;4379:31;:18;:31;:::i;:::-;4360:50;;4443:51;4456:37;4468:24;;4456:7;:11;;:37;;;;:::i;4443:51::-;4509:28;;4425:69;;-1:-1:-1;4509:10:0;;:28;;;;;4425:69;;4509:28;;;;4425:69;4509:10;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4509:28:0;4147:445;;;2316:10;2302:25;;;;:13;:25;;;;;;;;2294:101;;;;;;;-1:-1:-1;;;;;2294:101:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;-1:-1:-1;;;;;;;;;;;2294:101:0;;;;;;;;;;;;;;;11217:27;;;11203:42;11217:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11203:13;;:42;;:13;;11217:27;;;;;;;-1:-1:-1;;11217:27:0;;;;;;;;;;;11203:42;:13;11217:27;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11217:27:0;;;-1:-1:-1;;11217:27:0;;-1:-1:-1;;;;;11203:42:0;;;11217:27;11203:42;;;;;;-1:-1:-1;11203:42:0;-1:-1:-1;11203:42:0;;;;11195:121;;;;;;;-1:-1:-1;;;;;11195:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11438:18;;:69;;;-1:-1:-1;;;;;11438:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11426:1;11438:69;;;;;;;;11426:1;;-1:-1:-1;;;;;;11438:18:0;;;;:31;;:69;;;;;11426:1;;11438:69;;;;;;;11426:1;11438:18;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;11438:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11438:69:0;;;;4147:445;4714:12;;4698:28;;4690:74;;;;;-1:-1:-1;;;;;4690:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11084:431;;;;;;;;;;:::o;2757:151::-;2150:5;;-1:-1:-1;;;;;2150:5:0;2159:10;2150:19;2142:91;;;;;-1:-1:-1;;;;;2142:91:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;-1:-1:-1;;;;;;;;;;;2142:91:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2834:22:0;;;2830:71;;2873:5;:16;;-1:-1:-1;;;;;2873:16:0;;-1:-1:-1;;2873:16:0;;;;;;2757:151;:::o;12262:239::-;12421:36;;;;;;;;;;;;;;12325:4;;12421;;:30;;:36;;;;;;;;;;;;;;;12325:4;12421;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;12421:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12421:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12421:36:0;:72;;;;-1:-1:-1;12461:32:0;;;;;;;;;;;;;;:4;;:26;;:32;;;;;;;;;;;;;;;:4;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;12461:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12461:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12461:32:0;12421:72;12414:79;12262:239;-1:-1:-1;;12262:239:0:o;1561:109::-;1622:7;1653:1;1649;:5;:13;;1661:1;1649:13;;;1657:1;1649:13;1642:20;1561:109;-1:-1:-1;;;1561:109:0:o;835:184::-;893:7;;921:6;;;;913:49;;;;;-1:-1:-1;;;;;913:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;985:5:0;;;;835:184;;;;;;:::o;1027:181::-;1085:7;1117:5;;;1141:6;;;;1133:46;;;;;-1:-1:-1;;;;;1133:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;236:250;294:7;;318:6;;314:47;;;348:1;341:8;;;;314:47;-1:-1:-1;385:5:0;;;389:1;385;:5;409;;;;;;;;:10;401:56;;;;;-1:-1:-1;;;;;401:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://1b30a915b2ad185a9adb60c5679095018692169ec5e2900f1c7ac6fbda92c7eb

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.