Contract 0xe7f15597b7594e1516952001f57d022ba799b479

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x4bd151b1785d908e5fcf0f480b93f66efb7d7f7e7ff268af632953d2b78f4dc425364852020-11-25 5:59:493 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x2fffe5adc8774a37e2b2ea0255a296e56f326a9c921d9cafd9b1877802e3eaaa25362852020-11-25 5:49:4913 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x38b66c2e7b5665c0b5149aca13d594fd9660467bdc99da985013f61515ed626d25360832020-11-25 5:39:4323 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x79c283b7133fc8f9d665fe40674012d8612d756bb37c286b05e9f9b32201039b25358822020-11-25 5:29:4033 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xd4c2daf483879855181dbfb33f63f6b6489ab49f166a5c87e8d1f242f932d3e525356812020-11-25 5:19:3743 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x8c6a299271cdaf262b9b63eb8bc72ba975c15ffc1524a9b68a6dd903fda2100725354792020-11-25 5:09:3153 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xa5535176fec2d46bf380d8ec8630abb4f0a773dafd447e99829e929e786c1f4425352782020-11-25 4:59:281 hr 3 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x45c92a25c43df3ea18f106ea1250201489f5c4c8361be52e1064ca7ccd5b5acb25350772020-11-25 4:49:251 hr 13 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x93269605caeec86d4a728f5a8fe5c15373212a5c5ad302f74287cf5be0c74a9025348752020-11-25 4:39:191 hr 24 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076008
0xc5f8dca5e6b410f7b446130f1ae474d01e40f51b5a0a426e80d9aabc594664cf25346732020-11-25 4:29:111 hr 34 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xbb1a5a1946d7fa19df1f6fada56e3969d666c2ac2fcda0f4f59d028100eead9525344722020-11-25 4:19:081 hr 44 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xa356a9a9139e025c294dafe6c14096d6f3a1ff74749d585259c95a519732b32d25342702020-11-25 4:09:021 hr 54 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x90767488643adb86caf5f95971e74b225c9550639e418d0ade894fa5695d76e425340672020-11-25 3:58:532 hrs 4 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xbbb4e530d60895f198ac62c93a1b3ad2c3e7a5999d47bb521f9b7a83e61799e725338692020-11-25 3:48:592 hrs 14 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x3832dae3c514f661a4d721d0de97b4b2c6880d706ee60ed11c61acd24ef41c7125336652020-11-25 3:38:472 hrs 24 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x139b404e2d8f522d8242582a51f8a9813978cb5b58755795afd2929ba06754c425334642020-11-25 3:28:442 hrs 34 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xc7ed30a0d7bd013ce90c129ecd5595c350cb1b2cb50ac18458131ece741fcfe525332682020-11-25 3:18:362 hrs 44 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xb932031147ef1b68904417b5a86b2c490743daed8ad1639dae2a52bd1b32783e25330672020-11-25 3:08:332 hrs 54 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0xdd67a1f3b57f5846c5f90d89d672b480ff30819c30e463283465a7b93e80d7d225328652020-11-25 2:58:273 hrs 4 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x34600029f71801b2adcdae4b12b843a9ef589a11c9688f1836e20a2598144f3b25326642020-11-25 2:48:243 hrs 14 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076008
0x514b9983e84a703c814d43c364b9b6f02c85df4a3cd6f3afd5cecab94658abd325324622020-11-25 2:38:183 hrs 25 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x8bbc70a7b743e44e02993b77c33238be16cc6ce1233903d9b405c439846ca19125322602020-11-25 2:28:123 hrs 35 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x61c598ac8d4cedde895f537f8ec8a4cfa767387232d978ae05fa4db97c00fdf425320582020-11-25 2:18:063 hrs 45 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x9030ab7997bca2630ead9db78b63052af54671f6c38b8fd3b1c4ff866b964bf225318572020-11-25 2:08:033 hrs 55 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
0x6398bdd3b0847f922fb88a4118369c1a5432be4c9ffb75f9519aa2bfd14412fb25316542020-11-25 1:57:544 hrs 5 mins ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0xe7f15597b7594e1516952001f57d022ba799b4790 BNB0.00076032
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xf6bcfeed77402669d4533ad077064e1585cc6be4587723c23f5025e29528157411145252020-10-06 20:15:5549 days 9 hrs ago 0x35f5c516dd3a51cccbf3cacd3576065ef2c6b354 0xe7f15597b7594e1516952001f57d022ba799b4790 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CertiKSecurityOracle

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2020-10-07
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.5.17;



