ETH Price: $3,363.60 (-3.21%)

Token

MToken (MToken)
 

Overview

Max Total Supply

5,000,000,000 MToken

Holders

1,128

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:
MT

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-02-19
*/

pragma solidity ^ 0.4.24;

// ----------------------------------------------------------------------------
// 安全的加减乘除
// ----------------------------------------------------------------------------
library SafeMath {
	function add(uint a, uint b) internal pure returns(uint c) {
		c = a + b;
		require(c >= a);
	}

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

	function mul(uint a, uint b) internal pure returns(uint c) {
		c = a * b;
		require(a == 0 || c / a == b);
	}

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

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
	function totalSupply() public constant returns(uint);

	function balanceOf(address tokenOwner) public constant returns(uint balance);

	function allowance(address tokenOwner, address spender) public constant returns(uint remaining);

	function transfer(address to, uint tokens) public returns(bool success);

	function approve(address spender, uint tokens) public returns(bool success);

	function transferFrom(address from, address to, uint tokens) public returns(bool success);

	event Transfer(address indexed from, address indexed to, uint tokens);
	event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

// ----------------------------------------------------------------------------
// 核心类
// ----------------------------------------------------------------------------
contract MT is ERC20Interface{
	using SafeMath for uint;
	string public symbol;
	string public name;
	uint8 public decimals;
	uint _totalSupply;//总发行
	uint public sysusermoney;//流通 
	uint public sysoutmoney;//矿池 

	uint public sellPrice; //出售价格 1枚代币换多少以太 /1000
	uint public buyPrice; //购买价格 多少以太可购买1枚代币 /1000
	uint public sysPer; //挖矿的增量百分比 /2%
	uint public sysPrice1; //挖矿的衡量值10000
	uint public sysPrice2; //挖矿的衡量值100000
	uint public sysPrice3; //挖矿的衡量值300000
	uint public sysPrice4; //挖矿的衡量值500000
	uint public sysPer1; //挖矿的增量百分比 /3%
	uint public sysPer2; //挖矿的增量百分比 /4%
	uint public sysPer3; //挖矿的增量百分比 /5%
	uint public sysPer4; //挖矿的增量百分比 /6%
	uint public systime1;//120
	uint public systime2;//240
	uint public systime3;//360
	uint public systime4;//720
	
	uint public outper1;//退出锁仓20
	uint public outper2;//退出锁仓30
	uint public outper3;//退出锁仓40
	uint public outper4;//退出锁仓50
	
	uint public transper; //转账手续费 /3%
	
	bool public actived;
	uint public onceAddTime; //挖矿的时间 10 days
	uint public upper1;//团队奖% 
	uint public upper2;//团队奖% 
	uint public upper3;//团队奖%
	uint public upper4;//团队奖%
	uint public upper5;//团队奖%
	uint public upper6;//团队奖%
	uint public teamper1;//团队奖% 
	uint public teamper2;//团队奖% 
	
	uint public sellper;//15
    uint public sysminteth;
    uint public hasoutmony;
    uint public hasbuymoney;
    uint public hassellmoney;
    uint public hasbuyeth;
    uint public hasselleth;
	mapping(address => uint) balances;//总计
	mapping(address => uint) myeth;//本金
	mapping(address => uint) froeth;//冻结
	//mapping(address => uint) used;
	mapping(address => mapping(address => uint)) allowed;

	/* 冻结账户 */
	mapping(address => bool) public frozenAccount;

	//上家地址
	mapping(address => address) public fromaddr;
	//管理员帐号
	mapping(address => bool) public admins;
	// 记录各个账户的增量时间
	mapping(address => uint) public crontime;
	// 挖矿次数
	mapping(address => uint) public mintnum;
	uint[] public permans;
	mapping(address => uint) public teamget;
	struct sunsdata{
	    uint n1;
	    uint n2;
	    uint n3;
	    uint n4;
	    uint n5;
	    uint n6;
	    uint getmoney;
	}
    mapping(address => sunsdata) public suns;
    address public intertoken;
    modifier onlyInterface {
        require(intertoken != address(0));
		require(msg.sender == intertoken);
		_;
	}
	/* 通知 */
	event FrozenFunds(address target, bool frozen);
	address public owner;
	address public financer;
    modifier onlyOwner {
		require(msg.sender == owner);
		_;
	}
	modifier  onlyFinancer {
		require(msg.sender == financer);
		_;
	}
	// ------------------------------------------------------------------------
	// Constructor
	// ------------------------------------------------------------------------
	constructor() public {

		symbol = "MToken";
		name = "MToken";
		decimals = 18;
		_totalSupply = 5000000000 ether;//总发行
		sysusermoney = 2500000000 ether;//流通
		sysoutmoney  = 2500000000 ether;//矿池

		sellPrice = 7251 ether; //出售价格 1mt can buy how much eth
		buyPrice = 7251 ether; //购买价格 1eth can buy how much mt
		
		//sysPrice1 = 3 ether;//test
		sysPer  = 2; //挖矿的增量百分比 /100
		sysPer1 = 3; //挖矿的增量百分比 /100
		sysPer2 = 4; //挖矿的增量百分比 /100
		sysPer3 = 5; //挖矿的增量百分比 /100
		sysPer4 = 6; //挖矿的增量百分比 /100
		
		sysPrice1 = 10000 ether; //挖矿的衡量值
		sysPrice2 = 100000 ether; //挖矿的衡量值
		sysPrice3 = 300000 ether; //挖矿的衡量值
		sysPrice4 = 500000 ether; //挖矿的衡量值
		
		transper = 3;//转账手续费 /100
		upper1 = 10;//第1代挖矿分润
		upper2 = 7;//第2代挖矿分润
		upper3 = 6;//第2代挖矿分润
		upper4 = 5;//第2代挖矿分润
		upper5 = 4;//第2代挖矿分润
		upper6 = 3;//第2代挖矿分润
		teamper1 = 10;//团队奖% /100
		teamper2 = 20;//团队奖% /100
		outper1 = 80;//退出锁仓 /100
		outper2 = 70;//退出锁仓 /100
		outper3 = 60;//退出锁仓 /100
		outper4 = 60;//退出锁仓 /100
		sellper = 85;// /100
		actived = true;
		onceAddTime = 10 days; //挖矿的时间 正式
		//onceAddTime = 60 seconds;//test
        systime1 = 13;
        systime2 = 25;
        systime3 = 37;
        systime4 = 73;
        permans = [40,20,12,6];
        //permans = [3,3,2,2];//test
		balances[this] = _totalSupply;
		owner = msg.sender;
		financer = msg.sender;
		emit Transfer(address(0), owner, _totalSupply);

	}

	/* 获取用户金额 */
	function balanceOf(address user) public view returns(uint balance) {
		return balances[user];
	}
	function ethbalance(address user) public view returns(uint balance) {
		return user.balance;
	}
    function addcrontime(address addr) private{
        if(crontime[addr] < now) {
            crontime[addr] = now + onceAddTime;
        }
        
    }
    function addusertime(address addr) private{
        if(balances[addr] < 2) {
            addcrontime(addr);
        }
    }
	/*
	 * 获取用户的挖矿时间
	 * @param {Object} address
	 */
	function getaddtime(address _addr) public view returns(uint) {
		if(crontime[_addr] < 2) {
			return(0);
		}else{
		    return(crontime[_addr]);
		}
		
	}
	function getmy(address user) public view returns(
	    uint myblance,
	    uint meth,
	    uint myeths,
	    uint mypro,
	    uint mytime,
	    uint bprice,
	    uint tmoney,
	    uint myall
	){
	    myblance = balances[user];//0
	    meth = address(user).balance;//2
	    myeths = myeth[user];//3
	    mypro = froeth[user];//4
	    mytime = crontime[user];//5
	    bprice = buyPrice;//6
	    tmoney = balances[this];//9
	    myall = myblance.add(mypro);//10
	}
	function geteam(address user) public view returns(
	    uint nn1,//0
	    uint nn2,//1
	    uint nn3,//2
	    uint nn4,//3
	    uint nn5,//4
	    uint nn6,//5
	    uint ms,//6
	    uint tm,//7
	    uint mintmoneys,//8
	    uint usermoneys,//9
	    uint fromoneys,//10
	    uint lid//11
	){
	    nn1 = suns[user].n1;
	    nn2 = suns[user].n2;
	    nn3 = suns[user].n3;
	    nn4 = suns[user].n4;
	    nn5 = suns[user].n5;
	    nn6 = suns[user].n6;
	    ms = teamget[user];
	    tm = getaddtime(user);
	    mintmoneys = sysoutmoney;
	    usermoneys = sysusermoney;
	    fromoneys = sysminteth;
	    if(suns[user].n2 >= permans[2] && suns[user].n1 >= permans[3]){
	        lid = 1;
	    }
	    if(suns[user].n2 >= permans[0] && suns[user].n1 >= permans[1]){
	        lid = 2;
	    }
	}
	function getsys() public view returns(
	    uint tmoney,//0
	    uint outm,//1
	    uint um,//2
	    uint from,//3
	    uint hasout,//4
	    uint hasbuy,//5
	    uint hassell,//6
	    uint hasbuyeths,//9
	    uint hasselleths//10
	){
	    tmoney = _totalSupply.sub(balances[this]);
	    outm = sysoutmoney;
	    um = sysusermoney;
	    from = sysminteth;
	    hasout = hasoutmony;
	    hasbuy = hasbuymoney;
	    hassell = hassellmoney;
	    hasbuyeths = hasbuyeth;
	    hasselleths = hasselleth;
	}
    function _transfer(address from, address to, uint tokens) private returns(bool success) {
        require(!frozenAccount[from]);
		require(!frozenAccount[to]);
		require(actived == true);
		uint addper = tokens*transper/100;
		uint allmoney = tokens + addper;
		require(balances[from] >= allmoney);
		require(tokens > 1 && tokens < _totalSupply);
		// 防止转移到0x0, 用burn代替这个功能
        require(to != 0x0);
		require(from != to);
		// 将此保存为将来的断言, 函数最后会有一个检验103 - 3 + 10
        uint previousBalances = balances[from] - addper + balances[to];
		//如果用户没有上家
		if(fromaddr[to] == address(0) && fromaddr[from] != to) {
			//指定上家地址
			fromaddr[to] = from;
			suns[from].n1++;
			address top = fromaddr[from];
			if(top != address(0)) {
			    suns[top].n2++;
			    top = fromaddr[top];
			    if(top != address(0)) {
    			    suns[top].n3++;
    			    top = fromaddr[top];
    			    if(top != address(0)) {
        			    suns[top].n4++;
        			    top = fromaddr[top];
        			    if(top != address(0)) {
            			    suns[top].n5++;
            			    top = fromaddr[top];
            			    if(top != address(0)) {
                			    suns[top].n6++;
                			}
            			}
        			}
    			}
			}
		} 
		
		balances[from] = balances[from].sub(allmoney);
		if(balances[from] < myeth[from]) {
		    myeth[from] = balances[from];
		}
		balances[this] = balances[this].add(addper);
		balances[to] = balances[to].add(tokens);
		myeth[to] = myeth[to].add(tokens);
		addcrontime(to);
		emit Transfer(from, this, addper);
		emit Transfer(from, to, tokens);
		// 断言检测, 不应该为错
        assert(balances[from] + balances[to] == previousBalances);//90 10
		return true;
    }
	/*
	 * 用户转账
	 * @param {Object} address
	 */
	function transfer(address to, uint tokens) public returns(bool success) {
		_transfer(msg.sender, to, tokens);
		success = true;
	}
    function intertransfer(address from, address to, uint tokens) public onlyInterface returns(bool success) {
		_transfer(from, to, tokens);
		success = true;
	}
	/*
	 * 获取上家地址
	 * @param {Object} address
	 */
	function getfrom(address _addr) public view returns(address) {
		return(fromaddr[_addr]);
	}

	function approve(address spender, uint tokens) public returns(bool success) {
	    require(tokens > 1 && tokens < _totalSupply);
	    require(balances[msg.sender] >= tokens);
		allowed[msg.sender][spender] = tokens;
		emit Approval(msg.sender, spender, tokens);
		return true;
	}
	/*
	 * 授权转账
	 * @param {Object} address
	 */
	function transferFrom(address from, address to, uint tokens) public returns(bool success) {
		require(actived == true);
		require(!frozenAccount[from]);
		require(!frozenAccount[to]);
		require(tokens > 1 && tokens < _totalSupply);
		require(balances[from] >= tokens);
		balances[from] = balances[from].sub(tokens);
		allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
		balances[to] = balances[to].add(tokens);
		emit Transfer(from, to, tokens);
		return true;
	}

	/*
	 * 获取授权信息
	 * @param {Object} address
	 */
	function allowance(address tokenOwner, address spender) public view returns(uint remaining) {
		return allowed[tokenOwner][spender];
	}



	/// 冻结 or 解冻账户
	function freezeAccount(address target, bool freeze) public onlyOwner{
		frozenAccount[target] = freeze;
		emit FrozenFunds(target, freeze);
	}
	
	/*
	 * 系统设置
	 * @param {Object} uint
	 	
	 */
	function setconf(
    	uint systyPrice1, 
    	uint systyPrice2, 
    	uint systyPrice3, 
    	uint systyPrice4, 
    	uint sysPermit1,
    	uint sysPermit2,
    	uint sysPermit3,
    	uint sysPermit4,
    	uint systime1s,
    	uint systime2s,
    	uint systime3s,
    	uint systime4s
    ) public onlyOwner{
		sysPrice1 = systyPrice1;
		sysPrice2 = systyPrice2;
		sysPrice3 = systyPrice3;
		sysPrice4 = systyPrice4;
		sysPer1 = sysPermit1;
		sysPer2 = sysPermit2;
		sysPer3 = sysPermit3;
		sysPer4 = sysPermit4;
		systime1 = systime1s + 1;
		systime2 = systime2s + 1;
		systime3 = systime3s + 1;
		systime4 = systime4s + 1;
		
	}
	/*
	 * 获取系统设置
	 */
	function getconf() public view returns(
	    uint systyPrice1, 
    	uint systyPrice2, 
    	uint systyPrice3, 
    	uint systyPrice4, 
    	uint sysPermit1,
    	uint sysPermit2,
    	uint sysPermit3,
    	uint sysPermit4,
    	uint systime1s,
    	uint systime2s,
    	uint systime3s,
    	uint systime4s
	) {
		
		systyPrice1 = sysPrice1;//0
		systyPrice2 = sysPrice2;//1
		systyPrice3 = sysPrice3;//2
		systyPrice4 = sysPrice4;//3
		sysPermit1 = sysPer1;//4
		sysPermit2 = sysPer2;//5
		sysPermit3 = sysPer3;//6
		sysPermit4 = sysPer4;//7
		systime1s = systime1 - 1;//8
		systime2s = systime2 - 1;//9
		systime3s = systime3 - 1;//10
		systime4s = systime4 - 1;//11
		
	}
	
	function setother(
	    uint newonceaddtime, 
    	uint newBuyPrice, 
    	uint newSellPrice, 
    	uint sysPermit,
    	uint transpers,
    	uint sellpers,
	    uint upper1s,
    	uint upper2s,
    	uint upper3s,
    	uint upper4s,
    	uint upper5s,
    	uint upper6s
	) public onlyOwner{
	    onceAddTime = newonceaddtime;
		buyPrice = newBuyPrice;
		sellPrice = newSellPrice;
		sysPer = sysPermit;
		transper = transpers;
		sellper = sellpers;
	    upper1 = upper1s;
		upper2 = upper2s;
		upper3 = upper3s;
		upper4 = upper4s;
		upper5 = upper5s;
		upper6 = upper6s;	
	}
	
	function getother() public view returns(
	    uint newonceaddtime, 
    	uint newBuyPrice, 
    	uint newSellPrice, 
    	uint sysPermit,
    	uint transpers,
    	uint sellpers,
	    uint upper1s,
    	uint upper2s,
    	uint upper3s,
    	uint upper4s,
    	uint upper5s,
    	uint upper6s
	){
	    newonceaddtime = onceAddTime;//0
		newBuyPrice = buyPrice;//1
	    newSellPrice = 	sellPrice;//2
		sysPermit = sysPer;//3
		transpers = transper;//4
		sellpers = sellper;//5
	    upper1s = upper1;//6
		upper2s = upper2;//7
		upper3s = upper3;//8
		upper4s = upper4;//9
		upper5s = upper5;//10
		upper6s = upper6;//11
	}
	function setsysteam(
    	uint outper1s,
    	uint outper2s,
    	uint outper3s,
    	uint outper4s,
    	uint teamper1s,
    	uint teamper2s,
    	uint t1,
    	uint t2,
    	uint t3,
    	uint t4
	) public onlyOwner{
	    outper1 = outper1s;
		outper2 = outper2s;
		outper3 = outper3s;
		outper4 = outper4s;
	    teamper1 = teamper1s;
		teamper2 = teamper2s;
		permans = [t1,t2,t3,t4];
	}
	function getsysteam() public view returns(
	    uint outper1s,
    	uint outper2s,
    	uint outper3s,
    	uint outper4s,
    	uint teamper1s,
    	uint teamper2s,
    	uint t1,
    	uint t2,
    	uint t3,
    	uint t4
	){
	    outper1s = outper1;//0
		outper2s = outper2;//1
		outper3s = outper3;//2
		outper4s = outper4;//3
		teamper1s = teamper1;//4
		teamper2s = teamper2;//5
		t1 = permans[0];//6
		t2 = permans[1];//7
		t3 = permans[2];//8
		t4 = permans[3];//9
	}
	/*
	 * 设置是否开启
	 * @param {Object} bool
	 */
	function setactive(bool tags) public onlyOwner {
		actived = tags;
	}
	function settoken(address tokensaddr) onlyOwner public {
		intertoken = tokensaddr;
	}
	function setadmin(address adminaddr) onlyOwner public {
		owner = adminaddr;
	}
	function setfinancer(address financeraddr) onlyOwner public {
		financer = financeraddr;
	}
	/*
	 * 获取总发行
	 */
	function totalSupply() public view returns(uint) {
		return _totalSupply;
	}
	function addusermoney(address target, uint256 mintedAmount) private{
	    require(!frozenAccount[target]);
		require(actived == true);
        require(balances[this] > mintedAmount);
		balances[target] = balances[target].add(mintedAmount);
		myeth[target] = myeth[target].add(mintedAmount);
		balances[this] = balances[this].sub(mintedAmount);
		sysusermoney = sysusermoney.sub(mintedAmount);
		hasoutmony = hasoutmony.add(mintedAmount);
		addcrontime(target);
		emit Transfer(this, target, mintedAmount);
	}
	function subusermoney(address target, uint256 mintedAmount) private{
	    require(!frozenAccount[target]);
		require(actived == true);
        require(balances[target] > mintedAmount);
		balances[target] = balances[target].sub(mintedAmount);
		if(balances[target] < myeth[target]) {
		    myeth[target] = balances[target];
		}
		balances[this] = balances[this].add(mintedAmount);
		sysusermoney = sysusermoney.add(mintedAmount);
		emit Transfer( target,this, mintedAmount);
	}
	/*
	 * 向指定账户拨发资金
	 * @param {Object} address
	 */
	function adduser(address target, uint256 mintedAmount) public onlyFinancer{
		addusermoney(target, mintedAmount);
	}
	function subuser(address target, uint256 mintedAmount) public onlyFinancer{
		subusermoney(target, mintedAmount);
	}
	function interadduser(address target, uint256 mintedAmount) public onlyInterface{
		addusermoney(target, mintedAmount);
	}
	function intersubuser(address target, uint256 mintedAmount) public onlyInterface{
		subusermoney(target, mintedAmount);
	}
	function mintadd() public{
	    address user = msg.sender;
		require(!frozenAccount[user]);
		require(actived == true);
		require(balances[user] >= sysPrice1);
		froeth[user] = froeth[user].add(balances[user]);
		sysminteth = sysminteth.add(balances[user]);
		emit Transfer(user, this, balances[user]);
		balances[user] = 1;
		myeth[user] = 1;
		if(froeth[user] >= sysPrice4) {
		    mintnum[user] = systime4;
		}
		else if(froeth[user] >= sysPrice3) {
		    mintnum[user] = systime3;
		}
		else if(froeth[user] >= sysPrice2) {
		    mintnum[user] = systime2;
		}else{
		    mintnum[user] = systime1;
		}
		crontime[user] = now + onceAddTime;
		
	}
	function mintsub() public{
	    address user = msg.sender;
		require(!frozenAccount[user]);
		require(actived == true);
		require(mintnum[user] > 1);
		require(froeth[user] >= sysPrice1);
		uint getamount = froeth[user]*outper1/100;
		if(froeth[user] >= sysPrice4) {
		    getamount = froeth[user]*outper4/100;
		}
		else if(froeth[user] >= sysPrice3) {
		    getamount = froeth[user]*outper3/100;
		}
		else if(froeth[user] >= sysPrice2) {
		    getamount = froeth[user]*outper2/100;
		}
		uint addthis = froeth[user].sub(getamount);
		balances[this] = balances[this].add(addthis);
		emit Transfer(user, this, addthis);
		sysminteth = sysminteth.add(uint(1)).sub(froeth[user]);
		froeth[user] = 1;
		mintnum[user] = 1;
		balances[user] = balances[user].add(getamount);
		myeth[user] = myeth[user].add(getamount);
		emit Transfer(this, user, getamount);
		
	}
	function setteam(address user, uint amount) private returns(bool) {
	    if(suns[user].n2 >= permans[2] && suns[user].n1 >= permans[3]){
	        teamget[user] = teamget[user].add(amount);
	        uint chkmoney = sysPrice2;
	        uint sendmoney = teamget[user]*teamper1/100;
	        if(suns[user].n2 >= permans[0] && suns[user].n1 >= permans[1]){
	            chkmoney = sysPrice4;
	            sendmoney = teamget[user]*teamper2/100;
	        }
	        if(teamget[user] >= chkmoney) {
	            require(balances[this] > sendmoney);
	            require(sysoutmoney > sendmoney);
	            suns[user].getmoney = suns[user].getmoney.add(sendmoney);
	            balances[user] = balances[user].add(sendmoney);
	            teamget[user] = 1;
	            balances[this] = balances[this].sub(sendmoney);
		        sysoutmoney = sysoutmoney.sub(sendmoney);
		        sysusermoney = sysusermoney.add(sendmoney);
		        emit Transfer(this, user, sendmoney);
	        }
	        return(true);
	    }
	}
	function settop(address top, uint upmoney) private{
	    require(balances[this] > upmoney);
	    require(sysoutmoney > upmoney);
	    balances[top] = balances[top].add(upmoney);
        balances[this] = balances[this].sub(upmoney);
        sysoutmoney = sysoutmoney.sub(upmoney);
        sysusermoney = sysusermoney.add(upmoney);
        emit Transfer(this, top, upmoney);
        setteam(top, upmoney);
	}
	/*
	 * 用户每隔10天挖矿一次
	 */
	function mint() public {
	    address user = msg.sender;
		require(!frozenAccount[user]);
		require(actived == true);
		require(crontime[user] > 1);
		require(now > crontime[user]);
		uint amount;
		uint usmoney;
		uint mintmoney;
		if(myeth[user] > 1) {
		    usmoney = myeth[user] * sysPer / 100;
		}
		if(froeth[user] >= sysPrice1 && mintnum[user] > 1) {
		    mintmoney = froeth[user] * sysPer1 / 100;
		    if(froeth[user] >= sysPrice4) {
    		    mintmoney = froeth[user] * sysPer4 / 100;
    		}
    		else if(froeth[user] >= sysPrice3) {
    		    mintmoney = froeth[user] * sysPer3 / 100;
    		}
    		else if(froeth[user] >= sysPrice2) {
    		    mintmoney = froeth[user] * sysPer2 / 100;
    		}
		}
		amount = usmoney.add(mintmoney);
		require(balances[this] > amount);
		require(sysoutmoney > amount);
		balances[user] = balances[user].add(amount);
		balances[this] = balances[this].sub(amount);
		sysoutmoney = sysoutmoney.sub(amount);
		sysusermoney = sysusermoney.add(amount);
		crontime[user] = now + onceAddTime;
		
		if(usmoney > 0) {
		    emit Transfer(this, user, usmoney);
		}
		if(mintmoney > 0) {
		    emit Transfer(this, user, mintmoney);
		    mintnum[user]--;
		    if(mintnum[user] < 2) {
		        balances[user] = balances[user].add(froeth[user]);
		        myeth[user] = myeth[user].add(froeth[user]);
		        sysminteth = sysminteth.sub(froeth[user]);
		        emit Transfer(this, user, froeth[user]);
		        froeth[user] = 1; 
		    }
		}
		address top = fromaddr[user];
		
		if(top != address(0) && top != user) { 
		    uint upmoney = amount*upper1/100;
		    settop(top, upmoney);
		    top = fromaddr[top];
		    if(top != address(0) && top != user) {
    		    upmoney = amount*upper2/100;
    		    settop(top, upmoney);
    		    top = fromaddr[top];
    		    if(top != address(0) && top != user) {
        		    upmoney = amount*upper3/100;
        		    settop(top, upmoney);
        		    top = fromaddr[top];
        		    if(top != address(0) && top != user) {
            		    upmoney = amount*upper4/100;
            		    settop(top, upmoney);
            		    top = fromaddr[top];
            		    if(top != address(0) && top != user) {
                		    upmoney = amount*upper5/100;
                		    settop(top, upmoney);
                		    top = fromaddr[top];
                		    if(top != address(0) && top != user) {
                    		    upmoney = amount*upper6/100;
                    		    settop(top, upmoney);
                    		}
                		}
            		}
        		}
        		
    		}
		}
		//emit Transfer(this, user, amount);
		

	}
	/*
	 * 获取总账目
	 */
	function getall() public view returns(uint256 money) {
		money = address(this).balance;
	}
	/*
	 * 购买
	 */
	function buy() public payable returns(uint) {
		require(actived == true);
		address user = msg.sender;
		require(!frozenAccount[user]);
		require(msg.value > 0);
		uint amount = (msg.value * buyPrice)/1 ether;
		require(balances[this] > amount);
		require(amount > 1 && amount < _totalSupply);
		balances[user] = balances[user].add(amount);
		myeth[user] = myeth[user].add(amount);
		balances[this] = balances[this].sub(amount);
		sysusermoney = sysusermoney.sub(amount);
		hasbuymoney = hasbuymoney.add(amount);
		hasbuyeth = hasbuyeth.add(msg.value);
		addcrontime(user);
		owner.transfer(msg.value);
		emit Transfer(this, user, amount);
		return(amount);
	}
	
	/*
	 * 系统充值
	 */
	function charge() public payable returns(bool) {
		return(true);
	}
	
	function() payable public {
		buy();
	}
	/*
	 * 系统提现
	 * @param {Object} address
	 */
	function withdraw(address _to, uint money) public onlyOwner {
		require(actived == true);
		require(!frozenAccount[_to]);
		require(address(this).balance > money);
		require(money > 0);
		_to.transfer(money);
	}
	/*
	 * 出售
	 * @param {Object} uint256
	 */
	function sell(uint256 amount) public returns(bool success) {
		require(actived == true);
		address user = msg.sender;
		require(!frozenAccount[user]);
		require(amount < _totalSupply);
		require(amount > 1);
		require(balances[user] >= amount);
		uint moneys = (amount * sellper * 10 finney)/sellPrice;
		require(address(this).balance > moneys);
		user.transfer(moneys);
		uint previousBalances = balances[user] + balances[this];
		balances[user] = balances[user].sub(amount);
		if(balances[user] < myeth[user]) {
		    myeth[user] = balances[user];
		}
		balances[this] = balances[this].add(amount);
        sysusermoney = sysusermoney.add(amount);
        hassellmoney = hassellmoney.add(amount);
        hasselleth = hasselleth.add(moneys);
		emit Transfer(user, this, amount);
		// 断言检测, 不应该为错
        assert(balances[user] + balances[this] == previousBalances);
		return(true);
	}
	
		/*
	 * 批量发币
	 * @param {Object} address
	 */
	function addBalances(address[] recipients, uint256[] moenys) public onlyOwner{
		uint256 sum = 0;
		for(uint256 i = 0; i < recipients.length; i++) {
			balances[recipients[i]] = balances[recipients[i]].add(moenys[i]);
			sum = sum.add(moenys[i]);
			addusertime(recipients[i]);
			emit Transfer(this, recipients[i], moenys[i]);
		}
		balances[this] = balances[this].sub(sum);
		sysusermoney = sysusermoney.sub(sum);
	}
	/*
	 * 批量减币
	 * @param {Object} address
	 */
	function subBalances(address[] recipients, uint256[] moenys) public onlyOwner{
		uint256 sum = 0;
		for(uint256 i = 0; i < recipients.length; i++) {
			balances[recipients[i]] = balances[recipients[i]].sub(moenys[i]);
			sum = sum.add(moenys[i]);
			emit Transfer(recipients[i], this, moenys[i]);
		}
		balances[this] = balances[this].add(sum);
		sysusermoney = sysusermoney.add(sum);
	}

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"sysPer3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"financeraddr","type":"address"}],"name":"setfinancer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"outper4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"systyPrice1","type":"uint256"},{"name":"systyPrice2","type":"uint256"},{"name":"systyPrice3","type":"uint256"},{"name":"systyPrice4","type":"uint256"},{"name":"sysPermit1","type":"uint256"},{"name":"sysPermit2","type":"uint256"},{"name":"sysPermit3","type":"uint256"},{"name":"sysPermit4","type":"uint256"},{"name":"systime1s","type":"uint256"},{"name":"systime2s","type":"uint256"},{"name":"systime3s","type":"uint256"},{"name":"systime4s","type":"uint256"}],"name":"setconf","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sysPer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"systime1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onceAddTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"outper1s","type":"uint256"},{"name":"outper2s","type":"uint256"},{"name":"outper3s","type":"uint256"},{"name":"outper4s","type":"uint256"},{"name":"teamper1s","type":"uint256"},{"name":"teamper2s","type":"uint256"},{"name":"t1","type":"uint256"},{"name":"t2","type":"uint256"},{"name":"t3","type":"uint256"},{"name":"t4","type":"uint256"}],"name":"setsysteam","outputs":[],"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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sysPer4","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":true,"inputs":[],"name":"hassellmoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getaddtime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"adduser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getsysteam","outputs":[{"name":"outper1s","type":"uint256"},{"name":"outper2s","type":"uint256"},{"name":"outper3s","type":"uint256"},{"name":"outper4s","type":"uint256"},{"name":"teamper1s","type":"uint256"},{"name":"teamper2s","type":"uint256"},{"name":"t1","type":"uint256"},{"name":"t2","type":"uint256"},{"name":"t3","type":"uint256"},{"name":"t4","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getother","outputs":[{"name":"newonceaddtime","type":"uint256"},{"name":"newBuyPrice","type":"uint256"},{"name":"newSellPrice","type":"uint256"},{"name":"sysPermit","type":"uint256"},{"name":"transpers","type":"uint256"},{"name":"sellpers","type":"uint256"},{"name":"upper1s","type":"uint256"},{"name":"upper2s","type":"uint256"},{"name":"upper3s","type":"uint256"},{"name":"upper4s","type":"uint256"},{"name":"upper5s","type":"uint256"},{"name":"upper6s","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysminteth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokensaddr","type":"address"}],"name":"settoken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upper2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"outper3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admins","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getconf","outputs":[{"name":"systyPrice1","type":"uint256"},{"name":"systyPrice2","type":"uint256"},{"name":"systyPrice3","type":"uint256"},{"name":"systyPrice4","type":"uint256"},{"name":"sysPermit1","type":"uint256"},{"name":"sysPermit2","type":"uint256"},{"name":"sysPermit3","type":"uint256"},{"name":"sysPermit4","type":"uint256"},{"name":"systime1s","type":"uint256"},{"name":"systime2s","type":"uint256"},{"name":"systime3s","type":"uint256"},{"name":"systime4s","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"moenys","type":"uint256[]"}],"name":"subBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"fromaddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasbuyeth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getmy","outputs":[{"name":"myblance","type":"uint256"},{"name":"meth","type":"uint256"},{"name":"myeths","type":"uint256"},{"name":"mypro","type":"uint256"},{"name":"mytime","type":"uint256"},{"name":"bprice","type":"uint256"},{"name":"tmoney","type":"uint256"},{"name":"myall","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"outper2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"charge","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"outper1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasselleth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysPrice3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"permans","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teamget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysPer2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"ethbalance","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamper2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newonceaddtime","type":"uint256"},{"name":"newBuyPrice","type":"uint256"},{"name":"newSellPrice","type":"uint256"},{"name":"sysPermit","type":"uint256"},{"name":"transpers","type":"uint256"},{"name":"sellpers","type":"uint256"},{"name":"upper1s","type":"uint256"},{"name":"upper2s","type":"uint256"},{"name":"upper3s","type":"uint256"},{"name":"upper4s","type":"uint256"},{"name":"upper5s","type":"uint256"},{"name":"upper6s","type":"uint256"}],"name":"setother","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mintadd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transper","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"intersubuser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"interadduser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sysPrice1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systime3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysPer1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upper1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getall","outputs":[{"name":"money","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"crontime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"geteam","outputs":[{"name":"nn1","type":"uint256"},{"name":"nn2","type":"uint256"},{"name":"nn3","type":"uint256"},{"name":"nn4","type":"uint256"},{"name":"nn5","type":"uint256"},{"name":"nn6","type":"uint256"},{"name":"ms","type":"uint256"},{"name":"tm","type":"uint256"},{"name":"mintmoneys","type":"uint256"},{"name":"usermoneys","type":"uint256"},{"name":"fromoneys","type":"uint256"},{"name":"lid","type":"uint256"}],"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":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"intertransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upper3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellper","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"sysPrice2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"intertoken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamper1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"mintsub","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sysPrice4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasbuymoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"mintnum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"suns","outputs":[{"name":"n1","type":"uint256"},{"name":"n2","type":"uint256"},{"name":"n3","type":"uint256"},{"name":"n4","type":"uint256"},{"name":"n5","type":"uint256"},{"name":"n6","type":"uint256"},{"name":"getmoney","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systime2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"financer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysoutmoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upper4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"subuser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"systime4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sysusermoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"adminaddr","type":"address"}],"name":"setadmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"moenys","type":"uint256[]"}],"name":"addBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getsys","outputs":[{"name":"tmoney","type":"uint256"},{"name":"outm","type":"uint256"},{"name":"um","type":"uint256"},{"name":"from","type":"uint256"},{"name":"hasout","type":"uint256"},{"name":"hasbuy","type":"uint256"},{"name":"hassell","type":"uint256"},{"name":"hasbuyeths","type":"uint256"},{"name":"hasselleths","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"actived","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getfrom","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upper5","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upper6","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"money","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tags","type":"bool"}],"name":"setactive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hasoutmony","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b506040805180820190915260068082527f4d546f6b656e0000000000000000000000000000000000000000000000000000602090920191825262000058916000916200025f565b506040805180820190915260068082527f4d546f6b656e000000000000000000000000000000000000000000000000000060209092019182526200009f916001916200025f565b5060028054601260ff19918216811783556b1027e72f1f1281308800000060039081556b0813f3978f894098440000006004818155600591825569018913d6e28e356c000060068181556007918255600897909755600d848155600e839055600f849055601088905569021e19e0c9bab240000060095569152d02c7e14af6800000600a908155693f870857a3e0e3800000600b556969e10de76676d0800000600c9081556019878155601c839055601d94909455601e8a9055601f9590955560208481556021969096556022556014602381905560506015556046601655603c60178190556018556055602455601a8054909816600117909755620d2f00601b55601155909355602560135560498455604080516080810182526028815292830194909452928101929092526060820192909252620001e39160349190620002e4565b50600354306000908152602b602090815260408083208490556038805433600160a060020a03199182168117928390556039805490921617905581519485529051600160a060020a03909116937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a362000347565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002a257805160ff1916838001178555620002d2565b82800160010185558215620002d2579182015b82811115620002d2578251825591602001919060010190620002b5565b50620002e092915062000327565b5090565b828054828255906000526020600020908101928215620002d2579160200282015b82811115620002d2578251829060ff1690559160200191906001019062000305565b6200034491905b80821115620002e057600081556001016200032e565b90565b613dba80620003576000396000f30060806040526004361061041e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663019e17b3811461042957806303b0ec191461045057806306fdde0314610473578063095ea7b3146104fd5780630b0332f6146105355780630e8104521461054a5780630eea10b1146105875780631249c58b1461059c5780631565cf3a146105b157806316496a15146105c657806317340d54146105db57806318160ddd1461061057806323b872dd146106255780632467814d1461064f578063313ce56714610664578063327f0eaf1461068f57806332eb5e44146106a45780633435ea80146106c557806339b79267146106e95780633abd8e4e1461074e5780633bdcaf63146107c25780633dcc0db2146107d75780633f691c5b146107f85780633fa013711461080d578063429b62e51461082257806343463b981461084357806346e3606014610858578063478904eb146108e65780634b75033414610923578063509f31021461093857806353813af81461094d578063547921a8146109af57806355161913146109c457806358657841146109cc5780635ba98896146109e15780635e61cc3d146109f657806360cb613e14610a0b5780636a3c606714610a235780636d89dd1a14610a445780636eb09ce214610a595780636ee7578a14610a7a57806370a0823114610a8f578063721e6b2e14610ab05780637642249c14610aed5780637993177214610b025780637aa064ef14610b175780637fc8b61214610b3b578063827c2b2414610b5f578063856f931014610b745780638620410b14610b8957806387de581c14610b9e5780638da5cb5b14610bb35780638f448a3814610bc85780639097479514610bdd578063936f73c614610bf257806394dafb1614610c1357806395d89b4114610c34578063966dcd2614610c49578063991f360914610c735780639a24fb4814610c88578063a6f2ae3a14610c9d578063a755e41014610ca5578063a9059cbb14610cba578063aec2e82114610cde578063afcf28cd14610cf3578063b1347e9d14610d08578063b2fd51e014610d1d578063b414d4b614610d32578063b868203314610d53578063bd39519a14610d68578063bda4802614610d89578063cb92a2bc14610de2578063cd581cb214610df7578063d12869dc14610e0c578063d4686b8d14610e21578063d4e3293814610e36578063db1bf0e914610e5a578063dcd62cf114610e6f578063dd62ed3e14610e84578063dded49cb14610eab578063ddf0c07014610ecc578063e4849b3214610f5a578063e4be47e714610f72578063e724529c14610fce578063e736f03c14610ff4578063e987cc4514611009578063f19bb5bd1461102a578063f394a1411461103f578063f3fef3a314611054578063f43a72b014611078578063f8fe778f14611092575b6104266110a7565b50005b34801561043557600080fd5b5061043e611299565b60408051918252519081900360200190f35b34801561045c57600080fd5b50610471600160a060020a036004351661129f565b005b34801561047f57600080fd5b506104886112e5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104c25781810151838201526020016104aa565b50505050905090810190601f1680156104ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050957600080fd5b50610521600160a060020a0360043516602435611372565b604080519115158252519081900360200190f35b34801561054157600080fd5b5061043e611414565b34801561055657600080fd5b5061047160043560243560443560643560843560a43560c43560e4356101043561012435610144356101643561141a565b34801561059357600080fd5b5061043e611475565b3480156105a857600080fd5b5061047161147b565b3480156105bd57600080fd5b5061043e611b16565b3480156105d257600080fd5b5061043e611b1c565b3480156105e757600080fd5b5061047160043560243560443560643560843560a43560c43560e4356101043561012435611b22565b34801561061c57600080fd5b5061043e611b93565b34801561063157600080fd5b50610521600160a060020a0360043581169060243516604435611b9a565b34801561065b57600080fd5b5061043e611d37565b34801561067057600080fd5b50610679611d3d565b6040805160ff9092168252519081900360200190f35b34801561069b57600080fd5b5061043e611d46565b3480156106b057600080fd5b5061043e600160a060020a0360043516611d4c565b3480156106d157600080fd5b50610471600160a060020a0360043516602435611d95565b3480156106f557600080fd5b506106fe611dba565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561075a57600080fd5b50610763611e53565b604080519c8d5260208d019b909b528b8b019990995260608b019790975260808a019590955260a089019390935260c088019190915260e087015261010086015261012085015261014084015261016083015251908190036101800190f35b3480156107ce57600080fd5b5061043e611e8f565b3480156107e357600080fd5b50610471600160a060020a0360043516611e95565b34801561080457600080fd5b5061043e611edb565b34801561081957600080fd5b5061043e611ee1565b34801561082e57600080fd5b50610521600160a060020a0360043516611ee7565b34801561084f57600080fd5b50610763611efc565b34801561086457600080fd5b506040805160206004803580820135838102808601850190965280855261047195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750611f449650505050505050565b3480156108f257600080fd5b50610907600160a060020a03600435166120e7565b60408051600160a060020a039092168252519081900360200190f35b34801561092f57600080fd5b5061043e612102565b34801561094457600080fd5b5061043e612108565b34801561095957600080fd5b5061096e600160a060020a036004351661210e565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156109bb57600080fd5b5061043e612178565b61052161217e565b3480156109d857600080fd5b5061043e612183565b3480156109ed57600080fd5b5061043e612189565b348015610a0257600080fd5b5061043e61218f565b348015610a1757600080fd5b5061043e600435612195565b348015610a2f57600080fd5b5061043e600160a060020a03600435166121b4565b348015610a5057600080fd5b5061043e6121c6565b348015610a6557600080fd5b5061043e600160a060020a03600435166121cc565b348015610a8657600080fd5b5061043e6121d9565b348015610a9b57600080fd5b5061043e600160a060020a03600435166121df565b348015610abc57600080fd5b5061047160043560243560443560643560843560a43560c43560e435610104356101243561014435610164356121fa565b348015610af957600080fd5b50610471612249565b348015610b0e57600080fd5b5061043e61246d565b348015610b2357600080fd5b50610471600160a060020a0360043516602435612473565b348015610b4757600080fd5b50610471600160a060020a03600435166024356124ab565b348015610b6b57600080fd5b5061043e6124d9565b348015610b8057600080fd5b5061043e6124df565b348015610b9557600080fd5b5061043e6124e5565b348015610baa57600080fd5b5061043e6124eb565b348015610bbf57600080fd5b506109076124f1565b348015610bd457600080fd5b5061043e612500565b348015610be957600080fd5b5061043e612506565b348015610bfe57600080fd5b5061043e600160a060020a036004351661250b565b348015610c1f57600080fd5b50610763600160a060020a036004351661251d565b348015610c4057600080fd5b506104886126cb565b348015610c5557600080fd5b50610521600160a060020a0360043581169060243516604435612726565b348015610c7f57600080fd5b5061043e61276d565b348015610c9457600080fd5b5061043e612773565b61043e6110a7565b348015610cb157600080fd5b5061043e612779565b348015610cc657600080fd5b50610521600160a060020a036004351660243561277f565b348015610cea57600080fd5b50610907612796565b348015610cff57600080fd5b5061043e6127a5565b348015610d1457600080fd5b506104716127ab565b348015610d2957600080fd5b5061043e612a9b565b348015610d3e57600080fd5b50610521600160a060020a0360043516612aa1565b348015610d5f57600080fd5b5061043e612ab6565b348015610d7457600080fd5b5061043e600160a060020a0360043516612abc565b348015610d9557600080fd5b50610daa600160a060020a0360043516612ace565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b348015610dee57600080fd5b5061043e612b0b565b348015610e0357600080fd5b50610907612b11565b348015610e1857600080fd5b5061043e612b20565b348015610e2d57600080fd5b5061043e612b26565b348015610e4257600080fd5b50610471600160a060020a0360043516602435612b2c565b348015610e6657600080fd5b5061043e612b43565b348015610e7b57600080fd5b5061043e612b49565b348015610e9057600080fd5b5061043e600160a060020a0360043581169060243516612b4f565b348015610eb757600080fd5b50610471600160a060020a0360043516612b7a565b348015610ed857600080fd5b506040805160206004803580820135838102808601850190965280855261047195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750612bc09650505050505050565b348015610f6657600080fd5b50610521600435612d63565b348015610f7e57600080fd5b50610f87612f93565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b348015610fda57600080fd5b50610471600160a060020a03600435166024351515612ffa565b34801561100057600080fd5b50610521613075565b34801561101557600080fd5b50610907600160a060020a036004351661307e565b34801561103657600080fd5b5061043e61309c565b34801561104b57600080fd5b5061043e6130a2565b34801561106057600080fd5b50610471600160a060020a03600435166024356130a8565b34801561108457600080fd5b50610471600435151561314e565b34801561109e57600080fd5b5061043e613178565b601a546000908190819060ff1615156001146110c257600080fd5b336000818152602f602052604090205490925060ff16156110e257600080fd5b600034116110ef57600080fd5b600754670de0b6b3a7640000903402306000908152602b60205260409020549190049150811061111e57600080fd5b60018111801561112f575060035481105b151561113a57600080fd5b600160a060020a0382166000908152602b6020526040902054611163908263ffffffff61317e16565b600160a060020a0383166000908152602b6020908152604080832093909355602c90522054611198908263ffffffff61317e16565b600160a060020a0383166000908152602c6020908152604080832093909355308252602b905220546111d0908263ffffffff61318e16565b306000908152602b60205260409020556004546111f3908263ffffffff61318e16565b600455602754611209908263ffffffff61317e16565b60275560295461121f903463ffffffff61317e16565b60295561122b826131a3565b603854604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015611264573d6000803e3d6000fd5b50604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a392915050565b600f5481565b603854600160a060020a031633146112b657600080fd5b6039805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561136a5780601f1061133f5761010080835404028352916020019161136a565b820191906000526020600020905b81548152906001019060200180831161134d57829003601f168201915b505050505081565b6000600182118015611385575060035482105b151561139057600080fd5b336000908152602b60205260409020548211156113ac57600080fd5b336000818152602e60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60185481565b603854600160a060020a0316331461143157600080fd5b60099b909b55600a99909955600b97909755600c95909555600d93909355600e91909155600f55601055600190810160115590810160125590810160135501601455565b60085481565b336000818152602f6020526040812054819081908190819060ff16156114a057600080fd5b601a5460ff1615156001146114b457600080fd5b600160a060020a0386166000908152603260205260409020546001106114d957600080fd5b600160a060020a03861660009081526032602052604090205442116114fd57600080fd5b600160a060020a0386166000908152602c60205260409020546001101561154257600854600160a060020a0387166000908152602c6020526040902054606491020493505b600954600160a060020a0387166000908152602d6020526040902054108015906115845750600160a060020a0386166000908152603360205260409020546001105b1561166c57600d54600160a060020a0387166000908152602d6020526040902054600c546064928202929092049450106115e157601054600160a060020a0387166000908152602d6020526040902054606491025b04925061166c565b600b54600160a060020a0387166000908152602d60205260409020541061162757600f54600160a060020a0387166000908152602d6020526040902054606491026115d9565b600a54600160a060020a0387166000908152602d60205260409020541061166c57600e54600160a060020a0387166000908152602d6020526040902054606491020492505b61167c848463ffffffff61317e16565b306000908152602b6020526040902054909550851061169a57600080fd5b60055485106116a857600080fd5b600160a060020a0386166000908152602b60205260409020546116d1908663ffffffff61317e16565b600160a060020a0387166000908152602b6020526040808220929092553081522054611703908663ffffffff61318e16565b306000908152602b6020526040902055600554611726908663ffffffff61318e16565b60055560045461173c908663ffffffff61317e16565b600455601b54600160a060020a03871660009081526032602052604081204290920190915584111561179757604080518581529051600160a060020a038816913091600080516020613d6f8339815191529181900360200190a35b60008311156118ff57604080518481529051600160a060020a038816913091600080516020613d6f8339815191529181900360200190a3600160a060020a038616600090815260336020526040902080546000190190819055600211156118ff57600160a060020a0386166000908152602d6020908152604080832054602b9092529091205461182c9163ffffffff61317e16565b600160a060020a0387166000908152602b6020908152604080832093909355602d815282822054602c9091529190205461186b9163ffffffff61317e16565b600160a060020a0387166000908152602c6020908152604080832093909355602d905220546025546118a29163ffffffff61318e16565b602555600160a060020a0386166000818152602d602090815260409182902054825190815291513092600080516020613d6f83398151915292908290030190a3600160a060020a0386166000908152602d60205260409020600190555b600160a060020a03808716600090815260306020526040902054169150811580159061193d575085600160a060020a031682600160a060020a031614155b15611b0e5750601c5460649085020461195682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611995575085600160a060020a031682600160a060020a031614155b15611b0e5750601d546064908502046119ae82826131e8565b600160a060020a039182166000908152603060205260409020549091169081158015906119ed575085600160a060020a031682600160a060020a031614155b15611b0e5750601e54606490850204611a0682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611a45575085600160a060020a031682600160a060020a031614155b15611b0e5750601f54606490850204611a5e82826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611a9d575085600160a060020a031682600160a060020a031614155b15611b0e5750602054606490850204611ab682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611af5575085600160a060020a031682600160a060020a031614155b15611b0e5750602154606490850204611b0e82826131e8565b505050505050565b60115481565b601b5481565b603854600160a060020a03163314611b3957600080fd5b60158a905560168990556017889055601887905560228690556023859055604080516080810182528581526020810185905290810183905260608101829052611b86906034906004613d09565b5050505050505050505050565b6003545b90565b601a5460009060ff161515600114611bb157600080fd5b600160a060020a0384166000908152602f602052604090205460ff1615611bd757600080fd5b600160a060020a0383166000908152602f602052604090205460ff1615611bfd57600080fd5b600182118015611c0e575060035482105b1515611c1957600080fd5b600160a060020a0384166000908152602b6020526040902054821115611c3e57600080fd5b600160a060020a0384166000908152602b6020526040902054611c67908363ffffffff61318e16565b600160a060020a0385166000908152602b6020908152604080832093909355602e815282822033835290522054611ca4908363ffffffff61318e16565b600160a060020a038086166000908152602e602090815260408083203384528252808320949094559186168152602b9091522054611ce8908363ffffffff61317e16565b600160a060020a038085166000818152602b60209081526040918290209490945580518681529051919392881692600080516020613d6f83398151915292918290030190a35060019392505050565b60105481565b60025460ff1681565b60285481565b600160a060020a03811660009081526032602052604081205460021115611d7557506000611d90565b50600160a060020a0381166000908152603260205260409020545b919050565b603954600160a060020a03163314611dac57600080fd5b611db682826132e0565b5050565b6015546016546017546018546022546023546034805460009182918291829182908110611de357fe5b9060005260206000200154935060346001815481101515611e0057fe5b9060005260206000200154925060346002815481101515611e1d57fe5b9060005260206000200154915060346003815481101515611e3a57fe5b9060005260206000200154905090919293949596979899565b601b54600754600654600854601954602454601c54601d54601e54601f546020546021549a9b999a989997989697959694959394929391929091565b60255481565b603854600160a060020a03163314611eac57600080fd5b6037805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b601d5481565b60175481565b60316020526000908152604090205460ff1681565b600954600a54600b54600c54600d54600e54600f546010546011546012546013546014549a9b999a989997989697959694959394600019938401949284019391820192910190565b6038546000908190600160a060020a03163314611f6057600080fd5b5060009050805b835181101561209b57611fcc8382815181101515611f8157fe5b90602001906020020151602b60008785815181101515611f9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61318e16565b602b60008684815181101515611fde57fe5b6020908102909101810151600160a060020a0316825281019190915260400160002055825161202a9084908390811061201357fe5b60209081029091010151839063ffffffff61317e16565b915030600160a060020a0316848281518110151561204457fe5b90602001906020020151600160a060020a0316600080516020613d6f833981519152858481518110151561207457fe5b906020019060200201516040518082815260200191505060405180910390a3600101611f67565b306000908152602b60205260409020546120bb908363ffffffff61317e16565b306000908152602b60205260409020556004546120de908363ffffffff61317e16565b60045550505050565b603060205260009081526040902054600160a060020a031681565b60065481565b60295481565b600160a060020a0381166000818152602b6020818152604080842054602c835281852054602d84528286205460328552838720546007543089529690955292862054919631959094929392919061216b888663ffffffff61317e16565b9050919395975091939597565b60165481565b600190565b60155481565b602a5481565b600b5481565b60348054829081106121a357fe5b600091825260209091200154905081565b60356020526000908152604090205481565b600e5481565b600160a060020a03163190565b60235481565b600160a060020a03166000908152602b602052604090205490565b603854600160a060020a0316331461221157600080fd5b601b9b909b55600799909955600697909755600895909555601993909355602491909155601c55601d55601e55601f55602055602155565b336000818152602f602052604090205460ff161561226657600080fd5b601a5460ff16151560011461227a57600080fd5b600954600160a060020a0382166000908152602b602052604090205410156122a157600080fd5b600160a060020a0381166000908152602b6020908152604080832054602d909252909120546122d59163ffffffff61317e16565b600160a060020a0382166000908152602d6020908152604080832093909355602b9052205460255461230c9163ffffffff61317e16565b602555600160a060020a0381166000818152602b60209081526040918290205482519081529151309392600080516020613d6f83398151915292908290030190a3600160a060020a0381166000908152602b60209081526040808320600190819055602c835281842055600c54602d90925290912054106123a857601454600160a060020a038216600090815260336020526040902055612449565b600b54600160a060020a0382166000908152602d6020526040902054106123ea57601354600160a060020a038216600090815260336020526040902055612449565b600a54600160a060020a0382166000908152602d60205260409020541061242c57601254600160a060020a038216600090815260336020526040902055612449565b601154600160a060020a0382166000908152603360205260409020555b601b54600160a060020a039091166000908152603260205260409020429091019055565b60195481565b603754600160a060020a0316151561248a57600080fd5b603754600160a060020a031633146124a157600080fd5b611db68282613442565b603754600160a060020a031615156124c257600080fd5b603754600160a060020a03163314611dac57600080fd5b60095481565b60135481565b60075481565b600d5481565b603854600160a060020a031681565b601c5481565b303190565b60326020526000908152604090205481565b600160a060020a03811660009081526036602090815260408083208054600182015460028301546003840154600485015460059095015460359097529487205492969195909493929091808080806125748d611d4c565b94506005549350600454925060255491506034600281548110151561259557fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a03168152602001908152602001600020600101541015801561261857506034805460039081106125e157fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a031681526020019081526020016000206000015410155b15612621575060015b60348054600090811061263057fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a0316815260200190815260200160002060010154101580156126b3575060348054600190811061267c57fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a031681526020019081526020016000206000015410155b156126bc575060025b91939597999b5091939597999b565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561136a5780601f1061133f5761010080835404028352916020019161136a565b603754600090600160a060020a0316151561274057600080fd5b603754600160a060020a0316331461275757600080fd5b612762848484613595565b506001949350505050565b601e5481565b60245481565b600a5481565b600061278c338484613595565b5060019392505050565b603754600160a060020a031681565b60225481565b336000818152602f6020526040812054819060ff16156127ca57600080fd5b601a5460ff1615156001146127de57600080fd5b600160a060020a03831660009081526033602052604090205460011061280357600080fd5b600954600160a060020a0384166000908152602d6020526040902054101561282a57600080fd5b601554600160a060020a0384166000908152602d6020526040902054600c5460649282029290920493501061288257601854600160a060020a0384166000908152602d6020526040902054606491025b04915061290d565b600b54600160a060020a0384166000908152602d6020526040902054106128c857601754600160a060020a0384166000908152602d60205260409020546064910261287a565b600a54600160a060020a0384166000908152602d60205260409020541061290d57601654600160a060020a0384166000908152602d6020526040902054606491020491505b600160a060020a0383166000908152602d6020526040902054612936908363ffffffff61318e16565b306000908152602b6020526040902054909150612959908263ffffffff61317e16565b306000818152602b602090815260409182902093909355805184815290519192600160a060020a03871692600080516020613d6f8339815191529281900390910190a3600160a060020a0383166000908152602d60205260409020546025546129da91906129ce90600163ffffffff61317e16565b9063ffffffff61318e16565b602555600160a060020a0383166000908152602d602090815260408083206001908190556033835281842055602b909152902054612a1e908363ffffffff61317e16565b600160a060020a0384166000908152602b6020908152604080832093909355602c90522054612a53908363ffffffff61317e16565b600160a060020a0384166000818152602c6020908152604091829020939093558051858152905191923092600080516020613d6f8339815191529281900390910190a3505050565b600c5481565b602f6020526000908152604090205460ff1681565b60275481565b60336020526000908152604090205481565b6036602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b60125481565b603954600160a060020a031681565b60055481565b601f5481565b603954600160a060020a031633146124a157600080fd5b60145481565b60045481565b600160a060020a039182166000908152602e6020908152604080832093909416825291909152205490565b603854600160a060020a03163314612b9157600080fd5b6038805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6038546000908190600160a060020a03163314612bdc57600080fd5b5060009050805b8351811015612d2057612c488382815181101515612bfd57fe5b90602001906020020151602b60008785815181101515612c1957fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61317e16565b602b60008684815181101515612c5a57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558251612c8f9084908390811061201357fe5b9150612cb18482815181101515612ca257fe5b90602001906020020151613a03565b8381815181101515612cbf57fe5b90602001906020020151600160a060020a031630600160a060020a0316600080516020613d6f8339815191528584815181101515612cf957fe5b906020019060200201516040518082815260200191505060405180910390a3600101612be3565b306000908152602b6020526040902054612d40908363ffffffff61318e16565b306000908152602b60205260409020556004546120de908363ffffffff61318e16565b601a5460009081908190819060ff161515600114612d8057600080fd5b336000818152602f602052604090205490935060ff1615612da057600080fd5b6003548510612dae57600080fd5b60018511612dbb57600080fd5b600160a060020a0383166000908152602b6020526040902054851115612de057600080fd5b6006546024548602662386f26fc1000002811515612dfa57fe5b04915030318210612e0a57600080fd5b604051600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612e40573d6000803e3d6000fd5b5050306000908152602b602052604080822054600160a060020a038516835291205490810190612e76908663ffffffff61318e16565b600160a060020a0384166000908152602b60208181526040808420859055602c82529092205491521115612eca57600160a060020a0383166000908152602b6020908152604080832054602c909252909120555b306000908152602b6020526040902054612eea908663ffffffff61317e16565b306000908152602b6020526040902055600454612f0d908663ffffffff61317e16565b600455602854612f23908663ffffffff61317e16565b602855602a54612f39908363ffffffff61317e16565b602a556040805186815290513091600160a060020a03861691600080516020613d6f8339815191529181900360200190a3306000908152602b602052604080822054600160a060020a038616835291205401811461276257fe5b306000908152602b602052604081205460035482918291829182918291829182918291612fc59163ffffffff61318e16565b98506005549750600454965060255495506026549450602754935060285492506029549150602a549050909192939495969798565b603854600160a060020a0316331461301157600080fd5b600160a060020a0382166000818152602f6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b601a5460ff1681565b600160a060020a039081166000908152603060205260409020541690565b60205481565b60215481565b603854600160a060020a031633146130bf57600080fd5b601a5460ff1615156001146130d357600080fd5b600160a060020a0382166000908152602f602052604090205460ff16156130f957600080fd5b3031811061310657600080fd5b6000811161311357600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015613149573d6000803e3d6000fd5b505050565b603854600160a060020a0316331461316557600080fd5b601a805460ff1916911515919091179055565b60265481565b8181018281101561140e57600080fd5b60008282111561319d57600080fd5b50900390565b600160a060020a0381166000908152603260205260409020544211156131e557601b54600160a060020a03821660009081526032602052604090204290910190555b50565b306000908152602b6020526040902054811061320357600080fd5b600554811061321157600080fd5b600160a060020a0382166000908152602b602052604090205461323a908263ffffffff61317e16565b600160a060020a0383166000908152602b602052604080822092909255308152205461326c908263ffffffff61318e16565b306000908152602b602052604090205560055461328f908263ffffffff61318e16565b6005556004546132a5908263ffffffff61317e16565b600455604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a36131498282613a2d565b600160a060020a0382166000908152602f602052604090205460ff161561330657600080fd5b601a5460ff16151560011461331a57600080fd5b306000908152602b6020526040902054811061333557600080fd5b600160a060020a0382166000908152602b602052604090205461335e908263ffffffff61317e16565b600160a060020a0383166000908152602b6020908152604080832093909355602c90522054613393908263ffffffff61317e16565b600160a060020a0383166000908152602c6020908152604080832093909355308252602b905220546133cb908263ffffffff61318e16565b306000908152602b60205260409020556004546133ee908263ffffffff61318e16565b600455602654613404908263ffffffff61317e16565b602655613410826131a3565b604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a35050565b600160a060020a0382166000908152602f602052604090205460ff161561346857600080fd5b601a5460ff16151560011461347c57600080fd5b600160a060020a0382166000908152602b602052604090205481106134a057600080fd5b600160a060020a0382166000908152602b60205260409020546134c9908263ffffffff61318e16565b600160a060020a0383166000908152602b60208181526040808420859055602c8252909220549152111561351d57600160a060020a0382166000908152602b6020908152604080832054602c909252909120555b306000908152602b602052604090205461353d908263ffffffff61317e16565b306000908152602b6020526040902055600454613560908263ffffffff61317e16565b6004556040805182815290513091600160a060020a03851691600080516020613d6f8339815191529181900360200190a35050565b600160a060020a0383166000908152602f6020526040812054819081908190819060ff16156135c357600080fd5b600160a060020a0387166000908152602f602052604090205460ff16156135e957600080fd5b601a5460ff1615156001146135fd57600080fd5b6019546064908702600160a060020a038a166000908152602b60205260409020549190049450868501935083111561363457600080fd5b600186118015613645575060035486105b151561365057600080fd5b600160a060020a038716151561366557600080fd5b600160a060020a03888116908816141561367e57600080fd5b600160a060020a038088166000818152602b60209081526040808320548d861684528184205494845260309092529091205491879003019350161580156136e25750600160a060020a03888116600090815260306020526040902054811690881614155b1561383c5750600160a060020a038681166000908152603060208181526040808420805473ffffffffffffffffffffffffffffffffffffffff19168d87169081179091558452603682528084208054600101905591905290205416801561383c57600160a060020a039081166000908152603660209081526040808320600190810180549091019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060020180546001019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060030180546001019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060040180546001019055603090915290205416801561383c57600160a060020a0381166000908152603660205260409020600501805460010190555b600160a060020a0388166000908152602b6020526040902054613865908463ffffffff61318e16565b600160a060020a0389166000908152602b60208181526040808420859055602c825290922054915211156138b957600160a060020a0388166000908152602b6020908152604080832054602c909252909120555b306000908152602b60205260409020546138d9908563ffffffff61317e16565b306000908152602b602052604080822092909255600160a060020a0389168152205461390b908763ffffffff61317e16565b600160a060020a0388166000908152602b6020908152604080832093909355602c90522054613940908763ffffffff61317e16565b600160a060020a0388166000908152602c6020526040902055613962876131a3565b6040805185815290513091600160a060020a038b1691600080516020613d6f8339815191529181900360200190a386600160a060020a031688600160a060020a0316600080516020613d6f833981519152886040518082815260200191505060405180910390a3600160a060020a038088166000908152602b602052604080822054928b1682529020540182146139f557fe5b506001979650505050505050565b600160a060020a0381166000908152602b6020526040902054600211156131e5576131e5816131a3565b600080600060346002815481101515613a4257fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091206001015410801590613aaa5750603480546003908110613a8257fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091205410155b15613d0157600160a060020a038516600090815260356020526040902054613ad8908563ffffffff61317e16565b600160a060020a0386166000908152603560205260408120829055600a54602254603480549296506064919094020493508110613b1157fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091206001015410801590613b795750603480546001908110613b5157fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091205410155b15613ba5575050600c54602354600160a060020a03851660009081526035602052604090205460649102045b600160a060020a0385166000908152603560205260409020548211613cfc57306000908152602b60205260409020548110613bdf57600080fd5b6005548110613bed57600080fd5b600160a060020a038516600090815260366020526040902060060154613c19908263ffffffff61317e16565b600160a060020a038616600090815260366020908152604080832060060193909355602b90522054613c51908263ffffffff61317e16565b600160a060020a0386166000908152602b60208181526040808420949094556035815283832060019055308352522054613c91908263ffffffff61318e16565b306000908152602b6020526040902055600554613cb4908263ffffffff61318e16565b600555600454613cca908263ffffffff61317e16565b600455604080518281529051600160a060020a038716913091600080516020613d6f8339815191529181900360200190a35b600192505b505092915050565b828054828255906000526020600020908101928215613d44579160200282015b82811115613d44578251825591602001919060010190613d29565b50613d50929150613d54565b5090565b611b9791905b80821115613d505760008155600101613d5a5600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ddb57876f982b48eb3ad75b3ace23874b964fc2b104c06fc4059366687e9ec180029

