ETH Price: $3,772.74 (+1.03%)
Gas: 4 Gwei

Contract

0xA8b919680258d369114910511cc87595aec0be6D
 
Transaction Hash
Method
Block
From
To
Value
Send199954712024-06-01 7:27:2342 mins ago1717226843IN
LUKSO: LYXe Token
0 ETH0.001551547.54394938
Approve199943812024-06-01 3:47:594 hrs ago1717213679IN
LUKSO: LYXe Token
0 ETH0.000458269.8517035
Send199930562024-05-31 23:21:118 hrs ago1717197671IN
LUKSO: LYXe Token
0 ETH0.001054455.98258107
Send199927932024-05-31 22:28:119 hrs ago1717194491IN
LUKSO: LYXe Token
0 ETH0.0022196910.54711527
Approve199927822024-05-31 22:25:599 hrs ago1717194359IN
LUKSO: LYXe Token
0 ETH0.000444589.61462771
Send199908452024-05-31 15:56:2316 hrs ago1717170983IN
LUKSO: LYXe Token
0 ETH0.0042362924.70442847
Approve199908212024-05-31 15:51:3516 hrs ago1717170695IN
LUKSO: LYXe Token
0 ETH0.0011034723.88888073
Send199894602024-05-31 11:16:5920 hrs ago1717154219IN
LUKSO: LYXe Token
0 ETH0.001566567.61701642
Send199882492024-05-31 7:13:1124 hrs ago1717139591IN
LUKSO: LYXe Token
0 ETH0.00129427.34280214
Send199878612024-05-31 5:55:2326 hrs ago1717134923IN
LUKSO: LYXe Token
0 ETH0.001925589.36209615
Send199871702024-05-31 3:36:1128 hrs ago1717126571IN
LUKSO: LYXe Token
0 ETH0.0028149813.68710281
Approve199871342024-05-31 3:28:5928 hrs ago1717126139IN
LUKSO: LYXe Token
0 ETH0.000366847.94795941
Transfer199846872024-05-30 19:17:3536 hrs ago1717096655IN
LUKSO: LYXe Token
0 ETH0.0026213435.84208962
Transfer199831202024-05-30 14:00:4742 hrs ago1717077647IN
LUKSO: LYXe Token
0 ETH0.0014848619.05233586
Approve199828882024-05-30 13:14:2342 hrs ago1717074863IN
LUKSO: LYXe Token
0 ETH0.0005832612.61396923
Approve199810602024-05-30 7:05:352 days ago1717052735IN
LUKSO: LYXe Token
0 ETH0.0007802316.87807551
Send199806352024-05-30 5:40:232 days ago1717047623IN
LUKSO: LYXe Token
0 ETH0.001680139.79792956
Transfer199803112024-05-30 4:35:232 days ago1717043723IN
LUKSO: LYXe Token
0 ETH0.000463186.33106318
Send199797552024-05-30 2:42:352 days ago1717036955IN
LUKSO: LYXe Token
0 ETH0.0019942211.62953814
Approve199797382024-05-30 2:39:112 days ago1717036751IN
LUKSO: LYXe Token
0 ETH0.000356367.70688332
Approve199788372024-05-29 23:38:112 days ago1717025891IN
LUKSO: LYXe Token
0 ETH0.0002976.43148405
Approve199784832024-05-29 22:26:352 days ago1717021595IN
LUKSO: LYXe Token
0 ETH0.0004871310.4723863
Transfer199775312024-05-29 19:15:352 days ago1717010135IN
LUKSO: LYXe Token
0 ETH0.001201316.42020118
Transfer199772802024-05-29 18:24:592 days ago1717007099IN
LUKSO: LYXe Token
0 ETH0.0007218311.86525956
Send199772622024-05-29 18:21:232 days ago1717006883IN
LUKSO: LYXe Token
0 ETH0.002578412.5375086
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
192972122024-02-24 11:41:1197 days ago1708774871
LUKSO: LYXe Token
0.00808384 ETH
171817052023-05-03 17:35:11394 days ago1683135311
LUKSO: LYXe Token
0.1277 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReversibleICOToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
petersburg EvmVersion, Apache-2.0 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/
/*
 * source        https://github.com/lukso-network/rICO-smart-contracts
 * @name       LUKSO Token
 * @author      Micky Socaci <[email protected]>, Fabian Vogelsteller <@frozeman>
 * @license     Apachae 2.0
 */

/**
 * @dev Implementation of the `IERC777` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 *
 * Support for ERC20 is included in this contract, as specified by the EIP: both
 * the ERC777 and ERC20 interfaces can be safely used when interacting with it.
 * Both `IERC777.Sent` and `IERC20.Transfer` events are emitted on token
 * movements.
 *
 * Additionally, the `granularity` value is hard-coded to `1`, meaning that there
 * are no special restrictions in the amount of tokens that created, moved, or
 * destroyed. This makes integration with ERC20 applications seamless.
 */

pragma solidity ^0.5.0;


interface IERC777 {
    
    function name() external view returns (string memory);

    
    function symbol() external view returns (string memory);

    
    function granularity() external view returns (uint256);

    
    function totalSupply() external view returns (uint256);

    
    function balanceOf(address owner) external view returns (uint256);

    
    function send(address recipient, uint256 amount, bytes calldata data) external;

    
    function burn(uint256 amount, bytes calldata data) external;

    
    function isOperatorFor(address operator, address tokenHolder) external view returns (bool);

    
    function authorizeOperator(address operator) external;

    
    function revokeOperator(address operator) external;

    
    function defaultOperators() external view returns (address[] memory);

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    
    function operatorBurn(
        address account,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    event Sent(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );

    event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData);