/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


contract CertiKSecurityOracle is Ownable {
  event Init(uint8 defaultScore);
  event ResultUpdate(
    address indexed target,
    bytes4 functionSignature,
    uint8 score,
    uint248 expiration
  );
  event BatchResultUpdate(uint256 length);
  event DefaultScoreChanged(uint8 score);

  struct Result {
    uint8 score;
    uint248 expiration;
  }

  // stores pushed results
  mapping(address => mapping(bytes4 => Result)) private _results;
  // score to return when we don't have results available
  uint8 public defaultScore;

  constructor() public {
    initialize();
  }

  function _getSecurityScore(address contractAddress, bytes4 functionSignature)
    internal
    view
    returns (uint8)
  {
    Result memory result = _results[contractAddress][functionSignature];

    if (result.expiration > block.timestamp) {
      return result.score;
    } else {
      return defaultScore;
    }
  }

  function getSecurityScoreBytes4(address contractAddress, bytes4 functionSignature)
    public
    view
    returns (uint8)
  {
    require(contractAddress != address(0), "address should not be 0x0");
    require(
      functionSignature != bytes4(0),
      "signature bytes4(0) was reserved for special purposes, if your function signature conflicted with this value please consider to rename the function to avoid the conflict"
    );

    return _getSecurityScore(contractAddress, functionSignature);
  }

  function getSecurityScore(
    address contractAddress,
    string memory functionSignature
  ) public view returns (uint8) {
    return
      getSecurityScoreBytes4(
        contractAddress,
        bytes4(keccak256(abi.encodePacked(functionSignature)))
      );
  }

  function getSecurityScore(address contractAddress)
    public
    view
    returns (uint8)
  {
    require(contractAddress != address(0), "address should not be 0x0");
    return _getSecurityScore(contractAddress, bytes4(0));
  }

  function getSecurityScores(
    address[] memory addresses,
    bytes4[] memory functionSignatures
  ) public view returns (uint8[] memory) {
    require(
      functionSignatures.length == addresses.length,
      "the length of addresses and functionSignatures must be the same"
    );

    uint256 len = addresses.length;

    uint8[] memory scores = new uint8[](len);

    for (uint256 i = 0; i < len; i++) {
      scores[i] = getSecurityScoreBytes4(addresses[i], functionSignatures[i]);
    }

    return scores;
  }

  function pushResult(
    address contractAddress,
    bytes4 functionSignature,
    uint8 score,
    uint248 expiration
  ) public onlyOwner {
    require(
      contractAddress != address(0),
      "contract address should not be 0x0"
    );
    _results[contractAddress][functionSignature] = Result(score, expiration);

    emit ResultUpdate(contractAddress, functionSignature, score, expiration);
  }

  function batchPushResult(
    address[] memory contractAddresses,
    bytes4[] memory functionSignatures,
    uint8[] memory scores,
    uint248[] memory expirations
  ) public onlyOwner {
    require(
      contractAddresses.length == functionSignatures.length &&
        functionSignatures.length == scores.length &&
        scores.length == expirations.length,
      "request parameters length should be exactly the same"
    );

    uint256 len = contractAddresses.length;

    for (uint256 i = 0; i < len; i++) {
      pushResult(
        contractAddresses[i],
        functionSignatures[i],
        scores[i],
        expirations[i]
      );
    }

    emit BatchResultUpdate(len);
  }

  function initialize() public onlyOwner {
    defaultScore = 128;

    emit Init(defaultScore);
  }

  function updateDefaultScore(uint8 score) public onlyOwner {
    defaultScore = score;

    emit DefaultScoreChanged(score);
  }
}

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"length","type":"uint256"}],"name":"BatchResultUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"score","type":"uint8"}],"name":"DefaultScoreChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"defaultScore","type":"uint8"}],"name":"Init","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"indexed":false,"internalType":"uint8","name":"score","type":"uint8"},{"indexed":false,"internalType":"uint248","name":"expiration","type":"uint248"}],"name":"ResultUpdate","type":"event"},{"constant":false,"inputs":[{"internalType":"address[]","name":"contractAddresses","type":"address[]"},{"internalType":"bytes4[]","name":"functionSignatures","type":"bytes4[]"},{"internalType":"uint8[]","name":"scores","type":"uint8[]"},{"internalType":"uint248[]","name":"expirations","type":"uint248[]"}],"name":"batchPushResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"defaultScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"getSecurityScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"functionSignature","type":"string"}],"name":"getSecurityScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"functionSignature","type":"bytes4"}],"name":"getSecurityScoreBytes4","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bytes4[]","name":"functionSignatures","type":"bytes4[]"}],"name":"getSecurityScores","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"internalType":"uint8","name":"score","type":"uint8"},{"internalType":"uint248","name":"expiration","type":"uint248"}],"name":"pushResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint8","name":"score","type":"uint8"}],"name":"updateDefaultScore","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600062000024620000d860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620000d2620000e060201b60201c565b62000233565b600033905090565b620000f0620001cd60201b60201c565b62000163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6080600260006101000a81548160ff021916908360ff1602179055507f3bc807d01c8f06ce44c6fd15103cf4dcd091f5b83a55f3e7d980f6781746b61c600260009054906101000a900460ff16604051808260ff1660ff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662000217620000d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6119b780620002436000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638129fc1c1161008c5780638f32d59b116100665780638f32d59b1461040657806395c9c1ef14610428578063bb06c473146105c9578063f2fde38b1461083d576100cf565b80638129fc1c146102bd5780638da5cb5b146102c75780638ec4bf8314610311576100cf565b80630bccd5e9146100d45780630e9b5d251461010557806325cecc951461012957806352c90582146101ce57806352d3824314610255578063715018a6146102b3575b600080fd5b610103600480360360208110156100ea57600080fd5b81019080803560ff169060200190929190505050610881565b005b61010d610956565b604051808260ff1660ff16815260200191505060405180910390f35b6101cc6004803603608081101561013f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803560ff16906020019092919080357effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff169060200190929190505050610969565b005b610239600480360360408110156101e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610c9b565b604051808260ff1660ff16815260200191505060405180910390f35b6102976004803603602081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dec565b604051808260ff1660ff16815260200191505060405180910390f35b6102bb610ea5565b005b6102c5610fde565b005b6102cf6110c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103ea6004803603604081101561032757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561036457600080fd5b82018360208201111561037657600080fd5b8035906020019184600183028401116401000000008311171561039857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506110eb565b604051808260ff1660ff16815260200191505060405180910390f35b61040e611170565b604051808215151515815260200191505060405180910390f35b6105726004803603604081101561043e57600080fd5b810190808035906020019064010000000081111561045b57600080fd5b82018360208201111561046d57600080fd5b8035906020019184602083028401116401000000008311171561048f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156104ef57600080fd5b82018360208201111561050157600080fd5b8035906020019184602083028401116401000000008311171561052357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506111ce565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105b557808201518184015260208101905061059a565b505050509050019250505060405180910390f35b61083b600480360360808110156105df57600080fd5b81019080803590602001906401000000008111156105fc57600080fd5b82018360208201111561060e57600080fd5b8035906020019184602083028401116401000000008311171561063057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561069057600080fd5b8201836020820111156106a257600080fd5b803590602001918460208302840111640100000000831117156106c457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561072457600080fd5b82018360208201111561073657600080fd5b8035906020019184602083028401116401000000008311171561075857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107b857600080fd5b8201836020820111156107ca57600080fd5b803590602001918460208302840111640100000000831117156107ec57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506112db565b005b61087f6004803603602081101561085357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611481565b005b610889611170565b6108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548160ff021916908360ff1602179055507f5a954041ce25e0dfe2a80164454f5ad757f4a4c19623b99322463def2ffdcf7881604051808260ff1660ff16815260200191505060405180910390a150565b600260009054906101000a900460ff1681565b610971611170565b6109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610a69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061192d6022913960400191505060405180910390fd5b60405180604001604052808360ff168152602001827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055509050508373ffffffffffffffffffffffffffffffffffffffff167f8db9550238b9e2cdc93f0cea4dbddbd101b9a74eb7524096959e8740d8e1671284848460405180847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018360ff1660ff168152602001827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a250505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616464726573732073686f756c64206e6f74206265203078300000000000000081525060200191505060405180910390fd5b600060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260a981526020018061188460a9913960c00191505060405180910390fd5b610de48383611507565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616464726573732073686f756c64206e6f74206265203078300000000000000081525060200191505060405180910390fd5b610e9e82600060e01b611507565b9050919050565b610ead611170565b610f1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fe6611170565b611058576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6080600260006101000a81548160ff021916908360ff1602179055507f3bc807d01c8f06ce44c6fd15103cf4dcd091f5b83a55f3e7d980f6781746b61c600260009054906101000a900460ff16604051808260ff1660ff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061116883836040516020018082805190602001908083835b602083106111285780518252602082019150602081019050602083039250611105565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120610c9b565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111b2611694565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6060825182511461122a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611845603f913960400191505060405180910390fd5b6000835190506060816040519080825280602002602001820160405280156112615781602001602082028038833980820191505090505b50905060008090505b828110156112cf576112a286828151811061128157fe5b602002602001015186838151811061129557fe5b6020026020010151610c9b565b8282815181106112ae57fe5b602002602001019060ff16908160ff1681525050808060010191505061126a565b50809250505092915050565b6112e3611170565b611355576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b82518451148015611367575081518351145b8015611374575080518251145b6113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061194f6034913960400191505060405180910390fd5b60008451905060008090505b81811015611442576114358682815181106113ec57fe5b602002602001015186838151811061140057fe5b602002602001015186848151811061141457fe5b602002602001015186858151811061142857fe5b6020026020010151610969565b80806001019150506113d5565b507f632cce04dd84ee52113b9a915d4749e1ecde91d2c8a45c65c00c5d2c52b3bcbb816040518082815260200191505060405180910390a15050505050565b611489611170565b6114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6115048161169c565b50565b60006115116117e0565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090504281602001517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16111561167a57806000015191505061168e565b600260009054906101000a900460ff169150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061181f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600060ff16815260200160007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373746865206c656e677468206f662061646472657373657320616e642066756e6374696f6e5369676e617475726573206d757374206265207468652073616d657369676e6174757265206279746573342830292077617320726573657276656420666f72207370656369616c20707572706f7365732c20696620796f75722066756e6374696f6e207369676e617475726520636f6e666c6963746564207769746820746869732076616c756520706c6561736520636f6e736964657220746f2072656e616d65207468652066756e6374696f6e20746f2061766f69642074686520636f6e666c696374636f6e747261637420616464726573732073686f756c64206e6f74206265203078307265717565737420706172616d6574657273206c656e6774682073686f756c642062652065786163746c79207468652073616d65a265627a7a72315820ebec3e40e5e688bf31f6312f61c06dda1b6d59954ad3fd37273b780219cdbd8364736f6c63430005110032

