Contract 0x0303650c776c6189bc9115c7501c5fe66d88e724

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf4e23e668b374ff5653bb662a965062378aa45778d59a2b58c715e66bec355d30x60806040199814812022-09-17 23:43:3110 days 2 hrs ago0x38ed46be72cde7e218c4ac9803571b22de062790 IN  Create: USDTMachine0 AVAX0.1095610175 27.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
USDTMachine

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2022-09-17
*/

pragma solidity 0.5.8;

library SafeMath {

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

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

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

        return c;
    }
}

interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
    function totalSupply() external view returns (uint256);
    function limitSupply() external view returns (uint256);
    function availableSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;
    address usdt = 0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7; // live usdt
    //address usdt = 0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7; // testnet usdt
    IERC20 usdttoken;
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;
    uint256 internal _limitSupply;

    string internal _name;
    string internal _symbol;
    uint8 internal _decimals;

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

    function limitSupply() public view returns (uint256) {
        return _limitSupply;
    }
    
    function availableSupply() public view returns (uint256) {
        return _limitSupply.sub(_totalSupply);
    }    

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

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        require(availableSupply() >= amount, "Supply exceed");

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

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external;
}

contract Token is ERC20 {
    mapping (address => bool) private _contracts;

    constructor() public {
        _name = "USDTMachine";
        _symbol = "USDTM";
        _decimals = 6;
        _limitSupply = 1000000e6;
    }

    function approveAndCall(address spender, uint256 amount, bytes memory extraData) public returns (bool) {
        require(approve(spender, amount));

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData);

        return true;
    }

    function transfer(address to, uint256 value) public returns (bool) {

        if (_contracts[to]) {
            approveAndCall(to, value, new bytes(0));
        } else {
            super.transfer(to, value);
        }

        return true;
    }
}

