Contract 0xBbA85A1EDC7d44688342bc115C132285ED97D708

 
 
Txn Hash
Method
Block
From
To
Value
0x1ead9220d9280eac516defc820da0afba63fb5e8f7b6542231a484a6cd830306Transfer120089562021-03-10 5:43:17693 days 14 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00938754180
0xb49a34934cc7d816f3f7b2f848b958b0c66b0bca3c5024f3a54ae245ee44f5dfTransfer120089512021-03-10 5:41:53693 days 14 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00668754180
0x7994be210e173489b02b5332f1ac238167a910eebc3be7580ded93feb5453107Transfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00423407114
0xf50e0460e393469922f4f9ae670ea0e90f8495172e3974ce4ad9340d2e633baaTransfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00423407114
0x2526054eabc67f0e9895f05c98592101e9f04bddc296c4db003b148729d44f9fTransfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00423407114
0xc6eb1d93fb16cec3b19686328db3194305135622912fc52515b0ea4ec5acf697Transfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00423407114
0x04570844a8a8723283b90c8fcb22efcee93258cb1fa9bbbfcd2585d2a583fb6bTransfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00415979112
0x93f7ba01cfc04e2f3498d748ca54f0203243ff1e06ac396c101721b923762160Transfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00415979112
0x680c107fc38e2469f180721753e7f774ea3c9963a8319e81831c0ebfa309f7d0Transfer108646782020-09-15 5:20:08869 days 14 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.00415979112
0x46b3cfc95f85a9dcb60b99a1f7c4b68d788af1cc302ebcdea2469aa39a9c856aTransfer108638802020-09-15 2:17:22869 days 17 hrs ago0x5a7fa1d91643e0ab90b2c84aecd0cebd47b7ab74 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0044212119
0x553de320b0ca0884bf7190af7df09d01d436c851b3e97188be7c2d2887c861ffTransfer106147452020-08-07 19:59:18907 days 23 hrs ago0x4dfa960e7c36c493b268d32051edd63d019699f7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0041712880.00000145
0xfd1dcaa7fdec608e4338274766309fab9fd71aca46032cb4ff5744ce691f858eTransfer105980592020-08-05 6:04:43910 days 13 hrs ago0x752aee5929b6dadf2c72a8625cd35148311aa10b IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0017722480
0xcf4d46d523b114ccd242ff840d8808df65fa4f85ae8745433b887c4226c549edTransfer105782192020-08-02 4:31:17913 days 15 hrs ago0x8a7cef688cf770c045d314d7c4bc8e481c21dbc8 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0027121673.00000269
0x973b73d3edcb9ffba324a9a2987f35adfb9b88862b2cb868616c74a5206c4380Transfer103992822020-07-05 12:02:29941 days 7 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0018576550
0x733c91d30aa8499cfd9a3ea20e4099655c3599255b614f09905f69ca3397796fTransfer103992092020-07-05 11:47:17941 days 8 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0026070550
0x7d63118962133e20c633f81c6dffcfc6524d8b0d575a580958a37e358d1f3474Transfer102496852020-06-12 8:12:11964 days 11 hrs agoUnicorn: Deployer IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0013003535
0xd0429ead96d6e8cda839f5c09b3125db3a497051e70e8ed21b166a6f458e3ea0Transfer102495562020-06-12 7:40:19964 days 12 hrs ago0xb3ca78aaa696f985300c586f67e19c75c2ea9a2d IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0007310433
0xaaef39540896f7846fcb1515d5e3902b5bb9167ee1ef6289299824b6cbb3e2f7Transfer101128292020-05-22 1:41:58985 days 18 hrs ago0xc680ebb73d3171f3103ec94b50207685c60600fb IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0006645930
0x854f30c89e24fc3e9c200a720162d1e24cb45ac0182bf98cf959d04121dc3c7aTransfer101102892020-05-21 16:23:27986 days 3 hrs ago0x2af2e330c4a7169fa3779bc8f3de39e6b58a040e IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0016347344.00000023
0xca712fa1e5fd1144cd1437ca2cf0e53c412ce5c53b021f4b1a7992db38a09959Transfer101084582020-05-21 9:38:19986 days 10 hrs ago0x2af2e330c4a7169fa3779bc8f3de39e6b58a040e IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0020434155.00000023
0x1a0aed4fb2574a02ef58ded6f59e14c2f3aa0554906f083e8d18631330ec1206Transfer100771122020-05-16 12:28:03991 days 7 hrs ago0x2af2e330c4a7169fa3779bc8f3de39e6b58a040e IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0012044523.10000023
0x24115feeccac35d9ba5790126dab8c5aa21a7697b8e6027c9278336f9ff12d4eTransfer100770882020-05-16 12:22:31991 days 7 hrs ago0x95464304e571f9d2b9af882174a9716e38d1df45 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0005496624.81219447
0x7961cfd58f5a69931d5362a79065d1cbf0217e00f0968a7d263f8c500bdbf96fTransfer100760312020-05-16 8:25:50991 days 11 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0015645930
0x8f6276cc0d6da96621f95d8b954fbd2e4f65d69c5afeea4222d75dc1e44020f9Transfer100760312020-05-16 8:25:50991 days 11 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0015645930
0xab6dc9cae566773a3d8b443fdf074f3fc99a5a2b64027e5314a3c93402308e7fTransfer99355532020-04-24 13:39:511013 days 6 hrs ago0xcdef4f34e5ceb46c7c55134cda34273349be65b7 IN  0xbba85a1edc7d44688342bc115c132285ed97d7080 Ether0.0011145930
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20Token

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-01-06
*/