    event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData);

    event AuthorizedOperator(address indexed operator, address indexed tokenHolder);

    event RevokedOperator(address indexed operator, address indexed tokenHolder);
}

interface IERC777Recipient {
    
    function tokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

interface IERC777Sender {
    
    function tokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

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;
    }
}

library Address {
    
    function isContract(address account) internal view returns (bool) {
        
        
        
        
        
        
        
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }

    
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
}

interface IERC1820Registry {
    
    function setManager(address account, address newManager) external;

    
    function getManager(address account) external view returns (address);

    
    function setInterfaceImplementer(address account, bytes32 interfaceHash, address implementer) external;

    
    function getInterfaceImplementer(address account, bytes32 interfaceHash) external view returns (address);

    
    function interfaceHash(string calldata interfaceName) external pure returns (bytes32);

    
    function updateERC165Cache(address account, bytes4 interfaceId) external;

    
    function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);

    
    function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);

    event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer);

    event ManagerChanged(address indexed account, address indexed newManager);
}

contract ERC777 is IERC777, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    IERC1820Registry private _erc1820 = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);

    mapping(address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    
    

    
    bytes32 constant private TOKENS_SENDER_INTERFACE_HASH =
        0x29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895;

    
    bytes32 constant private TOKENS_RECIPIENT_INTERFACE_HASH =
        0xb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b;

    
    address[] private _defaultOperatorsArray;

    
    mapping(address => bool) private _defaultOperators;

    
    mapping(address => mapping(address => bool)) private _operators;
    mapping(address => mapping(address => bool)) private _revokedDefaultOperators;

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

    
    constructor(
        string memory name,
        string memory symbol,
        address[] memory defaultOperators
    ) public {
        _name = name;
        _symbol = symbol;

        _defaultOperatorsArray = defaultOperators;
        for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
            _defaultOperators[_defaultOperatorsArray[i]] = true;
        }

        
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC777Token"), address(this));
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC20Token"), address(this));
    }

    
    function name() public view returns (string memory) {
        return _name;
    }

    
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    
    function decimals() public pure returns (uint8) {
        return 18;
    }

    
    function granularity() public view returns (uint256) {
        return 1;
    }

    
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    
    function balanceOf(address tokenHolder) public view returns (uint256) {
        return _balances[tokenHolder];
    }

    
    function send(address recipient, uint256 amount, bytes calldata data) external {
        _send(msg.sender, msg.sender, recipient, amount, data, "", true);
    }

    
    function transfer(address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");

        address from = msg.sender;

        _callTokensToSend(from, from, recipient, amount, "", "");

        _move(from, from, recipient, amount, "", "");

        _callTokensReceived(from, from, recipient, amount, "", "", false);

        return true;
    }

    
    function burn(uint256 amount, bytes calldata data) external {
        _burn(msg.sender, msg.sender, amount, data, "");
    }

    
    function isOperatorFor(
        address operator,
        address tokenHolder
    ) public view returns (bool) {
        return operator == tokenHolder ||
            (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) ||
            _operators[tokenHolder][operator];
    }

    
    function authorizeOperator(address operator) external {
        require(msg.sender != operator, "ERC777: authorizing self as operator");

        if (_defaultOperators[operator]) {
            delete _revokedDefaultOperators[msg.sender][operator];
        } else {
            _operators[msg.sender][operator] = true;
        }

        emit AuthorizedOperator(operator, msg.sender);
    }

    
    function revokeOperator(address operator) external {
        require(operator != msg.sender, "ERC777: revoking self as operator");

        if (_defaultOperators[operator]) {
            _revokedDefaultOperators[msg.sender][operator] = true;
        } else {
            delete _operators[msg.sender][operator];
        }

        emit RevokedOperator(operator, msg.sender);
    }

    
    function defaultOperators() public view returns (address[] memory) {
        return _defaultOperatorsArray;
    }

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    )
    external
    {
        require(isOperatorFor(msg.sender, sender), "ERC777: caller is not an operator for holder");
        _send(msg.sender, sender, recipient, amount, data, operatorData, true);
    }

    
    function operatorBurn(address account, uint256 amount, bytes calldata data, bytes calldata operatorData) external {
        require(isOperatorFor(msg.sender, account), "ERC777: caller is not an operator for holder");
        _burn(msg.sender, account, amount, data, operatorData);
    }

    
    function allowance(address holder, address spender) public view returns (uint256) {
        return _allowances[holder][spender];
    }

    
    function approve(address spender, uint256 value) external returns (bool) {
        address holder = msg.sender;
        _approve(holder, spender, value);
        return true;
    }

   
    function transferFrom(address holder, address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");
        require(holder != address(0), "ERC777: transfer from the zero address");

        address spender = msg.sender;

        _callTokensToSend(spender, holder, recipient, amount, "", "");

        _move(spender, holder, recipient, amount, "", "");
        _approve(holder, spender, _allowances[holder][spender].sub(amount));

        _callTokensReceived(spender, holder, recipient, amount, "", "", false);

        return true;
    }

    
    function _mint(
        address operator,
        address account,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
    internal
    {
        require(account != address(0), "ERC777: mint to the zero address");

        
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);

        _callTokensReceived(operator, address(0), account, amount, userData, operatorData, true);

        emit Minted(operator, account, amount, userData, operatorData);
        emit Transfer(address(0), account, amount);
    }

    
    function _send(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        require(from != address(0), "ERC777: send from the zero address");
        require(to != address(0), "ERC777: send to the zero address");

        _callTokensToSend(operator, from, to, amount, userData, operatorData);

        _move(operator, from, to, amount, userData, operatorData);

        _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck);
    }

    
    function _burn(
        address operator,
        address from,
        uint256 amount,
        bytes memory data,
        bytes memory operatorData
    )
        internal
    {
        require(from != address(0), "ERC777: burn from the zero address");

        _callTokensToSend(operator, from, address(0), amount, data, operatorData);

        
        _totalSupply = _totalSupply.sub(amount);
        _balances[from] = _balances[from].sub(amount);

        emit Burned(operator, from, amount, data, operatorData);
        emit Transfer(from, address(0), amount);
    }

    function _move(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        internal
    {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);

        emit Sent(operator, from, to, amount, userData, operatorData);
        emit Transfer(from, to, amount);
    }

    function _approve(address holder, address spender, uint256 value) private {
        
        
        
        require(spender != address(0), "ERC777: approve to the zero address");

        _allowances[holder][spender] = value;
        emit Approval(holder, spender, value);
    }

    
    function _callTokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(from, TOKENS_SENDER_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);
        }
    }

    
    function _callTokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(to, TOKENS_RECIPIENT_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);
        } else if (requireReceptionAck) {
            require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient");
        }
    }
}