contract USDTMachine is Token {
    
    uint private startTime = 1663473600; // Sun Sep 18 2022 04:00:00 GMT+0000
    
    address payable private ADMIN;
    address payable private DEV_1;

    uint public totalUsers; 
    uint public totalUSDTStaked; 
    uint public totalTokenStaked;
    
    uint8[] private REF_BONUSES             = [20];
    uint private constant DEV_FEE           = 50;                   // Base 5% multipled * 1 = 5% total
    uint private constant INITIAL_TOKENS    = 50000e6;    

    uint private constant PERCENT_DIVIDER   = 1000;
    uint private constant PRICE_DIVIDER     = 1e6;
    uint private constant TIME_STEP         = 1 days;
    uint private constant TIME_TO_UNSTAKE   = 7 days;

    uint public MIN_INVEST_AMOUNT = 50e6;
    uint public USDT_DAILYPROFIT  = 15;
    uint public TOKEN_DAILYPROFIT = 25;

    mapping(address => User) private users;
    mapping(uint => uint) private sold; 
    
    struct Stake {
        uint checkpoint;
        uint totalStaked; 
        uint lastStakeTime;
        uint unClaimedTokens;        
    }
    
    struct User {
        address referrer;
        Stake sM;
        Stake sT;  
		uint256 bonus;
		uint256 totalBonus;
        uint totaReferralBonus;
        uint[1] levels;
    }
    
    event TokenOperation(address indexed account, string txType, uint tokenAmount, uint trxAmount);

    constructor() public {
        usdttoken = IERC20(usdt);

        ADMIN = msg.sender;
        DEV_1 = msg.sender;                                  
       
        _mint(DEV_1, INITIAL_TOKENS);  
    }       
    
    modifier onlyOwner {
        require(msg.sender == ADMIN, "Only owner can call this function");
        _;
    } 
    
    function stakeUSDT(address referrer,  uint256 _amount) public payable {
        require (block.timestamp > startTime);               
        require (_amount >= MIN_INVEST_AMOUNT);                 
        usdttoken.transferFrom(msg.sender, address(this), _amount);     
        
		uint fee = _amount.mul(DEV_FEE).div(PERCENT_DIVIDER);  

        usdttoken.transfer(DEV_1, fee);

		User storage user = users[msg.sender];
		
		if (user.referrer == address(0) && msg.sender != ADMIN) {
			if (users[referrer].sM.totalStaked == 0) {
				referrer = ADMIN;
			}
			user.referrer = referrer;
			address upline = user.referrer;
			for (uint256 i = 0; i < REF_BONUSES.length; i++) {
				if (upline != address(0)) {
					users[upline].levels[i] = users[upline].levels[i].add(1);
					upline = users[upline].referrer;
				} else break;
			}
		}

		if (user.referrer != address(0)) {
			address upline = user.referrer;
			for (uint256 i = 0; i < REF_BONUSES.length; i++) {
				if (upline == address(0)) {
				    upline = ADMIN;
				}
				uint256 amount = _amount.mul(REF_BONUSES[i]).div(PERCENT_DIVIDER);
				users[upline].bonus = users[upline].bonus.add(amount);
				users[upline].totalBonus = users[upline].totalBonus.add(amount);
				upline = users[upline].referrer;
			}
		} 

        if (user.sM.totalStaked == 0) {
            user.sM.checkpoint = maxVal(now, startTime);
            totalUsers++;
        } else {
            updateStakeUSDT_IP(msg.sender);
        }
      
        user.sM.lastStakeTime = now;
        user.sM.totalStaked = user.sM.totalStaked.add(_amount);
        totalUSDTStaked = totalUSDTStaked.add(_amount);
    }
    
    function stakeToken(uint tokenAmount) public {
        require (block.timestamp > startTime);       
        User storage user = users[msg.sender];
        require(now >= startTime, "Stake not available yet");
        require(tokenAmount <= balanceOf(msg.sender), "Insufficient Token Balance");

        if (user.sT.totalStaked == 0) {
            user.sT.checkpoint = now;
        } else {
            updateStakeToken_IP(msg.sender);
        }
        
        _transfer(msg.sender, address(this), tokenAmount);
        user.sT.lastStakeTime = now;
        user.sT.totalStaked = user.sT.totalStaked.add(tokenAmount);
        totalTokenStaked = totalTokenStaked.add(tokenAmount); 
    } 
    
    function unStakeToken() public {
        User storage user = users[msg.sender];
        require(now > user.sT.lastStakeTime.add(TIME_TO_UNSTAKE));
        updateStakeToken_IP(msg.sender);
        uint tokenAmount = user.sT.totalStaked;
        user.sT.totalStaked = 0;
        totalTokenStaked = totalTokenStaked.sub(tokenAmount); 
        uint256 halfTokenAmount = tokenAmount.div(2);

        _transfer(address(this), msg.sender, tokenAmount);      // send full to msg.sender
        _burn(msg.sender, halfTokenAmount);                     // burn half from the users wallet
    }  
    
    function updateStakeUSDT_IP(address _addr) private {
        User storage user = users[_addr];
        uint256 amount = getStakeUSDT_IP(_addr);
        if(amount > 0) {
            user.sM.unClaimedTokens = user.sM.unClaimedTokens.add(amount);
            user.sM.checkpoint = now;
        }
    } 
    
    function getStakeUSDT_IP(address _addr) view private returns(uint256 value) {
        User storage user = users[_addr];
        uint256 fr = user.sM.checkpoint;
        if (startTime > now) {
          fr = now; 
        }
        uint256 Tarif = USDT_DAILYPROFIT;
        uint256 to = now;
        if(fr < to) {
            value = user.sM.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENT_DIVIDER);
        } else {
            value = 0;
        }
        return value;
    }  
    
    function updateStakeToken_IP(address _addr) private {
        User storage user = users[_addr];
        uint256 amount = getStakeToken_IP(_addr);
        if(amount > 0) {
            user.sT.unClaimedTokens = user.sT.unClaimedTokens.add(amount);
            user.sT.checkpoint = now;
        }
    } 
    
    function getStakeToken_IP(address _addr) view private returns(uint256 value) {
        User storage user = users[_addr];
        uint256 fr = user.sT.checkpoint;
        if (startTime > now) {
          fr = now; 
        }
        uint256 Tarif = TOKEN_DAILYPROFIT;
        uint256 to = now;
        if(fr < to) {
            value = user.sT.totalStaked.mul(to - fr).mul(Tarif).div(TIME_STEP).div(PERCENT_DIVIDER);
        } else {
            value = 0;
        }
        return value;
    }      
    
    function claimToken_M() public {
        User storage user = users[msg.sender];
       
        updateStakeUSDT_IP(msg.sender);
        uint tokenAmount = user.sM.unClaimedTokens;  
        user.sM.unClaimedTokens = 0;                 
        
        _mint(msg.sender, tokenAmount);
        emit TokenOperation(msg.sender, "CLAIM", tokenAmount, 0);
    }    
    
    function claimToken_T() public {
        User storage user = users[msg.sender];
       
        updateStakeToken_IP(msg.sender);
        uint tokenAmount = user.sT.unClaimedTokens; 
        user.sT.unClaimedTokens = 0; 
        
        _mint(msg.sender, tokenAmount);
        emit TokenOperation(msg.sender, "CLAIM", tokenAmount, 0);
    }     
    
    function sellToken(uint tokenAmount) public {
        tokenAmount = minVal(tokenAmount, balanceOf(msg.sender));
        require(tokenAmount > 0, "Token amount can not be 0");
        
        sold[getCurrentDay()] = sold[getCurrentDay()].add(tokenAmount);
        uint USDTAmount = tokenToUSDT(tokenAmount);
    
        require(getContractUSDTBalance() > USDTAmount, "Insufficient Contract Balance");
        _burn(msg.sender, tokenAmount);

       usdttoken.transfer(msg.sender, USDTAmount);
        
        emit TokenOperation(msg.sender, "SELL", tokenAmount, USDTAmount);
    }
    
	function withdrawRef() public {
		User storage user = users[msg.sender];
		
		uint totalAmount = getUserReferralBonus(msg.sender);
		require(totalAmount > 0, "User has no dividends");
        user.bonus = 0;
		//msg.sender.transfer(totalAmount);
		usdttoken.transfer(msg.sender, totalAmount);
	}	    

    function getUserUnclaimedTokens_M(address _addr) public view returns(uint value) {
        User storage user = users[_addr];
        return getStakeUSDT_IP(_addr).add(user.sM.unClaimedTokens); 
    }
    
    function getUserUnclaimedTokens_T(address _addr) public view returns(uint value) {
        User storage user = users[_addr];
        return getStakeToken_IP(_addr).add(user.sT.unClaimedTokens); 
    }  
       
	function getContractUSDTBalance() public view returns (uint) {
	    // return address(this).balance;
	    return usdttoken.balanceOf(address(this));
	}  
	
	function getContractTokenBalance() public view returns (uint) {
		return balanceOf(address(this));
	}  
	
	function getAPY_M() public view returns (uint) {
		return USDT_DAILYPROFIT.mul(365).div(10);
	}
	
	function getAPY_T() public view returns (uint) {
		return TOKEN_DAILYPROFIT.mul(365).div(10);
	}	
	
	function getUserUSDTBalance(address _addr) public view returns (uint) {
		return address(_addr).balance;
	}	
	
	function getUserTokenBalance(address _addr) public view returns (uint) {
		return balanceOf(_addr);
	}
	
	function getUserUSDTStaked(address _addr) public view returns (uint) {
		return users[_addr].sM.totalStaked;
	}	
	
	function getUserTokenStaked(address _addr) public view returns (uint) {
		return users[_addr].sT.totalStaked;
	}
	
	function getUserTimeToUnstake(address _addr) public view returns (uint) {
		return  minZero(users[_addr].sT.lastStakeTime.add(TIME_TO_UNSTAKE), now);
	}	
	
    function getTokenPrice() public view returns(uint) {
        uint d1 = getContractUSDTBalance().mul(PRICE_DIVIDER);
        uint d2 = availableSupply().add(1);
        return d1.div(d2);
    } 

    function USDTToToken(uint USDTAmount) public view returns(uint) {
        return USDTAmount.mul(PRICE_DIVIDER).div(getTokenPrice());
    }

    function tokenToUSDT(uint tokenAmount) public view returns(uint) {
        return tokenAmount.mul(getTokenPrice()).div(PRICE_DIVIDER);
    } 	

	function getUserDownlineCount(address userAddress) public view returns(uint) {
		return (users[userAddress].levels[0]);
	}  
	
	function getUserReferralBonus(address userAddress) public view returns(uint) {
		return users[userAddress].bonus;
	}

	function getUserReferralTotalBonus(address userAddress) public view returns(uint) {
		return users[userAddress].totalBonus;
	}
	
	function getUserReferralWithdrawn(address userAddress) public view returns(uint256) {
		return users[userAddress].totalBonus.sub(users[userAddress].bonus);
	}	
    
	function getContractLaunchTime() public view returns(uint) {
		return minZero(startTime, block.timestamp);
	}
	
    function getCurrentDay() public view returns (uint) {
        return minZero(now, startTime).div(TIME_STEP);
    }	
    
    function getTokenSoldToday() public view returns (uint) {
        return sold[getCurrentDay()];
    }   
    
 
    function getTimeToNextDay() public view returns (uint) {
        uint t = minZero(now, startTime);
        uint g = getCurrentDay().mul(TIME_STEP);
        return g.add(TIME_STEP).sub(t);
    }  

  
    function minZero(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return a - b; 
        } else {
           return 0;    
        }    
    }   
    
    function maxVal(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return a; 
        } else {
           return b;    
        }    
    }
    
    function minVal(uint a, uint b) private pure returns(uint) {
        if (a > b) {
           return b; 
        } else {
           return a;    
        }    
    }    
}

Contract ABI

