ETH Price: $3,108.35 (+3.35%)
Gas: 13 Gwei

Token

HOMIHELP (HOMI)
 

Overview

Max Total Supply

100,000,000 HOMI

Holders

17 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$417,485.94

Circulating Supply Market Cap

$4,802.59

Other Info

Token Contract (WITH 0 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A customer support services platform that sells its services through cryptocurrency, aims to make cryptocurrency more accessible and implement decentralized features in software one by one so that users can easily understand the decentralized apps feature-wise by using in daily business tools.

Market

Volume (24H):$0.00
Market Capitalization:$4,802.59
Circulating Supply:1,150,359.00 HOMI
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HOMIHELP

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license, Audited
/**
 *Submitted for verification at Etherscan.io on 2020-04-13
*/

pragma solidity ^0.5.8;

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

        uint256 c = a * b;
        require(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0);
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

contract Ownable
{
    string constant internal ERROR_NO_HAVE_PERMISSION   = 'Reason: No have permission.';
    string constant internal ERROR_IS_STOPPED           = 'Reason: Is stopped.';
    string constant internal ERROR_ADDRESS_NOT_VALID    = 'Reason: Address is not valid.';
    string constant internal ERROR_CALLER_ALREADY_OWNER = 'Reason: Caller already is owner';
    string constant internal ERROR_NOT_PROPOSED_OWNER   = 'Reason: Not proposed owner';

    bool private stopped;
    address private _owner;
    address private proposedOwner;
    mapping(address => bool) private _allowed;

    event Stopped();
    event Started();
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event Allowed(address indexed _address);
    event RemoveAllowed(address indexed _address);

    constructor () internal
    {
        stopped = false;
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address)
    {
        return _owner;
    }

    modifier onlyOwner()
    {
        require(isOwner(), ERROR_NO_HAVE_PERMISSION);
        _;
    }

    modifier onlyAllowed()
    {
        require(isAllowed() || isOwner(), ERROR_NO_HAVE_PERMISSION);
        _;
    }

    modifier onlyWhenNotStopped()
    {
        require(!isStopped(), ERROR_IS_STOPPED);
        _;
    }

    function isOwner() public view returns (bool)
    {
        return msg.sender == _owner;
    }

    function isAllowed() public view returns (bool)
    {
        return _allowed[msg.sender];
    }

    function allow(address _target) external onlyOwner returns (bool)
    {
        _allowed[_target] = true;
        emit Allowed(_target);
        return true;
    }

    function removeAllowed(address _target) external onlyOwner returns (bool)
    {
        _allowed[_target] = false;
        emit RemoveAllowed(_target);
        return true;
    }

    function isStopped() public view returns (bool)
    {
        if(isOwner() || isAllowed())
        {
            return false;
        }
        else
        {
            return stopped;
        }
    }

    function stop() public onlyOwner
    {
        _stop();
    }

    function start() public onlyOwner
    {
        _start();
    }

    function proposeOwner(address _proposedOwner) public onlyOwner
    {
        require(msg.sender != _proposedOwner, ERROR_CALLER_ALREADY_OWNER);
        proposedOwner = _proposedOwner;
    }

    function claimOwnership() public
    {
        require(msg.sender == proposedOwner, ERROR_NOT_PROPOSED_OWNER);

        emit OwnershipTransferred(_owner, proposedOwner);

        _owner = proposedOwner;
        proposedOwner = address(0);
    }

    function _stop() internal
    {
        emit Stopped();
        stopped = true;
    }

    function _start() internal
    {
        emit Started();
        stopped = false;
    }
}

contract BaseToken is Ownable
{
    using SafeMath for uint256;

    // MARK: error message.
    string constant internal ERROR_APPROVED_BALANCE_NOT_ENOUGH = 'Reason: Approved balance is not enough.';
    string constant internal ERROR_BALANCE_NOT_ENOUGH          = 'Reason: Balance is not enough.';
    string constant internal ERROR_LOCKED                      = 'Reason: Locked.';
    string constant internal ERROR_ADDRESS_NOT_VALID           = 'Reason: Address is not valid.';
    string constant internal ERROR_ADDRESS_IS_SAME             = 'Reason: Address is same.';
    string constant internal ERROR_VALUE_NOT_VALID             = 'Reason: Value must be greater than 0.';
    string constant internal ERROR_NO_LOCKUP                   = 'Reason: There is no lockup.';
    string constant internal ERROR_DATE_TIME_NOT_VALID         = 'Reason: Datetime must grater or equals than zero.';
    string constant internal ERROR_OUT_OF_INDEX                = 'Reason: Out of index.';
    string constant internal ERROR_TIME_IS_PAST                = 'Reason: Time is past.';

    // MARK: basic token information.
    uint256 constant public decimals = 0;
    uint256 public totalSupply;

    struct Lock {
        uint256 amount;
        uint256 expiresAt;
    }

    mapping (address => uint256) public balances;
    mapping (address => mapping ( address => uint256 )) public approvals;
    mapping (address => Lock[]) public lockup;


    // MARK: events
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    event Locked(address _who,uint256 _index);
    event UnlockedAll(address _who);
    event UnlockedIndex(address _who, uint256 _index);
    event Burn(address indexed from, uint256 indexed value);

    constructor() public
    {
        balances[msg.sender] = totalSupply;
    }

    modifier transferParamsValidation(address _from, address _to, uint256 _value)
    {
        require(_from != address(0), ERROR_ADDRESS_NOT_VALID);
        require(_to != address(0), ERROR_ADDRESS_NOT_VALID);
        require(_value > 0, ERROR_VALUE_NOT_VALID);
        require(balances[_from] >= _value, ERROR_BALANCE_NOT_ENOUGH);
        require(!isLocked(_from, _value), ERROR_LOCKED);
        _;
    }

    // MARK: functions for view data
    function balanceOf(address _who) view public returns (uint256)
    {
        return balances[_who];
    }

    function lockedBalanceOf(address _who) view public returns (uint256)
    {
        require(_who != address(0), ERROR_ADDRESS_NOT_VALID);

        uint256 lockedBalance = 0;
        if(lockup[_who].length > 0)
        {
            Lock[] storage locks = lockup[_who];

            uint256 length = locks.length;
            for (uint i = 0; i < length; i++)
            {
                if (now < locks[i].expiresAt)
                {
                    lockedBalance = lockedBalance.add(locks[i].amount);
                }
            }
        }

        return lockedBalance;
    }

    function allowance(address _owner, address _spender) view external returns (uint256)
    {
        return approvals[_owner][_spender];
    }

    // true: _who can transfer token
    // false: _who can't transfer token
    function isLocked(address _who, uint256 _value) view public returns(bool)
    {
        uint256 lockedBalance = lockedBalanceOf(_who);
        uint256 balance = balanceOf(_who);

        if(lockedBalance <= 0)
        {
            return false;
        }
        else
        {
            return !(balance > lockedBalance && balance.sub(lockedBalance) >= _value);
        }
    }

    // MARK: functions for token transfer
    function transfer(address _to, uint256 _value) external onlyWhenNotStopped transferParamsValidation(msg.sender, _to, _value) returns (bool)
    {
        _transfer(msg.sender, _to, _value);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) external onlyWhenNotStopped transferParamsValidation(_from, _to, _value) returns (bool)
    {
        require(approvals[_from][msg.sender] >= _value, ERROR_APPROVED_BALANCE_NOT_ENOUGH);

        approvals[_from][msg.sender] = approvals[_from][msg.sender].sub(_value);

        _transfer(_from, _to, _value);

        return true;
    }

    function transferWithLock(address _to, uint256 _value, uint256 _time) onlyOwner transferParamsValidation(msg.sender, _to, _value) external returns (bool)
    {
        require(_time > now, ERROR_TIME_IS_PAST);

        _lock(_to, _value, _time);
        _transfer(msg.sender, _to, _value);

        return true;
    }

    // MARK: utils for transfer authentication
    function approve(address _spender, uint256 _value) external onlyWhenNotStopped returns (bool)
    {
        require(_spender != address(0), ERROR_VALUE_NOT_VALID);
        require(balances[msg.sender] >= _value, ERROR_BALANCE_NOT_ENOUGH);
        require(msg.sender != _spender, ERROR_ADDRESS_IS_SAME);

        approvals[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;
    }

    // MARK: utils for amount of token
    // Lock up token until specific date time.
    function unlock(address _who, uint256 _index) onlyOwner external returns (bool)
    {
        uint256 length = lockup[_who].length;
        require(length > _index, ERROR_OUT_OF_INDEX);

        lockup[_who][_index] = lockup[_who][length - 1];
        lockup[_who].length--;

        emit UnlockedIndex(_who, _index);

        return true;
    }

    function unlockAll(address _who) onlyOwner external returns (bool)
    {
        require(lockup[_who].length > 0, ERROR_NO_LOCKUP);

        delete lockup[_who];
        emit UnlockedAll(_who);

        return true;
    }

    function burn(uint256 _value) external
    {
        require(balances[msg.sender] >= _value, ERROR_BALANCE_NOT_ENOUGH);
        require(_value > 0, ERROR_VALUE_NOT_VALID);

        balances[msg.sender] = balances[msg.sender].sub(_value);

        totalSupply = totalSupply.sub(_value);

        emit Burn(msg.sender, _value);
    }

    // MARK: internal functions
    function _transfer(address _from, address _to, uint256 _value) internal
    {
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(_from, _to, _value);
    }

    function _lock(address _who, uint256 _value, uint256 _dateTime) onlyOwner internal
    {
        lockup[_who].push(Lock(_value, _dateTime));

        emit Locked(_who, lockup[_who].length - 1);
    }

    // destruct for only after token upgrade
    function close() onlyOwner public
    {
        selfdestruct(msg.sender);
    }
}


contract HOMIHELP is BaseToken
{
    using SafeMath for uint256;

    string constant internal ERROR_DUPLICATE_ADDRESS = 'Reason: msg.sender and receivers can not be the same.';

    // MARK: token information.
    string constant public name    = 'HOMIHELP';
    string constant public symbol  = 'HOMI';
    string constant public version = '1.0.0';

    constructor() public
    {
        totalSupply = 100000000 * (10 ** uint256(decimals));
        balances[msg.sender] = totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"lockedBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"removeAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_index","type":"uint256"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"},{"name":"_value","type":"uint256"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"approvals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockup","outputs":[{"name":"amount","type":"uint256"},{"name":"expiresAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"proposeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"unlockAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"transferWithLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"allow","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"}],"name":"UnlockedAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"UnlockedIndex","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Stopped","type":"event"},{"anonymous":false,"inputs":[],"name":"Started","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"Allowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"RemoveAllowed","type":"event"}]

608060405234801561001057600080fd5b5060008054336101009081026001600160a81b0319909216919091178083556040519190046001600160a01b031691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a33360009081526004602052604090206305f5e100600381905590556124b18061008f6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637eee288d11610104578063a7b86824116100a2578063c4f3a85311610071578063c4f3a85314610534578063dd62ed3e1461055a578063de6baccb14610588578063ff9913e8146105ba576101da565b8063a7b8682414610495578063a9059cbb146104da578063b5ed298a14610506578063be9a65551461052c576101da565b806395d89b41116100de57806395d89b411461042b57806399cca36c14610433578063a21fbc921461045f578063a32ce11e14610467576101da565b80637eee288d146103d35780638da5cb5b146103ff5780638f32d59b14610423576101da565b80633f683b6a1161017c57806354fd4d501161014b57806354fd4d501461035957806359355736146103615780636470db2f1461038757806370a08231146103ad576101da565b80633f683b6a1461032457806342966c681461032c57806343d726d6146103495780634e71e0c814610351576101da565b806318160ddd116101b857806318160ddd146102a657806323b872dd146102c057806327e235e3146102f6578063313ce5671461031c576101da565b806306fdde03146101df57806307da68f51461025c578063095ea7b314610266575b600080fd5b6101e76105e0565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610221578181015183820152602001610209565b50505050905090810190601f16801561024e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610264610607565b005b6102926004803603604081101561027c57600080fd5b506001600160a01b0381351690602001356106ca565b604080519115158252519081900360200190f35b6102ae610954565b60408051918252519081900360200190f35b610292600480360360608110156102d657600080fd5b506001600160a01b0381358116916020810135909116906040013561095a565b6102ae6004803603602081101561030c57600080fd5b50356001600160a01b0316610d70565b6102ae610d82565b610292610d87565b6102646004803603602081101561034257600080fd5b5035610db7565b610264610f22565b610264610fa1565b6101e76110a8565b6102ae6004803603602081101561037757600080fd5b50356001600160a01b03166110cc565b6102926004803603602081101561039d57600080fd5b50356001600160a01b03166111f3565b6102ae600480360360208110156103c357600080fd5b50356001600160a01b03166112bf565b610292600480360360408110156103e957600080fd5b506001600160a01b0381351690602001356112da565b6104076114fa565b604080516001600160a01b039092168252519081900360200190f35b61029261150e565b6101e7611524565b6102926004803603604081101561044957600080fd5b506001600160a01b038135169060200135611547565b61029261159d565b6102ae6004803603604081101561047d57600080fd5b506001600160a01b03813581169160200135166115b3565b6104c1600480360360408110156104ab57600080fd5b506001600160a01b0381351690602001356115d0565b6040805192835260208301919091528051918290030190f35b610292600480360360408110156104f057600080fd5b506001600160a01b038135169060200135611609565b6102646004803603602081101561051c57600080fd5b50356001600160a01b031661192d565b610264611a5b565b6102926004803603602081101561054a57600080fd5b50356001600160a01b0316611adf565b6102ae6004803603604081101561057057600080fd5b506001600160a01b0381358116916020013516611c62565b6102926004803603606081101561059e57600080fd5b506001600160a01b038135169060208101359060400135611c8d565b610292600480360360208110156105d057600080fd5b50356001600160a01b031661202a565b604051806040016040528060088152602001600160c41b670484f4d4948454c50281525081565b61060f61150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906106bf57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561068457818101518382015260200161066c565b50505050905090810190601f1680156106b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506106c86120f9565b565b60006106d4610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b217028152509061075357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060006001600160a01b0316836001600160a01b0316141560405180606001604052806025815260200161241a60259139906107d357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033600090815260046020908152604091829020548251808401909352601e835260008051602061243f8339815191529183019190915283111561085b57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601881527f526561736f6e3a20416464726573732069732073616d652e00000000000000006020820152336001600160a01b03851614156108eb57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b503360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b6000610964610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b21702815250906109e357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201528490849084906001600160a01b038416610a6457604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b038316610adf57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990610b4c57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f83398151915281525090610be957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50610bf48382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b2170281525090610c6f57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038716600090815260056020908152604080832033845282529182902054825160608101909352602780845290881115929161245f9083013990610cff57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0387166000908152600560209081526040808320338452909152902054610d34908663ffffffff61213116565b6001600160a01b0388166000908152600560209081526040808320338452909152902055610d63878787612146565b5060019695505050505050565b60046020526000908152604090205481565b600081565b6000610d9161150e565b80610d9f5750610d9f61159d565b15610dac57506000610db4565b5060005460ff165b90565b33600090815260046020908152604091829020548251808401909352601e835260008051602061243f83398151915291830191909152821115610e3e57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990610eab57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033600090815260046020526040902054610ecc908263ffffffff61213116565b33600090815260046020526040902055600354610eef908263ffffffff61213116565b600355604051819033907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca590600090a350565b610f2a61150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090610f9d57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033ff5b60015460408051808201909152601a81527f526561736f6e3a204e6f742070726f706f736564206f776e65720000000000006020820152906001600160a01b0316331461103257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50600154600080546040516001600160a01b0393841693610100909204909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001805460008054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055565b604051806040016040528060058152602001600160dc1b640312e302e30281525081565b60408051808201909152601d81526000805160206123da83398151915260208201526000906001600160a01b03831661114957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0382166000908152600660205260408120541561094e576001600160a01b0383166000908152600660205260408120805490915b818110156111ea5782818154811061119957fe5b9060005260206000209060020201600101544210156111e2576111df8382815481106111c157fe5b6000918252602090912060029091020154859063ffffffff61220016565b93505b600101611185565b50505092915050565b60006111fd61150e565b6040518060400160405280601b81526020016000805160206123fa8339815191528152509061127057604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600081815260026020526040808220805460ff19169055517f5d9380eecb09de6c59dcca531d6c3da62117987963d921ccb7db0deb8a663dac9190a2506001919050565b6001600160a01b031660009081526004602052604090205490565b60006112e461150e565b6040518060400160405280601b81526020016000805160206123fa8339815191528152509061135757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038316600090815260066020908152604091829020548251808401909352601583527f526561736f6e3a204f7574206f6620696e6465782e000000000000000000000091830191909152908382116113fb57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b03841660009081526006602052604090208054600019830190811061142457fe5b906000526020600020906002020160066000866001600160a01b03166001600160a01b03168152602001908152602001600020848154811061146257fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b03861681526006909152604090208054906114ab906000198301612360565b50604080516001600160a01b03861681526020810185905281517f657baf241b86add9803c50dcc5c1e3af63c10bf6c9e0500b0344ae29235279ca929181900390910190a15060019392505050565b60005461010090046001600160a01b031690565b60005461010090046001600160a01b0316331490565b604051806040016040528060048152602001600160e01b63484f4d490281525081565b600080611553846110cc565b90506000611560856112bf565b9050600082116115755760009250505061094e565b8181118015611593575083611590828463ffffffff61213116565b10155b159250505061094e565b3360009081526002602052604090205460ff1690565b600560209081526000928352604080842090915290825290205481565b600660205281600052604060002081815481106115e957fe5b600091825260209091206002909102018054600190910154909250905082565b6000611613610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b217028152509061169257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201523390849084908361170a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b03831661178557604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a60259139906117f257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f8339815191528152509061188f57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5061189a8382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b217028152509061191557604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50611921338787612146565b50600195945050505050565b61193561150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906119a857604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601f81527f526561736f6e3a2043616c6c657220616c7265616479206973206f776e6572006020820152336001600160a01b0383161415611a3857604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b611a6361150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611ad657604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506106c8612219565b6000611ae961150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611b5c57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600090815260066020908152604091829020548251808401909352601b83527f526561736f6e3a205468657265206973206e6f206c6f636b75702e000000000091830191909152611bfc57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0382166000908152600660205260408120611c1e91612391565b604080516001600160a01b038416815290517f500b38ce040ec2c9a2f10695ec52a72efd3b83b3366d10c8a9fb082f528b32fc9181900360200190a1506001919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000611c9761150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611d0a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da833981519152602082015233908590859083611d8257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b038316611dfd57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990611e6a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f83398151915281525090611f0757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50611f128382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b2170281525090611f8d57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601581527f526561736f6e3a2054696d6520697320706173742e0000000000000000000000602082015242861161201357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5061201f87878761224e565b610d63338888612146565b600061203461150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906120a757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600081815260026020526040808220805460ff19166001179055517f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc059190a2506001919050565b6040517f7acc84e34091ae817647a4c49116f5cc07f319078ba80f8f5fde37ea7e25cbd690600090a16000805460ff19166001179055565b60008282111561214057600080fd5b50900390565b6001600160a01b03831660009081526004602052604090205461216f908263ffffffff61213116565b6001600160a01b0380851660009081526004602052604080822093909355908416815220546121a4908263ffffffff61220016565b6001600160a01b0380841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561221257600080fd5b9392505050565b6040517fd8cea0ecd56872ff072e771658b5682ffe4de16d752947f79597d600ea56f7a990600090a16000805460ff19169055565b61225661150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906122c957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0383166000818152600660208181526040808420815180830183528881528084018881528254600181810185558489528689209351600290920290930190815590519101559385905291815291548151938452600019019183019190915280517f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd600089281900390910190a1505050565b81548183558181111561238c5760020281600202836000526020600020918201910161238c91906123b5565b505050565b50805460008255600202906000526020600020908101906123b291906123b5565b50565b610db491905b808211156123d557600080825560018201556002016123bb565b509056fe526561736f6e3a2041646472657373206973206e6f742076616c69642e000000526561736f6e3a204e6f2068617665207065726d697373696f6e2e0000000000526561736f6e3a2056616c7565206d7573742062652067726561746572207468616e20302e526561736f6e3a2042616c616e6365206973206e6f7420656e6f7567682e0000526561736f6e3a20417070726f7665642062616c616e6365206973206e6f7420656e6f7567682ea165627a7a7230582040921c8483bb64f3f3004431998f86799708206ff5c52bf02392eb41d4ea43d80029

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80637eee288d11610104578063a7b86824116100a2578063c4f3a85311610071578063c4f3a85314610534578063dd62ed3e1461055a578063de6baccb14610588578063ff9913e8146105ba576101da565b8063a7b8682414610495578063a9059cbb146104da578063b5ed298a14610506578063be9a65551461052c576101da565b806395d89b41116100de57806395d89b411461042b57806399cca36c14610433578063a21fbc921461045f578063a32ce11e14610467576101da565b80637eee288d146103d35780638da5cb5b146103ff5780638f32d59b14610423576101da565b80633f683b6a1161017c57806354fd4d501161014b57806354fd4d501461035957806359355736146103615780636470db2f1461038757806370a08231146103ad576101da565b80633f683b6a1461032457806342966c681461032c57806343d726d6146103495780634e71e0c814610351576101da565b806318160ddd116101b857806318160ddd146102a657806323b872dd146102c057806327e235e3146102f6578063313ce5671461031c576101da565b806306fdde03146101df57806307da68f51461025c578063095ea7b314610266575b600080fd5b6101e76105e0565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610221578181015183820152602001610209565b50505050905090810190601f16801561024e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610264610607565b005b6102926004803603604081101561027c57600080fd5b506001600160a01b0381351690602001356106ca565b604080519115158252519081900360200190f35b6102ae610954565b60408051918252519081900360200190f35b610292600480360360608110156102d657600080fd5b506001600160a01b0381358116916020810135909116906040013561095a565b6102ae6004803603602081101561030c57600080fd5b50356001600160a01b0316610d70565b6102ae610d82565b610292610d87565b6102646004803603602081101561034257600080fd5b5035610db7565b610264610f22565b610264610fa1565b6101e76110a8565b6102ae6004803603602081101561037757600080fd5b50356001600160a01b03166110cc565b6102926004803603602081101561039d57600080fd5b50356001600160a01b03166111f3565b6102ae600480360360208110156103c357600080fd5b50356001600160a01b03166112bf565b610292600480360360408110156103e957600080fd5b506001600160a01b0381351690602001356112da565b6104076114fa565b604080516001600160a01b039092168252519081900360200190f35b61029261150e565b6101e7611524565b6102926004803603604081101561044957600080fd5b506001600160a01b038135169060200135611547565b61029261159d565b6102ae6004803603604081101561047d57600080fd5b506001600160a01b03813581169160200135166115b3565b6104c1600480360360408110156104ab57600080fd5b506001600160a01b0381351690602001356115d0565b6040805192835260208301919091528051918290030190f35b610292600480360360408110156104f057600080fd5b506001600160a01b038135169060200135611609565b6102646004803603602081101561051c57600080fd5b50356001600160a01b031661192d565b610264611a5b565b6102926004803603602081101561054a57600080fd5b50356001600160a01b0316611adf565b6102ae6004803603604081101561057057600080fd5b506001600160a01b0381358116916020013516611c62565b6102926004803603606081101561059e57600080fd5b506001600160a01b038135169060208101359060400135611c8d565b610292600480360360208110156105d057600080fd5b50356001600160a01b031661202a565b604051806040016040528060088152602001600160c41b670484f4d4948454c50281525081565b61060f61150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906106bf57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561068457818101518382015260200161066c565b50505050905090810190601f1680156106b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506106c86120f9565b565b60006106d4610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b217028152509061075357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060006001600160a01b0316836001600160a01b0316141560405180606001604052806025815260200161241a60259139906107d357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033600090815260046020908152604091829020548251808401909352601e835260008051602061243f8339815191529183019190915283111561085b57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601881527f526561736f6e3a20416464726573732069732073616d652e00000000000000006020820152336001600160a01b03851614156108eb57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b503360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b6000610964610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b21702815250906109e357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201528490849084906001600160a01b038416610a6457604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b038316610adf57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990610b4c57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f83398151915281525090610be957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50610bf48382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b2170281525090610c6f57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038716600090815260056020908152604080832033845282529182902054825160608101909352602780845290881115929161245f9083013990610cff57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0387166000908152600560209081526040808320338452909152902054610d34908663ffffffff61213116565b6001600160a01b0388166000908152600560209081526040808320338452909152902055610d63878787612146565b5060019695505050505050565b60046020526000908152604090205481565b600081565b6000610d9161150e565b80610d9f5750610d9f61159d565b15610dac57506000610db4565b5060005460ff165b90565b33600090815260046020908152604091829020548251808401909352601e835260008051602061243f83398151915291830191909152821115610e3e57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990610eab57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033600090815260046020526040902054610ecc908263ffffffff61213116565b33600090815260046020526040902055600354610eef908263ffffffff61213116565b600355604051819033907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca590600090a350565b610f2a61150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090610f9d57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5033ff5b60015460408051808201909152601a81527f526561736f6e3a204e6f742070726f706f736564206f776e65720000000000006020820152906001600160a01b0316331461103257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50600154600080546040516001600160a01b0393841693610100909204909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001805460008054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055565b604051806040016040528060058152602001600160dc1b640312e302e30281525081565b60408051808201909152601d81526000805160206123da83398151915260208201526000906001600160a01b03831661114957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0382166000908152600660205260408120541561094e576001600160a01b0383166000908152600660205260408120805490915b818110156111ea5782818154811061119957fe5b9060005260206000209060020201600101544210156111e2576111df8382815481106111c157fe5b6000918252602090912060029091020154859063ffffffff61220016565b93505b600101611185565b50505092915050565b60006111fd61150e565b6040518060400160405280601b81526020016000805160206123fa8339815191528152509061127057604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600081815260026020526040808220805460ff19169055517f5d9380eecb09de6c59dcca531d6c3da62117987963d921ccb7db0deb8a663dac9190a2506001919050565b6001600160a01b031660009081526004602052604090205490565b60006112e461150e565b6040518060400160405280601b81526020016000805160206123fa8339815191528152509061135757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038316600090815260066020908152604091829020548251808401909352601583527f526561736f6e3a204f7574206f6620696e6465782e000000000000000000000091830191909152908382116113fb57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b03841660009081526006602052604090208054600019830190811061142457fe5b906000526020600020906002020160066000866001600160a01b03166001600160a01b03168152602001908152602001600020848154811061146257fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b03861681526006909152604090208054906114ab906000198301612360565b50604080516001600160a01b03861681526020810185905281517f657baf241b86add9803c50dcc5c1e3af63c10bf6c9e0500b0344ae29235279ca929181900390910190a15060019392505050565b60005461010090046001600160a01b031690565b60005461010090046001600160a01b0316331490565b604051806040016040528060048152602001600160e01b63484f4d490281525081565b600080611553846110cc565b90506000611560856112bf565b9050600082116115755760009250505061094e565b8181118015611593575083611590828463ffffffff61213116565b10155b159250505061094e565b3360009081526002602052604090205460ff1690565b600560209081526000928352604080842090915290825290205481565b600660205281600052604060002081815481106115e957fe5b600091825260209091206002909102018054600190910154909250905082565b6000611613610d87565b15604051806040016040528060138152602001600160691b722932b0b9b7b71d1024b99039ba37b83832b217028152509061169257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201523390849084908361170a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b03831661178557604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a60259139906117f257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f8339815191528152509061188f57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5061189a8382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b217028152509061191557604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50611921338787612146565b50600195945050505050565b61193561150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906119a857604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601f81527f526561736f6e3a2043616c6c657220616c7265616479206973206f776e6572006020820152336001600160a01b0383161415611a3857604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b611a6361150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611ad657604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506106c8612219565b6000611ae961150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611b5c57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600090815260066020908152604091829020548251808401909352601b83527f526561736f6e3a205468657265206973206e6f206c6f636b75702e000000000091830191909152611bfc57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0382166000908152600660205260408120611c1e91612391565b604080516001600160a01b038416815290517f500b38ce040ec2c9a2f10695ec52a72efd3b83b3366d10c8a9fb082f528b32fc9181900360200190a1506001919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000611c9761150e565b6040518060400160405280601b81526020016000805160206123fa83398151915281525090611d0a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da833981519152602082015233908590859083611d8257604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601d81526000805160206123da83398151915260208201526001600160a01b038316611dfd57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506000811160405180606001604052806025815260200161241a6025913990611e6a57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b508060046000856001600160a01b03166001600160a01b031681526020019081526020016000205410156040518060400160405280601e815260200160008051602061243f83398151915281525090611f0757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b50611f128382611547565b156040518060400160405280600f8152602001600160891b6e2932b0b9b7b71d102637b1b5b2b2170281525090611f8d57604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5060408051808201909152601581527f526561736f6e3a2054696d6520697320706173742e0000000000000000000000602082015242861161201357604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b5061201f87878761224e565b610d63338888612146565b600061203461150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906120a757604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b038216600081815260026020526040808220805460ff19166001179055517f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc059190a2506001919050565b6040517f7acc84e34091ae817647a4c49116f5cc07f319078ba80f8f5fde37ea7e25cbd690600090a16000805460ff19166001179055565b60008282111561214057600080fd5b50900390565b6001600160a01b03831660009081526004602052604090205461216f908263ffffffff61213116565b6001600160a01b0380851660009081526004602052604080822093909355908416815220546121a4908263ffffffff61220016565b6001600160a01b0380841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561221257600080fd5b9392505050565b6040517fd8cea0ecd56872ff072e771658b5682ffe4de16d752947f79597d600ea56f7a990600090a16000805460ff19169055565b61225661150e565b6040518060400160405280601b81526020016000805160206123fa833981519152815250906122c957604051600160e51b62461bcd02815260206004820181815283516024840152835190928392604490910191908501908083836000831561068457818101518382015260200161066c565b506001600160a01b0383166000818152600660208181526040808420815180830183528881528084018881528254600181810185558489528689209351600290920290930190815590519101559385905291815291548151938452600019019183019190915280517f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd600089281900390910190a1505050565b81548183558181111561238c5760020281600202836000526020600020918201910161238c91906123b5565b505050565b50805460008255600202906000526020600020908101906123b291906123b5565b50565b610db491905b808211156123d557600080825560018201556002016123bb565b509056fe526561736f6e3a2041646472657373206973206e6f742076616c69642e000000526561736f6e3a204e6f2068617665207065726d697373696f6e2e0000000000526561736f6e3a2056616c7565206d7573742062652067726561746572207468616e20302e526561736f6e3a2042616c616e6365206973206e6f7420656e6f7567682e0000526561736f6e3a20417070726f7665642062616c616e6365206973206e6f7420656e6f7567682ea165627a7a7230582040921c8483bb64f3f3004431998f86799708206ff5c52bf02392eb41d4ea43d80029

Deployed Bytecode Sourcemap

10883:511:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10883:511:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11105:43;;;:::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;11105:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3119:64;;;:::i;:::-;;8762:446;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8762:446:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5099:26;;;:::i;:::-;;;;;;;;;;;;;;;;7963:410;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7963:410:0;;;;;;;;;;;;;;;;;:::i;5215:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5215:44:0;-1:-1:-1;;;;;5215:44:0;;:::i;5056:36::-;;;:::i;2898:213::-;;;:::i;9905:341::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9905:341:0;;:::i;10792:82::-;;;:::i;3466:252::-;;;:::i;11201:40::-;;;:::i;6444:606::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6444:606:0;-1:-1:-1;;;;;6444:606:0;;:::i;2707:183::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2707:183:0;-1:-1:-1;;;;;2707:183:0;;:::i;6328:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6328:108:0;-1:-1:-1;;;;;6328:108:0;;:::i;9304:356::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9304:356:0;;;;;;;;:::i;1879:84::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1879:84:0;;;;;;;;;;;;;;2319:97;;;:::i;11155:39::-;;;:::i;7288:394::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7288:394:0;;;;;;;;:::i;2424:99::-;;;:::i;5266:68::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5266:68:0;;;;;;;;;;:::i;5341:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5341:41:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7733:222;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7733:222:0;;;;;;;;:::i;3265:193::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3265:193:0;-1:-1:-1;;;;;3265:193:0;;:::i;3191:66::-;;;:::i;9668:229::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9668:229:0;-1:-1:-1;;;;;9668:229:0;;:::i;7058:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7058:143:0;;;;;;;;;;:::i;8381:325::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8381:325:0;;;;;;;;;;;;;:::i;2531:168::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2531:168:0;-1:-1:-1;;;;;2531:168:0;;:::i;11105:43::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11105:43:0;;;;:::o;3119:64::-;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44: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;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:7;:5;:7::i;:::-;3119:64::o;8762:446::-;8850:4;2261:11;:9;:11::i;:::-;2260:12;2274:16;;;;;;;;;;;;;-1:-1:-1;;;;;2274:16:0;;;2252:39;;;;;-1:-1:-1;;;;;2252:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2252:39:0;;8900:1;-1:-1:-1;;;;;8880:22:0;:8;-1:-1:-1;;;;;8880:22:0;;;8904:21;;;;;;;;;;;;;;;;;8872:54;;;;;-1:-1:-1;;;;;8872:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8872:54:0;-1:-1:-1;8954:10:0;8945:20;;;;:8;:20;;;;;;;;;;8977:24;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8977:24:0;;;;;;;8945:30;-1:-1:-1;8945:30:0;8937:65;;;;-1:-1:-1;;;;;8937:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8937:65:0;-1:-1:-1;9045:21:0;;;;;;;;;;;;;;;;;9021:10;-1:-1:-1;;;;;9021:22:0;;;;9013:54;;;;-1:-1:-1;;;;;9013:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9013:54:0;-1:-1:-1;9090:10:0;9080:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;9080:31:0;;;;;;;;;;;;:40;;;9138:38;;;;;;;9080:31;;9090:10;9138:38;;;;;;;;;;;-1:-1:-1;9196:4:0;2302:1;8762:446;;;;:::o;5099:26::-;;;;:::o;7963:410::-;8111:4;2261:11;:9;:11::i;:::-;2260:12;2274:16;;;;;;;;;;;;;-1:-1:-1;;;;;2274:16:0;;;2252:39;;;;;-1:-1:-1;;;;;2252:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2252:39:0;-1:-1:-1;5994:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5994:23:0;;;;8082:5;;8089:3;;8094:6;;-1:-1:-1;;;;;5973:19:0;;5965:53;;;;-1:-1:-1;;;;;5965:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5965:53:0;-1:-1:-1;6056:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6056:23:0;;;;-1:-1:-1;;;;;6037:17:0;;6029:51;;;;-1:-1:-1;;;;;6029:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6029:51:0;;6108:1;6099:6;:10;6111:21;;;;;;;;;;;;;;;;;6091:42;;;;;-1:-1:-1;;;;;6091:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6091:42:0;;6171:6;6152:8;:15;6161:5;-1:-1:-1;;;;;6152:15:0;-1:-1:-1;;;;;6152:15:0;;;;;;;;;;;;;:25;;6179:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6179:24:0;;;6144:60;;;;;-1:-1:-1;;;;;6144:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6144:60:0;;6224:23;6233:5;6240:6;6224:8;:23::i;:::-;6223:24;6249:12;;;;;;;;;;;;;-1:-1:-1;;;;;6249:12:0;;;6215:47;;;;;-1:-1:-1;;;;;6215:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6215:47:0;-1:-1:-1;;;;;;8141:16:0;;;;;;:9;:16;;;;;;;;8158:10;8141:28;;;;;;;;;8181:33;;;;;;;;;;;;8141:38;;-1:-1:-1;8141:38:0;;8181:33;;;;;;8133:82;;;;;-1:-1:-1;;;;;8133:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8133:82:0;-1:-1:-1;;;;;;8259:16:0;;;;;;:9;:16;;;;;;;;8276:10;8259:28;;;;;;;;:40;;8292:6;8259:40;:32;:40;:::i;:::-;-1:-1:-1;;;;;8228:16:0;;;;;;:9;:16;;;;;;;;8245:10;8228:28;;;;;;;:71;8312:29;8238:5;8329:3;8334:6;8312:9;:29::i;:::-;-1:-1:-1;8361:4:0;;7963:410;-1:-1:-1;;;;;;7963:410:0:o;5215:44::-;;;;;;;;;;;;;:::o;5056:36::-;5091:1;5056:36;:::o;2898:213::-;2940:4;2965:9;:7;:9::i;:::-;:24;;;;2978:11;:9;:11::i;:::-;2962:142;;;-1:-1:-1;3022:5:0;3015:12;;2962:142;-1:-1:-1;3085:7:0;;;;2962:142;2898:213;:::o;9905:341::-;9977:10;9968:20;;;;:8;:20;;;;;;;;;;10000:24;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10000:24:0;;;;;;;9968:30;-1:-1:-1;9968:30:0;9960:65;;;;-1:-1:-1;;;;;9960:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9960:65:0;;10053:1;10044:6;:10;10056:21;;;;;;;;;;;;;;;;;10036:42;;;;;-1:-1:-1;;;;;10036:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10036:42:0;-1:-1:-1;10123:10:0;10114:20;;;;:8;:20;;;;;;:32;;10139:6;10114:32;:24;:32;:::i;:::-;10100:10;10091:20;;;;:8;:20;;;;;:55;10173:11;;:23;;10189:6;10173:23;:15;:23;:::i;:::-;10159:11;:37;10214:24;;10231:6;;10219:10;;10214:24;;;;;9905:341;:::o;10792:82::-;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;10855:10:0;10842:24;3466:252;3537:13;;3552:24;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3537:13:0;3523:10;:27;3515:62;;;;-1:-1:-1;;;;;3515:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3515:62:0;-1:-1:-1;3624:13:0;;;3616:6;;3595:43;;-1:-1:-1;;;;;3624:13:0;;;;;3616:6;;;;;;;3595:43;;;3660:13;;;;3651:22;;-1:-1:-1;;;;;;3651:22:0;3660:13;-1:-1:-1;;;;;3660:13:0;;3651:22;;;;-1:-1:-1;;;;;;3684:26:0;;;3466:252::o;11201:40::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11201:40:0;;;;:::o;6444:606::-;6557:23;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6557:23:0;;;;6504:7;;-1:-1:-1;;;;;6537:18:0;;6529:52;;;;-1:-1:-1;;;;;6529:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6529:52:0;-1:-1:-1;;;;;;6633:12:0;;6594:21;6633:12;;;:6;:12;;;;;:19;:23;6630:380;;-1:-1:-1;;;;;6705:12:0;;6682:20;6705:12;;;:6;:12;;;;;6751;;6705;;6778:221;6799:6;6795:1;:10;6778:221;;;6854:5;6860:1;6854:8;;;;;;;;;;;;;;;;;;:18;;;6848:3;:24;6844:140;;;6930:34;6948:5;6954:1;6948:8;;;;;;;;;;;;;;;;;;;;;:15;6930:13;;:34;:17;:34;:::i;:::-;6914:50;;6844:140;6807:3;;6778:221;;;;6630:380;;7029:13;6444:606;-1:-1:-1;;6444:606:0:o;2707:183::-;2775:4;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;;;;;;2797:17:0;;2817:5;2797:17;;;:8;:17;;;;;;:25;;-1:-1:-1;;2797:25:0;;;2838:22;;;2817:5;2838:22;-1:-1:-1;2878:4:0;2707:183;;;:::o;6328:108::-;-1:-1:-1;;;;;6414:14:0;6382:7;6414:14;;;:8;:14;;;;;;;6328:108::o;9304:356::-;9378:4;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;;;;;;9417:12:0;;9400:14;9417:12;;;:6;:12;;;;;;;;;:19;9472:18;;;;;;;;;;;;;;;;;;;9417:19;9455:15;;;9447:44;;;;-1:-1:-1;;;;;9447:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9447:44:0;-1:-1:-1;;;;;;9527:12:0;;;;;;:6;:12;;;;;:24;;-1:-1:-1;;9540:10:0;;;9527:24;;;;;;;;;;;;;;;;9504:6;:12;9511:4;-1:-1:-1;;;;;9504:12:0;-1:-1:-1;;;;;9504:12:0;;;;;;;;;;;;9517:6;9504:20;;;;;;;;;;;;;;;;:47;;:20;;;;;:47;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9562:12:0;;;;:6;:12;;;;;;:21;;;;;-1:-1:-1;;9562:21:0;;;:::i;:::-;-1:-1:-1;9601:27:0;;;-1:-1:-1;;;;;9601:27:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9648:4:0;;9304:356;-1:-1:-1;;;9304:356:0:o;1879:84::-;1917:7;1949:6;;;;-1:-1:-1;;;;;1949:6:0;;1879:84::o;2319:97::-;2359:4;2402:6;;;;-1:-1:-1;;;;;2402:6:0;2388:10;:20;;2319:97::o;11155:39::-;;;;;;;;;;;;;;-1:-1:-1;;;;;11155:39:0;;;;:::o;7288:394::-;7356:4;7378:21;7402;7418:4;7402:15;:21::i;:::-;7378:45;;7434:15;7452;7462:4;7452:9;:15::i;:::-;7434:33;;7500:1;7483:13;:18;7480:195;;7534:5;7527:12;;;;;;7480:195;7609:13;7599:7;:23;:63;;;;-1:-1:-1;7656:6:0;7626:26;:7;7638:13;7626:26;:11;:26;:::i;:::-;:36;;7599:63;7597:66;7590:73;;;;;;2424:99;2504:10;2466:4;2495:20;;;:8;:20;;;;;;;;2424:99;:::o;5266:68::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5341:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5341:41:0;-1:-1:-1;5341:41:0;:::o;7733:222::-;7867:4;2261:11;:9;:11::i;:::-;2260:12;2274:16;;;;;;;;;;;;;-1:-1:-1;;;;;2274:16:0;;;2252:39;;;;;-1:-1:-1;;;;;2252:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2252:39:0;-1:-1:-1;5994:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5994:23:0;;;;7833:10;;7845:3;;7850:6;;5973:19;5965:53;;;;-1:-1:-1;;;;;5965:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5965:53:0;-1:-1:-1;6056:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6056:23:0;;;;-1:-1:-1;;;;;6037:17:0;;6029:51;;;;-1:-1:-1;;;;;6029:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6029:51:0;;6108:1;6099:6;:10;6111:21;;;;;;;;;;;;;;;;;6091:42;;;;;-1:-1:-1;;;;;6091:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6091:42:0;;6171:6;6152:8;:15;6161:5;-1:-1:-1;;;;;6152:15:0;-1:-1:-1;;;;;6152:15:0;;;;;;;;;;;;;:25;;6179:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6179:24:0;;;6144:60;;;;;-1:-1:-1;;;;;6144:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6144:60:0;;6224:23;6233:5;6240:6;6224:8;:23::i;:::-;6223:24;6249:12;;;;;;;;;;;;;-1:-1:-1;;;;;6249:12:0;;;6215:47;;;;;-1:-1:-1;;;;;6215:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6215:47:0;;7889:34;7899:10;7911:3;7916:6;7889:9;:34::i;:::-;-1:-1:-1;7943:4:0;;7733:222;-1:-1:-1;;;;;7733:222:0:o;3265:193::-;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;3382:26:0;;;;;;;;;;;;;;;;;3352:10;-1:-1:-1;;;;;3352:28:0;;;;3344:65;;;;-1:-1:-1;;;;;3344:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3344:65:0;-1:-1:-1;3420:13:0;:30;;-1:-1:-1;;;;;;3420:30:0;-1:-1:-1;;;;;3420:30:0;;;;;;;;;;3265:193::o;3191:66::-;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;;3241:8;:6;:8::i;9668:229::-;9729:4;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;;;;;;9759:12:0;;9781:1;9759:12;;;:6;:12;;;;;;;;;:19;9784:15;;;;;;;;;;;;;;;;;;;9751:49;;;;-1:-1:-1;;;;;9751:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9751:49:0;-1:-1:-1;;;;;;9820:12:0;;;;;;:6;:12;;;;;9813:19;;;:::i;:::-;9848:17;;;-1:-1:-1;;;;;9848:17:0;;;;;;;;;;;;;;;-1:-1:-1;9885:4:0;9668:229;;;:::o;7058:143::-;-1:-1:-1;;;;;7166:17:0;;;7134:7;7166:17;;;:9;:17;;;;;;;;:27;;;;;;;;;;;;;7058:143::o;8381:325::-;8529:4;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;5994:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5994:23:0;;;;8486:10;;8498:3;;8503:6;;5973:19;5965:53;;;;-1:-1:-1;;;;;5965:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5965:53:0;-1:-1:-1;6056:23:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6056:23:0;;;;-1:-1:-1;;;;;6037:17:0;;6029:51;;;;-1:-1:-1;;;;;6029:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6029:51:0;;6108:1;6099:6;:10;6111:21;;;;;;;;;;;;;;;;;6091:42;;;;;-1:-1:-1;;;;;6091:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6091:42:0;;6171:6;6152:8;:15;6161:5;-1:-1:-1;;;;;6152:15:0;-1:-1:-1;;;;;6152:15:0;;;;;;;;;;;;;:25;;6179:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6179:24:0;;;6144:60;;;;;-1:-1:-1;;;;;6144:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6144:60:0;;6224:23;6233:5;6240:6;6224:8;:23::i;:::-;6223:24;6249:12;;;;;;;;;;;;;-1:-1:-1;;;;;6249:12:0;;;6215:47;;;;;-1:-1:-1;;;;;6215:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6215:47:0;-1:-1:-1;8572:18:0;;;;;;;;;;;;;;;;;8567:3;8559:11;;8551:40;;;;-1:-1:-1;;;;;8551:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8551:40:0;;8604:25;8610:3;8615:6;8623:5;8604;:25::i;:::-;8640:34;8650:10;8662:3;8667:6;8640:9;:34::i;2531:168::-;2591:4;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;;;;;;2613:17:0;;;;;;:8;:17;;;;;;:24;;-1:-1:-1;;2613:24:0;2633:4;2613:24;;;2653:16;;;2613:17;2653:16;-1:-1:-1;2687:4:0;2531:168;;;:::o;3726:89::-;3773:9;;;;;;;3793:7;:14;;-1:-1:-1;;3793:14:0;3803:4;3793:14;;;3726:89::o;425:150::-;483:7;516:1;511;:6;;503:15;;;;;;-1:-1:-1;541:5:0;;;425:150::o;10287:239::-;-1:-1:-1;;;;;10393:15:0;;;;;;:8;:15;;;;;;:27;;10413:6;10393:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;10375:15:0;;;;;;;:8;:15;;;;;;:45;;;;10447:13;;;;;;;:25;;10465:6;10447:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;10431:13:0;;;;;;;:8;:13;;;;;;;;;:41;;;;10490:28;;;;;;;10431:13;;10490:28;;;;;;;;;;;;;10287:239;;;:::o;583:150::-;641:7;673:5;;;697:6;;;;689:15;;;;;;724:1;583:150;-1:-1:-1;;;583:150:0:o;3823:91::-;3871:9;;;;;;;3901:5;3891:15;;-1:-1:-1;;3891:15:0;;;3823:91::o;10534:204::-;2016:9;:7;:9::i;:::-;2027:24;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2027:24:0;;;2008:44;;;;;-1:-1:-1;;;;;2008:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2008:44:0;-1:-1:-1;;;;;;10633:12:0;;;;;;:6;:12;;;;;;;;10651:23;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;10633:42:0;;;;;;;;;;;;;;;;;;;;;;;10706:12;;;;;;;:19;;10693:37;;;;;-1:-1:-1;;10706:23:0;10693:37;;;;;;;;;;;;;;;;;;;10534:204;;;:::o;10883:511::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://40921c8483bb64f3f3004431998f86799708206ff5c52bf02392eb41d4ea43d8
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.