interface ReversibleICO {
    function getParticipantReservedTokens(address) external view returns (uint256);
}

contract ReversibleICOToken is ERC777 {

    ReversibleICO public rICO;

    bool public frozen; 
    bool public initialized; 
    
    
    address public deployingAddress;
    address public tokenGenesisAddress; 
    address public migrationAddress; 
    address public freezerAddress; 
    address public rescuerAddress; 

    
    event SetRICOaddress(address indexed rICOAddress);
    event SetMigrationAddress(address indexed migrationAddress);
    event Frozen(address indexed freezerAddress);
    event Unfrozen(address indexed freezerAddress);
    event RemovedFreezer(address indexed freezerAddress);
    event ChangedRICO(address indexed rICOAddress, address indexed rescuerAddress);


    

    constructor(
        string memory name,
        string memory symbol,
        address[] memory _defaultOperators
    )
    ERC777(name, symbol, _defaultOperators)
    public
    {
        deployingAddress = msg.sender;
    }

    
    function init(
        address _ricoAddress,
        address _freezerAddress,
        address _rescuerAddress,
        address _tokenGenesisAddress,
        uint256 _initialSupply
    )
    public
    isNotInitialized
    onlyDeployingAddress
    {
        require(_freezerAddress != address(0), "_freezerAddress cannot be 0x");
        require(_rescuerAddress != address(0), "_rescuerAddress cannot be 0x");
        require(_tokenGenesisAddress != address(0), "_tokenGenesisAddress cannot be 0x");

        tokenGenesisAddress = _tokenGenesisAddress;
        freezerAddress = _freezerAddress;
        rescuerAddress = _rescuerAddress;

        _mint(_tokenGenesisAddress, _tokenGenesisAddress, _initialSupply, "", "");

        if(_ricoAddress != address(0)) {
            rICO = ReversibleICO(_ricoAddress);
            emit SetRICOaddress(_ricoAddress);
        }

        initialized = true;
    }

    function setRICOaddress(address _ricoAddress)
    public
    onlyTokenGenesisAddress
    {
        require(address(rICO) == address(0), "rICO address already set!");
        require(_ricoAddress != address(0), "rICO address cannot be 0x.");

        rICO = ReversibleICO(_ricoAddress);
        emit SetRICOaddress(_ricoAddress);
    }

    
    function setMigrationAddress(address _migrationAddress)
    public
    onlyTokenGenesisAddress
    {
        migrationAddress = _migrationAddress;
        emit SetMigrationAddress(migrationAddress);
    }


    
    function removeFreezer()
    public
    onlyFreezerAddress
    isNotFrozen
    {
        freezerAddress = address(0);
        emit RemovedFreezer(freezerAddress);
    }

    function freeze() public onlyFreezerAddress {
        frozen = true;
        emit Frozen(freezerAddress);
    }

    function unfreeze() public onlyFreezerAddress {
        frozen = false;
        emit Unfrozen(freezerAddress);
    }

    
    function changeRICO(address _newRicoAddress)
    public
    onlyRescuerAddress
    isFrozen
    {
        rICO = ReversibleICO(_newRicoAddress);
        emit ChangedRICO(_newRicoAddress, rescuerAddress);
    }

    
    function getLockedBalance(address _owner) public view returns(uint256) {
        
        if(address(rICO) != address(0)) {
            return rICO.getParticipantReservedTokens(_owner);
        } else {
            return 0;
        }
    }

    function getUnlockedBalance(address _owner) public view returns(uint256) {
        uint256 balance = balanceOf(_owner);

        
        if(address(rICO) != address(0)) {
            uint256 locked = rICO.getParticipantReservedTokens(_owner);

            if(balance > 0 && locked > 0) {
                if(balance >= locked) {
                    return balance.sub(locked);
                } else {
                    return 0;
                }
            }
        }

        return balance;
    }


    

    
    
    function _move(
        address _operator,
        address _from,
        address _to,
        uint256 _amount,
        bytes memory _userData,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {

        
        if(
            _to == address(rICO) ||
            _to == migrationAddress
        ) {
            
            require(_amount <= balanceOf(_from), "Sending failed: Insufficient funds");

        } else {
            
            require(_amount <= getUnlockedBalance(_from), "Sending failed: Insufficient funds");
        }

        ERC777._move(_operator, _from, _to, _amount, _userData, _operatorData);
    }

    
    function _burn(
        address _operator,
        address _from,
        uint256 _amount,
        bytes memory _data,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {
        require(_amount <= getUnlockedBalance(_from), "Burning failed: Insufficient funds");
        ERC777._burn(_operator, _from, _amount, _data, _operatorData);
    }


    
    
    modifier onlyDeployingAddress() {
        require(msg.sender == deployingAddress, "Only the deployer can call this method.");
        _;
    }

    
    modifier onlyTokenGenesisAddress() {
        require(msg.sender == tokenGenesisAddress, "Only the tokenGenesisAddress can call this method.");
        _;
    }

    
    modifier onlyFreezerAddress() {
        require(msg.sender == freezerAddress, "Only the freezer address can call this method.");
        _;
    }

    
    modifier onlyRescuerAddress() {
        require(msg.sender == rescuerAddress, "Only the rescuer address can call this method.");
        _;
    }

    
    modifier isInitialized() {
        require(initialized == true, "Contract must be initialized.");
        _;
    }

    
    modifier isNotInitialized() {
        require(initialized == false, "Contract is already initialized.");
        _;
    }

    
    modifier isFrozen() {
        require(frozen == true, "Token contract not frozen.");
        _;
    }

    
    modifier isNotFrozen() {
        require(frozen == false, "Token contract is frozen!");
        _;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"_defaultOperators","type":"address[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"},{"indexed":true,"internalType":"address","name":"rescuerAddress","type":"address"}],"name":"ChangedRICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"RemovedFreezer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"migrationAddress","type":"address"}],"name":"SetMigrationAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"}],"name":"SetRICOaddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Unfrozen","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newRicoAddress","type":"address"}],"name":"changeRICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deployingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"freezerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getUnlockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"},{"internalType":"address","name":"_freezerAddress","type":"address"},{"internalType":"address","name":"_rescuerAddress","type":"address"},{"internalType":"address","name":"_tokenGenesisAddress","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rICO","outputs":[{"internalType":"contract ReversibleICO","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"removeFreezer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rescuerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_migrationAddress","type":"address"}],"name":"setMigrationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"}],"name":"setRICOaddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenGenesisAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b031916731820a4b7618bde71dce8cdc73aab6c95905fad241790553480156200003757600080fd5b50604051620033af380380620033af833981810160405260608110156200005d57600080fd5b81019080805160405193929190846401000000008211156200007e57600080fd5b9083019060208201858111156200009457600080fd5b8251640100000000811182820188101715620000af57600080fd5b82525081516020918201929091019080838360005b83811015620000de578181015183820152602001620000c4565b50505050905090810190601f1680156200010c5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013057600080fd5b9083019060208201858111156200014657600080fd5b82516401000000008111828201881017156200016157600080fd5b82525081516020918201929091019080838360005b838110156200019057818101518382015260200162000176565b50505050905090810190601f168015620001be5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001e257600080fd5b908301906020820185811115620001f857600080fd5b82518660208202830111640100000000821117156200021657600080fd5b82525081516020918201928201910280838360005b83811015620002455781810151838201526020016200022b565b5050505090500160405250505082828282600390805190602001906200026d92919062000489565b5081516200028390600490602085019062000489565b508051620002999060059060208401906200050e565b5060005b600554811015620002f95760016006600060058481548110620002bc57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016200029d565b5060008054604080517f455243373737546f6b656e0000000000000000000000000000000000000000008152815190819003600b0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b03909216926329965a1d9260648084019382900301818387803b1580156200039857600080fd5b505af1158015620003ad573d6000803e3d6000fd5b505060008054604080517f4552433230546f6b656e000000000000000000000000000000000000000000008152815190819003600a0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b0390921694506329965a1d9350606480820193929182900301818387803b1580156200045157600080fd5b505af115801562000466573d6000803e3d6000fd5b5050600b80546001600160a01b0319163317905550620005bb9650505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004cc57805160ff1916838001178555620004fc565b82800160010185558215620004fc579182015b82811115620004fc578251825591602001919060010190620004df565b506200050a92915062000574565b5090565b82805482825590600052602060002090810192821562000566579160200282015b828111156200056657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200052f565b506200050a92915062000594565b6200059191905b808211156200050a57600081556001016200057b565b90565b6200059191905b808211156200050a5780546001600160a01b03191681556001016200059b565b612de480620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): LUKSO Token