[{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTimeToUnstake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"tokenToUSDT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"sellToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"limitSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenStaked","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":"getContractTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUSDTStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_T","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAPY_M","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unStakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenSoldToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUSDTStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DAILYPROFIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_M","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_INVEST_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTimeToNextDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUSDTBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUsers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"},{"name":"_amount","type":"uint256"}],"name":"stakeUSDT","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getContractUSDTBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRef","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"}],"name":"stakeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getContractLaunchTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_M","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserUnclaimedTokens_T","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"USDT_DAILYPROFIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimToken_T","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getUserTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"USDTAmount","type":"uint256"}],"name":"USDTToToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"txType","type":"string"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"trxAmount","type":"uint256"}],"name":"TokenOperation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052739702230a8ea53601f5cd2dc00fdbc13d4df4a8c76000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555063632697c0600a556040518060200160405280601460ff1681525060109060016200008592919062000617565b506302faf080601155600f6012556019601355348015620000a557600080fd5b506040518060400160405280600b81526020017f555344544d616368696e6500000000000000000000000000000000000000000081525060069080519060200190620000f3929190620006c5565b506040518060400160405280600581526020017f555344544d0000000000000000000000000000000000000000000000000000008152506007908051906020019062000141929190620006c5565b506006600860006101000a81548160ff021916908360ff16021790555064e8d4a510006005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000287600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16640ba43b74006200028d60201b60201c565b620007a7565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8062000342620004df60201b60201c565b1015620003b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f537570706c79206578636565640000000000000000000000000000000000000081525060200191505060405180910390fd5b620003d3816004546200050460201b620031291790919060201c565b6004819055506200043281600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200050460201b620031291790919060201c565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000620004ff6004546005546200058d60201b620039381790919060201c565b905090565b60008082840190508381101562000583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008282111562000606576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b82805482825590600052602060002090601f01602090048101928215620006b25791602002820160005b838211156200068157835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000641565b8015620006b05782816101000a81549060ff021916905560010160208160000104928301926001030262000681565b505b509050620006c191906200074c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200070857805160ff191683800117855562000739565b8280016001018555821562000739579182015b82811115620007385782518255916020019190600101906200071b565b5b5090506200074891906200077f565b5090565b6200077c91905b808211156200077857600081816101000a81549060ff02191690555060010162000753565b5090565b90565b620007a491905b80821115620007a057600081600090555060010162000786565b5090565b90565b61400c80620007b76000396000f3fe6080604052600436106102ae5760003560e01c80637ecc2b5611610175578063c8f76040116100dc578063d70c55ac11610095578063e325314b1161006f578063e325314b14611042578063e85abe0914611059578063f5aec88c146110be578063f7d6a15814611123576102ae565b8063d70c55ac14610f2d578063d94ea5d214610f92578063dd62ed3e14610fbd576102ae565b8063c8f7604014610d64578063ca7dd83514610d8f578063cae9ca5114610da6578063cda6b84714610eb0578063cfc85f7014610eeb578063d1ba643c14610f16576102ae565b8063a330530a1161012e578063a330530a14610b3b578063a457c2d714610ba0578063a9059cbb14610c13578063b468f06f14610c86578063bff1f9e114610ceb578063c018c6f114610d16576102ae565b80637ecc2b561461099a578063832f3eb2146109c55780638af83686146109f0578063930491d014610a5557806395d89b4114610a805780639cd9747914610b10576102ae565b806335bd17ad116102195780634aa3f624116101d25780634aa3f624146107fe5780634b94f50e1461081557806369ea9a57146108405780636bb185561461086b5780636c659b28146108d057806370a0823114610935576102ae565b806335bd17ad1461067a57806339509351146106a55780633a718664146107185780633ace3389146107435780633e6968b61461076e57806348c3720314610799576102ae565b80632397e4d71161026b5780632397e4d7146104fa57806323b872dd146105355780632ddcb21f146105c85780632e559d79146105f3578063313ce5671461061e578063317d94531461064f576102ae565b806301a875cc146102b357806303a93c0c1461031857806306fdde031461037d578063095ea7b31461040d57806315ab47c01461048057806318160ddd146104cf575b600080fd5b3480156102bf57600080fd5b50610302600480360360208110156102d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611172565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b506103676004803603602081101561033b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111df565b6040518082815260200191505060405180910390f35b34801561038957600080fd5b50610392611238565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d25780820151818401526020810190506103b7565b50505050905090810190601f1680156103ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041957600080fd5b506104666004803603604081101561043057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112da565b604051808215151515815260200191505060405180910390f35b34801561048c57600080fd5b506104b9600480360360208110156104a357600080fd5b81019080803590602001909291905050506112f1565b6040518082815260200191505060405180910390f35b3480156104db57600080fd5b506104e4611329565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b506105336004803603602081101561051d57600080fd5b8101908080359060200190929190505050611333565b005b34801561054157600080fd5b506105ae6004803603606081101561055857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611613565b604051808215151515815260200191505060405180910390f35b3480156105d457600080fd5b506105dd6116c4565b6040518082815260200191505060405180910390f35b3480156105ff57600080fd5b506106086116ce565b6040518082815260200191505060405180910390f35b34801561062a57600080fd5b506106336116d4565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065b57600080fd5b506106646116eb565b6040518082815260200191505060405180910390f35b34801561068657600080fd5b5061068f6116fb565b6040518082815260200191505060405180910390f35b3480156106b157600080fd5b506106fe600480360360408110156106c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611701565b604051808215151515815260200191505060405180910390f35b34801561072457600080fd5b5061072d6117a6565b6040518082815260200191505060405180910390f35b34801561074f57600080fd5b506107586117d7565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b50610783611808565b6040518082815260200191505060405180910390f35b3480156107a557600080fd5b506107e8600480360360208110156107bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611830565b6040518082815260200191505060405180910390f35b34801561080a57600080fd5b5061081361187c565b005b34801561082157600080fd5b5061082a611956565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b506108556119b1565b6040518082815260200191505060405180910390f35b34801561087757600080fd5b506108ba6004803603602081101561088e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d3565b6040518082815260200191505060405180910390f35b3480156108dc57600080fd5b5061091f600480360360208110156108f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a73565b6040518082815260200191505060405180910390f35b34801561094157600080fd5b506109846004803603602081101561095857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ac2565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109af611b0b565b6040518082815260200191505060405180910390f35b3480156109d157600080fd5b506109da611b29565b6040518082815260200191505060405180910390f35b3480156109fc57600080fd5b50610a3f60048036036020811015610a1357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b2f565b6040518082815260200191505060405180910390f35b348015610a6157600080fd5b50610a6a611b9d565b6040518082815260200191505060405180910390f35b348015610a8c57600080fd5b50610a95611ba3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ad5578082015181840152602081019050610aba565b50505050905090810190601f168015610b025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b1c57600080fd5b50610b25611c45565b6040518082815260200191505060405180910390f35b348015610b4757600080fd5b50610b8a60048036036020811015610b5e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ca6565b6040518082815260200191505060405180910390f35b348015610bac57600080fd5b50610bf960048036036040811015610bc357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc7565b604051808215151515815260200191505060405180910390f35b348015610c1f57600080fd5b50610c6c60048036036040811015610c3657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d6c565b604051808215151515815260200191505060405180910390f35b348015610c9257600080fd5b50610cd560048036036020811015610ca957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e1b565b6040518082815260200191505060405180910390f35b348015610cf757600080fd5b50610d00611e6a565b6040518082815260200191505060405180910390f35b610d6260048036036040811015610d2c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e70565b005b348015610d7057600080fd5b50610d796127b8565b6040518082815260200191505060405180910390f35b348015610d9b57600080fd5b50610da4612899565b005b348015610db257600080fd5b50610e9660048036036060811015610dc957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610e1057600080fd5b820183602082011115610e2257600080fd5b80359060200191846001830284011164010000000083111715610e4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612a52565b604051808215151515815260200191505060405180910390f35b348015610ebc57600080fd5b50610ee960048036036020811015610ed357600080fd5b8101908080359060200190929190505050612bb2565b005b348015610ef757600080fd5b50610f00612d7f565b6040518082815260200191505060405180910390f35b348015610f2257600080fd5b50610f2b612d92565b005b348015610f3957600080fd5b50610f7c60048036036020811015610f5057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e95565b6040518082815260200191505060405180910390f35b348015610f9e57600080fd5b50610fa7612f03565b6040518082815260200191505060405180910390f35b348015610fc957600080fd5b5061102c60048036036040811015610fe057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f09565b6040518082815260200191505060405180910390f35b34801561104e57600080fd5b50611057612f90565b005b34801561106557600080fd5b506110a86004803603602081101561107c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613093565b6040518082815260200191505060405180910390f35b3480156110ca57600080fd5b5061110d600480360360208110156110e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130df565b6040518082815260200191505060405180910390f35b34801561112f57600080fd5b5061115c6004803603602081101561114657600080fd5b81019080803590602001909291905050506130f1565b6040518082815260200191505060405180910390f35b60006111d86111d262093a80601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005016002015461312990919063ffffffff16565b426131b1565b9050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0160006001811061122f57fe5b01549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112d05780601f106112a5576101008083540402835291602001916112d0565b820191906000526020600020905b8154815290600101906020018083116112b357829003601f168201915b5050505050905090565b60006112e73384846131d0565b6001905092915050565b6000611322620f4240611314611305611956565b856133c790919063ffffffff16565b61344d90919063ffffffff16565b9050919050565b6000600454905090565b6113458161134033611ac2565b6134dc565b9050600081116113bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f546f6b656e20616d6f756e742063616e206e6f7420626520300000000000000081525060200191505060405180910390fd5b6113ea81601560006113cd611808565b81526020019081526020016000205461312990919063ffffffff16565b601560006113f6611808565b8152602001908152602001600020819055506000611413826112f1565b90508061141e6127b8565b11611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420436f6e74726163742042616c616e636500000081525060200191505060405180910390fd5b61149b33836134f8565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561154457600080fd5b505af1158015611558573d6000803e3d6000fd5b505050506040513d602081101561156e57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167fe5d010647fdec31d4cc123be78ffaefe38987ce65e775c1e729e35c9f0cf9eae83836040518080602001848152602001838152602001828103825260048152602001807f53454c4c00000000000000000000000000000000000000000000000000000000815250602001935050505060405180910390a25050565b6000611620848484613698565b6116b984336116b485600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461393890919063ffffffff16565b6131d0565b600190509392505050565b6000600554905090565b600f5481565b6000600860009054906101000a900460ff16905090565b60006116f630611ac2565b905090565b600e5481565b600061179c338461179785600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312990919063ffffffff16565b6131d0565b6001905092915050565b60006117d2600a6117c461016d6013546133c790919063ffffffff16565b61344d90919063ffffffff16565b905090565b6000611803600a6117f561016d6012546133c790919063ffffffff16565b61344d90919063ffffffff16565b905090565b600061182b6201518061181d42600a546131b1565b61344d90919063ffffffff16565b905090565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01549050919050565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506118dc62093a80826005016002015461312990919063ffffffff16565b42116118e757600080fd5b6118f0336139c1565b6000816005016001015490506000826005016001018190555061191e81600f5461393890919063ffffffff16565b600f81905550600061193a60028361344d90919063ffffffff16565b9050611947303384613698565b61195133826134f8565b505050565b600080611976620f42406119686127b8565b6133c790919063ffffffff16565b905060006119956001611987611b0b565b61312990919063ffffffff16565b90506119aa818361344d90919063ffffffff16565b9250505090565b6000601560006119bf611808565b815260200190815260200160002054905090565b6000611a6c601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a015461393890919063ffffffff16565b9050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611b2460045460055461393890919063ffffffff16565b905090565b60135481565b600080601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611b958160010160030154611b8785613a51565b61312990919063ffffffff16565b915050919050565b60115481565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c3b5780601f10611c1057610100808354040283529160200191611c3b565b820191906000526020600020905b815481529060010190602001808311611c1e57829003601f168201915b5050505050905090565b600080611c5442600a546131b1565b90506000611c7562015180611c67611808565b6133c790919063ffffffff16565b9050611c9f82611c91620151808461312990919063ffffffff16565b61393890919063ffffffff16565b9250505090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b6000611d623384611d5d85600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461393890919063ffffffff16565b6131d0565b6001905092915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e0557611dff838360006040519080825280601f01601f191660200182016040528015611df95781602001600182028038833980820191505090505b50612a52565b50611e11565b611e0f8383613b32565b505b6001905092915050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600101549050919050565b600d5481565b600a544211611e7e57600080fd5b601154811015611e8d57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f6a57600080fd5b505af1158015611f7e573d6000803e3d6000fd5b505050506040513d6020811015611f9457600080fd5b8101908080519060200190929190505050506000611fd06103e8611fc26032856133c790919063ffffffff16565b61344d90919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561209d57600080fd5b505af11580156120b1573d6000803e3d6000fd5b505050506040513d60208110156120c757600080fd5b8101908080519060200190929190505050506000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156121ca5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15612429576000601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010154141561224357600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693505b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b60108054905081101561242657600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612414576123586001601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c01836001811061234857fe5b015461312990919063ffffffff16565b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0182600181106123a557fe5b0181905550601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150612419565b612426565b80806001019150506122b5565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461271e5760008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b60108054905081101561271b57600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561251857600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505b60006125706103e86125626010858154811061253057fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff16896133c790919063ffffffff16565b61344d90919063ffffffff16565b90506125c781601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009015461312990919063ffffffff16565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061266281601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a015461312990919063ffffffff16565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0181905550601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505080806001019150506124b0565b50505b60008160010160010154141561275c5761273a42600a54613b49565b8160010160000181905550600d60008154809291906001019190505550612766565b61276533613b65565b5b42816001016002018190555061278c83826001016001015461312990919063ffffffff16565b81600101600101819055506127ac83600e5461312990919063ffffffff16565b600e8190555050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561285957600080fd5b505afa15801561286d573d6000803e3d6000fd5b505050506040513d602081101561288357600080fd5b8101908080519060200190929190505050905090565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006128e733613093565b90506000811161295f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5573657220686173206e6f206469766964656e6473000000000000000000000081525060200191505060405180910390fd5b60008260090181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612a1257600080fd5b505af1158015612a26573d6000803e3d6000fd5b505050506040513d6020811015612a3c57600080fd5b8101908080519060200190929190505050505050565b6000612a5e84846112da565b612a6757600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b40578082015181840152602081019050612b25565b50505050905090810190601f168015612b6d5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612b8f57600080fd5b505af1158015612ba3573d6000803e3d6000fd5b50505050600190509392505050565b600a544211612bc057600080fd5b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600a54421015612c7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f5374616b65206e6f7420617661696c61626c652079657400000000000000000081525060200191505060405180910390fd5b612c8433611ac2565b821115612cf9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e73756666696369656e7420546f6b656e2042616c616e636500000000000081525060200191505060405180910390fd5b600081600501600101541415612d1a57428160050160000181905550612d24565b612d23336139c1565b5b612d2f333084613698565b428160050160020181905550612d5582826005016001015461312990919063ffffffff16565b8160050160010181905550612d7582600f5461312990919063ffffffff16565b600f819055505050565b6000612d8d600a54426131b1565b905090565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612dde33613b65565b60008160010160030154905060008260010160030181905550612e013382613bf5565b3373ffffffffffffffffffffffffffffffffffffffff167fe5d010647fdec31d4cc123be78ffaefe38987ce65e775c1e729e35c9f0cf9eae8260006040518080602001848152602001838152602001828103825260058152602001807f434c41494d000000000000000000000000000000000000000000000000000000815250602001935050505060405180910390a25050565b600080601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612efb8160050160030154612eed85613e2f565b61312990919063ffffffff16565b915050919050565b60125481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612fdc336139c1565b60008160050160030154905060008260050160030181905550612fff3382613bf5565b3373ffffffffffffffffffffffffffffffffffffffff167fe5d010647fdec31d4cc123be78ffaefe38987ce65e775c1e729e35c9f0cf9eae8260006040518080602001848152602001838152602001828103825260058152602001807f434c41494d000000000000000000000000000000000000000000000000000000815250602001935050505060405180910390a25050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901549050919050565b60006130ea82611ac2565b9050919050565b60006131226130fe611956565b613114620f4240856133c790919063ffffffff16565b61344d90919063ffffffff16565b9050919050565b6000808284019050838110156131a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000818311156131c55781830390506131ca565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613256576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613fbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613f346022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000808314156133da5760009050613447565b60008284029050828482816133eb57fe5b0414613442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f566021913960400191505060405180910390fd5b809150505b92915050565b60008082116134c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b60008284816134cf57fe5b0490508091505092915050565b6000818311156134ee578190506134f2565b8290505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561357e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f776021913960400191505060405180910390fd5b6135d081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461393890919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136288160045461393890919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561371e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613f116023913960400191505060405180910390fd5b6137f681600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461393890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061388b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156139b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000613a0f83613e2f565b90506000811115613a4c57613a3481836005016003015461312990919063ffffffff16565b82600501600301819055504282600501600001819055505b505050565b600080601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160000154905042600a541115613aaf574290505b60006012549050600042905080831015613b2157613b1a6103e8613b0c62015180613afe86613af08988038b600101600101546133c790919063ffffffff16565b6133c790919063ffffffff16565b61344d90919063ffffffff16565b61344d90919063ffffffff16565b9450613b26565b600094505b84945050505050919050565b6000613b3f338484613698565b6001905092915050565b600081831115613b5b57829050613b5f565b8190505b92915050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000613bb383613a51565b90506000811115613bf057613bd881836001016003015461312990919063ffffffff16565b82600101600301819055504282600101600001819055505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b80613ca1611b0b565b1015613d15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f537570706c79206578636565640000000000000000000000000000000000000081525060200191505060405180910390fd5b613d2a8160045461312990919063ffffffff16565b600481905550613d8281600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160050160000154905042600a541115613e8d574290505b60006013549050600042905080831015613eff57613ef86103e8613eea62015180613edc86613ece8988038b600501600101546133c790919063ffffffff16565b6133c790919063ffffffff16565b61344d90919063ffffffff16565b61344d90919063ffffffff16565b9450613f04565b600094505b8494505050505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820ff30e6d2d94e72ae03a8a3954d79441a1bc558dae051e6b2a9dc1e7905f0b6cc0029

