ETH Price: $3,401.50 (+4.39%)

Token

UNILAYERX (LAYERX)
 

Overview

Max Total Supply

40,000 LAYERX

Holders

1,103

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.143066100389361402 LAYERX

Value
$0.00
0x494602d1e42d7635ba994c470e21698cad9b8d55
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:
Layerx

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2021-04-20
*/

/**
 *Submitted for verification at Etherscan.io on 2021-04-17
*/

pragma solidity ^0.5.0;

 /**
 * @title SafeMath
 * @dev   Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256){
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b,"Calculation error");
        return c;
    }
    
    /**
    * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256){
        // Solidity only automatically asserts when dividing by 0
        require(b > 0,"Calculation error");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256){
        require(b <= a,"Calculation error");
        uint256 c = a - b;
        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256){
        uint256 c = a + b;
        require(c >= a,"Calculation error");
        return c;
    }

    /**
    * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256){
        require(b != 0,"Calculation error");
        return a % b;
    }
}

 /**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address account) external view returns (uint256);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function allowance(address owner, address spender) external view returns (uint256);
  function approve(address spender, uint256 amount) external returns (bool);
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Owned {
    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

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

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

 /**
 * @title Layerx Contract For ERC20 Tokens
 * @dev LAYERX tokens as per ERC20 Standards
 */