pragma solidity ^0.5.10;

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

library ERC165Checker {
    bytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff;

    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;

    function _supportsERC165(address account) internal view returns (bool) {
        return _supportsERC165Interface(account, _INTERFACE_ID_ERC165) &&
        !_supportsERC165Interface(account, _INTERFACE_ID_INVALID);
    }

    function _supportsInterface(address account, bytes4 interfaceId) internal view returns (bool) {
        return _supportsERC165(account) &&
        _supportsERC165Interface(account, interfaceId);
    }

    function _supportsAllInterfaces(address account, bytes4[] memory interfaceIds) internal view returns (bool) {
        if (!_supportsERC165(account)) {
            return false;
        }

        for (uint256 i = 0; i < interfaceIds.length; i++) {
            if (!_supportsERC165Interface(account, interfaceIds[i])) {
                return false;
            }
        }

        return true;
    }

    function _supportsERC165Interface(address account, bytes4 interfaceId) private view returns (bool) {
        (bool success, bool result) = _callERC165SupportsInterface(account, interfaceId);

        return (success && result);
    }

    function _callERC165SupportsInterface(address account, bytes4 interfaceId)
    private
    view
    returns (bool success, bool result)
    {
        bytes memory encodedParams = abi.encodeWithSelector(_INTERFACE_ID_ERC165, interfaceId);

        // solhint-disable-next-line no-inline-assembly
        assembly {
            let encodedParams_data := add(0x20, encodedParams)
            let encodedParams_size := mload(encodedParams)

            let output := mload(0x40)    // Find empty storage location using "free memory pointer"
            mstore(output, 0x0)

            success := staticcall(
            30000,                   // 30k gas
            account,                 // To addr
            encodedParams_data,
            encodedParams_size,
            output,
            0x20                     // Outputs are 32 bytes long
            )

            result := mload(output)      // Load the result
        }
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

        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 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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

contract ERC165 is IERC165 {
    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;

    mapping(bytes4 => bool) private _supportedInterfaces;

    constructor () internal {
        // Derived contracts need only register support for their own interfaces,
        // we register support for ERC165 itself here
        _registerInterface(_INTERFACE_ID_ERC165);
    }

    function supportsInterface(bytes4 interfaceId) external view returns (bool) {
        return _supportedInterfaces[interfaceId];
    }

    function _registerInterface(bytes4 interfaceId) internal {
        require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
        _supportedInterfaces[interfaceId] = true;
    }
}

contract IERC1363 is IERC20, ERC165 {
    function transferAndCall(address to, uint256 value) public returns (bool);

    function transferAndCall(address to, uint256 value, bytes memory data) public returns (bool);

    function transferFromAndCall(address from, address to, uint256 value) public returns (bool);

    function transferFromAndCall(address from, address to, uint256 value, bytes memory data) public returns (bool);

    function approveAndCall(address spender, uint256 value) public returns (bool);

    function approveAndCall(address spender, uint256 value, bytes memory data) public returns (bool);
}

contract IERC1363Receiver {
    function onTransferReceived(address operator, address from, uint256 value, bytes memory data) public returns (bytes4); // solhint-disable-line  max-line-length
}

contract IERC1363Spender {
    function onApprovalReceived(address owner, uint256 value, bytes memory data) public returns (bytes4);
}

contract ERC1363 is ERC20, IERC1363 {
    using Address for address;

    bytes4 internal constant _INTERFACE_ID_ERC1363_TRANSFER = 0x4bbee2df;

    bytes4 internal constant _INTERFACE_ID_ERC1363_APPROVE = 0xfb9ec8ce;

    bytes4 private constant _ERC1363_RECEIVED = 0x88a7ca5c;

    bytes4 private constant _ERC1363_APPROVED = 0x7b04a2d0;

    constructor() public {
        // register the supported interfaces to conform to ERC1363 via ERC165
        _registerInterface(_INTERFACE_ID_ERC1363_TRANSFER);
        _registerInterface(_INTERFACE_ID_ERC1363_APPROVE);
    }
    function transferAndCall(address to, uint256 value) public returns (bool) {
        return transferAndCall(to, value, "");
    }
    function transferAndCall(address to, uint256 value, bytes memory data) public returns (bool) {
        require(transfer(to, value));
        require(_checkAndCallTransfer(msg.sender, to, value, data));
        return true;
    }
    function transferFromAndCall(address from, address to, uint256 value) public returns (bool) {
        return transferFromAndCall(from, to, value, "");
    }
    function transferFromAndCall(address from, address to, uint256 value, bytes memory data) public returns (bool) {
        require(transferFrom(from, to, value));
        require(_checkAndCallTransfer(from, to, value, data));
        return true;
    }
    function approveAndCall(address spender, uint256 value) public returns (bool) {
        return approveAndCall(spender, value, "");
    }
    function approveAndCall(address spender, uint256 value, bytes memory data) public returns (bool) {
        approve(spender, value);
        require(_checkAndCallApprove(spender, value, data));
        return true;
    }
    function _checkAndCallTransfer(address from, address to, uint256 value, bytes memory data) internal returns (bool) {
        if (!to.isContract()) {
            return false;
        }
        bytes4 retval = IERC1363Receiver(to).onTransferReceived(
            msg.sender, from, value, data
        );
        return (retval == _ERC1363_RECEIVED);
    }
    function _checkAndCallApprove(address spender, uint256 value, bytes memory data) internal returns (bool) {
        if (!spender.isContract()) {
            return false;
        }
        bytes4 retval = IERC1363Spender(spender).onApprovalReceived(
            msg.sender, value, data
        );
        return (retval == _ERC1363_APPROVED);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }
    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }
    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

contract MinterRole {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(msg.sender);
    }
    modifier onlyMinter() {
        require(isMinter(msg.sender), "MinterRole: caller does not have the Minter role");
        _;
    }
    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }
    function addMinter(address account) public onlyMinter {
        _addMinter(account);
    }
    function renounceMinter() public {
        _removeMinter(msg.sender);
    }
    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }
    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}