Deployed ByteCode Sourcemap

3611:3925:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3611:3925:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7402:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7402:131:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4135:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6150:416;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6150:416:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4558:518;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4558:518:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5364:236;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5364:236:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2863:140;;;:::i;:::-;;7294:102;;;:::i;:::-;;2052:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5082:276;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5082:276:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5082:276:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5082:276: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;5082:276: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;;5082:276:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2418:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5606:538;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5606:538:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5606:538:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5606:538:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5606:538: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;;5606:538:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5606:538:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5606:538:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5606:538: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;;5606:538: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;5606:538:0;;;;;;;;;;;;;;;;;6572:716;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6572:716:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6572:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6572:716:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6572:716: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;;6572:716:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6572:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6572:716:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6572:716: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;;6572:716:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6572:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6572:716:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6572:716: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;;6572:716:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6572:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6572:716:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6572:716: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;;6572:716:0;;;;;;;;;;;;;;;:::i;:::-;;3158:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3158:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7402:131;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7482:5;7467:12;;:20;;;;;;;;;;;;;;;;;;7501:26;7521:5;7501:26;;;;;;;;;;;;;;;;;;;;;;7402:131;:::o;4135:25::-;;;;;;;;;;;;;:::o;6150:416::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6346:1;6319:29;;:15;:29;;;;6303:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6454:25;;;;;;;;6461:5;6454:25;;;;;;6468:10;6454:25;;;;;6407:8;:25;6416:15;6407:25;;;;;;;;;;;;;;;:44;6433:17;6407:44;;;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:15;6493:67;;;6523:17;6542:5;6549:10;6493:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6150:416;;;;:::o;4558:518::-;4677:5;4729:1;4702:29;;:15;:29;;;;4694:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:1;4805:9;;4784:30;;;:17;:30;;;;;4768:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:53;5035:15;5052:17;5017;:53::i;:::-;5010:60;;4558:518;;;;:::o;5364:236::-;5451:5;5503:1;5476:29;;:15;:29;;;;5468:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5549:45;5567:15;5591:1;5584:9;;5549:17;:45::i;:::-;5542:52;;5364:236;;;:::o;2863:140::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2962:1;2925:40;;2946:6;;;;;;;;;;;2925:40;;;;;;;;;;;;2993:1;2976:6;;:19;;;;;;;;;;;;;;;;;;2863:140::o;7294:102::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7355:3;7340:12;;:18;;;;;;;;;;;;;;;;;;7372;7377:12;;;;;;;;;;;7372:18;;;;;;;;;;;;;;;;;;;;;;7294:102::o;2052:79::-;2090:7;2117:6;;;;;;;;;;;2110:13;;2052:79;:::o;5082:276::-;5202:5;5230:122;5263:15;5323:17;5306:35;;;;;;;;;;;;;;;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;;;5306:35:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5306:35:0;;;5296:46;;;;;;5230:22;:122::i;:::-;5216:136;;5082:276;;;;:::o;2418:94::-;2458:4;2498:6;;;;;;;;;;;2482:22;;:12;:10;:12::i;:::-;:22;;;2475:29;;2418:94;:::o;5606:538::-;5733:14;5801:9;:16;5772:18;:25;:45;5756:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5907:11;5921:9;:16;5907:30;;5946:21;5982:3;5970:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5970:16:0;;;;5946:40;;6000:9;6012:1;6000:13;;5995:122;6019:3;6015:1;:7;5995:122;;;6050:59;6073:9;6083:1;6073:12;;;;;;;;;;;;;;6087:18;6106:1;6087:21;;;;;;;;;;;;;;6050:22;:59::i;:::-;6038:6;6045:1;6038:9;;;;;;;;;;;;;:71;;;;;;;;;;;6024:3;;;;;;;5995:122;;;;6132:6;6125:13;;;;5606:538;;;;:::o;6572:716::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6815:18;:25;6787:17;:24;:53;:108;;;;;6882:6;:13;6853:18;:25;:42;6787:108;:156;;;;;6925:11;:18;6908:6;:13;:35;6787:156;6771:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7022:11;7036:17;:24;7022:38;;7074:9;7086:1;7074:13;;7069:178;7093:3;7089:1;:7;7069:178;;;7112:127;7133:17;7151:1;7133:20;;;;;;;;;;;;;;7164:18;7183:1;7164:21;;;;;;;;;;;;;;7196:6;7203:1;7196:9;;;;;;;;;;;;;;7216:11;7228:1;7216:14;;;;;;;;;;;;;;7112:10;:127::i;:::-;7098:3;;;;;;;7069:178;;;;7260:22;7278:3;7260:22;;;;;;;;;;;;;;;;;;2321:1;6572:716;;;;:::o;3158:109::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3231:28;3250:8;3231:18;:28::i;:::-;3158:109;:::o;4219:333::-;4335:5;4352:20;;:::i;:::-;4375:8;:25;4384:15;4375:25;;;;;;;;;;;;;;;:44;4401:17;4375:44;;;;;;;;;;;;;;;;;4352:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4452:15;4432:6;:17;;;:35;;;4428:119;;;4485:6;:12;;;4478:19;;;;;4428:119;4527:12;;;;;;;;;;;4520:19;;;4219:333;;;;;:::o;843:98::-;888:15;923:10;916:17;;843:98;:::o;3373:229::-;3467:1;3447:22;;:8;:22;;;;3439:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3557:8;3528:38;;3549:6;;;;;;;;;;;3528:38;;;;;;;;;;;;3586:8;3577:6;;:17;;;;;;;;;;;;;;;;;;3373:229;:::o;3611:3925::-;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://ebec3e40e5e688bf31f6312f61c06dda1b6d59954ad3fd37273b780219cdbd83
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.