contract Layerx is IERC20, Owned {
    using SafeMath for uint256;
    
    string public symbol;
    string public  name;
    uint8 public decimals;
    uint _totalSupply;
    uint public totalEthRewards = 0;
    uint stakeNum = 0;
    uint amtByDay = 27397260274000000000;
    uint public stakePeriod = 30 days;
    address public stakeCreator; 
    bool isPaused = false;
    
    struct Stake {
        uint start;
        uint end;
        uint layerLockedTotal;
        uint layerxReward;
        uint ethReward;
    }
    
    struct StakeHolder {
        uint layerLocked;
        uint firstStake;
        uint time;
    }
    
    struct Rewards {
        uint layerLocked;
        uint layersx;
        uint eth;
        bool isReceived;
    }    
    
    event logLockedTokens(address holder, uint amountLocked, uint timeLocked, uint stakeId);
    event logUnlockedTokens(address holder, uint amountUnlocked, uint timeUnlocked);
    event logWithdraw(address holder, uint layerx, uint eth, uint stakeId, uint time);
    event logCloseStake(uint id, uint amount, uint timeClosed);
    
    modifier paused {
        require(isPaused == false, "This contract was paused by the owner!");
        _;
    }
    
    modifier exist (uint index) {
        require(index <= stakeNum, 'This stake does not exist.');
        _;        
    }
    
    mapping (address => StakeHolder) public stakeHolders;
    mapping (uint => Stake) public stakes;
    mapping (address => mapping (uint => Rewards)) public rewards;
    mapping (address => uint) balances;
    mapping (address => mapping(address => uint)) allowed;   
    mapping (address => bool) private swap;
    
    IERC20 UNILAYER = IERC20(0x0fF6ffcFDa92c53F615a4A75D982f399C989366b);

    constructor(address _owner) public {
        owner = _owner;
        stakeCreator = owner;
        symbol = "LAYERX";
        name = "UNILAYERX";
        decimals = 18;
        _totalSupply = 40000 * 10**uint(decimals);
        balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
        stakes[0] = Stake(now, 0, 0, 0, 0);
    }
    
    /**
     * @dev Total number of tokens in existence.
     */
    function totalSupply() public view returns (uint) {
        return _totalSupply.sub(balances[address(0)]);
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param tokenOwner The address to query the balance of.
     * @return A uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address tokenOwner) public view returns (uint balance) {
        return balances[tokenOwner];
    }
    
    function transfer(address to, uint tokens) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        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;
    }
    
    function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
        return true;
    }   
    
    /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of token to be burned.
     */
    function burn(uint256 value) public onlyOwner {
        require(value > 0, "Invalid Amount.");
        require(_totalSupply >= value, "Invalid account state.");
        require(balances[owner] >= value, "Invalid account balances state.");
        _totalSupply = _totalSupply.sub(value);
        balances[owner] = balances[owner].sub(value);
        emit Transfer(owner, address(0), value);
    }    
    
    /**
     * @dev Set new Stake Creator address.
     * @param _stakeCreator The address of the new Stake Creator.
     */    
    function setNewStakeCreator(address _stakeCreator) external onlyOwner {
        require(_stakeCreator != address(0), 'Do not use 0 address');
        stakeCreator = _stakeCreator;
    }
    
    /**
     * @dev Set new pause status.
     * @param newIsPaused The pause status: 0 - not paused, 1 - paused.
     */ 
    function setIsPaused(bool newIsPaused) external onlyOwner {
        isPaused = newIsPaused;
    }
    
    /**
     * @dev Set new Stake Period.
     * @param newStakePeriod indicates new stake period, it was 7 days by default.
     */
    function setStakePeriod(uint256 newStakePeriod) external onlyOwner {
        stakePeriod = newStakePeriod;
    }    
    
    /**
    * @dev Stake LAYER tokens for earning rewards, Tokens will be deducted from message sender account
    * @param payment Amount of LAYER to be staked in the pool
    */    
    function lock(uint payment) external paused {
        require(payment > 0, 'Payment must be greater than 0.');
        require(UNILAYER.balanceOf(msg.sender) >= payment, 'Holder does not have enough tokens.');
        require(UNILAYER.allowance(msg.sender, address(this)) >= payment, 'Call Approve function firstly.');
        
        UNILAYER.transferFrom(msg.sender, address(this), payment);
        
        StakeHolder memory holder = stakeHolders[msg.sender];
        Stake memory stake = stakes[stakeNum];
        
        if(holder.layerLocked == 0) {
            holder.firstStake = stakeNum;
            holder.time = now;
        } else if(holder.layerLocked > 0 && stakeNum > holder.firstStake) {
            Rewards memory rwds = rewards[msg.sender][stakeNum-1];
            require(rwds.isReceived == true,'Withdraw your rewards.');
        }
        
        holder.layerLocked = holder.layerLocked.add(payment);
        stakeHolders[msg.sender] = holder;
        stake.layerLockedTotal = stake.layerLockedTotal.add(payment);
        stakes[stakeNum] = stake;
        
        emit logLockedTokens(msg.sender, payment, now, stakeNum);
    }
    
    /**
    * @dev Withdraw My Staked Tokens from staker pool
    */    
    function unlock() external paused {
        StakeHolder memory holder = stakeHolders[msg.sender]; 
        uint amt = holder.layerLocked;
        require(amt > 0, 'You do not have locked tokens.');
        require(UNILAYER.balanceOf(address(this))  >= amt, 'Insufficient account balance!');
        
        if(holder.layerLocked > 0 && stakeNum > 0) {
            Rewards memory rwds = rewards[msg.sender][stakeNum-1];
            require(rwds.isReceived == true,'Withdraw your rewards.');
        }
        
        Stake memory stake = stakes[stakeNum];
        stake.layerLockedTotal = stake.layerLockedTotal.sub(holder.layerLocked);
        stakes[stakeNum] = stake;
        
        delete stakeHolders[msg.sender];
        
        UNILAYER.transfer(msg.sender, amt);
        
        emit logUnlockedTokens(msg.sender, amt, now);
    }    
    
    /**
    * @dev Stake Creator finalizes the stake, the stake receives the accumulated ETH as reward and calculates everyone's percentages.
    */      
    function closeStake() external {
        require(msg.sender == stakeCreator, 'You cannot call this function');
        
        Stake memory stake = stakes[stakeNum]; 
        require(now >= stake.start.add(stakePeriod), 'You cannot call this function until stakePeriod is over');
        
        stake.end = now;
        stake.ethReward = stake.ethReward.add(totalEthRewards);
  
        uint amtLayerx = stake.end.sub(stake.start).mul(amtByDay).div(1 days);
        
        if(amtLayerx > balances[owner]) { amtLayerx = balances[owner]; }
        
        stake.layerxReward = amtLayerx;
        stakes[stakeNum] = stake;
        
        emit logCloseStake(stakeNum, totalEthRewards, now);
        
        stakeNum++;
        stakes[stakeNum] = Stake(now, 0, stake.layerLockedTotal, 0, 0);
        totalEthRewards = 0;
    }
    
    /**
    * @dev Withdraw Reward Layerx Tokens and ETH
    * @param index Stake index
    */
    function withdraw(uint index) external paused exist(index) {
        Rewards memory rwds = rewards[msg.sender][index];
        Stake memory stake = stakes[index];
        StakeHolder memory holder = stakeHolders[msg.sender];
        
        uint endTime = holder.time + stakePeriod;
        
        require(endTime <= now, 'Wait the minimum time');
        require(stake.end <= now, 'Invalid date for withdrawal.');
        require(rwds.isReceived == false, 'You already withdrawal your rewards.');
        require(balances[owner] >= rwds.layersx, 'Insufficient account balance!');
        require(address(this).balance >= rwds.eth,'Invalid account state, not enough funds.');
        require(index >= holder.firstStake, 'Invalid index.');
        
        if(holder.firstStake != index) {
            Rewards memory rwdsOld = rewards[msg.sender][index-1];
            require(rwdsOld.isReceived == true,'Withdraw your old rewards first.');
        }
        
        rwds.isReceived = true;
        rwds.layerLocked = holder.layerLocked;    
        if(rwds.layerLocked > 0) {
            rwds.layersx = rwds.layerLocked.mul(stake.layerxReward).div(stake.layerLockedTotal);
            rwds.eth = rwds.layerLocked.mul(stake.ethReward).div(stake.layerLockedTotal);            
        }
        rewards[msg.sender][index] = rwds;
        emit logWithdraw(msg.sender, rwds.layersx, rwds.eth, index, now);
            
        if(rwds.layersx > 0) {
            balances[owner] = balances[owner].sub(rwds.layersx);
            balances[msg.sender] = balances[msg.sender].add(rwds.layersx);  
            emit Transfer(owner, msg.sender, rwds.layersx);
        }
        
        if(rwds.eth > 0) { msg.sender.transfer(rwds.eth); }
    }
    
    /**
    * @dev Function to get the number of stakes
    * @return number of stakes
    */    
    function getStakesNum() external view returns (uint) {
        return stakeNum;
    }
    
    function stakeOf(address tokenOwner) public view returns (uint balance) {
        StakeHolder memory holder = stakeHolders[tokenOwner];
        return holder.layerLocked;
    }
    
    /**
    * @dev Receive ETH and add value to the accumulated eth for stake
    */      
    function() external payable {
        totalEthRewards = totalEthRewards.add(msg.value); 
    }
    
    function destroyContract() external onlyOwner {
        selfdestruct(msg.sender);
    }    

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timeClosed","type":"uint256"}],"name":"logCloseStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timeLocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakeId","type":"uint256"}],"name":"logLockedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountUnlocked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timeUnlocked","type":"uint256"}],"name":"logUnlockedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"layerx","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"logWithdraw","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroyContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getStakesNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"payment","type":"uint256"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"layerLocked","type":"uint256"},{"internalType":"uint256","name":"layersx","type":"uint256"},{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"bool","name":"isReceived","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"newIsPaused","type":"bool"}],"name":"setIsPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_stakeCreator","type":"address"}],"name":"setNewStakeCreator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"newStakePeriod","type":"uint256"}],"name":"setStakePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakeCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeHolders","outputs":[{"internalType":"uint256","name":"layerLocked","type":"uint256"},{"internalType":"uint256","name":"firstStake","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"stakeOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"layerLockedTotal","type":"uint256"},{"internalType":"uint256","name":"layerxReward","type":"uint256"},{"internalType":"uint256","name":"ethReward","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526000600581905560065568017c369f0ff2b0f40060075562278d006008556009805460ff60a01b19169055601080546001600160a01b031916730ff6ffcfda92c53f615a4a75d982f399c989366b1790553480156200006257600080fd5b506040516200293f3803806200293f833981810160405260208110156200008857600080fd5b5051600080546001600160a01b038084166001600160a01b031992831617928390556009805490921692169190911790556040805180820190915260068082526509882b28aa4b60d31b602092909201918252620000e99160019162000281565b50604080518082019091526009808252680aa9c929882b28aa4b60bb1b60209092019182526200011c9160029162000281565b5060038054601260ff19909116179081905560ff16600a0a619c40026004819055600080546001600160a01b039081168252600d602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506040805160a081018252428152600060208083018281529383018281526060840183815260808501848152938052600b90925292517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765592517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f775590517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f785590517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7955517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7a5562000326565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002c457805160ff1916838001178555620002f4565b82800160010185558215620002f4579182015b82811115620002f4578251825591602001919060010190620002d7565b506200030292915062000306565b5090565b6200032391905b808211156200030257600081556001016200030d565b90565b61260980620003366000396000f3fe6080604052600436106101c25760003560e01c806395d89b41116100f7578063d5a44f8611610095578063e26ff10a11610064578063e26ff10a14610756578063ea40450e146107a7578063f2fde38b146107bc578063f905e2ce146107ef576101c2565b8063d5a44f8614610687578063d73531b9146106dc578063dd467064146106f1578063dd62ed3e1461071b576101c2565b8063b933ceac116100d1578063b933ceac14610534578063c14190da14610595578063c1699a99146105aa578063cae9ca51146105bf576101c2565b806395d89b41146104d1578063a69df4b5146104e6578063a9059cbb146104fb576101c2565b8063240976bf11610164578063426233601161013e578063426233601461041057806342966c681461044357806370a082311461046d5780638da5cb5b146104a0576101c2565b8063240976bf1461038f5780632e1a7d4d146103bb578063313ce567146103e5576101c2565b8063095ea7b3116101a0578063095ea7b3146102ae57806318160ddd146102fb5780631e6b4c6f1461032257806323b872dd1461034c576101c2565b806305e55e22146101da57806306fdde031461020f578063092a5cce14610299575b6005546101d5903463ffffffff61080416565b600555005b3480156101e657600080fd5b5061020d600480360360208110156101fd57600080fd5b50356001600160a01b031661085b565b005b34801561021b57600080fd5b506102246108e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025e578181015183820152602001610246565b50505050905090810190601f16801561028b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a557600080fd5b5061020d610971565b3480156102ba57600080fd5b506102e7600480360360408110156102d157600080fd5b506001600160a01b03813516906020013561098b565b604080519115158252519081900360200190f35b34801561030757600080fd5b506103106109f1565b60408051918252519081900360200190f35b34801561032e57600080fd5b5061020d6004803603602081101561034557600080fd5b5035610a34565b34801561035857600080fd5b506102e76004803603606081101561036f57600080fd5b506001600160a01b03813581169160208101359091169060400135610a50565b34801561039b57600080fd5b5061020d600480360360208110156103b257600080fd5b50351515610b49565b3480156103c757600080fd5b5061020d600480360360208110156103de57600080fd5b5035610b7e565b3480156103f157600080fd5b506103fa6111b9565b6040805160ff9092168252519081900360200190f35b34801561041c57600080fd5b506103106004803603602081101561043357600080fd5b50356001600160a01b03166111c2565b34801561044f57600080fd5b5061020d6004803603602081101561046657600080fd5b5035611211565b34801561047957600080fd5b506103106004803603602081101561049057600080fd5b50356001600160a01b03166113b5565b3480156104ac57600080fd5b506104b56113d0565b604080516001600160a01b039092168252519081900360200190f35b3480156104dd57600080fd5b506102246113df565b3480156104f257600080fd5b5061020d611439565b34801561050757600080fd5b506102e76004803603604081101561051e57600080fd5b506001600160a01b03813516906020013561182b565b34801561054057600080fd5b5061056d6004803603604081101561055757600080fd5b506001600160a01b0381351690602001356118c9565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b3480156105a157600080fd5b506103106118fe565b3480156105b657600080fd5b50610310611904565b3480156105cb57600080fd5b506102e7600480360360608110156105e257600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561061257600080fd5b82018360208201111561062457600080fd5b8035906020019184600183028401116401000000008311171561064657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061190a945050505050565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611a52565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156106e857600080fd5b506104b5611a81565b3480156106fd57600080fd5b5061020d6004803603602081101561071457600080fd5b5035611a90565b34801561072757600080fd5b506103106004803603604081101561073e57600080fd5b506001600160a01b0381358116916020013516611f92565b34801561076257600080fd5b506107896004803603602081101561077957600080fd5b50356001600160a01b0316611fbd565b60408051938452602084019290925282820152519081900360600190f35b3480156107b357600080fd5b50610310611fde565b3480156107c857600080fd5b5061020d600480360360208110156107df57600080fd5b50356001600160a01b0316611fe4565b3480156107fb57600080fd5b5061020d61209b565b600082820183811015610852576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b90505b92915050565b6000546001600160a01b0316331461087257600080fd5b6001600160a01b0381166108c4576040805162461bcd60e51b8152602060048201526014602482015273446f206e6f74207573652030206164647265737360601b604482015290519081900360640190fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156109695780601f1061093e57610100808354040283529160200191610969565b820191906000526020600020905b81548152906001019060200180831161094c57829003601f168201915b505050505081565b6000546001600160a01b0316331461098857600080fd5b33ff5b336000818152600e602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000808052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee54600454610a2f9163ffffffff61233616565b905090565b6000546001600160a01b03163314610a4b57600080fd5b600855565b6001600160a01b0383166000908152600d6020526040812054610a79908363ffffffff61233616565b6001600160a01b0385166000908152600d6020908152604080832093909355600e815282822033835290522054610ab6908363ffffffff61233616565b6001600160a01b038086166000908152600e602090815260408083203384528252808320949094559186168152600d9091522054610afa908363ffffffff61080416565b6001600160a01b038085166000818152600d6020908152604091829020949094558051868152905191939288169260008051602061252083398151915292918290030190a35060019392505050565b6000546001600160a01b03163314610b6057600080fd5b60098054911515600160a01b0260ff60a01b19909216919091179055565b600954600160a01b900460ff1615610bc75760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b80600654811115610c1f576040805162461bcd60e51b815260206004820152601a60248201527f54686973207374616b6520646f6573206e6f742065786973742e000000000000604482015290519081900360640190fd5b610c27612448565b50336000908152600c6020908152604080832085845282529182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615156060820152610c7f612472565b600b60008581526020019081526020016000206040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050610cd96124a1565b50336000908152600a60209081526040918290208251606081018452815481526001820154928101929092526002015491810182905260085490910142811115610d62576040805162461bcd60e51b81526020600482015260156024820152745761697420746865206d696e696d756d2074696d6560581b604482015290519081900360640190fd5b4283602001511115610dbb576040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206461746520666f72207769746864726177616c2e00000000604482015290519081900360640190fd5b606084015115610dfc5760405162461bcd60e51b81526004018080602001828103825260248152602001806125406024913960400191505060405180910390fd5b602080850151600080546001600160a01b03168152600d9092526040909120541015610e6f576040805162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206163636f756e742062616c616e636521000000604482015290519081900360640190fd5b8360400151471015610eb25760405162461bcd60e51b81526004018080602001828103825260288152602001806125646028913960400191505060405180910390fd5b8160200151861015610efc576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21034b73232bc1760911b604482015290519081900360640190fd5b85826020015114610fb857610f0f612448565b50336000908152600c602090815260408083206000198a018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff1615156060830181905214610fb6576040805162461bcd60e51b815260206004820181905260248201527f576974686472617720796f7572206f6c6420726577617264732066697273742e604482015290519081900360640190fd5b505b6001606085015281518085521561102257604083015160608401518551610ff69291610fea919063ffffffff61238716565b9063ffffffff6123ea16565b602085015260408301516080840151855161101c9291610fea919063ffffffff61238716565b60408501525b336000818152600c602090815260408083208a845282529182902087518155878201516001820181905588840151600283018190556060808b01516003909401805460ff191694151594909417909355845195865292850152838301919091528201889052426080830152517f51efe7d992e6417f2622357f98860003b0c8178862164d5cc16fadfae589e8ff9160a0908290030190a160208401511561117557602080850151600080546001600160a01b03168152600d9092526040909120546110f29163ffffffff61233616565b600080546001600160a01b03168152600d60209081526040808320939093558601513382529190205461112a9163ffffffff61080416565b336000818152600d60209081526040808320949094559054878201518451908152935192936001600160a01b0390911692600080516020612520833981519152929181900390910190a35b6040840151156111b1576040808501519051339180156108fc02916000818181858888f193505050501580156111af573d6000803e3d6000fd5b505b505050505050565b60035460ff1681565b60006111cc6124a1565b50506001600160a01b03166000908152600a60209081526040918290208251606081018452815480825260018301549382019390935260029091015492019190915290565b6000546001600160a01b0316331461122857600080fd5b6000811161126f576040805162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21020b6b7bab73a1760891b604482015290519081900360640190fd5b8060045410156112bf576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b21030b1b1b7bab73a1039ba30ba329760511b604482015290519081900360640190fd5b600080546001600160a01b03168152600d602052604090205481111561132c576040805162461bcd60e51b815260206004820152601f60248201527f496e76616c6964206163636f756e742062616c616e6365732073746174652e00604482015290519081900360640190fd5b60045461133f908263ffffffff61233616565b600455600080546001600160a01b03168152600d602052604090205461136b908263ffffffff61233616565b600080546001600160a01b039081168252600d602090815260408084209490945582548451868152945193949216926000805160206125208339815191529281900390910190a350565b6001600160a01b03166000908152600d602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109695780601f1061093e57610100808354040283529160200191610969565b600954600160a01b900460ff16156114825760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b61148a6124a1565b50336000908152600a6020908152604091829020825160608101845281548082526001830154938201939093526002909101549281019290925280611516576040805162461bcd60e51b815260206004820152601e60248201527f596f7520646f206e6f742068617665206c6f636b656420746f6b656e732e0000604482015290519081900360640190fd5b601054604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b505110156115df576040805162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206163636f756e742062616c616e636521000000604482015290519081900360640190fd5b8151158015906115f157506000600654115b156116a2576115fe612448565b50336000908152600c60209081526040808320600654600019018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff16151560608301819052146116a0576040805162461bcd60e51b81526020600482015260166024820152752bb4ba34323930bb903cb7bab9103932bbb0b932399760511b604482015290519081900360640190fd5b505b6116aa612472565b506006546000908152600b6020908152604091829020825160a08101845281548152600182015492810192909252600281015492820183905260038101546060830152600401546080820152835190916117099163ffffffff61233616565b60408281019182526006546000908152600b60209081528282208551815581860151600180830191909155945160028083019190915560608701516003830155608087015160049283015533808552600a84528585208581559687018590559501839055601054845163a9059cbb60e01b8152918201959095526024810187905292516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b50506040805133815260208101849052428183015290517f9ec497044d183253ab6aa127b513acf1b0234541b09c83b8f9a7df6b416544859181900360600190a1505050565b336000908152600d602052604081205461184b908363ffffffff61233616565b336000908152600d6020526040808220929092556001600160a01b0385168152205461187d908363ffffffff61080416565b6001600160a01b0384166000818152600d60209081526040918290209390935580518581529051919233926000805160206125208339815191529281900390910190a350600192915050565b600c60209081526000928352604080842090915290825290208054600182015460028301546003909301549192909160ff1684565b60055481565b60085481565b336000818152600e602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b838110156119e15781810151838201526020016119c9565b50505050905090810190601f168015611a0e5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b506001979650505050505050565b600b60205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b6009546001600160a01b031681565b600954600160a01b900460ff1615611ad95760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b60008111611b2e576040805162461bcd60e51b815260206004820152601f60248201527f5061796d656e74206d7573742062652067726561746572207468616e20302e00604482015290519081900360640190fd5b601054604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015611b7857600080fd5b505afa158015611b8c573d6000803e3d6000fd5b505050506040513d6020811015611ba257600080fd5b50511015611be15760405162461bcd60e51b81526004018080602001828103825260238152602001806125b26023913960400191505060405180910390fd5b60105460408051636eb1769f60e11b8152336004820152306024820152905183926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b158015611c3157600080fd5b505afa158015611c45573d6000803e3d6000fd5b505050506040513d6020811015611c5b57600080fd5b50511015611cb0576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c20417070726f76652066756e6374696f6e2066697273746c792e0000604482015290519081900360640190fd5b601054604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015611d0a57600080fd5b505af1158015611d1e573d6000803e3d6000fd5b505050506040513d6020811015611d3457600080fd5b50611d3f90506124a1565b50336000908152600a60209081526040918290208251606081018452815481526001820154928101929092526002015491810191909152611d7e612472565b506006546000908152600b6020908152604091829020825160a081018452815481526001820154928101929092526002810154928201929092526003820154606082015260049091015460808201528151611de6576006546020830152426040830152611eac565b815115801590611dfb57508160200151600654115b15611eac57611e08612448565b50336000908152600c60209081526040808320600654600019018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff1615156060830181905214611eaa576040805162461bcd60e51b81526020600482015260166024820152752bb4ba34323930bb903cb7bab9103932bbb0b932399760511b604482015290519081900360640190fd5b505b8151611ebe908463ffffffff61080416565b8252336000908152600a60209081526040918290208451815590840151600182015581840151600290910155810151611efd908463ffffffff61080416565b6040808301918252600680546000908152600b602090815290839020855181558186015160018201559351600285015560608086015160038601556080808701516004909601959095559154835133815291820188905242828501529181019190915290517f2e280f6c712ca110f9a35656240ad17ac5bb31d888974d5989971e349dec5de8929181900390910190a1505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b600a6020526000908152604090208054600182015460029092015490919083565b60065490565b6000546001600160a01b03163314611ffb57600080fd5b6001600160a01b0381166120405760405162461bcd60e51b81526004018080602001828103825260268152602001806124c36026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b031633146120fa576040805162461bcd60e51b815260206004820152601d60248201527f596f752063616e6e6f742063616c6c20746869732066756e6374696f6e000000604482015290519081900360640190fd5b612102612472565b506006546000908152600b6020908152604091829020825160a081018452815480825260018301549382019390935260028201549381019390935260038101546060840152600401546080830152600854612163919063ffffffff61080416565b4210156121a15760405162461bcd60e51b81526004018080602001828103825260378152602001806124e96037913960400191505060405180910390fd5b42602082015260055460808201516121be9163ffffffff61080416565b6080820152600754815160208301516000926121fa926201518092610fea92916121ee919063ffffffff61233616565b9063ffffffff61238716565b600080546001600160a01b03168152600d60205260409020549091508111156122385750600080546001600160a01b03168152600d60205260409020545b6060808301828152600680546000908152600b60209081526040918290208751815581880151600182015582880151600282015593516003850155608087015160049094019390935590546005548251918252928101929092524282820152517f09cd0b90dee59311352eda75beb07b5967347d318ac8c8b6d818d52bac692041929181900390910190a150600680546001908101918290556040805160a08101825242815260006020808301828152968401518385019081526060840183815260808501848152978452600b9092529382209251835595519382019390935590516002820155925160038401559051600490920191909155600555565b600082821115612381576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b50900390565b60008261239657506000610855565b828202828482816123a357fe5b0414610852576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b6000808211612434576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b600082848161243f57fe5b04949350505050565b60405180608001604052806000815260200160008152602001600081526020016000151581525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373596f752063616e6e6f742063616c6c20746869732066756e6374696f6e20756e74696c207374616b65506572696f64206973206f766572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef596f7520616c7265616479207769746864726177616c20796f757220726577617264732e496e76616c6964206163636f756e742073746174652c206e6f7420656e6f7567682066756e64732e5468697320636f6e7472616374207761732070617573656420627920746865206f776e657221486f6c64657220646f6573206e6f74206861766520656e6f75676820746f6b656e732ea265627a7a72315820600b0a7e90f8364cd0c040ef9486beda5d193849af91681f24e1780011c488b364736f6c634300051100320000000000000000000000006d308ef9c4ba6c77c0cf36b65ff10020ed403132

Deployed Bytecode

0x6080604052600436106101c25760003560e01c806395d89b41116100f7578063d5a44f8611610095578063e26ff10a11610064578063e26ff10a14610756578063ea40450e146107a7578063f2fde38b146107bc578063f905e2ce146107ef576101c2565b8063d5a44f8614610687578063d73531b9146106dc578063dd467064146106f1578063dd62ed3e1461071b576101c2565b8063b933ceac116100d1578063b933ceac14610534578063c14190da14610595578063c1699a99146105aa578063cae9ca51146105bf576101c2565b806395d89b41146104d1578063a69df4b5146104e6578063a9059cbb146104fb576101c2565b8063240976bf11610164578063426233601161013e578063426233601461041057806342966c681461044357806370a082311461046d5780638da5cb5b146104a0576101c2565b8063240976bf1461038f5780632e1a7d4d146103bb578063313ce567146103e5576101c2565b8063095ea7b3116101a0578063095ea7b3146102ae57806318160ddd146102fb5780631e6b4c6f1461032257806323b872dd1461034c576101c2565b806305e55e22146101da57806306fdde031461020f578063092a5cce14610299575b6005546101d5903463ffffffff61080416565b600555005b3480156101e657600080fd5b5061020d600480360360208110156101fd57600080fd5b50356001600160a01b031661085b565b005b34801561021b57600080fd5b506102246108e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025e578181015183820152602001610246565b50505050905090810190601f16801561028b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102a557600080fd5b5061020d610971565b3480156102ba57600080fd5b506102e7600480360360408110156102d157600080fd5b506001600160a01b03813516906020013561098b565b604080519115158252519081900360200190f35b34801561030757600080fd5b506103106109f1565b60408051918252519081900360200190f35b34801561032e57600080fd5b5061020d6004803603602081101561034557600080fd5b5035610a34565b34801561035857600080fd5b506102e76004803603606081101561036f57600080fd5b506001600160a01b03813581169160208101359091169060400135610a50565b34801561039b57600080fd5b5061020d600480360360208110156103b257600080fd5b50351515610b49565b3480156103c757600080fd5b5061020d600480360360208110156103de57600080fd5b5035610b7e565b3480156103f157600080fd5b506103fa6111b9565b6040805160ff9092168252519081900360200190f35b34801561041c57600080fd5b506103106004803603602081101561043357600080fd5b50356001600160a01b03166111c2565b34801561044f57600080fd5b5061020d6004803603602081101561046657600080fd5b5035611211565b34801561047957600080fd5b506103106004803603602081101561049057600080fd5b50356001600160a01b03166113b5565b3480156104ac57600080fd5b506104b56113d0565b604080516001600160a01b039092168252519081900360200190f35b3480156104dd57600080fd5b506102246113df565b3480156104f257600080fd5b5061020d611439565b34801561050757600080fd5b506102e76004803603604081101561051e57600080fd5b506001600160a01b03813516906020013561182b565b34801561054057600080fd5b5061056d6004803603604081101561055757600080fd5b506001600160a01b0381351690602001356118c9565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b3480156105a157600080fd5b506103106118fe565b3480156105b657600080fd5b50610310611904565b3480156105cb57600080fd5b506102e7600480360360608110156105e257600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561061257600080fd5b82018360208201111561062457600080fd5b8035906020019184600183028401116401000000008311171561064657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061190a945050505050565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611a52565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156106e857600080fd5b506104b5611a81565b3480156106fd57600080fd5b5061020d6004803603602081101561071457600080fd5b5035611a90565b34801561072757600080fd5b506103106004803603604081101561073e57600080fd5b506001600160a01b0381358116916020013516611f92565b34801561076257600080fd5b506107896004803603602081101561077957600080fd5b50356001600160a01b0316611fbd565b60408051938452602084019290925282820152519081900360600190f35b3480156107b357600080fd5b50610310611fde565b3480156107c857600080fd5b5061020d600480360360208110156107df57600080fd5b50356001600160a01b0316611fe4565b3480156107fb57600080fd5b5061020d61209b565b600082820183811015610852576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b90505b92915050565b6000546001600160a01b0316331461087257600080fd5b6001600160a01b0381166108c4576040805162461bcd60e51b8152602060048201526014602482015273446f206e6f74207573652030206164647265737360601b604482015290519081900360640190fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156109695780601f1061093e57610100808354040283529160200191610969565b820191906000526020600020905b81548152906001019060200180831161094c57829003601f168201915b505050505081565b6000546001600160a01b0316331461098857600080fd5b33ff5b336000818152600e602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000808052600d6020527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee54600454610a2f9163ffffffff61233616565b905090565b6000546001600160a01b03163314610a4b57600080fd5b600855565b6001600160a01b0383166000908152600d6020526040812054610a79908363ffffffff61233616565b6001600160a01b0385166000908152600d6020908152604080832093909355600e815282822033835290522054610ab6908363ffffffff61233616565b6001600160a01b038086166000908152600e602090815260408083203384528252808320949094559186168152600d9091522054610afa908363ffffffff61080416565b6001600160a01b038085166000818152600d6020908152604091829020949094558051868152905191939288169260008051602061252083398151915292918290030190a35060019392505050565b6000546001600160a01b03163314610b6057600080fd5b60098054911515600160a01b0260ff60a01b19909216919091179055565b600954600160a01b900460ff1615610bc75760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b80600654811115610c1f576040805162461bcd60e51b815260206004820152601a60248201527f54686973207374616b6520646f6573206e6f742065786973742e000000000000604482015290519081900360640190fd5b610c27612448565b50336000908152600c6020908152604080832085845282529182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615156060820152610c7f612472565b600b60008581526020019081526020016000206040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050610cd96124a1565b50336000908152600a60209081526040918290208251606081018452815481526001820154928101929092526002015491810182905260085490910142811115610d62576040805162461bcd60e51b81526020600482015260156024820152745761697420746865206d696e696d756d2074696d6560581b604482015290519081900360640190fd5b4283602001511115610dbb576040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206461746520666f72207769746864726177616c2e00000000604482015290519081900360640190fd5b606084015115610dfc5760405162461bcd60e51b81526004018080602001828103825260248152602001806125406024913960400191505060405180910390fd5b602080850151600080546001600160a01b03168152600d9092526040909120541015610e6f576040805162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206163636f756e742062616c616e636521000000604482015290519081900360640190fd5b8360400151471015610eb25760405162461bcd60e51b81526004018080602001828103825260288152602001806125646028913960400191505060405180910390fd5b8160200151861015610efc576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21034b73232bc1760911b604482015290519081900360640190fd5b85826020015114610fb857610f0f612448565b50336000908152600c602090815260408083206000198a018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff1615156060830181905214610fb6576040805162461bcd60e51b815260206004820181905260248201527f576974686472617720796f7572206f6c6420726577617264732066697273742e604482015290519081900360640190fd5b505b6001606085015281518085521561102257604083015160608401518551610ff69291610fea919063ffffffff61238716565b9063ffffffff6123ea16565b602085015260408301516080840151855161101c9291610fea919063ffffffff61238716565b60408501525b336000818152600c602090815260408083208a845282529182902087518155878201516001820181905588840151600283018190556060808b01516003909401805460ff191694151594909417909355845195865292850152838301919091528201889052426080830152517f51efe7d992e6417f2622357f98860003b0c8178862164d5cc16fadfae589e8ff9160a0908290030190a160208401511561117557602080850151600080546001600160a01b03168152600d9092526040909120546110f29163ffffffff61233616565b600080546001600160a01b03168152600d60209081526040808320939093558601513382529190205461112a9163ffffffff61080416565b336000818152600d60209081526040808320949094559054878201518451908152935192936001600160a01b0390911692600080516020612520833981519152929181900390910190a35b6040840151156111b1576040808501519051339180156108fc02916000818181858888f193505050501580156111af573d6000803e3d6000fd5b505b505050505050565b60035460ff1681565b60006111cc6124a1565b50506001600160a01b03166000908152600a60209081526040918290208251606081018452815480825260018301549382019390935260029091015492019190915290565b6000546001600160a01b0316331461122857600080fd5b6000811161126f576040805162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21020b6b7bab73a1760891b604482015290519081900360640190fd5b8060045410156112bf576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b21030b1b1b7bab73a1039ba30ba329760511b604482015290519081900360640190fd5b600080546001600160a01b03168152600d602052604090205481111561132c576040805162461bcd60e51b815260206004820152601f60248201527f496e76616c6964206163636f756e742062616c616e6365732073746174652e00604482015290519081900360640190fd5b60045461133f908263ffffffff61233616565b600455600080546001600160a01b03168152600d602052604090205461136b908263ffffffff61233616565b600080546001600160a01b039081168252600d602090815260408084209490945582548451868152945193949216926000805160206125208339815191529281900390910190a350565b6001600160a01b03166000908152600d602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109695780601f1061093e57610100808354040283529160200191610969565b600954600160a01b900460ff16156114825760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b61148a6124a1565b50336000908152600a6020908152604091829020825160608101845281548082526001830154938201939093526002909101549281019290925280611516576040805162461bcd60e51b815260206004820152601e60248201527f596f7520646f206e6f742068617665206c6f636b656420746f6b656e732e0000604482015290519081900360640190fd5b601054604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561156057600080fd5b505afa158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b505110156115df576040805162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206163636f756e742062616c616e636521000000604482015290519081900360640190fd5b8151158015906115f157506000600654115b156116a2576115fe612448565b50336000908152600c60209081526040808320600654600019018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff16151560608301819052146116a0576040805162461bcd60e51b81526020600482015260166024820152752bb4ba34323930bb903cb7bab9103932bbb0b932399760511b604482015290519081900360640190fd5b505b6116aa612472565b506006546000908152600b6020908152604091829020825160a08101845281548152600182015492810192909252600281015492820183905260038101546060830152600401546080820152835190916117099163ffffffff61233616565b60408281019182526006546000908152600b60209081528282208551815581860151600180830191909155945160028083019190915560608701516003830155608087015160049283015533808552600a84528585208581559687018590559501839055601054845163a9059cbb60e01b8152918201959095526024810187905292516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b50506040805133815260208101849052428183015290517f9ec497044d183253ab6aa127b513acf1b0234541b09c83b8f9a7df6b416544859181900360600190a1505050565b336000908152600d602052604081205461184b908363ffffffff61233616565b336000908152600d6020526040808220929092556001600160a01b0385168152205461187d908363ffffffff61080416565b6001600160a01b0384166000818152600d60209081526040918290209390935580518581529051919233926000805160206125208339815191529281900390910190a350600192915050565b600c60209081526000928352604080842090915290825290208054600182015460028301546003909301549192909160ff1684565b60055481565b60085481565b336000818152600e602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b838110156119e15781810151838201526020016119c9565b50505050905090810190601f168015611a0e5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b506001979650505050505050565b600b60205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b6009546001600160a01b031681565b600954600160a01b900460ff1615611ad95760405162461bcd60e51b815260040180806020018281038252602681526020018061258c6026913960400191505060405180910390fd5b60008111611b2e576040805162461bcd60e51b815260206004820152601f60248201527f5061796d656e74206d7573742062652067726561746572207468616e20302e00604482015290519081900360640190fd5b601054604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015611b7857600080fd5b505afa158015611b8c573d6000803e3d6000fd5b505050506040513d6020811015611ba257600080fd5b50511015611be15760405162461bcd60e51b81526004018080602001828103825260238152602001806125b26023913960400191505060405180910390fd5b60105460408051636eb1769f60e11b8152336004820152306024820152905183926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b158015611c3157600080fd5b505afa158015611c45573d6000803e3d6000fd5b505050506040513d6020811015611c5b57600080fd5b50511015611cb0576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c20417070726f76652066756e6374696f6e2066697273746c792e0000604482015290519081900360640190fd5b601054604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015611d0a57600080fd5b505af1158015611d1e573d6000803e3d6000fd5b505050506040513d6020811015611d3457600080fd5b50611d3f90506124a1565b50336000908152600a60209081526040918290208251606081018452815481526001820154928101929092526002015491810191909152611d7e612472565b506006546000908152600b6020908152604091829020825160a081018452815481526001820154928101929092526002810154928201929092526003820154606082015260049091015460808201528151611de6576006546020830152426040830152611eac565b815115801590611dfb57508160200151600654115b15611eac57611e08612448565b50336000908152600c60209081526040808320600654600019018452825291829020825160808101845281548152600182810154938201939093526002820154938101939093526003015460ff1615156060830181905214611eaa576040805162461bcd60e51b81526020600482015260166024820152752bb4ba34323930bb903cb7bab9103932bbb0b932399760511b604482015290519081900360640190fd5b505b8151611ebe908463ffffffff61080416565b8252336000908152600a60209081526040918290208451815590840151600182015581840151600290910155810151611efd908463ffffffff61080416565b6040808301918252600680546000908152600b602090815290839020855181558186015160018201559351600285015560608086015160038601556080808701516004909601959095559154835133815291820188905242828501529181019190915290517f2e280f6c712ca110f9a35656240ad17ac5bb31d888974d5989971e349dec5de8929181900390910190a1505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b600a6020526000908152604090208054600182015460029092015490919083565b60065490565b6000546001600160a01b03163314611ffb57600080fd5b6001600160a01b0381166120405760405162461bcd60e51b81526004018080602001828103825260268152602001806124c36026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b031633146120fa576040805162461bcd60e51b815260206004820152601d60248201527f596f752063616e6e6f742063616c6c20746869732066756e6374696f6e000000604482015290519081900360640190fd5b612102612472565b506006546000908152600b6020908152604091829020825160a081018452815480825260018301549382019390935260028201549381019390935260038101546060840152600401546080830152600854612163919063ffffffff61080416565b4210156121a15760405162461bcd60e51b81526004018080602001828103825260378152602001806124e96037913960400191505060405180910390fd5b42602082015260055460808201516121be9163ffffffff61080416565b6080820152600754815160208301516000926121fa926201518092610fea92916121ee919063ffffffff61233616565b9063ffffffff61238716565b600080546001600160a01b03168152600d60205260409020549091508111156122385750600080546001600160a01b03168152600d60205260409020545b6060808301828152600680546000908152600b60209081526040918290208751815581880151600182015582880151600282015593516003850155608087015160049094019390935590546005548251918252928101929092524282820152517f09cd0b90dee59311352eda75beb07b5967347d318ac8c8b6d818d52bac692041929181900390910190a150600680546001908101918290556040805160a08101825242815260006020808301828152968401518385019081526060840183815260808501848152978452600b9092529382209251835595519382019390935590516002820155925160038401559051600490920191909155600555565b600082821115612381576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b50900390565b60008261239657506000610855565b828202828482816123a357fe5b0414610852576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b6000808211612434576040805162461bcd60e51b815260206004820152601160248201527021b0b631bab630ba34b7b71032b93937b960791b604482015290519081900360640190fd5b600082848161243f57fe5b04949350505050565b60405180608001604052806000815260200160008152602001600081526020016000151581525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373596f752063616e6e6f742063616c6c20746869732066756e6374696f6e20756e74696c207374616b65506572696f64206973206f766572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef596f7520616c7265616479207769746864726177616c20796f757220726577617264732e496e76616c6964206163636f756e742073746174652c206e6f7420656e6f7567682066756e64732e5468697320636f6e7472616374207761732070617573656420627920746865206f776e657221486f6c64657220646f6573206e6f74206861766520656e6f75676820746f6b656e732ea265627a7a72315820600b0a7e90f8364cd0c040ef9486beda5d193849af91681f24e1780011c488b364736f6c63430005110032

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

0000000000000000000000006d308ef9c4ba6c77c0cf36b65ff10020ed403132

-----Decoded View---------------
Arg [0] : _owner (address): 0x6D308eF9C4Ba6c77c0Cf36b65FF10020ED403132

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006d308ef9c4ba6c77c0cf36b65ff10020ed403132


Deployed Bytecode Sourcemap

3316:11386:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14553:15;;:30;;14573:9;14553:30;:19;:30;:::i;:::-;14535:15;:48;3316:11386;8068:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8068:188:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8068:188:0;-1:-1:-1;;;;;8068:188:0;;:::i;:::-;;3422:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3422:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3422:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14604:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14604:89:0;;;:::i;6322:208::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6322:208:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6322:208:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5577:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5577:114:0;;;:::i;:::-;;;;;;;;;;;;;;;;8643;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8643:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8643:114:0;;:::i;6538:343::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6538:343:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6538:343:0;;;;;;;;;;;;;;;;;:::i;8395:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8395:99:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8395:99:0;;;;:::i;12227:1771::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12227:1771:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12227:1771:0;;:::i;3448:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3448:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14211:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14211:179:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14211:179:0;-1:-1:-1;;;;;14211:179:0;;:::i;7517:402::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7517:402:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7517:402:0;;:::i;5915:120::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5915:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5915:120:0;-1:-1:-1;;;;;5915:120:0;;:::i;2634:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2634:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2634:20:0;;;;;;;;;;;;;;3395;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3395:20:0;;;:::i;10228:863::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10228:863:0;;;:::i;6047:267::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6047:267:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6047:267:0;;;;;;;;:::i;4822:61::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4822:61:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4822:61:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3500:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3500:31:0;;;:::i;3605:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3605:33:0;;;:::i;7048:333::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7048:333:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7048:333:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7048:333:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7048:333: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;7048:333:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7048:333:0;;-1:-1:-1;7048:333:0;;-1:-1:-1;;;;;7048:333:0:i;4778:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4778:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4778:37:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3645:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3645:27:0;;;:::i;8961:1179::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8961:1179:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8961:1179:0;;:::i;6893:147::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6893:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6893:147:0;;;;;;;;;;:::i;4719:52::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4719:52:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4719:52:0;-1:-1:-1;;;;;4719:52:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;14112:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14112:87:0;;;:::i;2828:238::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2828:238:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2828:238:0;-1:-1:-1;;;;;2828:238:0;;:::i;11265:851::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11265:851:0;;;:::i;1387:167::-;1445:7;1476:5;;;1500:6;;;;1492:35;;;;;-1:-1:-1;;;1492:35:0;;;;;;;;;;;;-1:-1:-1;;;1492:35:0;;;;;;;;;;;;;;;1545:1;-1:-1:-1;1387:167:0;;;;;:::o;8068:188::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;-1:-1:-1;;;;;8157:27:0;;8149:60;;;;;-1:-1:-1;;;8149:60:0;;;;;;;;;;;;-1:-1:-1;;;8149:60:0;;;;;;;;;;;;;;;8220:12;:28;;-1:-1:-1;;;;;;8220:28:0;-1:-1:-1;;;;;8220:28:0;;;;;;;;;;8068:188::o;3422:19::-;;;;;;;;;;;;;;-1:-1:-1;;3422:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14604:89::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;14674:10;14661:24;6322:208;6418:10;6385:12;6410:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6410:28:0;;;;;;;;;;;:37;;;6463;;;;;;;6385:12;;6410:28;;6418:10;;6463:37;;;;;;;;-1:-1:-1;6518:4:0;6322:208;;;;:::o;5577:114::-;5621:4;5662:20;;;:8;:20;;;;5645:12;;:38;;;:16;:38;:::i;:::-;5638:45;;5577:114;:::o;8643:::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;8721:11;:28;8643:114::o;6538:343::-;-1:-1:-1;;;;;6657:14:0;;6615:12;6657:14;;;:8;:14;;;;;;:26;;6676:6;6657:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;6640:14:0;;;;;;:8;:14;;;;;;;;:43;;;;6722:7;:13;;;;;6736:10;6722:25;;;;;;:37;;6752:6;6722:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;6694:13:0;;;;;;;:7;:13;;;;;;;;6708:10;6694:25;;;;;;;:65;;;;6785:12;;;;;:8;:12;;;;;:24;;6802:6;6785:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6770:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;6825:26;;;;;;;6770:12;;6825:26;;;;-1:-1:-1;;;;;;;;;;;6825:26:0;;;;;;;;-1:-1:-1;6869:4:0;6538:343;;;;;:::o;8395:99::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;8464:8;:22;;;;;-1:-1:-1;;;8464:22:0;-1:-1:-1;;;;8464:22:0;;;;;;;;;8395:99::o;12227:1771::-;4492:8;;-1:-1:-1;;;4492:8:0;;;;:17;4484:68;;;;-1:-1:-1;;;4484:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12279:5;4640:8;;4631:5;:17;;4623:56;;;;;-1:-1:-1;;;4623:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12297:19;;:::i;:::-;-1:-1:-1;12327:10:0;12319:19;;;;:7;:19;;;;;;;;:26;;;;;;;;;12297:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12356:18;;:::i;:::-;12377:6;:13;12384:5;12377:13;;;;;;;;;;;12356:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12401:25;;:::i;:::-;-1:-1:-1;12442:10:0;12429:24;;;;:12;:24;;;;;;;;;12401:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12503:11;;12401:52;;12489:25;12554:3;12543:14;;;12535:48;;;;;-1:-1:-1;;;12535:48:0;;;;;;;;;;;;-1:-1:-1;;;12535:48:0;;;;;;;;;;;;;;;12615:3;12602:5;:9;;;:16;;12594:57;;;;;-1:-1:-1;;;12594:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:15;;;;:24;12662:73;;;;-1:-1:-1;;;12662:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12773:12;;;;;12754:15;12763:5;;-1:-1:-1;;;;;12763:5:0;12754:15;;:8;:15;;;;;;;;:31;;12746:73;;;;;-1:-1:-1;;;12746:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12863:4;:8;;;12838:21;:33;;12830:85;;;;-1:-1:-1;;;12830:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12943:6;:17;;;12934:5;:26;;12926:53;;;;;-1:-1:-1;;;12926:53:0;;;;;;;;;;;;-1:-1:-1;;;12926:53:0;;;;;;;;;;;;;;;13024:5;13003:6;:17;;;:26;13000:196;;13046:22;;:::i;:::-;-1:-1:-1;13079:10:0;13071:19;;;;:7;:19;;;;;;;;-1:-1:-1;;13091:7:0;;13071:28;;;;;;;;13046:53;;;;;;;;;;;13097:1;13046:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13122:26;13114:70;;;;;-1:-1:-1;;;13114:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13000:196;;13234:4;13216:15;;;:22;13268:18;;13249:37;;;13304:20;13301:238;;13401:22;;;;13377:18;;;;13356:16;;:68;;13401:22;13356:40;;:16;:40;:20;:40;:::i;:::-;:44;:68;:44;:68;:::i;:::-;13341:12;;;:83;13492:22;;;;13471:15;;;;13450:16;;:65;;13492:22;13450:37;;:16;:37;:20;:37;:::i;:65::-;13439:8;;;:76;13301:238;13557:10;13549:19;;;;:7;:19;;;;;;;;:26;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13549:33:0;;;;;;;;;;;13598:59;;;;;;;;;;;;;;;;;;;;;13653:3;13598:59;;;;;;;;;;;;;;;13685:12;;;;:16;13682:238;;13756:12;;;;;13736:15;13745:5;;-1:-1:-1;;;;;13745:5:0;13736:15;;:8;:15;;;;;;;;:33;;;:19;:33;:::i;:::-;13718:15;13727:5;;-1:-1:-1;;;;;13727:5:0;13718:15;;:8;:15;;;;;;;;:51;;;;13832:12;;;13816:10;13807:20;;;;;;:38;;;:24;:38;:::i;:::-;13793:10;13784:20;;;;:8;:20;;;;;;;;:61;;;;13876:5;;13895:12;;;;13867:41;;;;;;;13793:10;;-1:-1:-1;;;;;13876:5:0;;;;-1:-1:-1;;;;;;;;;;;13867:41:0;;;;;;;;;;13682:238;13943:8;;;;:12;13940:51;;13979:8;;;;;13959:29;;:10;;:29;;;;;;;;;13979:8;13959:10;:29;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13959:29:0;13940:51;4690:1;;;;4563;12227:1771;:::o;3448:21::-;;;;;;:::o;14211:179::-;14269:12;14294:25;;:::i;:::-;-1:-1:-1;;;;;;;14322:24:0;;;;;:12;:24;;;;;;;;;14294:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14211:179::o;7517:402::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;7590:1;7582:5;:9;7574:37;;;;;-1:-1:-1;;;7574:37:0;;;;;;;;;;;;-1:-1:-1;;;7574:37:0;;;;;;;;;;;;;;;7646:5;7630:12;;:21;;7622:56;;;;;-1:-1:-1;;;7622:56:0;;;;;;;;;;;;-1:-1:-1;;;7622:56:0;;;;;;;;;;;;;;;7697:15;7706:5;;-1:-1:-1;;;;;7706:5:0;7697:15;;:8;:15;;;;;;:24;-1:-1:-1;7697:24:0;7689:68;;;;;-1:-1:-1;;;7689:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7783:12;;:23;;7800:5;7783:23;:16;:23;:::i;:::-;7768:12;:38;7835:15;7844:5;;-1:-1:-1;;;;;7844:5:0;7835:15;;:8;:15;;;;;;:26;;7855:5;7835:26;:19;:26;:::i;:::-;7817:15;7826:5;;-1:-1:-1;;;;;7826:5:0;;;7817:15;;:8;:15;;;;;;;;:44;;;;7886:5;;7877:34;;;;;;;7817:15;;7886:5;;;-1:-1:-1;;;;;;;;;;;7877:34:0;;;;;;;;;7517:402;:::o;5915:120::-;-1:-1:-1;;;;;6007:20:0;5975:12;6007:20;;;:8;:20;;;;;;;5915:120::o;2634:20::-;;;-1:-1:-1;;;;;2634:20:0;;:::o;3395:::-;;;;;;;;;;;;;;;-1:-1:-1;;3395:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10228:863;4492:8;;-1:-1:-1;;;4492:8:0;;;;:17;4484:68;;;;-1:-1:-1;;;4484:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10273:25;;:::i;:::-;-1:-1:-1;10314:10:0;10301:24;;;;:12;:24;;;;;;;;;10273:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10385:7;10377:50;;;;;-1:-1:-1;;;10377:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10446:8;;:33;;;-1:-1:-1;;;10446:33:0;;10473:4;10446:33;;;;;;10484:3;;-1:-1:-1;;;;;10446:8:0;;:18;;:33;;;;;;;;;;;;;;:8;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;10446:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10446:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10446:33:0;:41;;10438:83;;;;;-1:-1:-1;;;10438:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10545:18;;:22;;;;:38;;;10582:1;10571:8;;:12;10545:38;10542:195;;;10600:19;;:::i;:::-;-1:-1:-1;10630:10:0;10622:19;;;;:7;:19;;;;;;;;10642:8;;-1:-1:-1;;10642:10:0;10622:31;;;;;;;;10600:53;;;;;;;;;;;10651:1;10600:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10676:23;10668:57;;;;;-1:-1:-1;;;10668:57:0;;;;;;;;;;;;-1:-1:-1;;;10668:57:0;;;;;;;;;;;;;;;10542:195;;10757:18;;:::i;:::-;-1:-1:-1;10785:8:0;;10778:16;;;;:6;:16;;;;;;;;;10757:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10857:18;;10757:37;;10830:46;;;:26;:46;:::i;:::-;10805:22;;;;:71;;;10894:8;;10887:16;;;;:6;:16;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10952:10;10939:24;;;:12;:24;;;;;10932:31;;;;;;;;;;;;;;10984:8;;:34;;-1:-1:-1;;;10984:34:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10984:8:0;;;;:17;;:34;;;;;;;;;;;;;:8;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;10984:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10984:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;11044:39:0;;;11062:10;11044:39;;10984:34;11044:39;;;;;11079:3;11044:39;;;;;;;;;;;;;;;4563:1;;;10228:863::o;6047:267::-;6163:10;6106:12;6154:20;;;:8;:20;;;;;;:32;;6179:6;6154:32;:24;:32;:::i;:::-;6140:10;6131:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;6212:12:0;;;;;;:24;;6229:6;6212:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6197:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;6252:32;;;;;;;6197:12;;6261:10;;-1:-1:-1;;;;;;;;;;;6252:32:0;;;;;;;;;-1:-1:-1;6302:4:0;6047:267;;;;:::o;4822:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3500:31::-;;;;:::o;3605:33::-;;;;:::o;7048:333::-;7170:10;7137:12;7162:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7162:28:0;;;;;;;;;;;:37;;;7215;;;;;;;7137:12;;7162:28;;7170:10;;7215:37;;;;;;;;7263:88;;-1:-1:-1;;;7263:88:0;;7311:10;7263:88;;;;;;;;;;;;7339:4;7263:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7263:47:0;;;;;7311:10;7323:6;;7339:4;7346;;7263:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7263:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7263:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7369:4:0;;7048:333;-1:-1:-1;;;;;;;7048:333:0:o;4778:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3645:27::-;;;-1:-1:-1;;;;;3645:27:0;;:::o;8961:1179::-;4492:8;;-1:-1:-1;;;4492:8:0;;;;:17;4484:68;;;;-1:-1:-1;;;4484:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9034:1;9024:7;:11;9016:55;;;;;-1:-1:-1;;;9016:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9090:8;;:30;;;-1:-1:-1;;;9090:30:0;;9109:10;9090:30;;;;;;9124:7;;-1:-1:-1;;;;;9090:8:0;;:18;;:30;;;;;;;;;;;;;;:8;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;9090:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9090:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9090:30:0;:41;;9082:89;;;;-1:-1:-1;;;9082:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9190:8;;:45;;;-1:-1:-1;;;9190:45:0;;9209:10;9190:45;;;;9229:4;9190:45;;;;;;9239:7;;-1:-1:-1;;;;;9190:8:0;;:18;;:45;;;;;;;;;;;;;;:8;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;9190:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9190:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9190:45:0;:56;;9182:99;;;;;-1:-1:-1;;;9182:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9302:8;;:57;;;-1:-1:-1;;;9302:57:0;;9324:10;9302:57;;;;9344:4;9302:57;;;;;;;;;;;;-1:-1:-1;;;;;9302:8:0;;;;:21;;:57;;;;;;;;;;;;;;;:8;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;9302:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9302:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9380:25:0;;-1:-1:-1;9380:25:0;:::i;:::-;-1:-1:-1;9421:10:0;9408:24;;;;:12;:24;;;;;;;;;9380:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9443:18;;:::i;:::-;-1:-1:-1;9471:8:0;;9464:16;;;;:6;:16;;;;;;;;;9443:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9504:18;;9501:332;;9564:8;;9544:17;;;:28;9601:3;9587:11;;;:17;9501:332;;;9625:18;;:22;;;;:54;;;9662:6;:17;;;9651:8;;:28;9625:54;9622:211;;;9696:19;;:::i;:::-;-1:-1:-1;9726:10:0;9718:19;;;;:7;:19;;;;;;;;9738:8;;-1:-1:-1;;9738:10:0;9718:31;;;;;;;;9696:53;;;;;;;;;;;9747:1;9696:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9772:23;9764:57;;;;;-1:-1:-1;;;9764:57:0;;;;;;;;;;;;-1:-1:-1;;;9764:57:0;;;;;;;;;;;;;;;9622:211;;9874:18;;:31;;9897:7;9874:31;:22;:31;:::i;:::-;9853:52;;9929:10;9853:18;9916:24;;;:12;:24;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;9985:22;;;:35;;10012:7;9985:35;:26;:35;:::i;:::-;9960:22;;;;:60;;;10038:8;;;10031:16;;;;:6;:16;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10123:8;;10081:51;;10097:10;10081:51;;;;;;;;10118:3;10081:51;;;;;;;;;;;;;;;;;;;;;;;;4563:1;;8961:1179;:::o;6893:147::-;-1:-1:-1;;;;;7004:19:0;;;6970:14;7004:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;6893:147::o;4719:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14112:87::-;14183:8;;14112:87;:::o;2828:238::-;2794:5;;-1:-1:-1;;;;;2794:5:0;2780:10;:19;2772:28;;;;;;-1:-1:-1;;;;;2910:23:0;;2902:74;;;;-1:-1:-1;;;2902:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3013:5;;;2992:38;;-1:-1:-1;;;;;2992:38:0;;;;3013:5;;;2992:38;;;3041:5;:17;;-1:-1:-1;;;;;;3041:17:0;-1:-1:-1;;;;;3041:17:0;;;;;;;;;;2828:238::o;11265:851::-;11329:12;;-1:-1:-1;;;;;11329:12:0;11315:10;:26;11307:68;;;;;-1:-1:-1;;;11307:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11396:18;;:::i;:::-;-1:-1:-1;11424:8:0;;11417:16;;;;:6;:16;;;;;;;;;11396:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11476:11;;11460:28;;11396:37;11460:28;:15;:28;:::i;:::-;11453:3;:35;;11445:103;;;;-1:-1:-1;;;11445:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11581:3;11569:9;;;:15;11633;;11613;;;;:36;;;:19;:36;:::i;:::-;11595:15;;;:54;11712:8;;11695:11;;11681:9;;;;11664:14;;11681:52;;11726:6;;11681:40;;11712:8;11681:26;;:9;:26;:13;:26;:::i;:::-;:30;:40;:30;:40;:::i;:52::-;11769:15;11778:5;;-1:-1:-1;;;;;11778:5:0;11769:15;;:8;:15;;;;;;11664:69;;-1:-1:-1;11757:27:0;;11754:64;;;-1:-1:-1;11800:15:0;11809:5;;-1:-1:-1;;;;;11809:5:0;11800:15;;:8;:15;;;;;;11754:64;11838:18;;;;:30;;;11886:8;;;11879:16;;;;:6;:16;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11943:8;;11953:15;;11929:45;;;;;;;;;;;;11970:3;11929:45;;;;;;;;;;;;;;;;-1:-1:-1;11995:8:0;:10;;;;;;;;;;12035:43;;;;;;;;12041:3;12035:43;;11995:8;12035:43;;;;;;;12049:22;;;;12035:43;;;;;;;;;;;;;;;;;;12016:16;;;:6;:16;;;;;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12089:15;:19;11265:851::o;1134:167::-;1192:7;1224:1;1219;:6;;1211:35;;;;;-1:-1:-1;;;1211:35:0;;;;;;;;;;;;-1:-1:-1;;;1211:35:0;;;;;;;;;;;;;;;-1:-1:-1;1269:5:0;;;1134:167::o;313:228::-;371:7;394:6;390:47;;-1:-1:-1;424:1:0;417:8;;390:47;459:5;;;463:1;459;:5;:1;483:5;;;;;:10;475:39;;;;;-1:-1:-1;;;475:39:0;;;;;;;;;;;;-1:-1:-1;;;475:39:0;;;;;;;;;;;;;;678:320;736:7;834:1;830;:5;822:34;;;;;-1:-1:-1;;;822:34:0;;;;;;;;;;;;-1:-1:-1;;;822:34:0;;;;;;;;;;;;;;;867:9;883:1;879;:5;;;;;;;678:320;-1:-1:-1;;;;678:320:0:o;3316:11386::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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