Arg [1] : symbol (string): LYXe

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [4] : 4c554b534f20546f6b656e000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4c59586500000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16836:6257:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16836:6257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;11033:115;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11033:115:0;;;;;;;;;;;;;;;;;8508:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8508:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12013:184;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12013:184:0;;;;;;;;:::i;20259:521::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20259:521:0;-1:-1:-1;;;;;20259:521:0;;:::i;:::-;;;;;;;;;;;;;;;;16943:23;;;:::i;8890:91::-;;;:::i;16986:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;16986:31:0;;;;;;;;;;;;;;17024:34;;;:::i;12210:632::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12210:632:0;;;;;;;;;;;;;;;;;:::i;8706:76::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19774:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19774:216:0;-1:-1:-1;;;;;19774:216:0;;:::i;:::-;;19110:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19110:210:0;-1:-1:-1;;;;;19110:210:0;;:::i;8796:80::-;;;:::i;16883:25::-;;;:::i;17105:29::-;;;:::i;17817:928::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;17817:928:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19519:114::-;;;:::i;11162:384::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11162:384:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11162:384:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11162:384:0;;-1:-1:-1;11162:384:0;-1:-1:-1;11162:384:0;:::i;19641:119::-;;;:::i;8995:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8995:118:0;-1:-1:-1;;;;;8995:118:0;;:::i;17066:31::-;;;:::i;17142:29::-;;;:::i;10216:399::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10216:399:0;-1:-1:-1;;;;;10216:399:0;;:::i;8605:87::-;;;:::i;9127:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9127:162:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9127:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9127:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9127:162:0;;-1:-1:-1;9127:162:0;-1:-1:-1;9127:162:0;:::i;9303:434::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9303:434:0;;;;;;;;:::i;20004:247::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20004:247:0;-1:-1:-1;;;;;20004:247:0;;:::i;19336:175::-;;;:::i;9891:311::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9891:311:0;;;;;;;;;;:::i;11863:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11863:136:0;;;;;;;;;;:::i;18753:343::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18753:343:0;-1:-1:-1;;;;;18753:343:0;;:::i;10629:390::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10629:390:0;-1:-1:-1;;;;;10629:390:0;;:::i;11560:289::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11560:289:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11560:289:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11560:289:0;;-1:-1:-1;11560:289:0;-1:-1:-1;11560:289:0;:::i;9751:126::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9751:126:0;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9751:126:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9751:126:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9751:126:0;;-1:-1:-1;9751:126:0;-1:-1:-1;9751:126:0;:::i;16917:18::-;;;-1:-1:-1;;;16917:18:0;;;;;:::o;11033:115::-;11082:16;11118:22;11111:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11111:29:0;;;;;;;;;;;;;;;;;;;;;;;11033:115;:::o;8508:83::-;8578:5;8571:12;;;;;;;;-1:-1:-1;;8571:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8545:13;;8571:12;;8578:5;;8571:12;;8578:5;8571:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8571:12:0;;8508:83;-1:-1:-1;;;;;8508:83:0:o;12013:184::-;12080:4;12114:10;12135:32;12114:10;12152:7;12161:5;12135:8;:32::i;:::-;-1:-1:-1;12185:4:0;;12013:184;-1:-1:-1;;;12013:184:0:o;20259:521::-;20323:7;20343:15;20361:17;20371:6;20361:9;:17::i;:::-;20412:4;;20343:35;;-1:-1:-1;;;;;;20412:4:0;20404:27;20401:345;;20465:4;;:41;;;-1:-1:-1;;;20465:41:0;;-1:-1:-1;;;;;20465:41:0;;;;;;;;;20448:14;;20465:4;;;;;:33;;:41;;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20465:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20465:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20465:41:0;;-1:-1:-1;20526:11:0;;;;;:25;;;20550:1;20541:6;:10;20526:25;20523:212;;;20586:6;20575:7;:17;20572:148;;20624:19;:7;20636:6;20624:19;:11;:19;:::i;:::-;20617:26;;;;;;20572:148;20699:1;20692:8;;;;;;20572:148;20401:345;;20765:7;-1:-1:-1;20259:521:0;;;;:::o;16943:23::-;;;-1:-1:-1;;;16943:23:0;;;;;:::o;8890:91::-;8961:12;;8890:91;:::o;16986:31::-;;;-1:-1:-1;;;;;16986:31:0;;:::o;17024:34::-;;;-1:-1:-1;;;;;17024:34:0;;:::o;12210:632::-;12301:4;-1:-1:-1;;;;;12326:23:0;;12318:72;;;;-1:-1:-1;;;12318:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12409:20:0;;12401:71;;;;-1:-1:-1;;;12401:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12485:15;12503:10;12485:28;;12526:61;12544:7;12553:6;12561:9;12572:6;12526:61;;;;;;;;;;;;;;;;;;;;;;;;:17;:61::i;:::-;12600:49;12606:7;12615:6;12623:9;12634:6;12600:49;;;;;;;;;;;;;;;;;;;;;;;;:5;:49::i;:::-;-1:-1:-1;;;;;12686:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;12660:67;;12669:6;;12677:7;;12686:40;;12719:6;12686:40;:32;:40;:::i;:::-;12660:8;:67::i;:::-;12740:70;12760:7;12769:6;12777:9;12788:6;12740:70;;;;;;;;;;;;;;;;;;;;;;;;12804:5;12740:19;:70::i;:::-;-1:-1:-1;12830:4:0;;12210:632;-1:-1:-1;;;;12210:632:0:o;8706:76::-;8772:2;8706:76;:::o;19774:216::-;22497:14;;-1:-1:-1;;;;;22497:14:0;22483:10;:28;22475:87;;;;-1:-1:-1;;;22475:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22904:6;;-1:-1:-1;;;22904:6:0;;;;:14;;22914:4;22904:14;22896:53;;;;;-1:-1:-1;;;22896:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19885:4;:37;;-1:-1:-1;;;;;;19885:37:0;-1:-1:-1;;;;;19885:37:0;;;;;;;;;19967:14;;19938:44;;19967:14;;;19938:44;;-1:-1:-1;;19938:44:0;19774:216;:::o;19110:210::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19223:16;:36;;-1:-1:-1;;;;;;19223:36:0;-1:-1:-1;;;;;19223:36:0;;;;;;;;;;;19275:37;;19295:16;;;19275:37;;-1:-1:-1;;19275:37:0;19110:210;:::o;8796:80::-;8867:1;8796:80;:::o;16883:25::-;;;-1:-1:-1;;;;;16883:25:0;;:::o;17105:29::-;;;-1:-1:-1;;;;;17105:29:0;;:::o;17817:928::-;22774:11;;-1:-1:-1;;;22774:11:0;;;;:20;22766:65;;;;;-1:-1:-1;;;22766:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22002:16;;-1:-1:-1;;;;;22002:16:0;21988:10;:30;21980:82;;;;-1:-1:-1;;;21980:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18093:29:0;;18085:70;;;;;-1:-1:-1;;;18085:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18174:29:0;;18166:70;;;;;-1:-1:-1;;;18166:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18255:34:0;;18247:80;;;;-1:-1:-1;;;18247:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18340:19;:42;;-1:-1:-1;;;;;18340:42:0;;;-1:-1:-1;;;;;;18340:42:0;;;;;;;18393:14;:32;;;;;;;;;;;18436:14;:32;;;;;;;;;;;;;;;18481:73;;;;;;;;;18340:19;18481:73;;;;;;;;;;;;;;;;18362:20;;;;18531:14;;18481:73;:5;:73::i;:::-;-1:-1:-1;;;;;18570:26:0;;;18567:140;;18613:4;:34;;-1:-1:-1;;;;;;18613:34:0;-1:-1:-1;;;;;18613:34:0;;;;;;;;18667:28;;;;-1:-1:-1;;18667:28:0;18567:140;-1:-1:-1;;18719:11:0;:18;;-1:-1:-1;;;;18719:18:0;-1:-1:-1;;;18719:18:0;;;-1:-1:-1;;;17817:928:0:o;19519:114::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19574:6;:13;;-1:-1:-1;;;;19574:13:0;-1:-1:-1;;;19574:13:0;;;19610:14;;19603:22;;-1:-1:-1;;;;;19610:14:0;;;;19603:22;;19574:13;;19603:22;19519:114::o;11162:384::-;11375:33;11389:10;11401:6;11375:13;:33::i;:::-;11367:90;;;;-1:-1:-1;;;11367:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11468:70;11474:10;11486:6;11494:9;11505:6;11513:4;;11468:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11468:70:0;;;;137:4:-1;11468:70:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11519:12:0;;-1:-1:-1;11519:12:0;;;;11468:70;;11519:12;;;;11468:70;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11533:4:0;;-1:-1:-1;11468:5:0;;-1:-1:-1;;11468:70:0:i;:::-;11162:384;;;;;;;:::o;19641:119::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19698:6;:14;;-1:-1:-1;;;;19698:14:0;;;19737;;19728:24;;-1:-1:-1;;;;;19737:14:0;;;;19728:24;;19707:5;;19728:24;19641:119::o;8995:118::-;-1:-1:-1;;;;;9083:22:0;9056:7;9083:22;;;:9;:22;;;;;;;8995:118::o;17066:31::-;;;-1:-1:-1;;;;;17066:31:0;;:::o;17142:29::-;;;-1:-1:-1;;;;;17142:29:0;;:::o;10216:399::-;10289:10;-1:-1:-1;;;;;10289:22:0;;;;10281:71;;;;-1:-1:-1;;;10281:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10369:27:0;;;;;;:17;:27;;;;;;;;10365:185;;;10445:10;10420:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10420:46:0;;;;;;;;;10413:53;;-1:-1:-1;;10413:53:0;;;10365:185;;;10510:10;10499:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10499:32:0;;;;;;;;;:39;;-1:-1:-1;;10499:39:0;10534:4;10499:39;;;10365:185;10567:40;;10596:10;;-1:-1:-1;;;;;10567:40:0;;;;;;;;10216:399;:::o;8605:87::-;8677:7;8670:14;;;;;;;;-1:-1:-1;;8670:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:13;;8670:14;;8677:7;;8670:14;;8677:7;8670:14;;;;;;;;;;;;;;;;;;;;;;;;9127:162;9217:64;9223:10;9235;9247:9;9258:6;9266:4;;9217:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9217:64:0;;;;;;;;;;;;;-1:-1:-1;9276:4:0;;-1:-1:-1;9217:5:0;;-1:-1:-1;9217:64:0:i;:::-;9127:162;;;;:::o;9303:434::-;9374:4;-1:-1:-1;;;;;9399:23:0;;9391:72;;;;-1:-1:-1;;;9391:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9476:12;9491:10;9476:25;;9514:56;9532:4;9538;9544:9;9555:6;9514:56;;;;;;;;;;;;;;;;;;;;;;;;:17;:56::i;:::-;9583:44;9589:4;9595;9601:9;9612:6;9583:44;;;;;;;;;;;;;;;;;;;;;;;;:5;:44::i;:::-;9640:65;9660:4;9666;9672:9;9683:6;9640:65;;;;;;;;;;;;;;;;;;;;;;;;9699:5;9640:19;:65::i;20004:247::-;20107:4;;20066:7;;-1:-1:-1;;;;;20107:4:0;20099:27;20096:148;;20150:4;;:41;;;-1:-1:-1;;;20150:41:0;;-1:-1:-1;;;;;20150:41:0;;;;;;;;;:4;;;;;:33;;:41;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20150:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20150:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20150:41:0;;-1:-1:-1;20143:48:0;;20096:148;-1:-1:-1;20231:1:0;20224:8;;19336:175;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;19430:14;:27;;-1:-1:-1;;;;;;19430:27:0;;;19473:30;;19455:1;;19473:30;;19455:1;;19473:30;19336:175::o;9891:311::-;9999:4;10035:11;-1:-1:-1;;;;;10023:23:0;:8;-1:-1:-1;;;;;10023:23:0;;:121;;;-1:-1:-1;;;;;;10064:27:0;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;10096:37:0;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;10095:48;10064:79;10023:171;;;-1:-1:-1;;;;;;10161:23:0;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;10023:171;10016:178;9891:311;-1:-1:-1;;;9891:311:0:o;11863:136::-;-1:-1:-1;;;;;11963:19:0;;;11936:7;11963:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11863:136::o;18753:343::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18872:4;;-1:-1:-1;;;;;18872:4:0;18864:27;18856:65;;;;;-1:-1:-1;;;18856:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18940:26:0;;18932:65;;;;;-1:-1:-1;;;18932:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19010:4;:34;;-1:-1:-1;;;;;;19010:34:0;-1:-1:-1;;;;;19010:34:0;;;;;;;;19060:28;;;;-1:-1:-1;;19060:28:0;18753:343;:::o;10629:390::-;-1:-1:-1;;;;;10699:22:0;;10711:10;10699:22;;10691:68;;;;-1:-1:-1;;;10691:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10776:27:0;;;;;;:17;:27;;;;;;;;10772:185;;;10845:10;10820:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10820:46:0;;;;;;;;;:53;;-1:-1:-1;;10820:53:0;10869:4;10820:53;;;10772:185;;;10924:10;10913:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10913:32:0;;;;;;;;;10906:39;;-1:-1:-1;;10906:39:0;;;10772:185;10974:37;;11000:10;;-1:-1:-1;;;;;10974:37:0;;;;;;;;10629:390;:::o;11560:289::-;11693:34;11707:10;11719:7;11693:13;:34::i;:::-;11685:91;;;;-1:-1:-1;;;11685:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11787:54;11793:10;11805:7;11814:6;11822:4;;11787:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11787:54:0;;;;137:4:-1;11787:54:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11828:12:0;;-1:-1:-1;11828:12:0;;;;11787:54;;11828:12;;;;11787:54;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11787:5:0;;-1:-1:-1;;;11787:54:0:i;:::-;11560:289;;;;;;:::o;9751:126::-;9822:47;9828:10;9840;9852:6;9860:4;;9822:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9822:47:0;;;;;;;;;;;;;-1:-1:-1;9822:5:0;;-1:-1:-1;;9822:47:0:i;:::-;9751:126;;;:::o;15212:289::-;-1:-1:-1;;;;;15335:21:0;;15327:69;;;;-1:-1:-1;;;15327:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15409:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;15461:32;;;;;;;;;;;;;;;;;15212:289;;;:::o;4352:184::-;4410:7;4443:1;4438;:6;;4430:49;;;;;-1:-1:-1;;;4430:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4502:5:0;;;4352:184::o;15515:488::-;15746:19;15768:8;;:68;;;-1:-1:-1;;;15768:68:0;;-1:-1:-1;;;;;15768:68:0;;;;;;;7299:66;15768:68;;;;;;:8;;;;;:32;;:68;;;;;;;;;;;;;;:8;:68;;;5:2:-1;;;;30:1;27;20:12;5:2;15768:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15768:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15768:68:0;;-1:-1:-1;;;;;;15851:25:0;;;15847:149;;15907:11;-1:-1:-1;;;;;15893:39:0;;15933:8;15943:4;15949:2;15953:6;15961:8;15971:12;15893:91;;;;;;;;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15893:91:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15893:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15893:91:0;;;;15515:488;;;;;;;:::o;20810:696::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21112:4;;-1:-1:-1;;;;;21097:20:0;;;21112:4;;21097:20;;:60;;-1:-1:-1;21141:16:0;;-1:-1:-1;;;;;21134:23:0;;;21141:16;;21134:23;21097:60;21080:336;;;21217:16;21227:5;21217:9;:16::i;:::-;21206:7;:27;;21198:74;;;;-1:-1:-1;;;21198:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21080:336;;;21340:25;21359:5;21340:18;:25::i;:::-;21329:7;:36;;21321:83;;;;-1:-1:-1;;;21321:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21428:70;21441:9;21452:5;21459:3;21464:7;21473:9;21484:13;21428:12;:70::i;16017:695::-;16285:19;16307:8;;:69;;;-1:-1:-1;;;16307:69:0;;-1:-1:-1;;;;;16307:69:0;;;;;;;7448:66;16307:69;;;;;;:8;;;;;:32;;:69;;;;;;;;;;;;;;:8;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;16307:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16307:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16307:69:0;;-1:-1:-1;;;;;;16391:25:0;;;16387:318;;16450:11;-1:-1:-1;;;;;16433:44:0;;16478:8;16488:4;16494:2;16498:6;16506:8;16516:12;16433:96;;;;;;;;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16433:96:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16433:96:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16433:96:0;;;;16387:318;;;16551:19;16547:158;;;16596:15;:2;-1:-1:-1;;;;;16596:13:0;;:15::i;:::-;16595:16;16587:106;;;;-1:-1:-1;;;16587:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16017:695;;;;;;;;:::o;12856:625::-;-1:-1:-1;;;;;13062:21:0;;13054:66;;;;;-1:-1:-1;;;13054:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13158:12;;:24;;13175:6;13158:24;:16;:24;:::i;:::-;13143:12;:39;-1:-1:-1;;;;;13214:18:0;;;;;;:9;:18;;;;;;:30;;13237:6;13214:30;:22;:30;:::i;:::-;13193:9;:18;13203:7;-1:-1:-1;;;;;13193:18:0;-1:-1:-1;;;;;13193:18:0;;;;;;;;;;;;:51;;;;13257:88;13277:8;13295:1;13299:7;13308:6;13316:8;13326:12;13340:4;13257:19;:88::i;:::-;13380:7;-1:-1:-1;;;;;13363:57:0;13370:8;-1:-1:-1;;;;;13363:57:0;;13389:6;13397:8;13407:12;13363:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13363:57:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13436:37;;;;;;;;-1:-1:-1;;;;;13436:37:0;;;13453:1;;13436:37;;;;;;;;;12856:625;;;;;:::o;13495:656::-;-1:-1:-1;;;;;13757:18:0;;13749:65;;;;-1:-1:-1;;;13749:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13833:16:0;;13825:61;;;;;-1:-1:-1;;;13825:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13899:69;13917:8;13927:4;13933:2;13937:6;13945:8;13955:12;13899:17;:69::i;:::-;13981:57;13987:8;13997:4;14003:2;14007:6;14015:8;14025:12;13981:5;:57::i;:::-;14051:92;14071:8;14081:4;14087:2;14091:6;14099:8;14109:12;14123:19;14051;:92::i;21520:395::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21771:25;21790:5;21771:18;:25::i;:::-;21760:7;:36;;21752:83;;;;-1:-1:-1;;;21752:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21846:61;21859:9;21870:5;21877:7;21886:5;21893:13;21846:12;:61::i;:::-;21520:395;;;;;:::o;14763:441::-;-1:-1:-1;;;;;15001:15:0;;;;;;:9;:15;;;;;;:27;;15021:6;15001:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;14983:15:0;;;;;;;:9;:15;;;;;;:45;;;;15055:13;;;;;;;:25;;15073:6;15055:25;:17;:25;:::i;:::-;15039:9;:13;15049:2;-1:-1:-1;;;;;15039:13:0;-1:-1:-1;;;;;15039:13:0;;;;;;;;;;;;:41;;;;15119:2;-1:-1:-1;;;;;15098:56:0;15113:4;-1:-1:-1;;;;;15098:56:0;15103:8;-1:-1:-1;;;;;15098:56:0;;15123:6;15131:8;15141:12;15098:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15098:56:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:2;-1:-1:-1;;;;;15170:26:0;15179:4;-1:-1:-1;;;;;15170:26:0;;15189:6;15170:26;;;;;;;;;;;;;;;;;;14763:441;;;;;;:::o;5245:397::-;5305:4;5551:20;;5441:66;5591:15;;;;;:42;;;5622:11;5610:8;:23;;5591:42;5583:51;5245:397;-1:-1:-1;;;;5245:397:0:o;4157:181::-;4215:7;4247:5;;;4271:6;;;;4263:46;;;;;-1:-1:-1;;;4263:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14165:590;-1:-1:-1;;;;;14368:18:0;;14360:65;;;;-1:-1:-1;;;14360:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14438:73;14456:8;14466:4;14480:1;14484:6;14492:4;14498:12;14438:17;:73::i;:::-;14549:12;;:24;;14566:6;14549:24;:16;:24;:::i;:::-;14534:12;:39;-1:-1:-1;;;;;14602:15:0;;;;;;:9;:15;;;;;;:27;;14622:6;14602:27;:19;:27;:::i;:::-;14584:9;:15;14594:4;-1:-1:-1;;;;;14584:15:0;-1:-1:-1;;;;;14584:15:0;;;;;;;;;;;;:45;;;;14664:4;-1:-1:-1;;;;;14647:50:0;14654:8;-1:-1:-1;;;;;14647:50:0;;14670:6;14678:4;14684:12;14647:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14647:50:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14713:34;;;;;;;;14736:1;;-1:-1:-1;;;;;14713:34:0;;;;;;;;;;;;14165:590;;;;;:::o

Swarm Source

bzzr://d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

LUKSO, the Blockchain for the new digital lifestyle is created by former Ethereum Developer Fabian Vogelsteller, author of ERC20 and web3.js. LUKSO is a place where the worlds of fashion, gaming, design and social media intersect.

Validator Index Block Amount
View All Withdrawals

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

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