Token Beyond Finance

 

Overview [ERC-20]

Price
$0.02 @ 0.000010 Eth (+2.80%)
Fully Diluted Market Cap
Max Total Supply:
100,000,000 BYN

Holders:
3,131

Transfers:
-

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

BeyondFi is a digital asset platform that offer a diverse range of products and services enabling anyone to access, create and trade unlimited markets without limit. Unlock the true value of decentralized finance, providing its users with the full spectrum exposure to digital assets.

Market

Volume (24H):$110,360.00
Market Capitalization:$0.00
Circulating Supply:0.00 BYN
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BYN

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.5.17;

library SafeMath
{
	function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
		c = a + b;
		require(c >= a, "SafeMath: addition overflow");
	}
	function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
		require(b <= a, "SafeMath: subtraction overflow");
		c = a - b;
	}
	function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
		c = a * b;
		require(a == 0 || c / a == b, "SafeMath: multiplication overflow");
	}
	function div(uint256 a, uint256 b) internal pure returns (uint256 c) {
		require(b > 0, "SafeMath: division by zero");
		c = a / b;
	}
}

contract Variable
{
  string public name;
  string public symbol;
  uint256 public decimals;
  uint256 public totalSupply;
  address public owner;

  uint256 internal _decimals;
  bool internal transferLock;
  
  mapping (address => bool) public allowedAddress;
  mapping (address => bool) public blockedAddress;

  mapping (address => uint256) public balanceOf;
  
  mapping (address => bool) public lockTimeAddress;
  mapping (address => uint8) public lockCountMonth;
  mapping (address => uint256) public lockPermitBalance;
  mapping (address => uint256[]) public lockTime;
  mapping (address => uint8[]) public lockPercent;
  mapping (address => bool[]) public lockCheck;
  mapping (address => uint256[]) public lockBalance;
  
  mapping (address => mapping (address => uint256)) internal allowed;

  constructor() public
  {
    name = "Beyond Finance";
    symbol = "BYN";
    decimals = 18;
    _decimals = 10 ** uint256(decimals);
    totalSupply = _decimals * 100000000;
    transferLock = true;
    owner =  msg.sender;
    balanceOf[owner] = totalSupply;
    allowedAddress[owner] = true;
  }
}

contract Modifiers is Variable
{
  modifier isOwner
  {
    assert(owner == msg.sender);
    _;
  }
}