contract ERC20Mintable is ERC20, MinterRole {
    function mint(address account, uint256 amount) public onlyMinter returns (bool) {
        _mint(account, amount);
        return true;
    }
}

contract ERC20Capped is ERC20Mintable {
    uint256 private _cap;
    constructor (uint256 cap) public {
        require(cap > 0, "ERC20Capped: cap is 0");
        _cap = cap;
    }
    function cap() public view returns (uint256) {
        return _cap;
    }
    function _mint(address account, uint256 value) internal {
        require(totalSupply().add(value) <= _cap, "ERC20Capped: cap exceeded");
        super._mint(account, value);
    }
}

contract ERC20Burnable is ERC20 {
    function burn(uint256 amount) public {
        _burn(msg.sender, amount);
    }
    function burnFrom(address account, uint256 amount) public {
        _burnFrom(account, amount);
    }
}

contract Ownable {
    address private _owner;

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

    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract TokenRecover is Ownable {
    function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }
}


contract OperatorRole {
    using Roles for Roles.Role;

    event OperatorAdded(address indexed account);
    event OperatorRemoved(address indexed account);

    Roles.Role private _operators;

    constructor() internal {
        _addOperator(msg.sender);
    }
    modifier onlyOperator() {
        require(isOperator(msg.sender));
        _;
    }
    function isOperator(address account) public view returns (bool) {
        return _operators.has(account);
    }
    function addOperator(address account) public onlyOperator {
        _addOperator(account);
    }
    function renounceOperator() public {
        _removeOperator(msg.sender);
    }
    function _addOperator(address account) internal {
        _operators.add(account);
        emit OperatorAdded(account);
    }
    function _removeOperator(address account) internal {
        _operators.remove(account);
        emit OperatorRemoved(account);
    }
}

contract BaseERC20Token is ERC20Detailed, ERC20Capped, ERC20Burnable, OperatorRole, TokenRecover {
    event MintFinished();
    event TransferEnabled();
    bool private _mintingFinished = false;
    bool private _transferEnabled = false;
    modifier canMint() {
        require(!_mintingFinished);
        _;
    }
    modifier canTransfer(address from) {
        require(_transferEnabled || isOperator(from));
        _;
    }
    constructor(
        string memory name,
        string memory symbol,
        uint8 decimals,
        uint256 cap,
        uint256 initialSupply
    )
    public
    ERC20Detailed(name, symbol, decimals)
    ERC20Capped(cap)
    {
        if (initialSupply > 0) {
            _mint(owner(), initialSupply);
        }
    }
    function mintingFinished() public view returns (bool) {
        return _mintingFinished;
    }
    function transferEnabled() public view returns (bool) {
        return _transferEnabled;
    }
    function mint(address to, uint256 value) public canMint returns (bool) {
        return super.mint(to, value);
    }
    function transfer(address to, uint256 value) public canTransfer(msg.sender) returns (bool) {
        return super.transfer(to, value);
    }
    function transferFrom(address from, address to, uint256 value) public canTransfer(from) returns (bool) {
        return super.transferFrom(from, to, value);
    }
    function finishMinting() public onlyOwner canMint {
        _mintingFinished = true;

        emit MintFinished();
    }
    function enableTransfer() public onlyOwner {
        _transferEnabled = true;

        emit TransferEnabled();
    }
    function removeOperator(address account) public onlyOwner {
        _removeOperator(account);
    }
    function removeMinter(address account) public onlyOwner {
        _removeMinter(account);
    }
}

contract BaseERC1363Token is BaseERC20Token, ERC1363 {
    constructor(
        string memory name,
        string memory symbol,
        uint8 decimals,
        uint256 cap,
        uint256 initialSupply
    )
    public
    BaseERC20Token(name, symbol, decimals, cap, initialSupply)
    {} // solhint-disable-line no-empty-blocks
}