Deployed ByteCode Sourcemap

6527:11877:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16046:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16046:154:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16046:154:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16712:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16712:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16712:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2201:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2201:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2201:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3229:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3229:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3229:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16563:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16563:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16563:142:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2478:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2478:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13748:595;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13748:595:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13748:595:0;;;;;;;;;;;;;;;;;:::i;:::-;;3387:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3387:256:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3387:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2577:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2577:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6794:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6794:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2387:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2387:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15261:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15261:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6759:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6759:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3651:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3651:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3651:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15475:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15475:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15372:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15372:97:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17391:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17391:116:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16967:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16967:128:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16967:128:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10714:593;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10714:593:0;;;:::i;:::-;;16210:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16210:196:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17520:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17520:103:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17101:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17101:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17101:160:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15806:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15806:113:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15806:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2805:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2805:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2805:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2680:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2680:113:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7356:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7356:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14668:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14668:202:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14668:202:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7272:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7272:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2292:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2292:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2292:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17641:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17641:197:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15580:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15580:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15580:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3865:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3865:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3865:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6265:255;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6265:255:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6265:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15926:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15926:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15926:114:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6729:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6729:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8303:1683;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8303:1683:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15099:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15099:154:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14352:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14352:303:0;;;:::i;:::-;;5972:285;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5972:285:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5972:285:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5972:285:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5972:285:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5972:285:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5972:285:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9998:703;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9998:703:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9998:703:0;;;;;;;;;;;;;;;;;:::i;:::-;;17271:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17271:111:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13001:365;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13001:365:0;;;:::i;:::-;;14882:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14882:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14882:203:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7315:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7315:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3087:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3087:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3087:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13382:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13382:349:0;;;:::i;:::-;;16844:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16844:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16844:118:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15696:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15696:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15696:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16415:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16415:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16415:140:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16046:154;16112:4;16131:64;16139:50;7257:6;16139:5;:12;16145:5;16139:12;;;;;;;;;;;;;;;:15;;:29;;;:33;;:50;;;;:::i;:::-;16191:3;16131:7;:64::i;:::-;16123:72;;16046:154;;;:::o;16712:124::-;16783:4;16802:5;:18;16808:11;16802:18;;;;;;;;;;;;;;;:25;;16828:1;16802:28;;;;;;;;;16794:37;;16712:124;;;:::o;2201:83::-;2238:13;2271:5;2264:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2201:83;:::o;3229:150::-;3295:4;3312:37;3321:10;3333:7;3342:6;3312:8;:37::i;:::-;3367:4;3360:11;;3229:150;;;;:::o;16563:142::-;16622:4;16646:51;7150:3;16646:32;16662:15;:13;:15::i;:::-;16646:11;:15;;:32;;;;:::i;:::-;:36;;:51;;;;:::i;:::-;16639:58;;16563:142;;;:::o;2478:91::-;2522:7;2549:12;;2542:19;;2478:91;:::o;13748:595::-;13817:42;13824:11;13837:21;13847:10;13837:9;:21::i;:::-;13817:6;:42::i;:::-;13803:56;;13892:1;13878:11;:15;13870:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13968:38;13994:11;13968:4;:21;13973:15;:13;:15::i;:::-;13968:21;;;;;;;;;;;;:25;;:38;;;;:::i;:::-;13944:4;:21;13949:15;:13;:15::i;:::-;13944:21;;;;;;;;;;;:62;;;;14017:15;14035:24;14047:11;14035;:24::i;:::-;14017:42;;14111:10;14084:24;:22;:24::i;:::-;:37;14076:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14166:30;14172:10;14184:11;14166:5;:30::i;:::-;14208:9;;;;;;;;;;;:18;;;14227:10;14239;14208:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14208:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14208:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14208:42:0;;;;;;;;;;;;;;;;;14291:10;14276:59;;;14311:11;14324:10;14276:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13748:595;;:::o;3387:256::-;3476:4;3493:36;3503:6;3511:9;3522:6;3493:9;:36::i;:::-;3540:73;3549:6;3557:10;3569:43;3605:6;3569:11;:19;3581:6;3569:19;;;;;;;;;;;;;;;:31;3589:10;3569:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;3540:8;:73::i;:::-;3631:4;3624:11;;3387:256;;;;;:::o;2577:91::-;2621:7;2648:12;;2641:19;;2577:91;:::o;6794:28::-;;;;:::o;2387:83::-;2428:5;2453:9;;;;;;;;;;;2446:16;;2387:83;:::o;15261:103::-;15317:4;15335:24;15353:4;15335:9;:24::i;:::-;15328:31;;15261:103;:::o;6759:27::-;;;;:::o;3651:206::-;3731:4;3748:79;3757:10;3769:7;3778:48;3815:10;3778:11;:23;3790:10;3778:23;;;;;;;;;;;;;;;:32;3802:7;3778:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;3748:8;:79::i;:::-;3845:4;3838:11;;3651:206;;;;:::o;15475:98::-;15516:4;15534:34;15565:2;15534:26;15556:3;15534:17;;:21;;:26;;;;:::i;:::-;:30;;:34;;;;:::i;:::-;15527:41;;15475:98;:::o;15372:97::-;15413:4;15431:33;15461:2;15431:25;15452:3;15431:16;;:20;;:25;;;;:::i;:::-;:29;;:33;;;;:::i;:::-;15424:40;;15372:97;:::o;17391:116::-;17437:4;17461:38;7202:6;17461:23;17469:3;17474:9;;17461:7;:23::i;:::-;:27;;:38;;;;:::i;:::-;17454:45;;17391:116;:::o;16967:128::-;17043:4;17061:5;:18;17067:11;17061:18;;;;;;;;;;;;;;;:29;;;17054:36;;16967:128;;;:::o;10714:593::-;10756:17;10776:5;:17;10782:10;10776:17;;;;;;;;;;;;;;;10756:37;;10818:42;7257:6;10818:4;:7;;:21;;;:25;;:42;;;;:::i;:::-;10812:3;:48;10804:57;;;;;;10872:31;10892:10;10872:19;:31::i;:::-;10914:16;10933:4;:7;;:19;;;10914:38;;10985:1;10963:4;:7;;:19;;:23;;;;11016:33;11037:11;11016:16;;:20;;:33;;;;:::i;:::-;10997:16;:52;;;;11061:23;11087:18;11103:1;11087:11;:15;;:18;;;;:::i;:::-;11061:44;;11118:49;11136:4;11143:10;11155:11;11118:9;:49::i;:::-;11210:34;11216:10;11228:15;11210:5;:34::i;:::-;10714:593;;;:::o;16210:196::-;16255:4;16272:7;16282:43;7150:3;16282:24;:22;:24::i;:::-;:28;;:43;;;;:::i;:::-;16272:53;;16336:7;16346:24;16368:1;16346:17;:15;:17::i;:::-;:21;;:24;;;;:::i;:::-;16336:34;;16388:10;16395:2;16388;:6;;:10;;;;:::i;:::-;16381:17;;;;16210:196;:::o;17520:103::-;17570:4;17594;:21;17599:15;:13;:15::i;:::-;17594:21;;;;;;;;;;;;17587:28;;17520:103;:::o;17101:160::-;17176:7;17197:59;17231:5;:18;17237:11;17231:18;;;;;;;;;;;;;;;:24;;;17197:5;:18;17203:11;17197:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;17190:66;;17101:160;;;:::o;15806:113::-;15869:4;15887:5;:12;15893:5;15887:12;;;;;;;;;;;;;;;:15;;:27;;;15880:34;;15806:113;;;:::o;2805:110::-;2862:7;2889:9;:18;2899:7;2889:18;;;;;;;;;;;;;;;;2882:25;;2805:110;;;:::o;2680:113::-;2728:7;2755:30;2772:12;;2755;;:16;;:30;;;;:::i;:::-;2748:37;;2680:113;:::o;7356:34::-;;;;:::o;14668:202::-;14737:10;14760:17;14780:5;:12;14786:5;14780:12;;;;;;;;;;;;;;;14760:32;;14810:51;14837:4;:7;;:23;;;14810:22;14826:5;14810:15;:22::i;:::-;:26;;:51;;;;:::i;:::-;14803:58;;;14668:202;;;:::o;7272:36::-;;;;:::o;2292:87::-;2331:13;2364:7;2357:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2292:87;:::o;17641:197::-;17690:4;17707:6;17716:23;17724:3;17729:9;;17716:7;:23::i;:::-;17707:32;;17750:6;17759:30;7202:6;17759:15;:13;:15::i;:::-;:19;;:30;;;;:::i;:::-;17750:39;;17807:23;17828:1;17807:16;7202:6;17807:1;:5;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;17800:30;;;;17641:197;:::o;15580:109::-;15644:4;15670:5;15662:22;;;15655:29;;15580:109;;;:::o;3865:216::-;3950:4;3967:84;3976:10;3988:7;3997:53;4034:15;3997:11;:23;4009:10;3997:23;;;;;;;;;;;;;;;:32;4021:7;3997:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;3967:8;:84::i;:::-;4069:4;4062:11;;3865:216;;;;:::o;6265:255::-;6326:4;6349:10;:14;6360:2;6349:14;;;;;;;;;;;;;;;;;;;;;;;;;6345:144;;;6380:39;6395:2;6399:5;6416:1;6406:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;6406:12:0;;;;6380:14;:39::i;:::-;;6345:144;;;6452:25;6467:2;6471:5;6452:14;:25::i;:::-;;6345:144;6508:4;6501:11;;6265:255;;;;:::o;15926:114::-;15990:4;16008:5;:12;16014:5;16008:12;;;;;;;;;;;;;;;:15;;:27;;;16001:34;;15926:114;;;:::o;6729:22::-;;;;:::o;8303:1683::-;8411:9;;8393:15;:27;8384:37;;;;;;8467:17;;8456:7;:28;;8447:38;;;;;;8513:9;;;;;;;;;;;:22;;;8536:10;8556:4;8563:7;8513:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8513:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8513:58:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8513:58:0;;;;;;;;;;;;;;;;;8591:8;8602:41;7097:4;8602:20;6930:2;8602:7;:11;;:20;;;;:::i;:::-;:24;;:41;;;;:::i;:::-;8591:52;;8658:9;;;;;;;;;;;:18;;;8677:5;;;;;;;;;;;8684:3;8658:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8658:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8658:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8658:30:0;;;;;;;;;;;;;;;;;8695:17;8715:5;:17;8721:10;8715:17;;;;;;;;;;;;;;;8695:37;;8770:1;8745:27;;:4;:13;;;;;;;;;;;;:27;;;:50;;;;;8790:5;;;;;;;;;;;8776:19;;:10;:19;;;;8745:50;8741:420;;;8841:1;8807:5;:15;8813:8;8807:15;;;;;;;;;;;;;;;:18;;:30;;;:35;8803:71;;;8862:5;;;;;;;;;;;8851:16;;8803:71;8895:8;8879:4;:13;;;:24;;;;;;;;;;;;;;;;;;8909:14;8926:4;:13;;;;;;;;;;;;8909:30;;8950:9;8962:1;8950:13;;8945:211;8969:11;:18;;;;8965:1;:22;8945:211;;;9023:1;9005:20;;:6;:20;;;9001:148;;9061:30;9089:1;9061:5;:13;9067:6;9061:13;;;;;;;;;;;;;;;:20;;9082:1;9061:23;;;;;;;;;:27;;:30;;;;:::i;:::-;9035:5;:13;9041:6;9035:13;;;;;;;;;;;;;;;:20;;9056:1;9035:23;;;;;;;;:56;;;;9108:5;:13;9114:6;9108:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;9099:31;;9001:148;;;9144:5;;9001:148;8989:3;;;;;;;8945:211;;;;8741:420;;9196:1;9171:27;;:4;:13;;;;;;;;;;;;:27;;;9167:441;;9206:14;9223:4;:13;;;;;;;;;;;;9206:30;;9247:9;9259:1;9247:13;;9242:361;9266:11;:18;;;;9262:1;:22;9242:361;;;9320:1;9302:20;;:6;:20;;;9298:59;;;9344:5;;;;;;;;;;;9335:14;;9298:59;9363:14;9380:48;7097:4;9380:27;9392:11;9404:1;9392:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9380:27;;:7;:11;;:27;;;;:::i;:::-;:31;;:48;;;;:::i;:::-;9363:65;;9457:31;9481:6;9457:5;:13;9463:6;9457:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;9435:5;:13;9441:6;9435:13;;;;;;;;;;;;;;;:19;;:53;;;;9522:36;9551:6;9522:5;:13;9528:6;9522:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;9495:5;:13;9501:6;9495:13;;;;;;;;;;;;;;;:24;;:63;;;;9574:5;:13;9580:6;9574:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;9565:31;;9242:361;9286:3;;;;;;;9242:361;;;;9167:441;;9648:1;9625:4;:7;;:19;;;:24;9621:190;;;9687:22;9694:3;9699:9;;9687:6;:22::i;:::-;9666:4;:7;;:18;;:43;;;;9724:10;;:12;;;;;;;;;;;;;9621:190;;;9769:30;9788:10;9769:18;:30::i;:::-;9621:190;9853:3;9829:4;:7;;:21;;:27;;;;9889:32;9913:7;9889:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;9867:4;:7;;:19;;:54;;;;9950:28;9970:7;9950:15;;:19;;:28;;;;:::i;:::-;9932:15;:46;;;;8303:1683;;;;:::o;15099:154::-;15154:4;15214:9;;;;;;;;;;;:19;;;15242:4;15214:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15214:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15214:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15214:34:0;;;;;;;;;;;;;;;;15207:41;;15099:154;:::o;14352:303::-;14387:17;14407:5;:17;14413:10;14407:17;;;;;;;;;;;;;;;14387:37;;14433:16;14452:32;14473:10;14452:20;:32::i;:::-;14433:51;;14511:1;14497:11;:15;14489:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14562:1;14549:4;:10;;:14;;;;14607:9;;;;;;;;;;;:18;;;14626:10;14638:11;14607:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14607:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14607:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14607:43:0;;;;;;;;;;;;;;;;;14352:303;;:::o;5972:285::-;6069:4;6094:24;6102:7;6111:6;6094:7;:24::i;:::-;6086:33;;;;;;6155:7;6132:47;;;6180:10;6192:6;6208:4;6215:9;6132:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6132:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6132:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6132:93:0;;;;6245:4;6238:11;;5972:285;;;;;:::o;9998:703::-;10081:9;;10063:15;:27;10054:37;;;;;;10109:17;10129:5;:17;10135:10;10129:17;;;;;;;;;;;;;;;10109:37;;10172:9;;10165:3;:16;;10157:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10243:21;10253:10;10243:9;:21::i;:::-;10228:11;:36;;10220:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10335:1;10312:4;:7;;:19;;;:24;10308:145;;;10374:3;10353:4;:7;;:18;;:24;;;;10308:145;;;10410:31;10430:10;10410:19;:31::i;:::-;10308:145;10473:49;10483:10;10503:4;10510:11;10473:9;:49::i;:::-;10557:3;10533:4;:7;;:21;;:27;;;;10593:36;10617:11;10593:4;:7;;:19;;;:23;;:36;;;;:::i;:::-;10571:4;:7;;:19;;:58;;;;10659:33;10680:11;10659:16;;:20;;:33;;;;:::i;:::-;10640:16;:52;;;;9998:703;;:::o;17271:111::-;17324:4;17342:35;17350:9;;17361:15;17342:7;:35::i;:::-;17335:42;;17271:111;:::o;13001:365::-;13043:17;13063:5;:17;13069:10;13063:17;;;;;;;;;;;;;;;13043:37;;13100:30;13119:10;13100:18;:30::i;:::-;13141:16;13160:4;:7;;:23;;;13141:42;;13222:1;13196:4;:7;;:23;;:27;;;;13261:30;13267:10;13279:11;13261:5;:30::i;:::-;13322:10;13307:51;;;13343:11;13356:1;13307:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13001:365;;:::o;14882:203::-;14951:10;14974:17;14994:5;:12;15000:5;14994:12;;;;;;;;;;;;;;;14974:32;;15024:52;15052:4;:7;;:23;;;15024;15041:5;15024:16;:23::i;:::-;:27;;:52;;;;:::i;:::-;15017:59;;;14882:203;;;:::o;7315:34::-;;;;:::o;3087:134::-;3159:7;3186:11;:18;3198:5;3186:18;;;;;;;;;;;;;;;:27;3205:7;3186:27;;;;;;;;;;;;;;;;3179:34;;3087:134;;;;:::o;13382:349::-;13424:17;13444:5;:17;13450:10;13444:17;;;;;;;;;;;;;;;13424:37;;13481:31;13501:10;13481:19;:31::i;:::-;13523:16;13542:4;:7;;:23;;;13523:42;;13603:1;13577:4;:7;;:23;;:27;;;;13626:30;13632:10;13644:11;13626:5;:30::i;:::-;13687:10;13672:51;;;13708:11;13721:1;13672:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13382:349;;:::o;16844:118::-;16915:4;16933:5;:18;16939:11;16933:18;;;;;;;;;;;;;;;:24;;;16926:31;;16844:118;;;:::o;15696:104::-;15761:4;15779:16;15789:5;15779:9;:16::i;:::-;15772:23;;15696:104;;;:::o;16415:140::-;16473:4;16497:50;16531:15;:13;:15::i;:::-;16497:29;7150:3;16497:10;:14;;:29;;;;:::i;:::-;:33;;:50;;;;:::i;:::-;16490:57;;16415:140;;;:::o;689:181::-;747:7;767:9;783:1;779;:5;767:17;;808:1;803;:6;;795:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;861:1;854:8;;;689:181;;;;:::o;17852:176::-;17906:4;17931:1;17927;:5;17923:94;;;17959:1;17955;:5;17948:12;;;;17923:94;18000:1;17993:8;;17852:176;;;;;:::o;5234:338::-;5345:1;5328:19;;:5;:19;;;;5320:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5407:21;;:7;:21;;;;5399:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:6;5480:11;:18;5492:5;5480:18;;;;;;;;;;;;;;;:27;5499:7;5480:27;;;;;;;;;;;;;;;:36;;;;5548:7;5532:32;;5541:5;5532:32;;;5557:6;5532:32;;;;;;;;;;;;;;;;;;5234:338;;;:::o;52:250::-;110:7;139:1;134;:6;130:47;;;164:1;157:8;;;;130:47;189:9;205:1;201;:5;189:17;;234:1;229;225;:5;;;;;;:10;217:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:1;286:8;;;52:250;;;;;:::o;310:179::-;368:7;400:1;396;:5;388:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;443:9;459:1;455;:5;;;;;;443:17;;480:1;473:8;;;310:179;;;;:::o;18226:171::-;18279:4;18304:1;18300;:5;18296:90;;;18328:1;18321:8;;;;18296:90;18369:1;18362:8;;18226:171;;;;;:::o;4916:310::-;5011:1;4992:21;;:7;:21;;;;4984:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5085:30;5108:6;5085:9;:18;5095:7;5085:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;5064:9;:18;5074:7;5064:18;;;;;;;;;;;;;;;:51;;;;5141:24;5158:6;5141:12;;:16;;:24;;;;:::i;:::-;5126:12;:39;;;;5207:1;5181:37;;5190:7;5181:37;;;5211:6;5181:37;;;;;;;;;;;;;;;;;;4916:310;;:::o;4089:429::-;4205:1;4187:20;;:6;:20;;;;4179:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4289:1;4268:23;;:9;:23;;;;4260:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4364:29;4386:6;4364:9;:17;4374:6;4364:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;4344:9;:17;4354:6;4344:17;;;;;;;;;;;;;;;:49;;;;4427:32;4452:6;4427:9;:20;4437:9;4427:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4404:9;:20;4414:9;4404:20;;;;;;;;;;;;;;;:55;;;;4492:9;4475:35;;4484:6;4475:35;;;4503:6;4475:35;;;;;;;;;;;;;;;;;;4089:429;;;:::o;497:184::-;555:7;588:1;583;:6;;575:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:9;651:1;647;:5;635:17;;672:1;665:8;;;497:184;;;;:::o;12157:306::-;12220:17;12240:5;:12;12246:5;12240:12;;;;;;;;;;;;;;;12220:32;;12263:14;12280:23;12297:5;12280:16;:23::i;:::-;12263:40;;12326:1;12317:6;:10;12314:142;;;12370:35;12398:6;12370:4;:7;;:23;;;:27;;:35;;;;:::i;:::-;12344:4;:7;;:23;;:61;;;;12441:3;12420:4;:7;;:18;;:24;;;;12314:142;12157:306;;;:::o;11638:505::-;11699:13;11725:17;11745:5;:12;11751:5;11745:12;;;;;;;;;;;;;;;11725:32;;11768:10;11781:4;:7;;:18;;;11768:31;;11826:3;11814:9;;:15;11810:55;;;11849:3;11844:8;;11810:55;11875:13;11891:16;;11875:32;;11918:10;11931:3;11918:16;;11953:2;11948;:7;11945:168;;;11980:79;7097:4;11980:58;7202:6;11980:43;12017:5;11980:32;12009:2;12004;:7;11980:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;:36;;:43;;;;:::i;:::-;:47;;:58;;;;:::i;:::-;:62;;:79;;;;:::i;:::-;11972:87;;11945:168;;;12100:1;12092:9;;11945:168;12130:5;12123:12;;;;;;11638:505;;;:::o;2923:156::-;2992:4;3009:40;3019:10;3031:9;3042:6;3009:9;:40::i;:::-;3067:4;3060:11;;2923:156;;;;:::o;18043:171::-;18096:4;18121:1;18117;:5;18113:90;;;18145:1;18138:8;;;;18113:90;18186:1;18179:8;;18043:171;;;;;:::o;11321:304::-;11383:17;11403:5;:12;11409:5;11403:12;;;;;;;;;;;;;;;11383:32;;11426:14;11443:22;11459:5;11443:15;:22::i;:::-;11426:39;;11488:1;11479:6;:10;11476:142;;;11532:35;11560:6;11532:4;:7;;:23;;;:27;;:35;;;;:::i;:::-;11506:4;:7;;:23;;:61;;;;11603:3;11582:4;:7;;:18;;:24;;;;11476:142;11321:304;;;:::o;4526:382::-;4621:1;4602:21;;:7;:21;;;;4594:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4699:6;4678:17;:15;:17::i;:::-;:27;;4670:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4751:24;4768:6;4751:12;;:16;;:24;;;;:::i;:::-;4736:12;:39;;;;4817:30;4840:6;4817:9;:18;4827:7;4817:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4796:9;:18;4806:7;4796:18;;;;;;;;;;;;;;;:51;;;;4884:7;4863:37;;4880:1;4863:37;;;4893:6;4863:37;;;;;;;;;;;;;;;;;;4526:382;;:::o;12476:507::-;12538:13;12564:17;12584:5;:12;12590:5;12584:12;;;;;;;;;;;;;;;12564:32;;12607:10;12620:4;:7;;:18;;;12607:31;;12665:3;12653:9;;:15;12649:55;;;12688:3;12683:8;;12649:55;12714:13;12730:17;;12714:33;;12758:10;12771:3;12758:16;;12793:2;12788;:7;12785:168;;;12820:79;7097:4;12820:58;7202:6;12820:43;12857:5;12820:32;12849:2;12844;:7;12820:4;:7;;:19;;;:23;;:32;;;;:::i;:::-;:36;;:43;;;;:::i;:::-;:47;;:58;;;;:::i;:::-;:62;;:79;;;;:::i;:::-;12812:87;;12785:168;;;12940:1;12932:9;;12785:168;12970:5;12963:12;;;;;;12476:507;;;:::o

Swarm Source

bzzr://ff30e6d2d94e72ae03a8a3954d79441a1bc558dae051e6b2a9dc1e7905f0b6cc
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.