contract Event
{
  event Transfer(address indexed from, address indexed to, uint256 value);
  event TokenBurn(address indexed from, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract manageAddress is Variable, Modifiers, Event
{
  using SafeMath for uint256;
  function add_allowedAddress(address _address) public isOwner
  {
    allowedAddress[_address] = true;
  }
  function delete_allowedAddress(address _address) public isOwner
  {
    require(_address != owner,"Not owner");
    allowedAddress[_address] = false;
  }
  function add_blockedAddress(address _address) public isOwner
  {
    require(_address != owner,"Not owner");
    blockedAddress[_address] = true;
  }
  function delete_blockedAddress(address _address) public isOwner
  {
    blockedAddress[_address] = false;
  }
  function add_timeAddress(address _address, uint8 total_month) public isOwner
  {
    if(lockTimeAddress[_address] == true)
    {
        revert("Already set address");
    }
    if(total_month < 2 && lockCountMonth[_address] > 0)
    {
        revert("Period want to set is short");
    }
    lockCountMonth[_address] = total_month;
    lockTime[_address] = new uint256[](total_month);
    lockPercent[_address] = new uint8[](total_month);
    lockCheck[_address] = new bool[](total_month);
    lockBalance[_address] = new uint256[](total_month);
  }
  function delete_timeAddress(address _address) public isOwner
  {
    lockTimeAddress[_address] = false;
    lockPermitBalance[_address] = 0;
    for(uint8 i = 0; i < lockCountMonth[_address]; i++)
    {
        delete lockTime[_address][i];
        delete lockPercent[_address][i];
        delete lockCheck[_address][i];
        delete lockBalance[_address][i];
    }
    lockCountMonth[_address] = 0;
  }
  function add_timeAddressMonth(address _address,uint256 _time,uint8 idx, uint8 _percent) public isOwner
  {
    if(now > _time)
    {
        revert("Must greater than current time");
    }
    if(idx >= lockCountMonth[_address])
    {
        revert("Invalid Setup Period");
    }
    if(idx != 0 && lockTime[_address][idx - 1] >= _time)
    {
        revert("Must greater than previous time");
    }

    lockPercent[_address][idx] = _percent;
    lockTime[_address][idx] = _time;
  }
  function add_timeAddressApply(address _address, uint256 lock_balance) public isOwner
  {
    if(balanceOf[_address] >= lock_balance && lock_balance > 0)
    {
        uint8 sum = lockPercent[_address][0];

        lockPermitBalance[_address] = 0;
        for(uint8 i = 0; i < lockCountMonth[_address]; i++)
        {
            lockBalance[_address][i] = (lock_balance.mul(lockPercent[_address][i])).div(100);
            if(i > 0)
            {
                sum += lockPercent[_address][i];
            }
        }
        
        if(sum != 100)
        {
            revert("Invalid percentage");
        }
        lockTimeAddress[_address] = true;
    }
    else
    {
        revert("Invalid balance");
    }
    
  }
  function refresh_lockPermitBalance(address _address) public 
  {
    if(lockTimeAddress[_address] == false)
    {
        revert("Address without Lock");  
    }
    for(uint8 i = 0; i < lockCountMonth[msg.sender]; i++)
    {
        if(now >= lockTime[_address][i] && lockCheck[_address][i] == false)
        {
            lockPermitBalance[_address] += lockBalance[_address][i];
            lockCheck[_address][i] = true;
            if(lockCountMonth[_address] - 1 == i)
            {
                delete_timeAddress(_address);
            }
        }
    }
  }
}
contract Admin is Variable, Modifiers, Event
{
  using SafeMath for uint256;
  
  function admin_tokenBurn(uint256 _value) public isOwner returns(bool success)
  {
    require(balanceOf[msg.sender] >= _value, "Invalid balance");
    balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
    totalSupply = totalSupply.sub(_value);
    emit TokenBurn(msg.sender, _value);
    return true;
  }
}
contract Get is Variable, Modifiers
{
  function get_transferLock() public view returns(bool)
  {
    return transferLock;
  }
}

contract Set is Variable, Modifiers, Event
{
  function setTransferLock(bool _transferLock) public isOwner returns(bool success)
  {
    transferLock = _transferLock;
    return true;
  }
}

contract BYN is Variable, Event, Get, Set, Admin, manageAddress
{
  function() external payable 
  {
    revert();
  }
  function allowance(address tokenOwner, address spender) public view returns (uint256 remaining) 
  {
    return allowed[tokenOwner][spender];
  }
  function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) 
  {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }
  function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool)
  {
    uint256 oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) 
    {
        allowed[msg.sender][_spender] = 0;
    } 
    else
    {
        allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }
  function approve(address _spender, uint256 _value) public returns (bool)
  {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) 
  {
    require(allowedAddress[_from] || transferLock == false, "Transfer lock : true");
    require(!blockedAddress[_from] && !blockedAddress[_to] && !blockedAddress[msg.sender], "Blocked address");
    require(balanceOf[_from] >= _value && (balanceOf[_to].add(_value)) >= balanceOf[_to], "Invalid balance");
    require(lockTimeAddress[_to] == false, "Lock address : to");
    require(_value <= allowed[_from][msg.sender], "Invalid balance : allowed");

    if(lockTimeAddress[_from])
    {
        lockPermitBalance[_from] = lockPermitBalance[_from].sub(_value);
    }

    balanceOf[_from] = balanceOf[_from].sub(_value);
    balanceOf[_to] = balanceOf[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);

    return true;

  }
  
  function transfer(address _to, uint256 _value) public returns (bool)  
  {
    require(allowedAddress[msg.sender] || transferLock == false, "Transfer lock : true");
    require(!blockedAddress[msg.sender] && !blockedAddress[_to], "Blocked address");
    require(balanceOf[msg.sender] >= _value && (balanceOf[_to].add(_value)) >= balanceOf[_to], "Invalid balance");
    require(lockTimeAddress[_to] == false, "Lock address : to");

    if(lockTimeAddress[msg.sender])
    {
        lockPermitBalance[msg.sender] = lockPermitBalance[msg.sender].sub(_value);
    }

    balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
    balanceOf[_to] = balanceOf[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
        
    return true;
  }
}

Contract Security Audit

Contract ABI

[{"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":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenBurn","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"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"add_allowedAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"add_blockedAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint8","name":"total_month","type":"uint8"}],"name":"add_timeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"lock_balance","type":"uint256"}],"name":"add_timeAddressApply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_time","type":"uint256"},{"internalType":"uint8","name":"idx","type":"uint8"},{"internalType":"uint8","name":"_percent","type":"uint8"}],"name":"add_timeAddressMonth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"admin_tokenBurn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blockedAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"delete_allowedAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"delete_blockedAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"delete_timeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"get_transferLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockCheck","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockCountMonth","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockPercent","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockPermitBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockTimeAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"refresh_lockPermitBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_transferLock","type":"bool"}],"name":"setTransferLock","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","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":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600e81526020017f4265796f6e642046696e616e6365000000000000000000000000000000000000815250600090805190602001906200005192919062000207565b506040518060400160405280600381526020017f42594e0000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000207565b506012600281905550600254600a0a6005819055506305f5e100600554026003819055506001600660006101000a81548160ff02191690831515021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460096000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002b6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024a57805160ff19168380011785556200027b565b828001600101855582156200027b579182015b828111156200027a5782518255916020019190600101906200025d565b5b5090506200028a91906200028e565b5090565b620002b391905b80821115620002af57600081600090555060010162000295565b5090565b90565b6145d080620002c66000396000f3fe6080604052600436106101ee5760003560e01c8063661884631161010d578063bc082986116100a0578063d73dd6231161006f578063d73dd62314610c7c578063db3eefb514610cef578063dd62ed3e14610d64578063e729938014610de9578063fd4a772c14610e5c576101ee565b8063bc08298614610b1a578063bd65ba8314610b6b578063bff3561814610bd6578063d016492e14610c2b576101ee565b80638da5cb5b116100dc5780638da5cb5b1461095b57806395d89b41146109b2578063a9059cbb14610a42578063ae111cfa14610ab5576101ee565b806366188463146107ab57806370a082311461081e5780637837e170146108835780638355092a146108f2576101ee565b806334af370f116101855780635122187311610154578063512218731461067c578063550fee0b146106cd5780635952c4b21461071e5780635eeb9ff91461077c576101ee565b806334af370f146104de5780633c2e34c71461054d57806340908298146105c25780634ebb380e1461062b576101ee565b806323b872dd116101c157806323b872dd14610374578063271aedcf146104075780632e1bf91314610458578063313ce567146104b3576101ee565b806306fdde03146101f3578063095ea7b31461028357806318160ddd146102f657806320d7611314610321575b600080fd5b3480156101ff57600080fd5b50610208610ec5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024857808201518184015260208101905061022d565b50505050905090810190601f1680156102755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028f57600080fd5b506102dc600480360360408110156102a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f63565b604051808215151515815260200191505060405180910390f35b34801561030257600080fd5b5061030b611055565b6040518082815260200191505060405180910390f35b34801561032d57600080fd5b5061035a6004803603602081101561034457600080fd5b810190808035906020019092919050505061105b565b604051808215151515815260200191505060405180910390f35b34801561038057600080fd5b506103ed6004803603606081101561039757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611270565b604051808215151515815260200191505060405180910390f35b34801561041357600080fd5b506104566004803603602081101561042a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b55565b005b34801561046457600080fd5b506104b16004803603604081101561047b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ccb565b005b3480156104bf57600080fd5b506104c861214f565b6040518082815260200191505060405180910390f35b3480156104ea57600080fd5b506105376004803603604081101561050157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612155565b6040518082815260200191505060405180910390f35b34801561055957600080fd5b506105a66004803603604081101561057057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612183565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105ce57600080fd5b50610611600480360360208110156105e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121c3565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b5061067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121e3565b005b34801561068857600080fd5b506106cb6004803603602081101561069f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612295565b005b3480156106d957600080fd5b5061071c600480360360208110156106f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612347565b005b34801561072a57600080fd5b5061077a6004803603604081101561074157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050612699565b005b34801561078857600080fd5b50610791612b00565b604051808215151515815260200191505060405180910390f35b3480156107b757600080fd5b50610804600480360360408110156107ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b17565b604051808215151515815260200191505060405180910390f35b34801561082a57600080fd5b5061086d6004803603602081101561084157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612da8565b6040518082815260200191505060405180910390f35b34801561088f57600080fd5b506108dc600480360360408110156108a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612dc0565b6040518082815260200191505060405180910390f35b3480156108fe57600080fd5b506109416004803603602081101561091557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612dee565b604051808215151515815260200191505060405180910390f35b34801561096757600080fd5b50610970612e0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109be57600080fd5b506109c7612e34565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a075780820151818401526020810190506109ec565b50505050905090810190601f168015610a345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a4e57600080fd5b50610a9b60048036036040811015610a6557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612ed2565b604051808215151515815260200191505060405180910390f35b348015610ac157600080fd5b50610b0460048036036020811015610ad857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061355f565b6040518082815260200191505060405180910390f35b348015610b2657600080fd5b50610b6960048036036020811015610b3d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613577565b005b348015610b7757600080fd5b50610bba60048036036020811015610b8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061390f565b604051808260ff1660ff16815260200191505060405180910390f35b348015610be257600080fd5b50610c1160048036036020811015610bf957600080fd5b8101908080351515906020019092919050505061392f565b604051808215151515815260200191505060405180910390f35b348015610c3757600080fd5b50610c7a60048036036020811015610c4e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139ab565b005b348015610c8857600080fd5b50610cd560048036036040811015610c9f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b21565b604051808215151515815260200191505060405180910390f35b348015610cfb57600080fd5b50610d6260048036036080811015610d1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190803560ff169060200190929190505050613d1d565b005b348015610d7057600080fd5b50610dd360048036036040811015610d8757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061406c565b6040518082815260200191505060405180910390f35b348015610df557600080fd5b50610e4260048036036040811015610e0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506140f3565b604051808215151515815260200191505060405180910390f35b348015610e6857600080fd5b50610eab60048036036020811015610e7f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614133565b604051808215151515815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f5b5780601f10610f3057610100808354040283529160200191610f5b565b820191906000526020600020905b815481529060010190602001808311610f3e57829003601f168201915b505050505081565b600081601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60035481565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b457fe5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642062616c616e6365000000000000000000000000000000000081525060200191505060405180910390fd5b6111bb82600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112138260035461415390919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167fab85194d35c4ea153d0b51f3a304d1d22cb8023e499a6503fb6c28c5864ae90e836040518082815260200191505060405180910390a260019050919050565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112dd575060001515600660009054906101000a900460ff161515145b61134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5472616e73666572206c6f636b203a207472756500000000000000000000000081525060200191505060405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113f35750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156114495750600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f426c6f636b65642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561159a5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159783600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141d690919063ffffffff16565b10155b61160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642062616c616e6365000000000000000000000000000000000081525060200191505060405180910390fd5b60001515600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4c6f636b2061646472657373203a20746f00000000000000000000000000000081525060200191505060405180910390fd5b601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496e76616c69642062616c616e6365203a20616c6c6f7765640000000000000081525060200191505060405180910390fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118ac5761186882600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6118fe82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199382600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141d690919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6582601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bac57fe5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d2257fe5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611d715750600081115b156120dd576000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548110611dc357fe5b90600052602060002090602091828204019190069054906101000a900460ff1690506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008090505b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff16101561200557611f1f6064611f11600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208460ff1681548110611edf57fe5b90600052602060002090602091828204019190069054906101000a900460ff1660ff168661425990919063ffffffff16565b6142d290919063ffffffff16565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260ff1681548110611f6c57fe5b906000526020600020018190555060008160ff161115611ff857600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff1681548110611fd357fe5b90600052602060002090602091828204019190069054906101000a900460ff16820191505b8080600101915050611e30565b5060648160ff161461207f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e76616c69642070657263656e74616765000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505061214b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642062616c616e6365000000000000000000000000000000000081525060200191505060405180910390fd5b5050565b60025481565b600d602052816000526040600020818154811061216e57fe5b90600052602060002001600091509150505481565b600e602052816000526040600020818154811061219c57fe5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461223a57fe5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122ec57fe5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461239e57fe5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008090505b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff16101561263c57600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff16815481106124e857fe5b9060005260206000200160009055600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff168154811061254357fe5b90600052602060002090602091828204019190066101000a81549060ff0219169055600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff16815481106125b257fe5b90600052602060002090602091828204019190066101000a81549060ff0219169055601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff168154811061262157fe5b90600052602060002001600090558080600101915050612441565b506000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126f057fe5b60011515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156127b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f416c72656164792073657420616464726573730000000000000000000000000081525060200191505060405180910390fd5b60028160ff1610801561281957506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16115b1561288c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f506572696f642077616e7420746f207365742069732073686f7274000000000081525060200191505060405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508060ff166040519080825280602002602001820160405280156129165781602001602082028038833980820191505090505b50600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020908051906020019061296992919061435b565b508060ff1660405190808252806020026020018201604052801561299c5781602001602082028038833980820191505090505b50600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906129ef9291906143a8565b508060ff16604051908082528060200260200182016040528015612a225781602001602082028038833980820191505090505b50600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190612a7592919061444f565b508060ff16604051908082528060200260200182016040528015612aa85781602001602082028038833980820191505090505b50601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190612afb92919061435b565b505050565b6000600660009054906101000a900460ff16905090565b600080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612c28576000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cbc565b612c3b838261415390919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60096020528060005260406000206000915090505481565b60106020528160005260406000208181548110612dd957fe5b90600052602060002001600091509150505481565b600a6020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b505050505081565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f3f575060001515600660009054906101000a900460ff161515145b612fb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5472616e73666572206c6f636b203a207472756500000000000000000000000081525060200191505060405180910390fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130555750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6130c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f426c6f636b65642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156131a65750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131a383600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141d690919063ffffffff16565b10155b613218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642062616c616e6365000000000000000000000000000000000081525060200191505060405180910390fd5b60001515600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146132de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4c6f636b2061646472657373203a20746f00000000000000000000000000000081525060200191505060405180910390fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156133c65761338282600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61341882600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461415390919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134ad82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141d690919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600c6020528060005260406000206000915090505481565b60001515600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561363e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4164647265737320776974686f7574204c6f636b00000000000000000000000081525060200191505060405180910390fd5b60008090505b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff16101561390b57600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff16815481106136eb57fe5b90600052602060002001544210158015613775575060001515600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260ff168154811061375157fe5b90600052602060002090602091828204019190069054906101000a900460ff161515145b156138fe57601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff16815481106137c757fe5b9060005260206000200154600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260ff168154811061386d57fe5b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055508060ff166001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff160360ff1614156138fd576138fc82612347565b5b5b8080600101915050613644565b5050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461398857fe5b81600660006101000a81548160ff02191690831515021790555060019050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613a0257fe5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613ac6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e6f74206f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000613bb282601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141d690919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613d7457fe5b82421115613dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4d7573742067726561746572207468616e2063757272656e742074696d65000081525060200191505060405180910390fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168260ff1610613eb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e76616c696420536574757020506572696f6400000000000000000000000081525060200191505060405180910390fd5b60008260ff1614158015613f1f575082600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840360ff1681548110613f1157fe5b906000526020600020015410155b15613f92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d7573742067726561746572207468616e2070726576696f75732074696d650081525060200191505060405180910390fd5b80600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff1681548110613fe057fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff16021790555082600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360ff168154811061405857fe5b906000526020600020018190555050505050565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f602052816000526040600020818154811061410c57fe5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000828211156141cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000818301905082811015614253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b92915050565b60008183029050600083148061427757508183828161427457fe5b04145b6142cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061457b6021913960400191505060405180910390fd5b92915050565b6000808211614349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838161435257fe5b04905092915050565b828054828255906000526020600020908101928215614397579160200282015b8281111561439657825182559160200191906001019061437b565b5b5090506143a491906144f5565b5090565b82805482825590600052602060002090601f0160209004810192821561443e5791602002820160005b8382111561440f57835183826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026143d1565b801561443c5782816101000a81549060ff021916905560010160208160000104928301926001030261440f565b505b50905061444b919061451a565b5090565b82805482825590600052602060002090601f016020900481019282156144e45791602002820160005b838211156144b557835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302614478565b80156144e25782816101000a81549060ff02191690556001016020816000010492830192600103026144b5565b505b5090506144f1919061454a565b5090565b61451791905b808211156145135760008160009055506001016144fb565b5090565b90565b61454791905b8082111561454357600081816101000a81549060ff021916905550600101614520565b5090565b90565b61457791905b8082111561457357600081816101000a81549060ff021916905550600101614550565b5090565b9056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158201dca88e490d562adf519dd25d76d10ffc710722dc1c9cedbf9ea56f288ffb7c264736f6c63430005110032

Deployed ByteCode Sourcemap

6369:2895:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6478:8;;;667:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;667:18: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;667:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7371:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7371:195:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7371:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;743:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;743:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5706:320;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5706:320:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5706:320:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7570:918;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7570:918:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7570:918:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2504:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2504:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2504:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4273:753;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4273:753:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4273:753:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;715:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1191:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1191:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1242:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1242:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1242:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;867;;8:9:-1;5:2;;;30:1;27;20:12;5:2;867:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;867:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2231:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2231:108:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2231:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2661:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2661:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2661:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3346:417;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3346:417:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3346:417:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2777:565;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2777:565:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2777:565:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6073:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6073:89:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6925:442;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6925:442:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6925:442:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;973:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;973:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1343:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1343:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1343:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1027:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1027:48:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1027:48:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;774:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;774:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;690;;8:9:-1;5:2;;;30:1;27;20:12;5:2;690:20: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;690:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8496:765;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8496:765:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8496:765:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1133:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1133:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1133:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5030:585;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5030:585:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5030:585:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1080:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1080:48:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1080:48:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6218:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6218:144:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6218:144:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2343:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2343:157:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2343:157:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6648:273;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6648:273:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6648:273:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3767:502;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3767:502:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3767:502:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6496:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6496:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6496:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1294:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1294:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1294:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;919:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;919:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;919:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;667:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7371:195::-;7438:4;7486:6;7454:7;:19;7462:10;7454:19;;;;;;;;;;;;;;;:29;7474:8;7454:29;;;;;;;;;;;;;;;:38;;;;7525:8;7504:38;;7513:10;7504:38;;;7535:6;7504:38;;;;;;;;;;;;;;;;;;7556:4;7549:11;;7371:195;;;;:::o;743:26::-;;;;:::o;5706:320::-;5770:12;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;5827:6;5802:9;:21;5812:10;5802:21;;;;;;;;;;;;;;;;:31;;5794:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5884:33;5910:6;5884:9;:21;5894:10;5884:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;5860:9;:21;5870:10;5860:21;;;;;;;;;;;;;;;:57;;;;5938:23;5954:6;5938:11;;:15;;:23;;;;:::i;:::-;5924:11;:37;;;;5983:10;5973:29;;;5995:6;5973:29;;;;;;;;;;;;;;;;;;6016:4;6009:11;;5706:320;;;:::o;7570:918::-;7652:4;7677:14;:21;7692:5;7677:21;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;7718:5;7702:21;;:12;;;;;;;;;;;:21;;;7677:46;7669:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7764:14;:21;7779:5;7764:21;;;;;;;;;;;;;;;;;;;;;;;;;7763:22;:46;;;;;7790:14;:19;7805:3;7790:19;;;;;;;;;;;;;;;;;;;;;;;;;7789:20;7763:46;:77;;;;;7814:14;:26;7829:10;7814:26;;;;;;;;;;;;;;;;;;;;;;;;;7813:27;7763:77;7755:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7895:6;7875:9;:16;7885:5;7875:16;;;;;;;;;;;;;;;;:26;;:76;;;;;7937:9;:14;7947:3;7937:14;;;;;;;;;;;;;;;;7906:26;7925:6;7906:9;:14;7916:3;7906:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;7905:46;;7875:76;7867:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8010:5;7986:29;;:15;:20;8002:3;7986:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;7978:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8062:7;:14;8070:5;8062:14;;;;;;;;;;;;;;;:26;8077:10;8062:26;;;;;;;;;;;;;;;;8052:6;:36;;8044:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8130:15;:22;8146:5;8130:22;;;;;;;;;;;;;;;;;;;;;;;;;8127:114;;;8197:36;8226:6;8197:17;:24;8215:5;8197:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;8170:17;:24;8188:5;8170:24;;;;;;;;;;;;;;;:63;;;;8127:114;8268:28;8289:6;8268:9;:16;8278:5;8268:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;8249:9;:16;8259:5;8249:16;;;;;;;;;;;;;;;:47;;;;8320:26;8339:6;8320:9;:14;8330:3;8320:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8303:9;:14;8313:3;8303:14;;;;;;;;;;;;;;;:43;;;;8382:38;8413:6;8382:7;:14;8390:5;8382:14;;;;;;;;;;;;;;;:26;8397:10;8382:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8353:7;:14;8361:5;8353:14;;;;;;;;;;;;;;;:26;8368:10;8353:26;;;;;;;;;;;;;;;:67;;;;8448:3;8432:28;;8441:5;8432:28;;;8453:6;8432:28;;;;;;;;;;;;;;;;;;8476:4;8469:11;;7570:918;;;;;:::o;2504:153::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;2595:5;;;;;;;;;;;2583:17;;:8;:17;;;;2575:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2647:4;2620:14;:24;2635:8;2620:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2504:153;:::o;4273:753::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;4394:12;4371:9;:19;4381:8;4371:19;;;;;;;;;;;;;;;;:35;;:55;;;;;4425:1;4410:12;:16;4371:55;4368:647;;;4444:9;4456:11;:21;4468:8;4456:21;;;;;;;;;;;;;;;4478:1;4456:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4444:36;;4523:1;4493:17;:27;4511:8;4493:27;;;;;;;;;;;;;;;:31;;;;4539:7;4549:1;4539:11;;4535:271;4556:14;:24;4571:8;4556:24;;;;;;;;;;;;;;;;;;;;;;;;;4552:28;;:1;:28;;;4535:271;;;4638:53;4687:3;4639:42;4656:11;:21;4668:8;4656:21;;;;;;;;;;;;;;;4678:1;4656:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4639:42;;:12;:16;;:42;;;;:::i;:::-;4638:48;;:53;;;;:::i;:::-;4611:11;:21;4623:8;4611:21;;;;;;;;;;;;;;;4633:1;4611:24;;;;;;;;;;;;;;;;;:80;;;;4713:1;4709;:5;;;4706:89;;;4755:11;:21;4767:8;4755:21;;;;;;;;;;;;;;;4777:1;4755:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4748:31;;;;4706:89;4582:3;;;;;;;4535:271;;;;4836:3;4829;:10;;;4826:79;;4865:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4826:79;4943:4;4915:15;:25;4931:8;4915:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;4368:647;;;;4982:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4368:647;4273:753;;:::o;715:23::-;;;;:::o;1191:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1242:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;867:::-;;;;;;;;;;;;;;;;;;;;;;:::o;2231:108::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;2329:4;2302:14;:24;2317:8;2302:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2231:108;:::o;2661:112::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;2762:5;2735:14;:24;2750:8;2735:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;2661:112;:::o;3346:417::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;3445:5;3417:15;:25;3433:8;3417:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3487:1;3457:17;:27;3475:8;3457:27;;;;;;;;;;;;;;;:31;;;;3499:7;3509:1;3499:11;;3495:228;3516:14;:24;3531:8;3516:24;;;;;;;;;;;;;;;;;;;;;;;;;3512:28;;:1;:28;;;3495:228;;;3570:8;:18;3579:8;3570:18;;;;;;;;;;;;;;;3589:1;3570:21;;;;;;;;;;;;;;;;;3563:28;;;3609:11;:21;3621:8;3609:21;;;;;;;;;;;;;;;3631:1;3609:24;;;;;;;;;;;;;;;;;;;;;;;;;;3602:31;;;;;;;;;;;3651:9;:19;3661:8;3651:19;;;;;;;;;;;;;;;3671:1;3651:22;;;;;;;;;;;;;;;;;;;;;;;;;;3644:29;;;;;;;;;;;3691:11;:21;3703:8;3691:21;;;;;;;;;;;;;;;3713:1;3691:24;;;;;;;;;;;;;;;;;3684:31;;;3542:3;;;;;;;3495:228;;;;3756:1;3729:14;:24;3744:8;3729:24;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3346:417;:::o;2777:565::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;2896:4;2867:33;;:15;:25;2883:8;2867:25;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;2864:91;;;2918:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2864:91;2978:1;2964:11;:15;;;:47;;;;;3010:1;2983:14;:24;2998:8;2983:24;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;2964:47;2961:113;;;3029:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2961:113;3107:11;3080:14;:24;3095:8;3080:24;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3160:11;3146:26;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3146:26:0;;;;3125:8;:18;3134:8;3125:18;;;;;;;;;;;;;;;:47;;;;;;;;;;;;:::i;:::-;;3215:11;3203:24;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3203:24:0;;;;3179:11;:21;3191:8;3179:21;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:::i;:::-;;3267:11;3256:23;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3256:23:0;;;;3234:9;:19;3244:8;3234:19;;;;;;;;;;;;;;;:45;;;;;;;;;;;;:::i;:::-;;3324:11;3310:26;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3310:26:0;;;;3286:11;:21;3298:8;3286:21;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:::i;:::-;;2777:565;;:::o;6073:89::-;6121:4;6144:12;;;;;;;;;;;6137:19;;6073:89;:::o;6925:442::-;7011:4;7027:16;7046:7;:19;7054:10;7046:19;;;;;;;;;;;;;;;:29;7066:8;7046:29;;;;;;;;;;;;;;;;7027:48;;7105:8;7086:16;:27;7082:189;;;7164:1;7132:7;:19;7140:10;7132:19;;;;;;;;;;;;;;;:29;7152:8;7132:29;;;;;;;;;;;;;;;:33;;;;7082:189;;;7233:30;7246:16;7233:8;:12;;:30;;;;:::i;:::-;7201:7;:19;7209:10;7201:19;;;;;;;;;;;;;;;:29;7221:8;7201:29;;;;;;;;;;;;;;;:62;;;;7082:189;7303:8;7282:61;;7291:10;7282:61;;;7313:7;:19;7321:10;7313:19;;;;;;;;;;;;;;;:29;7333:8;7313:29;;;;;;;;;;;;;;;;7282:61;;;;;;;;;;;;;;;;;;7357:4;7350:11;;;6925:442;;;;:::o;973:45::-;;;;;;;;;;;;;;;;;:::o;1343:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1027:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;774:20::-;;;;;;;;;;;;;:::o;690:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8496:765::-;8559:4;8585:14;:26;8600:10;8585:26;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;8631:5;8615:21;;:12;;;;;;;;;;;:21;;;8585:51;8577:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8677:14;:26;8692:10;8677:26;;;;;;;;;;;;;;;;;;;;;;;;;8676:27;:51;;;;;8708:14;:19;8723:3;8708:19;;;;;;;;;;;;;;;;;;;;;;;;;8707:20;8676:51;8668:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:6;8762:9;:21;8772:10;8762:21;;;;;;;;;;;;;;;;:31;;:81;;;;;8829:9;:14;8839:3;8829:14;;;;;;;;;;;;;;;;8798:26;8817:6;8798:9;:14;8808:3;8798:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8797:46;;8762:81;8754:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8902:5;8878:29;;:15;:20;8894:3;8878:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;8870:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:15;:27;8957:10;8941:27;;;;;;;;;;;;;;;;;;;;;;;;;8938:129;;;9018:41;9052:6;9018:17;:29;9036:10;9018:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;8986:17;:29;9004:10;8986:29;;;;;;;;;;;;;;;:73;;;;8938:129;9099:33;9125:6;9099:9;:21;9109:10;9099:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;9075:9;:21;9085:10;9075:21;;;;;;;;;;;;;;;:57;;;;9156:26;9175:6;9156:9;:14;9166:3;9156:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;9139:9;:14;9149:3;9139:14;;;;;;;;;;;;;;;:43;;;;9215:3;9194:33;;9203:10;9194:33;;;9220:6;9194:33;;;;;;;;;;;;;;;;;;9251:4;9244:11;;8496:765;;;;:::o;1133:53::-;;;;;;;;;;;;;;;;;:::o;5030:585::-;5133:5;5104:34;;:15;:25;5120:8;5104:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;5101:95;;;5156:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5101:95;5206:7;5216:1;5206:11;;5202:408;5223:14;:26;5238:10;5223:26;;;;;;;;;;;;;;;;;;;;;;;;;5219:30;;:1;:30;;;5202:408;;;5282:8;:18;5291:8;5282:18;;;;;;;;;;;;;;;5301:1;5282:21;;;;;;;;;;;;;;;;;;5275:3;:28;;:63;;;;;5333:5;5307:31;;:9;:19;5317:8;5307:19;;;;;;;;;;;;;;;5327:1;5307:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;5275:63;5272:331;;;5395:11;:21;5407:8;5395:21;;;;;;;;;;;;;;;5417:1;5395:24;;;;;;;;;;;;;;;;;;5364:17;:27;5382:8;5364:27;;;;;;;;;;;;;;;;:55;;;;;;;;;;;5459:4;5434:9;:19;5444:8;5434:19;;;;;;;;;;;;;;;5454:1;5434:22;;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5513:1;5481:33;;5508:1;5481:14;:24;5496:8;5481:24;;;;;;;;;;;;;;;;;;;;;;;;;:28;:33;;;5478:114;;;5548:28;5567:8;5548:18;:28::i;:::-;5478:114;5272:331;5251:3;;;;;;;5202:408;;;;5030:585;:::o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;6218:144::-;6286:12;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;6325:13;6310:12;;:28;;;;;;;;;;;;;;;;;;6352:4;6345:11;;6218:144;;;:::o;2343:157::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;2437:5;;;;;;;;;;;2425:17;;:8;:17;;;;2417:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:5;2462:14;:24;2477:8;2462:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;2343:157;:::o;6648:273::-;6729:4;6778:46;6812:11;6778:7;:19;6786:10;6778:19;;;;;;;;;;;;;;;:29;6798:8;6778:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6746:7;:19;6754:10;6746:19;;;;;;;;;;;;;;;:29;6766:8;6746:29;;;;;;;;;;;;;;;:78;;;;6857:8;6836:61;;6845:10;6836:61;;;6867:7;:19;6875:10;6867:19;;;;;;;;;;;;;;;:29;6887:8;6867:29;;;;;;;;;;;;;;;;6836:61;;;;;;;;;;;;;;;;;;6911:4;6904:11;;6648:273;;;;:::o;3767:502::-;1870:10;1861:19;;:5;;;;;;;;;;;:19;;;1854:27;;;;3889:5;3883:3;:11;3880:80;;;3912:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3880:80;3976:14;:24;3991:8;3976:24;;;;;;;;;;;;;;;;;;;;;;;;;3969:31;;:3;:31;;;3966:90;;4018:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3966:90;4072:1;4065:3;:8;;;;:48;;;;;4108:5;4077:8;:18;4086:8;4077:18;;;;;;;;;;;;;;;4102:1;4096:3;:7;4077:27;;;;;;;;;;;;;;;;;;:36;;4065:48;4062:118;;;4131:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4062:118;4217:8;4188:11;:21;4200:8;4188:21;;;;;;;;;;;;;;;4210:3;4188:26;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;4258:5;4232:8;:18;4241:8;4232:18;;;;;;;;;;;;;;;4251:3;4232:23;;;;;;;;;;;;;;;;;:31;;;;3767:502;;;;:::o;6496:148::-;6573:17;6610:7;:19;6618:10;6610:19;;;;;;;;;;;;;;;:28;6630:7;6610:28;;;;;;;;;;;;;;;;6603:35;;6496:148;;;;:::o;1294:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;919:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;192:142::-;250:9;279:1;274;:6;;266:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;328:1;324;:5;320:9;;192:142;;;;:::o;50:139::-;108:9;132:1;128;:5;124:9;;151:1;146;:6;;138:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50:139;;;;:::o;337:159::-;395:9;419:1;415;:5;411:9;;438:1;433;:6;:20;;;;452:1;447;443;:5;;;;;;:10;433:20;425:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:159;;;;:::o;499:137::-;557:9;585:1;581;:5;573:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:1;626;:5;;;;;;622:9;;499:137;;;;:::o;6369:2895::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://1dca88e490d562adf519dd25d76d10ffc710722dc1c9cedbf9ea56f288ffb7c2

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.