Deployed Bytecode

0x60806040526004361061041e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663019e17b3811461042957806303b0ec191461045057806306fdde0314610473578063095ea7b3146104fd5780630b0332f6146105355780630e8104521461054a5780630eea10b1146105875780631249c58b1461059c5780631565cf3a146105b157806316496a15146105c657806317340d54146105db57806318160ddd1461061057806323b872dd146106255780632467814d1461064f578063313ce56714610664578063327f0eaf1461068f57806332eb5e44146106a45780633435ea80146106c557806339b79267146106e95780633abd8e4e1461074e5780633bdcaf63146107c25780633dcc0db2146107d75780633f691c5b146107f85780633fa013711461080d578063429b62e51461082257806343463b981461084357806346e3606014610858578063478904eb146108e65780634b75033414610923578063509f31021461093857806353813af81461094d578063547921a8146109af57806355161913146109c457806358657841146109cc5780635ba98896146109e15780635e61cc3d146109f657806360cb613e14610a0b5780636a3c606714610a235780636d89dd1a14610a445780636eb09ce214610a595780636ee7578a14610a7a57806370a0823114610a8f578063721e6b2e14610ab05780637642249c14610aed5780637993177214610b025780637aa064ef14610b175780637fc8b61214610b3b578063827c2b2414610b5f578063856f931014610b745780638620410b14610b8957806387de581c14610b9e5780638da5cb5b14610bb35780638f448a3814610bc85780639097479514610bdd578063936f73c614610bf257806394dafb1614610c1357806395d89b4114610c34578063966dcd2614610c49578063991f360914610c735780639a24fb4814610c88578063a6f2ae3a14610c9d578063a755e41014610ca5578063a9059cbb14610cba578063aec2e82114610cde578063afcf28cd14610cf3578063b1347e9d14610d08578063b2fd51e014610d1d578063b414d4b614610d32578063b868203314610d53578063bd39519a14610d68578063bda4802614610d89578063cb92a2bc14610de2578063cd581cb214610df7578063d12869dc14610e0c578063d4686b8d14610e21578063d4e3293814610e36578063db1bf0e914610e5a578063dcd62cf114610e6f578063dd62ed3e14610e84578063dded49cb14610eab578063ddf0c07014610ecc578063e4849b3214610f5a578063e4be47e714610f72578063e724529c14610fce578063e736f03c14610ff4578063e987cc4514611009578063f19bb5bd1461102a578063f394a1411461103f578063f3fef3a314611054578063f43a72b014611078578063f8fe778f14611092575b6104266110a7565b50005b34801561043557600080fd5b5061043e611299565b60408051918252519081900360200190f35b34801561045c57600080fd5b50610471600160a060020a036004351661129f565b005b34801561047f57600080fd5b506104886112e5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104c25781810151838201526020016104aa565b50505050905090810190601f1680156104ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050957600080fd5b50610521600160a060020a0360043516602435611372565b604080519115158252519081900360200190f35b34801561054157600080fd5b5061043e611414565b34801561055657600080fd5b5061047160043560243560443560643560843560a43560c43560e4356101043561012435610144356101643561141a565b34801561059357600080fd5b5061043e611475565b3480156105a857600080fd5b5061047161147b565b3480156105bd57600080fd5b5061043e611b16565b3480156105d257600080fd5b5061043e611b1c565b3480156105e757600080fd5b5061047160043560243560443560643560843560a43560c43560e4356101043561012435611b22565b34801561061c57600080fd5b5061043e611b93565b34801561063157600080fd5b50610521600160a060020a0360043581169060243516604435611b9a565b34801561065b57600080fd5b5061043e611d37565b34801561067057600080fd5b50610679611d3d565b6040805160ff9092168252519081900360200190f35b34801561069b57600080fd5b5061043e611d46565b3480156106b057600080fd5b5061043e600160a060020a0360043516611d4c565b3480156106d157600080fd5b50610471600160a060020a0360043516602435611d95565b3480156106f557600080fd5b506106fe611dba565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561075a57600080fd5b50610763611e53565b604080519c8d5260208d019b909b528b8b019990995260608b019790975260808a019590955260a089019390935260c088019190915260e087015261010086015261012085015261014084015261016083015251908190036101800190f35b3480156107ce57600080fd5b5061043e611e8f565b3480156107e357600080fd5b50610471600160a060020a0360043516611e95565b34801561080457600080fd5b5061043e611edb565b34801561081957600080fd5b5061043e611ee1565b34801561082e57600080fd5b50610521600160a060020a0360043516611ee7565b34801561084f57600080fd5b50610763611efc565b34801561086457600080fd5b506040805160206004803580820135838102808601850190965280855261047195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750611f449650505050505050565b3480156108f257600080fd5b50610907600160a060020a03600435166120e7565b60408051600160a060020a039092168252519081900360200190f35b34801561092f57600080fd5b5061043e612102565b34801561094457600080fd5b5061043e612108565b34801561095957600080fd5b5061096e600160a060020a036004351661210e565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156109bb57600080fd5b5061043e612178565b61052161217e565b3480156109d857600080fd5b5061043e612183565b3480156109ed57600080fd5b5061043e612189565b348015610a0257600080fd5b5061043e61218f565b348015610a1757600080fd5b5061043e600435612195565b348015610a2f57600080fd5b5061043e600160a060020a03600435166121b4565b348015610a5057600080fd5b5061043e6121c6565b348015610a6557600080fd5b5061043e600160a060020a03600435166121cc565b348015610a8657600080fd5b5061043e6121d9565b348015610a9b57600080fd5b5061043e600160a060020a03600435166121df565b348015610abc57600080fd5b5061047160043560243560443560643560843560a43560c43560e435610104356101243561014435610164356121fa565b348015610af957600080fd5b50610471612249565b348015610b0e57600080fd5b5061043e61246d565b348015610b2357600080fd5b50610471600160a060020a0360043516602435612473565b348015610b4757600080fd5b50610471600160a060020a03600435166024356124ab565b348015610b6b57600080fd5b5061043e6124d9565b348015610b8057600080fd5b5061043e6124df565b348015610b9557600080fd5b5061043e6124e5565b348015610baa57600080fd5b5061043e6124eb565b348015610bbf57600080fd5b506109076124f1565b348015610bd457600080fd5b5061043e612500565b348015610be957600080fd5b5061043e612506565b348015610bfe57600080fd5b5061043e600160a060020a036004351661250b565b348015610c1f57600080fd5b50610763600160a060020a036004351661251d565b348015610c4057600080fd5b506104886126cb565b348015610c5557600080fd5b50610521600160a060020a0360043581169060243516604435612726565b348015610c7f57600080fd5b5061043e61276d565b348015610c9457600080fd5b5061043e612773565b61043e6110a7565b348015610cb157600080fd5b5061043e612779565b348015610cc657600080fd5b50610521600160a060020a036004351660243561277f565b348015610cea57600080fd5b50610907612796565b348015610cff57600080fd5b5061043e6127a5565b348015610d1457600080fd5b506104716127ab565b348015610d2957600080fd5b5061043e612a9b565b348015610d3e57600080fd5b50610521600160a060020a0360043516612aa1565b348015610d5f57600080fd5b5061043e612ab6565b348015610d7457600080fd5b5061043e600160a060020a0360043516612abc565b348015610d9557600080fd5b50610daa600160a060020a0360043516612ace565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b348015610dee57600080fd5b5061043e612b0b565b348015610e0357600080fd5b50610907612b11565b348015610e1857600080fd5b5061043e612b20565b348015610e2d57600080fd5b5061043e612b26565b348015610e4257600080fd5b50610471600160a060020a0360043516602435612b2c565b348015610e6657600080fd5b5061043e612b43565b348015610e7b57600080fd5b5061043e612b49565b348015610e9057600080fd5b5061043e600160a060020a0360043581169060243516612b4f565b348015610eb757600080fd5b50610471600160a060020a0360043516612b7a565b348015610ed857600080fd5b506040805160206004803580820135838102808601850190965280855261047195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750612bc09650505050505050565b348015610f6657600080fd5b50610521600435612d63565b348015610f7e57600080fd5b50610f87612f93565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b348015610fda57600080fd5b50610471600160a060020a03600435166024351515612ffa565b34801561100057600080fd5b50610521613075565b34801561101557600080fd5b50610907600160a060020a036004351661307e565b34801561103657600080fd5b5061043e61309c565b34801561104b57600080fd5b5061043e6130a2565b34801561106057600080fd5b50610471600160a060020a03600435166024356130a8565b34801561108457600080fd5b50610471600435151561314e565b34801561109e57600080fd5b5061043e613178565b601a546000908190819060ff1615156001146110c257600080fd5b336000818152602f602052604090205490925060ff16156110e257600080fd5b600034116110ef57600080fd5b600754670de0b6b3a7640000903402306000908152602b60205260409020549190049150811061111e57600080fd5b60018111801561112f575060035481105b151561113a57600080fd5b600160a060020a0382166000908152602b6020526040902054611163908263ffffffff61317e16565b600160a060020a0383166000908152602b6020908152604080832093909355602c90522054611198908263ffffffff61317e16565b600160a060020a0383166000908152602c6020908152604080832093909355308252602b905220546111d0908263ffffffff61318e16565b306000908152602b60205260409020556004546111f3908263ffffffff61318e16565b600455602754611209908263ffffffff61317e16565b60275560295461121f903463ffffffff61317e16565b60295561122b826131a3565b603854604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015611264573d6000803e3d6000fd5b50604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a392915050565b600f5481565b603854600160a060020a031633146112b657600080fd5b6039805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561136a5780601f1061133f5761010080835404028352916020019161136a565b820191906000526020600020905b81548152906001019060200180831161134d57829003601f168201915b505050505081565b6000600182118015611385575060035482105b151561139057600080fd5b336000908152602b60205260409020548211156113ac57600080fd5b336000818152602e60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60185481565b603854600160a060020a0316331461143157600080fd5b60099b909b55600a99909955600b97909755600c95909555600d93909355600e91909155600f55601055600190810160115590810160125590810160135501601455565b60085481565b336000818152602f6020526040812054819081908190819060ff16156114a057600080fd5b601a5460ff1615156001146114b457600080fd5b600160a060020a0386166000908152603260205260409020546001106114d957600080fd5b600160a060020a03861660009081526032602052604090205442116114fd57600080fd5b600160a060020a0386166000908152602c60205260409020546001101561154257600854600160a060020a0387166000908152602c6020526040902054606491020493505b600954600160a060020a0387166000908152602d6020526040902054108015906115845750600160a060020a0386166000908152603360205260409020546001105b1561166c57600d54600160a060020a0387166000908152602d6020526040902054600c546064928202929092049450106115e157601054600160a060020a0387166000908152602d6020526040902054606491025b04925061166c565b600b54600160a060020a0387166000908152602d60205260409020541061162757600f54600160a060020a0387166000908152602d6020526040902054606491026115d9565b600a54600160a060020a0387166000908152602d60205260409020541061166c57600e54600160a060020a0387166000908152602d6020526040902054606491020492505b61167c848463ffffffff61317e16565b306000908152602b6020526040902054909550851061169a57600080fd5b60055485106116a857600080fd5b600160a060020a0386166000908152602b60205260409020546116d1908663ffffffff61317e16565b600160a060020a0387166000908152602b6020526040808220929092553081522054611703908663ffffffff61318e16565b306000908152602b6020526040902055600554611726908663ffffffff61318e16565b60055560045461173c908663ffffffff61317e16565b600455601b54600160a060020a03871660009081526032602052604081204290920190915584111561179757604080518581529051600160a060020a038816913091600080516020613d6f8339815191529181900360200190a35b60008311156118ff57604080518481529051600160a060020a038816913091600080516020613d6f8339815191529181900360200190a3600160a060020a038616600090815260336020526040902080546000190190819055600211156118ff57600160a060020a0386166000908152602d6020908152604080832054602b9092529091205461182c9163ffffffff61317e16565b600160a060020a0387166000908152602b6020908152604080832093909355602d815282822054602c9091529190205461186b9163ffffffff61317e16565b600160a060020a0387166000908152602c6020908152604080832093909355602d905220546025546118a29163ffffffff61318e16565b602555600160a060020a0386166000818152602d602090815260409182902054825190815291513092600080516020613d6f83398151915292908290030190a3600160a060020a0386166000908152602d60205260409020600190555b600160a060020a03808716600090815260306020526040902054169150811580159061193d575085600160a060020a031682600160a060020a031614155b15611b0e5750601c5460649085020461195682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611995575085600160a060020a031682600160a060020a031614155b15611b0e5750601d546064908502046119ae82826131e8565b600160a060020a039182166000908152603060205260409020549091169081158015906119ed575085600160a060020a031682600160a060020a031614155b15611b0e5750601e54606490850204611a0682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611a45575085600160a060020a031682600160a060020a031614155b15611b0e5750601f54606490850204611a5e82826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611a9d575085600160a060020a031682600160a060020a031614155b15611b0e5750602054606490850204611ab682826131e8565b600160a060020a03918216600090815260306020526040902054909116908115801590611af5575085600160a060020a031682600160a060020a031614155b15611b0e5750602154606490850204611b0e82826131e8565b505050505050565b60115481565b601b5481565b603854600160a060020a03163314611b3957600080fd5b60158a905560168990556017889055601887905560228690556023859055604080516080810182528581526020810185905290810183905260608101829052611b86906034906004613d09565b5050505050505050505050565b6003545b90565b601a5460009060ff161515600114611bb157600080fd5b600160a060020a0384166000908152602f602052604090205460ff1615611bd757600080fd5b600160a060020a0383166000908152602f602052604090205460ff1615611bfd57600080fd5b600182118015611c0e575060035482105b1515611c1957600080fd5b600160a060020a0384166000908152602b6020526040902054821115611c3e57600080fd5b600160a060020a0384166000908152602b6020526040902054611c67908363ffffffff61318e16565b600160a060020a0385166000908152602b6020908152604080832093909355602e815282822033835290522054611ca4908363ffffffff61318e16565b600160a060020a038086166000908152602e602090815260408083203384528252808320949094559186168152602b9091522054611ce8908363ffffffff61317e16565b600160a060020a038085166000818152602b60209081526040918290209490945580518681529051919392881692600080516020613d6f83398151915292918290030190a35060019392505050565b60105481565b60025460ff1681565b60285481565b600160a060020a03811660009081526032602052604081205460021115611d7557506000611d90565b50600160a060020a0381166000908152603260205260409020545b919050565b603954600160a060020a03163314611dac57600080fd5b611db682826132e0565b5050565b6015546016546017546018546022546023546034805460009182918291829182908110611de357fe5b9060005260206000200154935060346001815481101515611e0057fe5b9060005260206000200154925060346002815481101515611e1d57fe5b9060005260206000200154915060346003815481101515611e3a57fe5b9060005260206000200154905090919293949596979899565b601b54600754600654600854601954602454601c54601d54601e54601f546020546021549a9b999a989997989697959694959394929391929091565b60255481565b603854600160a060020a03163314611eac57600080fd5b6037805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b601d5481565b60175481565b60316020526000908152604090205460ff1681565b600954600a54600b54600c54600d54600e54600f546010546011546012546013546014549a9b999a989997989697959694959394600019938401949284019391820192910190565b6038546000908190600160a060020a03163314611f6057600080fd5b5060009050805b835181101561209b57611fcc8382815181101515611f8157fe5b90602001906020020151602b60008785815181101515611f9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61318e16565b602b60008684815181101515611fde57fe5b6020908102909101810151600160a060020a0316825281019190915260400160002055825161202a9084908390811061201357fe5b60209081029091010151839063ffffffff61317e16565b915030600160a060020a0316848281518110151561204457fe5b90602001906020020151600160a060020a0316600080516020613d6f833981519152858481518110151561207457fe5b906020019060200201516040518082815260200191505060405180910390a3600101611f67565b306000908152602b60205260409020546120bb908363ffffffff61317e16565b306000908152602b60205260409020556004546120de908363ffffffff61317e16565b60045550505050565b603060205260009081526040902054600160a060020a031681565b60065481565b60295481565b600160a060020a0381166000818152602b6020818152604080842054602c835281852054602d84528286205460328552838720546007543089529690955292862054919631959094929392919061216b888663ffffffff61317e16565b9050919395975091939597565b60165481565b600190565b60155481565b602a5481565b600b5481565b60348054829081106121a357fe5b600091825260209091200154905081565b60356020526000908152604090205481565b600e5481565b600160a060020a03163190565b60235481565b600160a060020a03166000908152602b602052604090205490565b603854600160a060020a0316331461221157600080fd5b601b9b909b55600799909955600697909755600895909555601993909355602491909155601c55601d55601e55601f55602055602155565b336000818152602f602052604090205460ff161561226657600080fd5b601a5460ff16151560011461227a57600080fd5b600954600160a060020a0382166000908152602b602052604090205410156122a157600080fd5b600160a060020a0381166000908152602b6020908152604080832054602d909252909120546122d59163ffffffff61317e16565b600160a060020a0382166000908152602d6020908152604080832093909355602b9052205460255461230c9163ffffffff61317e16565b602555600160a060020a0381166000818152602b60209081526040918290205482519081529151309392600080516020613d6f83398151915292908290030190a3600160a060020a0381166000908152602b60209081526040808320600190819055602c835281842055600c54602d90925290912054106123a857601454600160a060020a038216600090815260336020526040902055612449565b600b54600160a060020a0382166000908152602d6020526040902054106123ea57601354600160a060020a038216600090815260336020526040902055612449565b600a54600160a060020a0382166000908152602d60205260409020541061242c57601254600160a060020a038216600090815260336020526040902055612449565b601154600160a060020a0382166000908152603360205260409020555b601b54600160a060020a039091166000908152603260205260409020429091019055565b60195481565b603754600160a060020a0316151561248a57600080fd5b603754600160a060020a031633146124a157600080fd5b611db68282613442565b603754600160a060020a031615156124c257600080fd5b603754600160a060020a03163314611dac57600080fd5b60095481565b60135481565b60075481565b600d5481565b603854600160a060020a031681565b601c5481565b303190565b60326020526000908152604090205481565b600160a060020a03811660009081526036602090815260408083208054600182015460028301546003840154600485015460059095015460359097529487205492969195909493929091808080806125748d611d4c565b94506005549350600454925060255491506034600281548110151561259557fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a03168152602001908152602001600020600101541015801561261857506034805460039081106125e157fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a031681526020019081526020016000206000015410155b15612621575060015b60348054600090811061263057fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a0316815260200190815260200160002060010154101580156126b3575060348054600190811061267c57fe5b9060005260206000200154603660008f600160a060020a0316600160a060020a031681526020019081526020016000206000015410155b156126bc575060025b91939597999b5091939597999b565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561136a5780601f1061133f5761010080835404028352916020019161136a565b603754600090600160a060020a0316151561274057600080fd5b603754600160a060020a0316331461275757600080fd5b612762848484613595565b506001949350505050565b601e5481565b60245481565b600a5481565b600061278c338484613595565b5060019392505050565b603754600160a060020a031681565b60225481565b336000818152602f6020526040812054819060ff16156127ca57600080fd5b601a5460ff1615156001146127de57600080fd5b600160a060020a03831660009081526033602052604090205460011061280357600080fd5b600954600160a060020a0384166000908152602d6020526040902054101561282a57600080fd5b601554600160a060020a0384166000908152602d6020526040902054600c5460649282029290920493501061288257601854600160a060020a0384166000908152602d6020526040902054606491025b04915061290d565b600b54600160a060020a0384166000908152602d6020526040902054106128c857601754600160a060020a0384166000908152602d60205260409020546064910261287a565b600a54600160a060020a0384166000908152602d60205260409020541061290d57601654600160a060020a0384166000908152602d6020526040902054606491020491505b600160a060020a0383166000908152602d6020526040902054612936908363ffffffff61318e16565b306000908152602b6020526040902054909150612959908263ffffffff61317e16565b306000818152602b602090815260409182902093909355805184815290519192600160a060020a03871692600080516020613d6f8339815191529281900390910190a3600160a060020a0383166000908152602d60205260409020546025546129da91906129ce90600163ffffffff61317e16565b9063ffffffff61318e16565b602555600160a060020a0383166000908152602d602090815260408083206001908190556033835281842055602b909152902054612a1e908363ffffffff61317e16565b600160a060020a0384166000908152602b6020908152604080832093909355602c90522054612a53908363ffffffff61317e16565b600160a060020a0384166000818152602c6020908152604091829020939093558051858152905191923092600080516020613d6f8339815191529281900390910190a3505050565b600c5481565b602f6020526000908152604090205460ff1681565b60275481565b60336020526000908152604090205481565b6036602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b60125481565b603954600160a060020a031681565b60055481565b601f5481565b603954600160a060020a031633146124a157600080fd5b60145481565b60045481565b600160a060020a039182166000908152602e6020908152604080832093909416825291909152205490565b603854600160a060020a03163314612b9157600080fd5b6038805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6038546000908190600160a060020a03163314612bdc57600080fd5b5060009050805b8351811015612d2057612c488382815181101515612bfd57fe5b90602001906020020151602b60008785815181101515612c1957fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff61317e16565b602b60008684815181101515612c5a57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558251612c8f9084908390811061201357fe5b9150612cb18482815181101515612ca257fe5b90602001906020020151613a03565b8381815181101515612cbf57fe5b90602001906020020151600160a060020a031630600160a060020a0316600080516020613d6f8339815191528584815181101515612cf957fe5b906020019060200201516040518082815260200191505060405180910390a3600101612be3565b306000908152602b6020526040902054612d40908363ffffffff61318e16565b306000908152602b60205260409020556004546120de908363ffffffff61318e16565b601a5460009081908190819060ff161515600114612d8057600080fd5b336000818152602f602052604090205490935060ff1615612da057600080fd5b6003548510612dae57600080fd5b60018511612dbb57600080fd5b600160a060020a0383166000908152602b6020526040902054851115612de057600080fd5b6006546024548602662386f26fc1000002811515612dfa57fe5b04915030318210612e0a57600080fd5b604051600160a060020a0384169083156108fc029084906000818181858888f19350505050158015612e40573d6000803e3d6000fd5b5050306000908152602b602052604080822054600160a060020a038516835291205490810190612e76908663ffffffff61318e16565b600160a060020a0384166000908152602b60208181526040808420859055602c82529092205491521115612eca57600160a060020a0383166000908152602b6020908152604080832054602c909252909120555b306000908152602b6020526040902054612eea908663ffffffff61317e16565b306000908152602b6020526040902055600454612f0d908663ffffffff61317e16565b600455602854612f23908663ffffffff61317e16565b602855602a54612f39908363ffffffff61317e16565b602a556040805186815290513091600160a060020a03861691600080516020613d6f8339815191529181900360200190a3306000908152602b602052604080822054600160a060020a038616835291205401811461276257fe5b306000908152602b602052604081205460035482918291829182918291829182918291612fc59163ffffffff61318e16565b98506005549750600454965060255495506026549450602754935060285492506029549150602a549050909192939495969798565b603854600160a060020a0316331461301157600080fd5b600160a060020a0382166000818152602f6020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b601a5460ff1681565b600160a060020a039081166000908152603060205260409020541690565b60205481565b60215481565b603854600160a060020a031633146130bf57600080fd5b601a5460ff1615156001146130d357600080fd5b600160a060020a0382166000908152602f602052604090205460ff16156130f957600080fd5b3031811061310657600080fd5b6000811161311357600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015613149573d6000803e3d6000fd5b505050565b603854600160a060020a0316331461316557600080fd5b601a805460ff1916911515919091179055565b60265481565b8181018281101561140e57600080fd5b60008282111561319d57600080fd5b50900390565b600160a060020a0381166000908152603260205260409020544211156131e557601b54600160a060020a03821660009081526032602052604090204290910190555b50565b306000908152602b6020526040902054811061320357600080fd5b600554811061321157600080fd5b600160a060020a0382166000908152602b602052604090205461323a908263ffffffff61317e16565b600160a060020a0383166000908152602b602052604080822092909255308152205461326c908263ffffffff61318e16565b306000908152602b602052604090205560055461328f908263ffffffff61318e16565b6005556004546132a5908263ffffffff61317e16565b600455604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a36131498282613a2d565b600160a060020a0382166000908152602f602052604090205460ff161561330657600080fd5b601a5460ff16151560011461331a57600080fd5b306000908152602b6020526040902054811061333557600080fd5b600160a060020a0382166000908152602b602052604090205461335e908263ffffffff61317e16565b600160a060020a0383166000908152602b6020908152604080832093909355602c90522054613393908263ffffffff61317e16565b600160a060020a0383166000908152602c6020908152604080832093909355308252602b905220546133cb908263ffffffff61318e16565b306000908152602b60205260409020556004546133ee908263ffffffff61318e16565b600455602654613404908263ffffffff61317e16565b602655613410826131a3565b604080518281529051600160a060020a038416913091600080516020613d6f8339815191529181900360200190a35050565b600160a060020a0382166000908152602f602052604090205460ff161561346857600080fd5b601a5460ff16151560011461347c57600080fd5b600160a060020a0382166000908152602b602052604090205481106134a057600080fd5b600160a060020a0382166000908152602b60205260409020546134c9908263ffffffff61318e16565b600160a060020a0383166000908152602b60208181526040808420859055602c8252909220549152111561351d57600160a060020a0382166000908152602b6020908152604080832054602c909252909120555b306000908152602b602052604090205461353d908263ffffffff61317e16565b306000908152602b6020526040902055600454613560908263ffffffff61317e16565b6004556040805182815290513091600160a060020a03851691600080516020613d6f8339815191529181900360200190a35050565b600160a060020a0383166000908152602f6020526040812054819081908190819060ff16156135c357600080fd5b600160a060020a0387166000908152602f602052604090205460ff16156135e957600080fd5b601a5460ff1615156001146135fd57600080fd5b6019546064908702600160a060020a038a166000908152602b60205260409020549190049450868501935083111561363457600080fd5b600186118015613645575060035486105b151561365057600080fd5b600160a060020a038716151561366557600080fd5b600160a060020a03888116908816141561367e57600080fd5b600160a060020a038088166000818152602b60209081526040808320548d861684528184205494845260309092529091205491879003019350161580156136e25750600160a060020a03888116600090815260306020526040902054811690881614155b1561383c5750600160a060020a038681166000908152603060208181526040808420805473ffffffffffffffffffffffffffffffffffffffff19168d87169081179091558452603682528084208054600101905591905290205416801561383c57600160a060020a039081166000908152603660209081526040808320600190810180549091019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060020180546001019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060030180546001019055603090915290205416801561383c57600160a060020a03908116600090815260366020908152604080832060040180546001019055603090915290205416801561383c57600160a060020a0381166000908152603660205260409020600501805460010190555b600160a060020a0388166000908152602b6020526040902054613865908463ffffffff61318e16565b600160a060020a0389166000908152602b60208181526040808420859055602c825290922054915211156138b957600160a060020a0388166000908152602b6020908152604080832054602c909252909120555b306000908152602b60205260409020546138d9908563ffffffff61317e16565b306000908152602b602052604080822092909255600160a060020a0389168152205461390b908763ffffffff61317e16565b600160a060020a0388166000908152602b6020908152604080832093909355602c90522054613940908763ffffffff61317e16565b600160a060020a0388166000908152602c6020526040902055613962876131a3565b6040805185815290513091600160a060020a038b1691600080516020613d6f8339815191529181900360200190a386600160a060020a031688600160a060020a0316600080516020613d6f833981519152886040518082815260200191505060405180910390a3600160a060020a038088166000908152602b602052604080822054928b1682529020540182146139f557fe5b506001979650505050505050565b600160a060020a0381166000908152602b6020526040902054600211156131e5576131e5816131a3565b600080600060346002815481101515613a4257fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091206001015410801590613aaa5750603480546003908110613a8257fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091205410155b15613d0157600160a060020a038516600090815260356020526040902054613ad8908563ffffffff61317e16565b600160a060020a0386166000908152603560205260408120829055600a54602254603480549296506064919094020493508110613b1157fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091206001015410801590613b795750603480546001908110613b5157fe5b6000918252602080832090910154600160a060020a0388168352603690915260409091205410155b15613ba5575050600c54602354600160a060020a03851660009081526035602052604090205460649102045b600160a060020a0385166000908152603560205260409020548211613cfc57306000908152602b60205260409020548110613bdf57600080fd5b6005548110613bed57600080fd5b600160a060020a038516600090815260366020526040902060060154613c19908263ffffffff61317e16565b600160a060020a038616600090815260366020908152604080832060060193909355602b90522054613c51908263ffffffff61317e16565b600160a060020a0386166000908152602b60208181526040808420949094556035815283832060019055308352522054613c91908263ffffffff61318e16565b306000908152602b6020526040902055600554613cb4908263ffffffff61318e16565b600555600454613cca908263ffffffff61317e16565b600455604080518281529051600160a060020a038716913091600080516020613d6f8339815191529181900360200190a35b600192505b505092915050565b828054828255906000526020600020908101928215613d44579160200282015b82811115613d44578251825591602001919060010190613d29565b50613d50929150613d54565b5090565b611b9791905b80821115613d505760008155600101613d5a5600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ddb57876f982b48eb3ad75b3ace23874b964fc2b104c06fc4059366687e9ec180029

Swarm Source

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