contract ERC20Token is BaseERC1363Token {
    constructor(
        string memory name,
        string memory symbol,
        uint8 decimals,
        uint256 cap,
        uint256 initialSupply,
        bool transferEnabled
    )
    public
    BaseERC1363Token(name, symbol, decimals, cap, initialSupply)
    {
        if (transferEnabled) {
            enableTransfer();
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"transferFromAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFromAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"},{"name":"cap","type":"uint256"},{"name":"initialSupply","type":"uint256"},{"name":"transferEnabled","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"TransferEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"OperatorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"OperatorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526000600960146101000a81548160ff0219169083151502179055506000600960156101000a81548160ff0219169083151502179055503480156200004757600080fd5b5060405162003ee738038062003ee7833981810160405260c08110156200006d57600080fd5b8101908080516401000000008111156200008657600080fd5b828101905060208101848111156200009d57600080fd5b8151856001820283011164010000000082111715620000bb57600080fd5b50509291906020018051640100000000811115620000d857600080fd5b82810190506020810184811115620000ef57600080fd5b81518560018202830111640100000000821117156200010d57600080fd5b505092919060200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050858585858584848484848185858582600090805190602001906200016692919062000b98565b5081600190805190602001906200017f92919062000b98565b5080600260006101000a81548160ff021916908360ff160217905550505050620001af336200039f60201b60201c565b6000811162000226576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f45524332304361707065643a206361702069732030000000000000000000000081525060200191505060405180910390fd5b80600781905550506200023f336200040060201b60201c565b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008111156200032957620003286200031b6200046160201b60201c565b826200048b60201b60201c565b5b5050505050620003466301ffc9a760e01b6200054760201b60201c565b6200035e634bbee2df60e01b6200054760201b60201c565b6200037663fb9ec8ce60e01b6200054760201b60201c565b505050505080156200039357620003926200065160201b60201c565b5b50505050505062000c47565b620003ba8160066200071d60201b62002e591790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6200041b8160086200071d60201b62002e591790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600754620004b782620004a36200080160201b60201c565b6200080b60201b62001ff21790919060201c565b11156200052c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b6200054382826200089460201b62002f341760201c565b5050565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620005e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600a6000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6200066162000a6060201b60201c565b620006d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600960156101000a81548160ff0219169083151502179055507f75fce015c314a132947a3e42f6ab79ab8e05397dabf35b4d742dea228bbadc2d60405160405180910390a1565b6200072f828262000ab860201b60201c565b15620007a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600554905090565b6000808284019050838110156200088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000954816005546200080b60201b62001ff21790919060201c565b600581905550620009b381600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200080b60201b62001ff21790919060201c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062003ec56022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000bdb57805160ff191683800117855562000c0c565b8280016001018555821562000c0c579182015b8281111562000c0b57825182559160200191906001019062000bee565b5b50905062000c1b919062000c1f565b5090565b62000c4491905b8082111562000c4057600081600090555060010162000c26565b5090565b90565b61326e8062000c576000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063715018a61161013b578063a457c2d7116100b8578063cae9ca511161007c578063cae9ca5114610d39578063d8fbe99414610e36578063dd62ed3e14610ebc578063f1b50c1d14610f34578063f2fde38b14610f3e5761023d565b8063a457c2d714610ab0578063a9059cbb14610b16578063aa271e1a14610b7c578063ac8a584a14610bd8578063c1d34b8914610c1c5761023d565b80638f32d59b116100ff5780638f32d59b1461097957806395d89b411461099b578063983b2d5614610a1e5780639865027514610a625780639870d7fe14610a6c5761023d565b8063715018a61461087f57806379cc6790146108895780637d64bcb4146108d75780638980f11f146108e15780638da5cb5b1461092f5761023d565b8063313ce567116101c957806340c10f191161018d57806340c10f191461071557806342966c681461077b5780634cd412d5146107a95780636d70f7ae146107cb57806370a08231146108275761023d565b8063313ce5671461050a5780633177029f1461052e578063355274ea1461059457806339509351146105b25780634000aea0146106185761023d565b80631296ee62116102105780631296ee62146103b257806318160ddd1461041857806323b872dd146104365780632ab6f8db146104bc5780633092afd5146104c65761023d565b806301ffc9a71461024257806305d2035b146102a757806306fdde03146102c9578063095ea7b31461034c575b600080fd5b61028d6004803603602081101561025857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610f82565b604051808215151515815260200191505060405180910390f35b6102af610fea565b604051808215151515815260200191505060405180910390f35b6102d1611001565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103115780820151818401526020810190506102f6565b50505050905090810190601f16801561033e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103986004803603604081101561036257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110a3565b604051808215151515815260200191505060405180910390f35b6103fe600480360360408110156103c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ba565b604051808215151515815260200191505060405180910390f35b6104206110de565b6040518082815260200191505060405180910390f35b6104a26004803603606081101561044c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e8565b604051808215151515815260200191505060405180910390f35b6104c4611129565b005b610508600480360360208110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611134565b005b6105126111ba565b604051808260ff1660ff16815260200191505060405180910390f35b61057a6004803603604081101561054457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d1565b604051808215151515815260200191505060405180910390f35b61059c6111f5565b6040518082815260200191505060405180910390f35b6105fe600480360360408110156105c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111ff565b604051808215151515815260200191505060405180910390f35b6106fb6004803603606081101561062e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111640100000000831117156106a957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506112a4565b604051808215151515815260200191505060405180910390f35b6107616004803603604081101561072b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d9565b604051808215151515815260200191505060405180910390f35b6107a76004803603602081101561079157600080fd5b8101908080359060200190929190505050611307565b005b6107b1611314565b604051808215151515815260200191505060405180910390f35b61080d600480360360208110156107e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061132b565b604051808215151515815260200191505060405180910390f35b6108696004803603602081101561083d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611348565b6040518082815260200191505060405180910390f35b610887611391565b005b6108d56004803603604081101561089f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114cc565b005b6108df6114da565b005b61092d600480360360408110156108f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b7565b005b6109376116ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610981611729565b604051808215151515815260200191505060405180910390f35b6109a3611781565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109e35780820151818401526020810190506109c8565b50505050905090810190601f168015610a105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a6060048036036020811015610a3457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611823565b005b610a6a61188d565b005b610aae60048036036020811015610a8257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611898565b005b610afc60048036036040811015610ac657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118b6565b604051808215151515815260200191505060405180910390f35b610b6260048036036040811015610b2c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061195b565b604051808215151515815260200191505060405180910390f35b610bbe60048036036020811015610b9257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061199a565b604051808215151515815260200191505060405180910390f35b610c1a60048036036020811015610bee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119b7565b005b610d1f60048036036080811015610c3257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610c9957600080fd5b820183602082011115610cab57600080fd5b80359060200191846001830284011164010000000083111715610ccd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a3d565b604051808215151515815260200191505060405180910390f35b610e1c60048036036060811015610d4f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610d9657600080fd5b820183602082011115610da857600080fd5b80359060200191846001830284011164010000000083111715610dca57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611a74565b604051808215151515815260200191505060405180910390f35b610ea260048036036060811015610e4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aa0565b604051808215151515815260200191505060405180910390f35b610f1e60048036036040811015610ed257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac6565b6040518082815260200191505060405180910390f35b610f3c611b4d565b005b610f8060048036036020811015610f5457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c10565b005b6000600a6000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b6000600960149054906101000a900460ff16905090565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110995780601f1061106e57610100808354040283529160200191611099565b820191906000526020600020905b81548152906001019060200180831161107c57829003601f168201915b5050505050905090565b60006110b0338484611c96565b6001905092915050565b60006110d68383604051806020016040528060008152506112a4565b905092915050565b6000600554905090565b600083600960159054906101000a900460ff168061110b575061110a8161132b565b5b61111457600080fd5b61111f858585611e8d565b9150509392505050565b61113233611f3e565b565b61113c611729565b6111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6111b781611f98565b50565b6000600260009054906101000a900460ff16905090565b60006111ed838360405180602001604052806000815250611a74565b905092915050565b6000600754905090565b600061129a338461129585600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff290919063ffffffff16565b611c96565b6001905092915050565b60006112b0848461195b565b6112b957600080fd5b6112c53385858561207a565b6112ce57600080fd5b600190509392505050565b6000600960149054906101000a900460ff16156112f557600080fd5b6112ff8383612263565b905092915050565b61131133826122d7565b50565b6000600960159054906101000a900460ff16905090565b600061134182600861247790919063ffffffff16565b9050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611399611729565b61140b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6114d68282612555565b5050565b6114e2611729565b611554576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600960149054906101000a900460ff161561156e57600080fd5b6001600960146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1565b6115bf611729565b611631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6116556116ff565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156116bf57600080fd5b505af11580156116d3573d6000803e3d6000fd5b505050506040513d60208110156116e957600080fd5b8101908080519060200190929190505050505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118195780601f106117ee57610100808354040283529160200191611819565b820191906000526020600020905b8154815290600101906020018083116117fc57829003601f168201915b5050505050905090565b61182c3361199a565b611881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061315d6030913960400191505060405180910390fd5b61188a816125fc565b50565b61189633611f98565b565b6118a13361132b565b6118aa57600080fd5b6118b381612656565b50565b6000611951338461194c85600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b090919063ffffffff16565b611c96565b6001905092915050565b600033600960159054906101000a900460ff168061197e575061197d8161132b565b5b61198757600080fd5b6119918484612739565b91505092915050565b60006119b082600661247790919063ffffffff16565b9050919050565b6119bf611729565b611a31576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611a3a81611f3e565b50565b6000611a4a8585856110e8565b611a5357600080fd5b611a5f8585858561207a565b611a6857600080fd5b60019050949350505050565b6000611a8084846110a3565b50611a8c848484612750565b611a9557600080fd5b600190509392505050565b6000611abd84848460405180602001604052806000815250611a3d565b90509392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611b55611729565b611bc7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600960156101000a81548160ff0219169083151502179055507f75fce015c314a132947a3e42f6ab79ab8e05397dabf35b4d742dea228bbadc2d60405160405180910390a1565b611c18611729565b611c8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c9381612904565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132166024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611da2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061313b6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611e9a848484612a4a565b611f338433611f2e85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b090919063ffffffff16565b611c96565b600190509392505050565b611f52816008612cea90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d60405160405180910390a250565b611fac816006612cea90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600080828401905083811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061209b8473ffffffffffffffffffffffffffffffffffffffff16612da7565b6120a8576000905061225b565b60008473ffffffffffffffffffffffffffffffffffffffff166388a7ca5c338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612183578082015181840152602081019050612168565b50505050905090810190601f1680156121b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156121d257600080fd5b505af11580156121e6573d6000803e3d6000fd5b505050506040513d60208110156121fc57600080fd5b810190808051906020019092919050505090506388a7ca5c60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600061226e3361199a565b6122c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061315d6030913960400191505060405180910390fd5b6122cd8383612dba565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561235d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131d06021913960400191505060405180910390fd5b612372816005546126b090919063ffffffff16565b6005819055506123ca81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b090919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131ae6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61255f82826122d7565b6125f882336125f384600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b090919063ffffffff16565b611c96565b5050565b612610816006612e5990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61266a816008612e5990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d60405160405180910390a250565b600082821115612728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000612746338484612a4a565b6001905092915050565b60006127718473ffffffffffffffffffffffffffffffffffffffff16612da7565b61277e57600090506128fd565b60008473ffffffffffffffffffffffffffffffffffffffff16637b04a2d03386866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561282657808201518184015260208101905061280b565b50505050905090810190601f1680156128535780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561287457600080fd5b505af1158015612888573d6000803e3d6000fd5b505050506040513d602081101561289e57600080fd5b81019080805190602001909291905050509050637b04a2d060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561298a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131156026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ad0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806131f16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130f26023913960400191505060405180910390fd5b612ba881600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b612cf48282612477565b612d49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061318d6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b600754612dd782612dc96110de565b611ff290919063ffffffff16565b1115612e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b612e558282612f34565b5050565b612e638282612477565b15612ed6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612fec81600554611ff290919063ffffffff16565b60058190555061304481600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723058200af575e67026c8b55568144283a72530ca8541b74f9b9537403fa95494aa69e864736f6c634300050a0032526f6c65733a206163636f756e7420697320746865207a65726f206164647265737300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b556e69636f726e20756e6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003554e4f0000000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b556e69636f726e20756e6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003554e4f0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Unicorn uno
Arg [1] : symbol (string): UNO
Arg [2] : decimals (uint8): 8
Arg [3] : cap (uint256): 30000000000000000
Arg [4] : initialSupply (uint256): 30000000000000000
Arg [5] : transferEnabled (bool): True

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 000000000000000000000000000000000000000000000000006a94d74f430000
Arg [4] : 000000000000000000000000000000000000000000000000006a94d74f430000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [7] : 556e69636f726e20756e6f000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 554e4f0000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

19249:404:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19249:404:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7849:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7849:135:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17788:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11957:83;;;:::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;11957:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4902:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9757:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9757:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4387:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18264:164;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18264:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16633:81;;;:::i;:::-;;18797:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18797:97:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12139:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10555:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10555:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14267:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5318:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5318:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9893:232;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9893:232:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9893:232:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9893:232: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;9893:232: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;;9893:232:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17992:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17992:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14577:81;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14577:81:0;;;;;;;;;;;;;;;;;:::i;:::-;;17890:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16410:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16410:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4484:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4484:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15340:140;;;:::i;:::-;;14664:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14664:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18434:124;;;:::i;:::-;;15877:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15877:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15045:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15242:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12046:87;;;:::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;12046:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13428:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13428:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;13526:77;;;:::i;:::-;;16529:98;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16529:98:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5530:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5530:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18116:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18116:142:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13313:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13313:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18690:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18690:101:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10295:254;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10295:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10295:254:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10295:254: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;10295:254: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;;10295:254:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10699:223;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10699:223:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10699:223:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10699:223: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;10699:223: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;;10699:223:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10131:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10131:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4762:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4762:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18564:120;;;:::i;:::-;;15486:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15486:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7849:135;7919:4;7943:20;:33;7964:11;7943:33;;;;;;;;;;;;;;;;;;;;;;;;;;;7936:40;;7849:135;;;:::o;17788:96::-;17836:4;17860:16;;;;;;;;;;;17853:23;;17788:96;:::o;11957:83::-;11994:13;12027:5;12020:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11957:83;:::o;4902:148::-;4967:4;4984:36;4993:10;5005:7;5014:5;4984:8;:36::i;:::-;5038:4;5031:11;;4902:148;;;;:::o;9757:130::-;9825:4;9849:30;9865:2;9869:5;9849:30;;;;;;;;;;;;:15;:30::i;:::-;9842:37;;9757:130;;;;:::o;4387:91::-;4431:7;4458:12;;4451:19;;4387:91;:::o;18264:164::-;18361:4;18346;17382:16;;;;;;;;;;;:36;;;;17402:16;17413:4;17402:10;:16::i;:::-;17382:36;17374:45;;;;;;18385:35;18404:4;18410:2;18414:5;18385:18;:35::i;:::-;18378:42;;18264:164;;;;;;:::o;16633:81::-;16679:27;16695:10;16679:15;:27::i;:::-;16633:81::o;18797:97::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18864:22;18878:7;18864:13;:22::i;:::-;18797:97;:::o;12139:83::-;12180:5;12205:9;;;;;;;;;;;12198:16;;12139:83;:::o;10555:138::-;10627:4;10651:34;10666:7;10675:5;10651:34;;;;;;;;;;;;:14;:34::i;:::-;10644:41;;10555:138;;;;:::o;14267:75::-;14303:7;14330:4;;14323:11;;14267:75;:::o;5318:206::-;5398:4;5415:79;5424:10;5436:7;5445:48;5482:10;5445:11;:23;5457:10;5445:23;;;;;;;;;;;;;;;:32;5469:7;5445:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;5415:8;:79::i;:::-;5512:4;5505:11;;5318:206;;;;:::o;9893:232::-;9980:4;10005:19;10014:2;10018:5;10005:8;:19::i;:::-;9997:28;;;;;;10044:50;10066:10;10078:2;10082:5;10089:4;10044:21;:50::i;:::-;10036:59;;;;;;10113:4;10106:11;;9893:232;;;;;:::o;17992:118::-;18057:4;17285:16;;;;;;;;;;;17284:17;17276:26;;;;;;18081:21;18092:2;18096:5;18081:10;:21::i;:::-;18074:28;;17992:118;;;;:::o;14577:81::-;14625:25;14631:10;14643:6;14625:5;:25::i;:::-;14577:81;:::o;17890:96::-;17938:4;17962:16;;;;;;;;;;;17955:23;;17890:96;:::o;16410:113::-;16468:4;16492:23;16507:7;16492:10;:14;;:23;;;;:::i;:::-;16485:30;;16410:113;;;:::o;4484:110::-;4541:7;4568:9;:18;4578:7;4568:18;;;;;;;;;;;;;;;;4561:25;;4484:110;;;:::o;15340:140::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15439:1;15402:40;;15423:6;;;;;;;;;;;15402:40;;;;;;;;;;;;15470:1;15453:6;;:19;;;;;;;;;;;;;;;;;;15340:140::o;14664:103::-;14733:26;14743:7;14752:6;14733:9;:26::i;:::-;14664:103;;:::o;18434:124::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17285:16;;;;;;;;;;;17284:17;17276:26;;;;;;18514:4;18495:16;;:23;;;;;;;;;;;;;;;;;;18536:14;;;;;;;;;;18434:124::o;15877:152::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15977:12;15970:29;;;16000:7;:5;:7::i;:::-;16009:11;15970:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15970:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15970:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15970:51:0;;;;;;;;;;;;;;;;;15877:152;;:::o;15045:79::-;15083:7;15110:6;;;;;;;;;;;15103:13;;15045:79;:::o;15242:92::-;15282:4;15320:6;;;;;;;;;;;15306:20;;:10;:20;;;15299:27;;15242:92;:::o;12046:87::-;12085:13;12118:7;12111:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12046:87;:::o;13428:92::-;13214:20;13223:10;13214:8;:20::i;:::-;13206:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13493:19;13504:7;13493:10;:19::i;:::-;13428:92;:::o;13526:77::-;13570:25;13584:10;13570:13;:25::i;:::-;13526:77::o;16529:98::-;16361:22;16372:10;16361;:22::i;:::-;16353:31;;;;;;16598:21;16611:7;16598:12;:21::i;:::-;16529:98;:::o;5530:216::-;5615:4;5632:84;5641:10;5653:7;5662:53;5699:15;5662:11;:23;5674:10;5662:23;;;;;;;;;;;;;;;:32;5686:7;5662:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;5632:8;:84::i;:::-;5734:4;5727:11;;5530:216;;;;:::o;18116:142::-;18201:4;18180:10;17382:16;;;;;;;;;;;:36;;;;17402:16;17413:4;17402:10;:16::i;:::-;17382:36;17374:45;;;;;;18225:25;18240:2;18244:5;18225:14;:25::i;:::-;18218:32;;18116:142;;;;;:::o;13313:109::-;13369:4;13393:21;13406:7;13393:8;:12;;:21;;;;:::i;:::-;13386:28;;13313:109;;;:::o;18690:101::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18759:24;18775:7;18759:15;:24::i;:::-;18690:101;:::o;10295:254::-;10400:4;10425:29;10438:4;10444:2;10448:5;10425:12;:29::i;:::-;10417:38;;;;;;10474:44;10496:4;10502:2;10506:5;10513:4;10474:21;:44::i;:::-;10466:53;;;;;;10537:4;10530:11;;10295:254;;;;;;:::o;10699:223::-;10790:4;10807:23;10815:7;10824:5;10807:7;:23::i;:::-;;10849:42;10870:7;10879:5;10886:4;10849:20;:42::i;:::-;10841:51;;;;;;10910:4;10903:11;;10699:223;;;;;:::o;10131:158::-;10217:4;10241:40;10261:4;10267:2;10271:5;10241:40;;;;;;;;;;;;:19;:40::i;:::-;10234:47;;10131:158;;;;;:::o;4762:134::-;4834:7;4861:11;:18;4873:5;4861:18;;;;;;;;;;;;;;;:27;4880:7;4861:27;;;;;;;;;;;;;;;;4854:34;;4762:134;;;;:::o;18564:120::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18637:4;18618:16;;:23;;;;;;;;;;;;;;;;;;18659:17;;;;;;;;;;18564:120::o;15486:109::-;15170:9;:7;:9::i;:::-;15162:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15559:28;15578:8;15559:18;:28::i;:::-;15486:109;:::o;6815:335::-;6925:1;6908:19;;:5;:19;;;;6900:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7006:1;6987:21;;:7;:21;;;;6979:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7090:5;7060:11;:18;7072:5;7060:18;;;;;;;;;;;;;;;:27;7079:7;7060:27;;;;;;;;;;;;;;;:35;;;;7127:7;7111:31;;7120:5;7111:31;;;7136:5;7111:31;;;;;;;;;;;;;;;;;;6815:335;;;:::o;5056:256::-;5145:4;5162:36;5172:6;5180:9;5191:6;5162:9;:36::i;:::-;5209:73;5218:6;5226:10;5238:43;5274:6;5238:11;:19;5250:6;5238:19;;;;;;;;;;;;;;;:31;5258:10;5238:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;5209:8;:73::i;:::-;5300:4;5293:11;;5056:256;;;;;:::o;16854:136::-;16916:26;16934:7;16916:10;:17;;:26;;;;:::i;:::-;16974:7;16958:24;;;;;;;;;;;;16854:136;:::o;13737:130::-;13797:24;13813:7;13797:8;:15;;:24;;;;:::i;:::-;13851:7;13837:22;;;;;;;;;;;;13737:130;:::o;3173:181::-;3231:7;3251:9;3267:1;3263;:5;3251:17;;3292:1;3287;:6;;3279:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3345:1;3338:8;;;3173:181;;;;:::o;10928:362::-;11037:4;11059:15;:2;:13;;;:15::i;:::-;11054:61;;11098:5;11091:12;;;;11054:61;11125:13;11158:2;11141:39;;;11195:10;11207:4;11213:5;11220:4;11141:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11141:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11141:94:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11141:94:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11141:94:0;;;;;;;;;;;;;;;;11125:110;;9440:10;11264:17;;11254:27;;;:6;:27;;;;11246:36;;;10928:362;;;;;;;:::o;13925:143::-;13999:4;13214:20;13223:10;13214:8;:20::i;:::-;13206:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14016:22;14022:7;14031:6;14016:5;:22::i;:::-;14056:4;14049:11;;13925:143;;;;:::o;6501:306::-;6595:1;6576:21;;:7;:21;;;;6568:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6663:23;6680:5;6663:12;;:16;;:23;;;;:::i;:::-;6648:12;:38;;;;6718:29;6741:5;6718:9;:18;6728:7;6718:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;6697:9;:18;6707:7;6697:18;;;;;;;;;;;;;;;:50;;;;6789:1;6763:36;;6772:7;6763:36;;;6793:5;6763:36;;;;;;;;;;;;;;;;;;6501:306;;:::o;12692:203::-;12764:4;12808:1;12789:21;;:7;:21;;;;12781:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12867:4;:11;;:20;12879:7;12867:20;;;;;;;;;;;;;;;;;;;;;;;;;12860:27;;12692:203;;;;:::o;7156:188::-;7228:22;7234:7;7243:6;7228:5;:22::i;:::-;7261:75;7270:7;7279:10;7291:44;7328:6;7291:11;:20;7303:7;7291:20;;;;;;;;;;;;;;;:32;7312:10;7291:32;;;;;;;;;;;;;;;;:36;;:44;;;;:::i;:::-;7261:8;:75::i;:::-;7156:188;;:::o;13609:122::-;13666:21;13679:7;13666:8;:12;;:21;;;;:::i;:::-;13715:7;13703:20;;;;;;;;;;;;13609:122;:::o;16720:128::-;16779:23;16794:7;16779:10;:14;;:23;;;;:::i;:::-;16832:7;16818:22;;;;;;;;;;;;16720:128;:::o;3360:184::-;3418:7;3451:1;3446;:6;;3438:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3498:9;3514:1;3510;:5;3498:17;;3535:1;3528:8;;;3360:184;;;;:::o;4600:156::-;4669:4;4686:40;4696:10;4708:9;4719:6;4686:9;:40::i;:::-;4744:4;4737:11;;4600:156;;;;:::o;11296:355::-;11395:4;11417:20;:7;:18;;;:20::i;:::-;11412:66;;11461:5;11454:12;;;;11412:66;11488:13;11520:7;11504:43;;;11562:10;11574:5;11581:4;11504:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11504:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11504:92:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11504:92:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11504:92:0;;;;;;;;;;;;;;;;11488:108;;9503:10;11625:17;;11615:27;;;:6;:27;;;;11607:36;;;11296:355;;;;;;:::o;15601:229::-;15695:1;15675:22;;:8;:22;;;;15667:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15785:8;15756:38;;15777:6;;;;;;;;;;;15756:38;;;;;;;;;;;;15814:8;15805:6;;:17;;;;;;;;;;;;;;;;;;15601:229;:::o;5752:429::-;5868:1;5850:20;;:6;:20;;;;5842:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:1;5931:23;;:9;:23;;;;5923:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6027:29;6049:6;6027:9;:17;6037:6;6027:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;6007:9;:17;6017:6;6007:17;;;;;;;;;;;;;;;:49;;;;6090:32;6115:6;6090:9;:20;6100:9;6090:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6067:9;:20;6077:9;6067:20;;;;;;;;;;;;;;;:55;;;;6155:9;6138:35;;6147:6;6138:35;;;6166:6;6138:35;;;;;;;;;;;;;;;;;;5752:429;;;:::o;12503:183::-;12583:18;12587:4;12593:7;12583:3;:18::i;:::-;12575:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12673:5;12650:4;:11;;:20;12662:7;12650:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12503:183;;:::o;51:174::-;111:4;128:12;182:7;170:20;162:28;;216:1;209:4;:8;202:15;;;51:174;;;:::o;14348:183::-;14451:4;;14423:24;14441:5;14423:13;:11;:13::i;:::-;:17;;:24;;;;:::i;:::-;:32;;14415:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14496:27;14508:7;14517:5;14496:11;:27::i;:::-;14348:183;;:::o;12319:178::-;12397:18;12401:4;12407:7;12397:3;:18::i;:::-;12396:19;12388:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12485:4;12462;:11;;:20;12474:7;12462:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12319:178;;:::o;6187:308::-;6282:1;6263:21;;:7;:21;;;;6255:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6348:24;6365:6;6348:12;;:16;;:24;;;;:::i;:::-;6333:12;:39;;;;6404:30;6427:6;6404:9;:18;6414:7;6404:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6383:9;:18;6393:7;6383:18;;;;;;;;;;;;;;;:51;;;;6471:7;6450:37;;6467:1;6450:37;;;6480:6;6450:37;;;;;;;;;;;;;;;;;;6187:308;;:::o

Swarm Source

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

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