ETH Price: $2,940.06 (-2.74%)
Gas: 4 Gwei

Token

EduPay (EDP)
 

Overview

Max Total Supply

980,000,000 EDP

Holders

379

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CustomToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-10-26
*/

pragma solidity ^0.4.25;

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 {
    address public owner;

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

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }
}

contract Pausable is Ownable {
    bool public paused;
    
    event Paused(address account);
    event Unpaused(address account);

    constructor() internal {
        paused = false;
    }

    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    modifier whenPaused() {
        require(paused);
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Paused(msg.sender);
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpaused(msg.sender);
    }
}

contract BaseToken is Pausable {
    using SafeMath for uint256;

    string constant public name = 'EduPay';
    string constant public symbol = 'EDP';
    uint8 constant public decimals = 18;
    uint256 public totalSupply = 1e27;
    uint256 constant public _totalLimit = 1e32;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function _transfer(address from, address to, uint value) internal {
        require(to != address(0));
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function _mint(address account, uint256 value) internal {
        require(account != address(0));
        totalSupply = totalSupply.add(value);
        require(_totalLimit >= totalSupply);
        balanceOf[account] = balanceOf[account].add(value);
        emit Transfer(address(0), account, value);
    }

    function transfer(address to, uint256 value) public whenNotPaused returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) {
        allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        _transfer(from, to, value);
        return true;
    }

    function approve(address spender, uint256 value) public whenNotPaused returns (bool) {
        require(spender != address(0));
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public whenNotPaused returns (bool) {
        require(spender != address(0));
        allowance[msg.sender][spender] = allowance[msg.sender][spender].add(addedValue);
        emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public whenNotPaused returns (bool) {
        require(spender != address(0));
        allowance[msg.sender][spender] = allowance[msg.sender][spender].sub(subtractedValue);
        emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
        return true;
    }
}

contract BurnToken is BaseToken {
    event Burn(address indexed from, uint256 value);

    function burn(uint256 value) public whenNotPaused returns (bool) {
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Burn(msg.sender, value);
        return true;
    }

    function burnFrom(address from, uint256 value) public whenNotPaused returns (bool) {
        allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Burn(from, value);
        return true;
    }
}

contract BatchToken is BaseToken {
    
    function batchTransfer(address[] addressList, uint256[] amountList) public returns (bool) {
        uint256 length = addressList.length;
        require(addressList.length == amountList.length);
        require(length > 0 && length <= 20);

        for (uint256 i = 0; i < length; i++) {
            transfer(addressList[i], amountList[i]);
        }

        return true;
    }
}

contract LockToken is BaseToken {

    struct LockItem {
        uint256 endtime;
        uint256 remain;
    }

    struct LockMeta {
        uint8 lockType;
        LockItem[] lockItems;
    }

    mapping (address => LockMeta) public lockData;

    event Lock(address indexed lockAddress, uint8 indexed lockType, uint256[] endtimeList, uint256[] remainList);

    function _transfer(address from, address to, uint value) internal {
        uint8 lockType = lockData[from].lockType;
        if (lockType != 0) {
            uint256 remain = balanceOf[from].sub(value);
            uint256 length = lockData[from].lockItems.length;
            for (uint256 i = 0; i < length; i++) {
                LockItem storage item = lockData[from].lockItems[i];
                if (block.timestamp < item.endtime && remain < item.remain) {
                    revert();
                }
            }
        }
        super._transfer(from, to, value);
    }

    function lock(address lockAddress, uint8 lockType, uint256[] endtimeList, uint256[] remainList) public onlyOwner returns (bool) {
        require(lockAddress != address(0));
        require(lockType == 0 || lockType == 1 || lockType == 2);
        require(lockData[lockAddress].lockType != 1);

        lockData[lockAddress].lockItems.length = 0;

        lockData[lockAddress].lockType = lockType;
        if (lockType == 0) {
            emit Lock(lockAddress, lockType, endtimeList, remainList);
            return true;
        }

        require(endtimeList.length == remainList.length);
        uint256 length = endtimeList.length;
        require(length > 0 && length <= 12);
        uint256 thisEndtime = endtimeList[0];
        uint256 thisRemain = remainList[0];
        lockData[lockAddress].lockItems.push(LockItem({endtime: thisEndtime, remain: thisRemain}));
        for (uint256 i = 1; i < length; i++) {
            require(endtimeList[i] > thisEndtime && remainList[i] < thisRemain);
            lockData[lockAddress].lockItems.push(LockItem({endtime: endtimeList[i], remain: remainList[i]}));
            thisEndtime = endtimeList[i];
            thisRemain = remainList[i];
        }

        emit Lock(lockAddress, lockType, endtimeList, remainList);
        return true;
    }
}

contract InvestToken is BaseToken {
    uint256 constant public investMax = 2e26;
    uint256 public investTotal = 0;
    uint256 public investEther = 0;
    uint256 public investMin = 1000000000000000000;
    uint256 public investRatio = 10000;
    uint256 public investBegintime = 1571483653;
    uint256 public investEndtime = 1574162053;
    address public investHolder = 0x12656D4b810FBD0D5F51cD056e61F854C5E8509C;

    event Invest(address indexed from, uint256 indexed ratio, uint256 value, uint256 tokenValue);
    event Withdraw(address indexed from, address indexed holder, uint256 value);
    event InvestSetting(uint256 investMin, uint256 investRatio, uint256 investBegintime, uint256 investEndtime, address investHolder);

    function invest() public payable {
        require(block.timestamp >= investBegintime && block.timestamp <= investEndtime);
        require(msg.value >= investMin);
        uint256 tokenValue = (msg.value * investRatio * 10 ** uint256(decimals)) / (1 ether / 1 wei);
        require(tokenValue > 0);
        investTotal = investTotal.add(tokenValue);
        if (investMax > 0 && investTotal > investMax) {
            revert();
        }
        investEther = investEther.add(msg.value);
        _mint(msg.sender, tokenValue);
        emit Invest(msg.sender, investRatio, msg.value, tokenValue);
    }

    function withdraw() public {
        uint256 balance = address(this).balance;
        investHolder.transfer(balance);
        emit Withdraw(msg.sender, investHolder, balance);
    }

    function changeInvestSetting(uint256 newInvestMin, uint256 newInvestRatio, uint256 newInvestBegintime, uint256 newInvestEndtime, address newInvestHolder) public onlyOwner {
        require(newInvestRatio <= 999999999);
        investMin = newInvestMin;
        investRatio = newInvestRatio;
        investBegintime = newInvestBegintime;
        investEndtime = newInvestEndtime;
        investHolder = newInvestHolder;
        emit InvestSetting(newInvestMin, newInvestRatio, newInvestBegintime, newInvestEndtime, newInvestHolder);
    }
}

contract CustomToken is BaseToken, BurnToken, BatchToken, LockToken, InvestToken {
    constructor() public {
        balanceOf[0xAD5cBa4ccbcDdfce31698E98ed84Aa8ec35B0B14] = totalSupply;
        emit Transfer(address(0), 0xAD5cBa4ccbcDdfce31698E98ed84Aa8ec35B0B14, totalSupply);

        owner = 0xAD5cBa4ccbcDdfce31698E98ed84Aa8ec35B0B14;
    }

    function() public payable {
        invest();
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investMin","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":"investRatio","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_totalLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"lockAddress","type":"address"},{"name":"lockType","type":"uint8"},{"name":"endtimeList","type":"uint256[]"},{"name":"remainList","type":"uint256[]"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investEndtime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investBegintime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addressList","type":"address[]"},{"name":"amountList","type":"uint256[]"}],"name":"batchTransfer","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investTotal","outputs":[{"name":"","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":"newInvestMin","type":"uint256"},{"name":"newInvestRatio","type":"uint256"},{"name":"newInvestBegintime","type":"uint256"},{"name":"newInvestEndtime","type":"uint256"},{"name":"newInvestHolder","type":"address"}],"name":"changeInvestSetting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockData","outputs":[{"name":"lockType","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"ratio","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"tokenValue","type":"uint256"}],"name":"Invest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investMin","type":"uint256"},{"indexed":false,"name":"investRatio","type":"uint256"},{"indexed":false,"name":"investBegintime","type":"uint256"},{"indexed":false,"name":"investEndtime","type":"uint256"},{"indexed":false,"name":"investHolder","type":"address"}],"name":"InvestSetting","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lockAddress","type":"address"},{"indexed":true,"name":"lockType","type":"uint8"},{"indexed":false,"name":"endtimeList","type":"uint256[]"},{"indexed":false,"name":"remainList","type":"uint256[]"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526b033b2e3c9fd0803ce800000060015560006005819055600655670de0b6b3a7640000600755612710600855635daaf005600955635dd3ce85600a55600b8054600160a060020a0319167312656d4b810fbd0d5f51cd056e61f854c5e8509c17905534801561007257600080fd5b506000805460a060020a60ff021916815560015473ad5cba4ccbcddfce31698e98ed84aa8ec35b0b14808352600260209081527fab97107503d8c11385c6cb13cc1559504f24d2a5f2825b0f8134770c7dccad3b83905560408051938452519193927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a360008054600160a060020a03191673ad5cba4ccbcddfce31698e98ed84aa8ec35b0b1417905561187d806101346000396000f3006080604052600436106101ab5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101b5578063095ea7b31461023f57806318160ddd1461027757806318996fd31461029e57806323b872dd146102b357806326de0634146102dd578063313ce567146102f2578063395093511461031d57806339f85f5d146103415780633abc6609146103565780633ccfd60b146103f95780633f4ba83a1461040e57806342966c68146104235780634b66a7cf1461043b5780635c975abb1461045057806370a08231146104655780637143ddab14610486578063715018a61461049b57806373786c0a146104b057806376ccb1d3146104c557806379cc6790146104da5780638456cb59146104fe57806388d695b2146105135780638da5cb5b146105a157806395d89b41146105d2578063a457c2d7146105e7578063a80987f01461060b578063a9059cbb14610620578063d66f547c14610644578063da3ed96014610671578063dd62ed3e14610686578063e8345bd1146106ad578063e8b5e51f146101ab578063f2fde38b146106ce575b6101b36106ef565b005b3480156101c157600080fd5b506101ca6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102045781810151838201526020016101ec565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024b57600080fd5b50610263600160a060020a0360043516602435610807565b604080519115158252519081900360200190f35b34801561028357600080fd5b5061028c61089b565b60408051918252519081900360200190f35b3480156102aa57600080fd5b5061028c6108a1565b3480156102bf57600080fd5b50610263600160a060020a03600435811690602435166044356108a7565b3480156102e957600080fd5b5061028c61092c565b3480156102fe57600080fd5b50610307610932565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610263600160a060020a0360043516602435610937565b34801561034d57600080fd5b5061028c6109fd565b34801561036257600080fd5b506040805160206004604435818101358381028086018501909652808552610263958335600160a060020a0316956024803560ff1696369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610a0f9650505050505050565b34801561040557600080fd5b506101b3610e6d565b34801561041a57600080fd5b506101b3610ef1565b34801561042f57600080fd5b50610263600435610f73565b34801561044757600080fd5b5061028c61100f565b34801561045c57600080fd5b50610263611015565b34801561047157600080fd5b5061028c600160a060020a0360043516611025565b34801561049257600080fd5b5061028c611037565b3480156104a757600080fd5b506101b3611046565b3480156104bc57600080fd5b5061028c6110b4565b3480156104d157600080fd5b5061028c6110ba565b3480156104e657600080fd5b50610263600160a060020a03600435166024356110c0565b34801561050a57600080fd5b506101b36111c4565b34801561051f57600080fd5b506040805160206004803580820135838102808601850190965280855261026395369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061124b9650505050505050565b3480156105ad57600080fd5b506105b66112d4565b60408051600160a060020a039092168252519081900360200190f35b3480156105de57600080fd5b506101ca6112e3565b3480156105f357600080fd5b50610263600160a060020a036004351660243561131a565b34801561061757600080fd5b5061028c61137b565b34801561062c57600080fd5b50610263600160a060020a0360043516602435611381565b34801561065057600080fd5b506101b3600435602435604435606435600160a060020a03608435166113ad565b34801561067d57600080fd5b506105b661146a565b34801561069257600080fd5b5061028c600160a060020a0360043581169060243516611479565b3480156106b957600080fd5b50610307600160a060020a0360043516611496565b3480156106da57600080fd5b506101b3600160a060020a03600435166114ab565b600060095442101580156107055750600a544211155b151561071057600080fd5b60075434101561071f57600080fd5b600854670de0b6b3a764000090340281020490506000811161074057600080fd5b600554610753908263ffffffff61153f16565b6005556aa56fa5b99019a5c8000000600554111561077057600080fd5b600654610783903463ffffffff61153f16565b6006556107903382611558565b6008546040805134815260208101849052815133927f4df9cbfa66cbbabb528375b3af00207b446225af5a96b8a4b5c413b18226fb95928290030190a350565b60408051808201909152600681527f4564755061790000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561081f57600080fd5b600160a060020a038316151561083457600080fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60015481565b60075481565b6000805460a060020a900460ff16156108bf57600080fd5b600160a060020a03841660009081526003602090815260408083203384529091529020546108f3908363ffffffff61162016565b600160a060020a0385166000908152600360209081526040808320338452909152902055610922848484611637565b5060019392505050565b60085481565b601281565b6000805460a060020a900460ff161561094f57600080fd5b600160a060020a038316151561096457600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610998908363ffffffff61153f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6d04ee2d6d415b85acef810000000081565b600080548190819081908190600160a060020a03163314610a2f57600080fd5b600160a060020a0389161515610a4457600080fd5b60ff88161580610a5757508760ff166001145b80610a6557508760ff166002145b1515610a7057600080fd5b600160a060020a03891660009081526004602052604090205460ff1660011415610a9957600080fd5b600160a060020a0389166000908152600460205260408120610abe90600101826117f9565b50600160a060020a0389166000908152600460205260409020805460ff191660ff8a169081179091551515610bbf578760ff1689600160a060020a03167fdb96da58f024d78dad7ca9ab16139812e159a7fff4c710e07de66e0c40c234e88989604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b62578181015183820152602001610b4a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba1578181015183820152602001610b89565b5050505090500194505050505060405180910390a360019450610e61565b8551875114610bcd57600080fd5b86519350600084118015610be25750600c8411155b1515610bed57600080fd5b866000815181101515610bfc57fe5b906020019060200201519250856000815181101515610c1757fe5b6020908102909101810151600160a060020a038b16600090815260048352604080822081518083019092528782528185018481526001918201805480840182559085529590932091516002909502909101938455905192810192909255925090505b83811015610d9357828782815181101515610c9057fe5b90602001906020020151118015610cbd5750818682815181101515610cb157fe5b90602001906020020151105b1515610cc857600080fd5b600460008a600160a060020a0316600160a060020a0316815260200190815260200160002060010160408051908101604052808984815181101515610d0957fe5b9060200190602002015181526020018884815181101515610d2657fe5b602090810290910181015190915282546001818101855560009485529382902083516002909202019081559101519101558651879082908110610d6557fe5b9060200190602002015192508581815181101515610d7f57fe5b602090810290910101519150600101610c79565b8760ff1689600160a060020a03167fdb96da58f024d78dad7ca9ab16139812e159a7fff4c710e07de66e0c40c234e88989604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610e08578181015183820152602001610df0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500194505050505060405180910390a3600194505b50505050949350505050565b600b54604051303191600160a060020a03169082156108fc029083906000818181858888f19350505050158015610ea8573d6000803e3d6000fd5b50600b54604080518381529051600160a060020a039092169133917f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb919081900360200190a350565b600054600160a060020a03163314610f0857600080fd5b60005460a060020a900460ff161515610f2057600080fd5b6000805474ff0000000000000000000000000000000000000000191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b6000805460a060020a900460ff1615610f8b57600080fd5b33600090815260026020526040902054610fab908363ffffffff61162016565b33600090815260026020526040902055600154610fce908363ffffffff61162016565b60015560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b60065481565b60005460a060020a900460ff1681565b60026020526000908152604090205481565b6aa56fa5b99019a5c800000081565b600054600160a060020a0316331461105d57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600a5481565b60095481565b6000805460a060020a900460ff16156110d857600080fd5b600160a060020a038316600090815260036020908152604080832033845290915290205461110c908363ffffffff61162016565b600160a060020a03841660008181526003602090815260408083203384528252808320949094559181526002909152205461114d908363ffffffff61162016565b600160a060020a038416600090815260026020526040902055600154611179908363ffffffff61162016565b600155604080518381529051600160a060020a038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b600054600160a060020a031633146111db57600080fd5b60005460a060020a900460ff16156111f257600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b81518151600091908290821461126057600080fd5b600082118015611271575060148211155b151561127c57600080fd5b5060005b818110156112c9576112c0858281518110151561129957fe5b9060200190602002015185838151811015156112b157fe5b90602001906020020151611381565b50600101611280565b506001949350505050565b600054600160a060020a031681565b60408051808201909152600381527f4544500000000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561133257600080fd5b600160a060020a038316151561134757600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610998908363ffffffff61162016565b60055481565b6000805460a060020a900460ff161561139957600080fd5b6113a4338484611637565b50600192915050565b600054600160a060020a031633146113c457600080fd5b633b9ac9ff8411156113d557600080fd5b600785905560088490556009839055600a829055600b8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911681179091556040805187815260208101879052808201869052606081018590526080810192909252517fcb1ecaafd40c584faa527e9cefdd97242c3188900bbba1d2c1038ba10e6fe9df9181900360a00190a15050505050565b600b54600160a060020a031681565b600360209081526000928352604080842090915290825290205481565b60046020526000908152604090205460ff1681565b600054600160a060020a031633146114c257600080fd5b600160a060020a03811615156114d757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282018381101561155157600080fd5b9392505050565b600160a060020a038216151561156d57600080fd5b600154611580908263ffffffff61153f16565b60018190556d04ee2d6d415b85acef8100000000101561159f57600080fd5b600160a060020a0382166000908152600260205260409020546115c8908263ffffffff61153f16565b600160a060020a03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000808383111561163057600080fd5b5050900390565b600160a060020a03831660009081526004602052604081205460ff1690808080841561171557600160a060020a038816600090815260026020526040902054611686908763ffffffff61162016565b600160a060020a03891660009081526004602052604081206001015491955090935091505b8282101561171557600160a060020a03881660009081526004602052604090206001018054839081106116da57fe5b906000526020600020906002020190508060000154421080156117005750806001015484105b1561170a57600080fd5b6001909101906116ab565b61172088888861172a565b5050505050505050565b600160a060020a038216151561173f57600080fd5b600160a060020a038316600090815260026020526040902054611768908263ffffffff61162016565b600160a060020a03808516600090815260026020526040808220939093559084168152205461179d908263ffffffff61153f16565b600160a060020a0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b81548183558181111561182557600202816002028360005260206000209182019101611825919061182a565b505050565b61184e91905b8082111561184a5760008082556001820155600201611830565b5090565b905600a165627a7a723058207eef8cdcc696946fd3f8ed1d20724dd37bcd733489234e288e35a3ca2323d6a40029

Deployed Bytecode

0x6080604052600436106101ab5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101b5578063095ea7b31461023f57806318160ddd1461027757806318996fd31461029e57806323b872dd146102b357806326de0634146102dd578063313ce567146102f2578063395093511461031d57806339f85f5d146103415780633abc6609146103565780633ccfd60b146103f95780633f4ba83a1461040e57806342966c68146104235780634b66a7cf1461043b5780635c975abb1461045057806370a08231146104655780637143ddab14610486578063715018a61461049b57806373786c0a146104b057806376ccb1d3146104c557806379cc6790146104da5780638456cb59146104fe57806388d695b2146105135780638da5cb5b146105a157806395d89b41146105d2578063a457c2d7146105e7578063a80987f01461060b578063a9059cbb14610620578063d66f547c14610644578063da3ed96014610671578063dd62ed3e14610686578063e8345bd1146106ad578063e8b5e51f146101ab578063f2fde38b146106ce575b6101b36106ef565b005b3480156101c157600080fd5b506101ca6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102045781810151838201526020016101ec565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024b57600080fd5b50610263600160a060020a0360043516602435610807565b604080519115158252519081900360200190f35b34801561028357600080fd5b5061028c61089b565b60408051918252519081900360200190f35b3480156102aa57600080fd5b5061028c6108a1565b3480156102bf57600080fd5b50610263600160a060020a03600435811690602435166044356108a7565b3480156102e957600080fd5b5061028c61092c565b3480156102fe57600080fd5b50610307610932565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610263600160a060020a0360043516602435610937565b34801561034d57600080fd5b5061028c6109fd565b34801561036257600080fd5b506040805160206004604435818101358381028086018501909652808552610263958335600160a060020a0316956024803560ff1696369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610a0f9650505050505050565b34801561040557600080fd5b506101b3610e6d565b34801561041a57600080fd5b506101b3610ef1565b34801561042f57600080fd5b50610263600435610f73565b34801561044757600080fd5b5061028c61100f565b34801561045c57600080fd5b50610263611015565b34801561047157600080fd5b5061028c600160a060020a0360043516611025565b34801561049257600080fd5b5061028c611037565b3480156104a757600080fd5b506101b3611046565b3480156104bc57600080fd5b5061028c6110b4565b3480156104d157600080fd5b5061028c6110ba565b3480156104e657600080fd5b50610263600160a060020a03600435166024356110c0565b34801561050a57600080fd5b506101b36111c4565b34801561051f57600080fd5b506040805160206004803580820135838102808601850190965280855261026395369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061124b9650505050505050565b3480156105ad57600080fd5b506105b66112d4565b60408051600160a060020a039092168252519081900360200190f35b3480156105de57600080fd5b506101ca6112e3565b3480156105f357600080fd5b50610263600160a060020a036004351660243561131a565b34801561061757600080fd5b5061028c61137b565b34801561062c57600080fd5b50610263600160a060020a0360043516602435611381565b34801561065057600080fd5b506101b3600435602435604435606435600160a060020a03608435166113ad565b34801561067d57600080fd5b506105b661146a565b34801561069257600080fd5b5061028c600160a060020a0360043581169060243516611479565b3480156106b957600080fd5b50610307600160a060020a0360043516611496565b3480156106da57600080fd5b506101b3600160a060020a03600435166114ab565b600060095442101580156107055750600a544211155b151561071057600080fd5b60075434101561071f57600080fd5b600854670de0b6b3a764000090340281020490506000811161074057600080fd5b600554610753908263ffffffff61153f16565b6005556aa56fa5b99019a5c8000000600554111561077057600080fd5b600654610783903463ffffffff61153f16565b6006556107903382611558565b6008546040805134815260208101849052815133927f4df9cbfa66cbbabb528375b3af00207b446225af5a96b8a4b5c413b18226fb95928290030190a350565b60408051808201909152600681527f4564755061790000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561081f57600080fd5b600160a060020a038316151561083457600080fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60015481565b60075481565b6000805460a060020a900460ff16156108bf57600080fd5b600160a060020a03841660009081526003602090815260408083203384529091529020546108f3908363ffffffff61162016565b600160a060020a0385166000908152600360209081526040808320338452909152902055610922848484611637565b5060019392505050565b60085481565b601281565b6000805460a060020a900460ff161561094f57600080fd5b600160a060020a038316151561096457600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610998908363ffffffff61153f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6d04ee2d6d415b85acef810000000081565b600080548190819081908190600160a060020a03163314610a2f57600080fd5b600160a060020a0389161515610a4457600080fd5b60ff88161580610a5757508760ff166001145b80610a6557508760ff166002145b1515610a7057600080fd5b600160a060020a03891660009081526004602052604090205460ff1660011415610a9957600080fd5b600160a060020a0389166000908152600460205260408120610abe90600101826117f9565b50600160a060020a0389166000908152600460205260409020805460ff191660ff8a169081179091551515610bbf578760ff1689600160a060020a03167fdb96da58f024d78dad7ca9ab16139812e159a7fff4c710e07de66e0c40c234e88989604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b62578181015183820152602001610b4a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba1578181015183820152602001610b89565b5050505090500194505050505060405180910390a360019450610e61565b8551875114610bcd57600080fd5b86519350600084118015610be25750600c8411155b1515610bed57600080fd5b866000815181101515610bfc57fe5b906020019060200201519250856000815181101515610c1757fe5b6020908102909101810151600160a060020a038b16600090815260048352604080822081518083019092528782528185018481526001918201805480840182559085529590932091516002909502909101938455905192810192909255925090505b83811015610d9357828782815181101515610c9057fe5b90602001906020020151118015610cbd5750818682815181101515610cb157fe5b90602001906020020151105b1515610cc857600080fd5b600460008a600160a060020a0316600160a060020a0316815260200190815260200160002060010160408051908101604052808984815181101515610d0957fe5b9060200190602002015181526020018884815181101515610d2657fe5b602090810290910181015190915282546001818101855560009485529382902083516002909202019081559101519101558651879082908110610d6557fe5b9060200190602002015192508581815181101515610d7f57fe5b602090810290910101519150600101610c79565b8760ff1689600160a060020a03167fdb96da58f024d78dad7ca9ab16139812e159a7fff4c710e07de66e0c40c234e88989604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610e08578181015183820152602001610df0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500194505050505060405180910390a3600194505b50505050949350505050565b600b54604051303191600160a060020a03169082156108fc029083906000818181858888f19350505050158015610ea8573d6000803e3d6000fd5b50600b54604080518381529051600160a060020a039092169133917f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb919081900360200190a350565b600054600160a060020a03163314610f0857600080fd5b60005460a060020a900460ff161515610f2057600080fd5b6000805474ff0000000000000000000000000000000000000000191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b6000805460a060020a900460ff1615610f8b57600080fd5b33600090815260026020526040902054610fab908363ffffffff61162016565b33600090815260026020526040902055600154610fce908363ffffffff61162016565b60015560408051838152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2506001919050565b60065481565b60005460a060020a900460ff1681565b60026020526000908152604090205481565b6aa56fa5b99019a5c800000081565b600054600160a060020a0316331461105d57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600a5481565b60095481565b6000805460a060020a900460ff16156110d857600080fd5b600160a060020a038316600090815260036020908152604080832033845290915290205461110c908363ffffffff61162016565b600160a060020a03841660008181526003602090815260408083203384528252808320949094559181526002909152205461114d908363ffffffff61162016565b600160a060020a038416600090815260026020526040902055600154611179908363ffffffff61162016565b600155604080518381529051600160a060020a038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b600054600160a060020a031633146111db57600080fd5b60005460a060020a900460ff16156111f257600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b81518151600091908290821461126057600080fd5b600082118015611271575060148211155b151561127c57600080fd5b5060005b818110156112c9576112c0858281518110151561129957fe5b9060200190602002015185838151811015156112b157fe5b90602001906020020151611381565b50600101611280565b506001949350505050565b600054600160a060020a031681565b60408051808201909152600381527f4544500000000000000000000000000000000000000000000000000000000000602082015281565b6000805460a060020a900460ff161561133257600080fd5b600160a060020a038316151561134757600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610998908363ffffffff61162016565b60055481565b6000805460a060020a900460ff161561139957600080fd5b6113a4338484611637565b50600192915050565b600054600160a060020a031633146113c457600080fd5b633b9ac9ff8411156113d557600080fd5b600785905560088490556009839055600a829055600b8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911681179091556040805187815260208101879052808201869052606081018590526080810192909252517fcb1ecaafd40c584faa527e9cefdd97242c3188900bbba1d2c1038ba10e6fe9df9181900360a00190a15050505050565b600b54600160a060020a031681565b600360209081526000928352604080842090915290825290205481565b60046020526000908152604090205460ff1681565b600054600160a060020a031633146114c257600080fd5b600160a060020a03811615156114d757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282018381101561155157600080fd5b9392505050565b600160a060020a038216151561156d57600080fd5b600154611580908263ffffffff61153f16565b60018190556d04ee2d6d415b85acef8100000000101561159f57600080fd5b600160a060020a0382166000908152600260205260409020546115c8908263ffffffff61153f16565b600160a060020a03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000808383111561163057600080fd5b5050900390565b600160a060020a03831660009081526004602052604081205460ff1690808080841561171557600160a060020a038816600090815260026020526040902054611686908763ffffffff61162016565b600160a060020a03891660009081526004602052604081206001015491955090935091505b8282101561171557600160a060020a03881660009081526004602052604090206001018054839081106116da57fe5b906000526020600020906002020190508060000154421080156117005750806001015484105b1561170a57600080fd5b6001909101906116ab565b61172088888861172a565b5050505050505050565b600160a060020a038216151561173f57600080fd5b600160a060020a038316600090815260026020526040902054611768908263ffffffff61162016565b600160a060020a03808516600090815260026020526040808220939093559084168152205461179d908263ffffffff61153f16565b600160a060020a0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b81548183558181111561182557600202816002028360005260206000209182019101611825919061182a565b505050565b61184e91905b8082111561184a5760008082556001820155600201611830565b5090565b905600a165627a7a723058207eef8cdcc696946fd3f8ed1d20724dd37bcd733489234e288e35a3ca2323d6a40029

Deployed Bytecode Sourcemap

10172:415:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10568:8;:6;:8::i;:::-;10172:415;2128:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2128:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2128:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3640:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3640:257:0;-1:-1:-1;;;;;3640:257:0;;;;;;;;;;;;;;;;;;;;;;;;;2259:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2259:33:0;;;;;;;;;;;;;;;;;;;;8213:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8213:46:0;;;;3387:245;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3387:245:0;-1:-1:-1;;;;;3387:245:0;;;;;;;;;;;;8266:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8266:34:0;;;;2217:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2217:35:0;;;;;;;;;;;;;;;;;;;;;;;3905:338;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3905:338:0;-1:-1:-1;;;;;3905:338:0;;;;;;;2299:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2299:42:0;;;;6719:1325;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6719:1325:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6719:1325:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6719:1325:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6719:1325:0;;;;-1:-1:-1;6719:1325:0;-1:-1:-1;6719:1325:0;;-1:-1:-1;6719:1325:0;;;;;;;;;-1:-1:-1;6719:1325:0;;-1:-1:-1;6719:1325:0;;-1:-1:-1;;;;;;;6719:1325:0;9427:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9427:185:0;;;;1932:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1932:116:0;;;;4701:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4701:248:0;;;;;8176:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8176:30:0;;;;1483:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1483:18:0;;;;2350:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2350:45:0;-1:-1:-1;;;;;2350:45:0;;;;;8092:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8092:40:0;;;;1302:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1302:138:0;;;;8357:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8357:41:0;;;;8307:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8307:43:0;;;;4957:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4957:327:0;-1:-1:-1;;;;;4957:327:0;;;;;;;1810:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1810:114:0;;;;5337:388;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5337:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5337:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5337:388:0;;;;-1:-1:-1;5337:388:0;-1:-1:-1;5337:388:0;;-1:-1:-1;5337:388:0;;;;;;;;;-1:-1:-1;5337:388:0;;-1:-1:-1;5337:388:0;;-1:-1:-1;;;;;;;5337:388:0;893:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;893:20:0;;;;;;;;-1:-1:-1;;;;;893:20:0;;;;;;;;;;;;;;2173:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2173:37:0;;;;4251:348;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4251:348:0;-1:-1:-1;;;;;4251:348:0;;;;;;;8139:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8139:30:0;;;;3225:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3225:154:0;-1:-1:-1;;;;;3225:154:0;;;;;;;9620:545;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9620:545:0;;;;;;;;;-1:-1:-1;;;;;9620:545:0;;;;;8405:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8405:72:0;;;;2402:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2402:66:0;-1:-1:-1;;;;;2402:66:0;;;;;;;;;;5944:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5944:45:0;-1:-1:-1;;;;;5944:45:0;;;;;1102:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1102:192:0;-1:-1:-1;;;;;1102:192:0;;;;;8805:614;8981:18;8876:15;;8857;:34;;:70;;;;;8914:13;;8895:15;:32;;8857:70;8849:79;;;;;;;;8960:9;;8947;:22;;8939:31;;;;;;9015:11;;9057:15;;9003:9;:23;:49;;9002:71;;-1:-1:-1;9105:1:0;9092:14;;9084:23;;;;;;9132:11;;:27;;9148:10;9132:27;:15;:27;:::i;:::-;9118:11;:41;8128:4;9191:11;;:23;9170:81;;;9231:8;;;9170:81;9275:11;;:26;;9291:9;9275:26;:15;:26;:::i;:::-;9261:11;:40;9312:29;9318:10;9330;9312:5;:29::i;:::-;9376:11;;9357:54;;;9389:9;9357:54;;;;;;;;;;9364:10;;9357:54;;;;;;;;8805:614;:::o;2128:38::-;;;;;;;;;;;;;;;;;;;:::o;3640:257::-;3719:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;-1:-1:-1;;;;;3744:21:0;;;;3736:30;;;;;;3787:10;3777:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3777:30:0;;;;;;;;;;;;:38;;;3831:36;;;;;;;3777:30;;3787:10;3831:36;;;;;;;;;;;-1:-1:-1;3885:4:0;3640:257;;;;:::o;2259:33::-;;;;:::o;8213:46::-;;;;:::o;3387:245::-;3480:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;-1:-1:-1;;;;;3527:15:0;;;;;;:9;:15;;;;;;;;3543:10;3527:27;;;;;;;;:38;;3559:5;3527:38;:31;:38;:::i;:::-;-1:-1:-1;;;;;3497:15:0;;;;;;:9;:15;;;;;;;;3513:10;3497:27;;;;;;;:68;3576:26;3507:4;3592:2;3596:5;3576:9;:26::i;:::-;-1:-1:-1;3620:4:0;3387:245;;;;;:::o;8266:34::-;;;;:::o;2217:35::-;2250:2;2217:35;:::o;3905:338::-;3999:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;-1:-1:-1;;;;;4024:21:0;;;;4016:30;;;;;;4100:10;4090:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4090:30:0;;;;;;;;;;:46;;4125:10;4090:46;:34;:46;:::i;:::-;4067:10;4057:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4057:30:0;;;;;;;;;;;;:79;;;4152:61;;;;;;4057:30;;4152:61;;;;;;;;;;;-1:-1:-1;4231:4:0;3905:338;;;;:::o;2299:42::-;2337:4;2299:42;:::o;6719:1325::-;6841:4;1068:5;;6841:4;;;;;;;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;-1:-1:-1;;;;;6866:25:0;;;;6858:34;;;;;;6911:13;;;;;:30;;;6928:8;:13;;6940:1;6928:13;6911:30;:47;;;;6945:8;:13;;6957:1;6945:13;6911:47;6903:56;;;;;;;;-1:-1:-1;;;;;6978:21:0;;;;;;:8;:21;;;;;:30;;;;:35;;6970:44;;;;;;-1:-1:-1;;;;;7027:21:0;;7068:1;7027:21;;;:8;:21;;;;;:42;;:31;;7068:1;7027:42;:::i;:::-;-1:-1:-1;;;;;;7082:21:0;;;;;;:8;:21;;;;;:41;;-1:-1:-1;;7082:41:0;;;;;;;;;;7138:13;7134:129;;;7191:8;7173:52;;7178:11;-1:-1:-1;;;;;7173:52:0;;7201:11;7214:10;7173:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7173:52: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;7173:52:0;;;;;;;;;;;;;;;;;;;7247:4;7240:11;;;;7134:129;7305:17;;7283:18;;:39;7275:48;;;;;;7351:11;:18;7334:35;;7397:1;7388:6;:10;:26;;;;;7412:2;7402:6;:12;;7388:26;7380:35;;;;;;;;7448:11;7460:1;7448:14;;;;;;;;;;;;;;;;;;7426:36;;7494:10;7505:1;7494:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7518:21:0;;;;;;:8;:21;;;;;;7555:52;;;;;;;;;;;;;;;;;7518:31;;;;27:10:-1;;23:18;;;45:23;;7518:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7494:13;-1:-1:-1;7518:31:0;-1:-1:-1;7619:326:0;7643:6;7639:1;:10;7619:326;;;7696:11;7679;7691:1;7679:14;;;;;;;;;;;;;;;;;;:28;:58;;;;;7727:10;7711;7722:1;7711:13;;;;;;;;;;;;;;;;;;:26;7679:58;7671:67;;;;;;;;7753:8;:21;7762:11;-1:-1:-1;;;;;7753:21:0;-1:-1:-1;;;;;7753:21:0;;;;;;;;;;;;:31;;7790:58;;;;;;;;;7809:11;7821:1;7809:14;;;;;;;;;;;;;;;;;;7790:58;;;;7833:10;7844:1;7833:13;;;;;;;;;;;;;;;;;;;;7790:58;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;7753:96:0;;;;;;;;;;;;;;;;;;;;;;;7878:14;;:11;;7890:1;;7878:14;;;;;;;;;;;;;;7864:28;;7920:10;7931:1;7920:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7651:3:0;;7619:326;;;7980:8;7962:52;;7967:11;-1:-1:-1;;;;;7962:52:0;;7990:11;8003:10;7962:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7962:52: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;7962:52:0;;;;;;;;;;;;;;;;;;;8032:4;8025:11;;1085:1;6719:1325;;;;;;;;;;:::o;9427:185::-;9515:12;;:30;;9491:4;9483:21;;-1:-1:-1;;;;;9515:12:0;;:30;;;;;9483:21;;9465:15;9515:30;9465:15;9515:30;9483:21;9515:12;:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;9582:12:0;;9561:43;;;;;;;;-1:-1:-1;;;;;9582:12:0;;;;9570:10;;9561:43;;;;;;;;;;9427:185;:::o;1932:116::-;1068:5;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;1775:6;;-1:-1:-1;;;1775:6:0;;;;1767:15;;;;;;;;1999:5;1990:14;;-1:-1:-1;;1990:14:0;;;2020:20;;;2029:10;2020:20;;;;;;;;;;;;;1932:116::o;4701:248::-;4760:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;4811:10;4801:21;;;;:9;:21;;;;;;:32;;4827:5;4801:32;:25;:32;:::i;:::-;4787:10;4777:21;;;;:9;:21;;;;;:56;4858:11;;:22;;4874:5;4858:22;:15;:22;:::i;:::-;4844:11;:36;4896:23;;;;;;;;4901:10;;4896:23;;;;;;;;;;-1:-1:-1;4937:4:0;4701:248;;;:::o;8176:30::-;;;;:::o;1483:18::-;;;-1:-1:-1;;;1483:18:0;;;;;:::o;2350:45::-;;;;;;;;;;;;;:::o;8092:40::-;8128:4;8092:40;:::o;1302:138::-;1068:5;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;1400:1;1385:5;;1364:39;;-1:-1:-1;;;;;1385:5:0;;;;1364:39;;1400:1;;1364:39;1430:1;1414:18;;-1:-1:-1;;1414:18:0;;;1302:138::o;8357:41::-;;;;:::o;8307:43::-;;;;:::o;4957:327::-;5034:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;-1:-1:-1;;;;;5081:15:0;;;;;;:9;:15;;;;;;;;5097:10;5081:27;;;;;;;;:38;;5113:5;5081:38;:31;:38;:::i;:::-;-1:-1:-1;;;;;5051:15:0;;;;;;:9;:15;;;;;;;;5067:10;5051:27;;;;;;;:68;;;;5148:15;;;:9;:15;;;;;:26;;5168:5;5148:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;5130:15:0;;;;;;:9;:15;;;;;:44;5199:11;;:22;;5215:5;5199:22;:15;:22;:::i;:::-;5185:11;:36;5237:17;;;;;;;;-1:-1:-1;;;;;5237:17:0;;;;;;;;;;;;;-1:-1:-1;5272:4:0;4957:327;;;;:::o;1810:114::-;1068:5;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;1869:6;:13;;-1:-1:-1;;1869:13:0;-1:-1:-1;;;1869:13:0;;;1898:18;;;1905:10;1898:18;;;;;;;;;;;;;1810:114::o;5337:388::-;5455:18;;5514:17;;5421:4;;5455:18;5421:4;;5492:39;;5484:48;;;;;;5560:1;5551:6;:10;:26;;;;;5575:2;5565:6;:12;;5551:26;5543:35;;;;;;;;-1:-1:-1;5608:1:0;5591:103;5615:6;5611:1;:10;5591:103;;;5643:39;5652:11;5664:1;5652:14;;;;;;;;;;;;;;;;;;5668:10;5679:1;5668:13;;;;;;;;;;;;;;;;;;5643:8;:39::i;:::-;-1:-1:-1;5623:3:0;;5591:103;;;-1:-1:-1;5713:4:0;;5337:388;-1:-1:-1;;;;5337:388:0:o;893:20::-;;;-1:-1:-1;;;;;893:20:0;;:::o;2173:37::-;;;;;;;;;;;;;;;;;;;:::o;4251:348::-;4350:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;-1:-1:-1;;;;;4375:21:0;;;;4367:30;;;;;;4451:10;4441:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4441:30:0;;;;;;;;;;:51;;4476:15;4441:51;:34;:51;:::i;8139:30::-;;;;:::o;3225:154::-;3300:4;1699:6;;-1:-1:-1;;;1699:6:0;;;;1698:7;1690:16;;;;;;3317:32;3327:10;3339:2;3343:5;3317:9;:32::i;:::-;-1:-1:-1;3367:4:0;3225:154;;;;:::o;9620:545::-;1068:5;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;9828:9;9810:27;;;9802:36;;;;;;9849:9;:24;;;9884:11;:28;;;9923:15;:36;;;9970:13;:32;;;10013:12;:30;;-1:-1:-1;;;;;10013:30:0;;-1:-1:-1;;10013:30:0;;;;;;;;10059:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9620:545;;;;;:::o;8405:72::-;;;-1:-1:-1;;;;;8405:72:0;;:::o;2402:66::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5944:45::-;;;;;;;;;;;;;;;:::o;1102:192::-;1068:5;;-1:-1:-1;;;;;1068:5:0;1054:10;:19;1046:28;;;;;;-1:-1:-1;;;;;1183:22:0;;;;1175:31;;;;;;1243:5;;;1222:37;;-1:-1:-1;;;;;1222:37:0;;;;1243:5;;;1222:37;;;1270:5;:16;;-1:-1:-1;;1270:16:0;-1:-1:-1;;;;;1270:16:0;;;;;;;;;;1102:192::o;582:148::-;640:7;672:5;;;696:6;;;;688:15;;;;;;721:1;582:148;-1:-1:-1;;;582:148:0:o;2906:311::-;-1:-1:-1;;;;;2981:21:0;;;;2973:30;;;;;;3028:11;;:22;;3044:5;3028:22;:15;:22;:::i;:::-;3014:11;:36;;;2337:4;3069:26;;3061:35;;;;;;-1:-1:-1;;;;;3128:18:0;;;;;;:9;:18;;;;;;:29;;3151:5;3128:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;3107:18:0;;;;;;:9;:18;;;;;;;;:50;;;;3173:36;;;;;;;3107:18;;;;3173:36;;;;;;;;;;2906:311;;:::o;426:148::-;484:7;;512:6;;;;504:15;;;;;;-1:-1:-1;;542:5:0;;;426:148::o;6115:596::-;-1:-1:-1;;;;;6209:14:0;;6192;6209;;;:8;:14;;;;;:23;;;;6192:14;;;6247:13;;6243:418;;-1:-1:-1;;;;;6294:15:0;;;;;;:9;:15;;;;;;:26;;6314:5;6294:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;6352:14:0;;;;;;:8;:14;;;;;:24;;:31;6277:43;;-1:-1:-1;6352:31:0;;-1:-1:-1;6352:14:0;-1:-1:-1;6398:252:0;6422:6;6418:1;:10;6398:252;;;-1:-1:-1;;;;;6478:14:0;;;;;;:8;:14;;;;;:24;;:27;;6503:1;;6478:27;;;;;;;;;;;;;;;;6454:51;;6546:4;:12;;;6528:15;:30;:54;;;;;6571:4;:11;;;6562:6;:20;6528:54;6524:111;;;6607:8;;;6524:111;6430:3;;;;;6398:252;;;6671:32;6687:4;6693:2;6697:5;6671:15;:32::i;:::-;6115:596;;;;;;;;:::o;2641:257::-;-1:-1:-1;;;;;2726:16:0;;;;2718:25;;;;;;-1:-1:-1;;;;;2772:15:0;;;;;;:9;:15;;;;;;:26;;2792:5;2772:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;2754:15:0;;;;;;;:9;:15;;;;;;:44;;;;2825:13;;;;;;;:24;;2843:5;2825:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;2809:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;2865:25;;;;;;;2809:13;;2865:25;;;;;;;;;;;;;2641:257;;;:::o;10172:415::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://7eef8cdcc696946fd3f8ed1d20724dd37bcd733489234e288e35a3ca2323d6a4
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.