Contract Overview
Balance:
0 BNB
BNB Value:
$0.00
[ Download CSV Export ]
Contract Name:
Coinsto
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2021-02-14 */ /** *COINSTO FINANCE CONTRACT * 4% fee on all transactions 2% to holders 2% to burn website: https://coinsto.finance */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IBEP20 { 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Collection of functions related to the address type */ library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Coinsto is Context, IBEP20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; string private constant _NAME = 'Coinsto Finance'; string private constant _SYMBOL = 'CSO'; uint8 private constant _DECIMALS = 8; uint256 private constant _MAX = ~uint256(0); uint256 private constant _DECIMALFACTOR = 10 ** uint256(_DECIMALS); uint256 private constant _GRANULARITY = 100; uint256 private _tTotal = 2000000 * _DECIMALFACTOR; uint256 private _rTotal = (_MAX - (_MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _tBurnTotal; uint256 private constant _TAX_FEE = 200; uint256 private constant _BURN_FEE = 200; uint256 private constant _MAX_TX_SIZE = 200000000 * _DECIMALFACTOR; constructor () public { _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _NAME; } function symbol() public view returns (string memory) { return _SYMBOL; } function decimals() public view returns (uint8) { return _DECIMALS; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromMagnetion(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function totalBurn() public view returns (uint256) { return _tBurnTotal; } function deliver(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function magnetionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromMagnetion(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total magnetions"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.'); require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromMagnetion(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(sender != owner() && recipient != owner()) require(amount <= _MAX_TX_SIZE, "Transfer amount exceeds the maxTxAmount."); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount); uint256 rBurn = tBurn.mul(currentRate); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _magnetFee(rFee, rBurn, tFee, tBurn); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount); uint256 rBurn = tBurn.mul(currentRate); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _magnetFee(rFee, rBurn, tFee, tBurn); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount); uint256 rBurn = tBurn.mul(currentRate); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _magnetFee(rFee, rBurn, tFee, tBurn); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount); uint256 rBurn = tBurn.mul(currentRate); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _magnetFee(rFee, rBurn, tFee, tBurn); emit Transfer(sender, recipient, tTransferAmount); } function _magnetFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private { _rTotal = _rTotal.sub(rFee).sub(rBurn); _tFeeTotal = _tFeeTotal.add(tFee); _tBurnTotal = _tBurnTotal.add(tBurn); _tTotal = _tTotal.sub(tBurn); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getTValues(tAmount, _TAX_FEE, _BURN_FEE); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tBurn, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tBurn); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 burnFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = ((tAmount.mul(taxFee)).div(_GRANULARITY)).div(100); uint256 tBurn = ((tAmount.mul(burnFee)).div(_GRANULARITY)).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tBurn); return (tTransferAmount, tFee, tBurn); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rBurn = tBurn.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurn); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getTaxFee() private view returns(uint256) { return _TAX_FEE; } function _getMaxTxAmount() private view returns(uint256) { return _MAX_TX_SIZE; } }
[{"inputs":[],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"magnetionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromMagnetion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600860ff16600a0a621e848002600655600654600019816200002257fe5b06600019036007553480156200003757600080fd5b5060006200004a620001ba60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460016000620000ff620001ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200014d620001ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a3620001c2565b600033905090565b6135f380620001d26000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063c018f5791161007c578063c018f579146105ee578063cba0e99614610630578063dd62ed3e1461068a578063f2cc0c1814610702578063f2fde38b14610746578063f84354f11461078a57610142565b8063715018a6146104655780638da5cb5b1461046f57806395d89b41146104a3578063a457c2d714610526578063a9059cbb1461058a57610142565b806323b872dd1161010a57806323b872dd146102b8578063313ce5671461033c578063395093511461035d5780633bd5d173146103c15780633c9f861d146103ef57806370a082311461040d57610142565b806306fdde0314610147578063095ea7b3146101ca5780630f8d89141461022e57806313114a9d1461027c57806318160ddd1461029a575b600080fd5b61014f6107ce565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061080b565b60405180821515815260200191505060405180910390f35b6102666004803603604081101561024457600080fd5b8101908080359060200190929190803515159060200190929190505050610829565b6040518082815260200191505060405180910390f35b6102846108e0565b6040518082815260200191505060405180910390f35b6102a26108ea565b6040518082815260200191505060405180910390f35b610324600480360360608110156102ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f4565b60405180821515815260200191505060405180910390f35b6103446109cd565b604051808260ff16815260200191505060405180910390f35b6103a96004803603604081101561037357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d6565b60405180821515815260200191505060405180910390f35b6103ed600480360360208110156103d757600080fd5b8101908080359060200190929190505050610a89565b005b6103f7610c1a565b6040518082815260200191505060405180910390f35b61044f6004803603602081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c24565b6040518082815260200191505060405180910390f35b61046d610d0f565b005b610477610e95565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ab610ebe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104eb5780820151818401526020810190506104d0565b50505050905090810190601f1680156105185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105726004803603604081101561053c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610efb565b60405180821515815260200191505060405180910390f35b6105d6600480360360408110156105a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc8565b60405180821515815260200191505060405180910390f35b61061a6004803603602081101561060457600080fd5b8101908080359060200190929190505050610fe6565b6040518082815260200191505060405180910390f35b6106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106a565b60405180821515815260200191505060405180910390f35b6106ec600480360360408110156106a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110c0565b6040518082815260200191505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611147565b005b6107886004803603602081101561075c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114fa565b005b6107cc600480360360208110156107a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611705565b005b60606040518060400160405280600f81526020017f436f696e73746f2046696e616e63650000000000000000000000000000000000815250905090565b600061081f610818611a8f565b8484611a97565b6001905092915050565b60006006548311156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b816108c35760006108b384611c8e565b50505050509050809150506108da565b60006108ce84611c8e565b50505050915050809150505b92915050565b6000600854905090565b6000600654905090565b6000610901848484611cf3565b6109c28461090d611a8f565b6109bd8560405180606001604052806028815260200161346c60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610973611a8f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222e9092919063ffffffff16565b611a97565b600190509392505050565b60006008905090565b6000610a7f6109e3611a8f565b84610a7a85600360006109f4611a8f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b611a97565b6001905092915050565b6000610a93611a8f565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613570602c913960400191505060405180910390fd5b6000610b4383611c8e565b50505050509050610b9c81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bf48160075461237690919063ffffffff16565b600781905550610c0f836008546122ee90919063ffffffff16565b600881905550505050565b6000600954905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610cbf57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610d0a565b610d07600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fe6565b90505b919050565b610d17611a8f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f43534f0000000000000000000000000000000000000000000000000000000000815250905090565b6000610fbe610f08611a8f565b84610fb9856040518060600160405280602581526020016135296025913960036000610f32611a8f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222e9092919063ffffffff16565b611a97565b6001905092915050565b6000610fdc610fd5611a8f565b8484611cf3565b6001905092915050565b6000600754821115611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061341d6029913960400191505060405180910390fd5b600061104d6123c0565b905061106281846123eb90919063ffffffff16565b915050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61114f611a8f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061354e6022913960400191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561143c576113f8600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fe6565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611502611a8f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611648576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806134466026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61170d611a8f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661188c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611a8b578173ffffffffffffffffffffffffffffffffffffffff16600582815481106118c057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a7e5760056001600580549050038154811061191c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005828154811061195457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611a4457fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611a8b565b808060010191505061188f565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133f96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061359c6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000806000806000806000806000611ca88a60c880612435565b9250925092506000611cb86123c0565b90506000806000611ccb8e8787876124f1565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d79576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806133d46025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806135066023913960400191505060405180910390fd5b60008111611e58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806134dd6029913960400191505060405180910390fd5b611e60610e95565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ece5750611e9e610e95565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f3a57600860ff16600a0a630bebc20002811115611f39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806134946028913960400191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fdd5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ff257611fed83838361257a565b612229565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120955750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120aa576120a58383836127f8565b612228565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561214e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121635761215e838383612a76565b612227565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122055750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561221a57612215838383612c5f565b612226565b612225838383612a76565b5b5b5b5b505050565b60008383111582906122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122a0578082015181840152602081019050612285565b50505050905090810190601f1680156122cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008082840190508381101561236c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006123b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061222e565b905092915050565b60008060006123cd612f72565b915091506123e481836123eb90919063ffffffff16565b9250505090565b600061242d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613203565b905092915050565b600080600080612474606461246660646124588a8c6132c990919063ffffffff16565b6123eb90919063ffffffff16565b6123eb90919063ffffffff16565b905060006124b160646124a360646124958a8d6132c990919063ffffffff16565b6123eb90919063ffffffff16565b6123eb90919063ffffffff16565b905060006124da826124cc858c61237690919063ffffffff16565b61237690919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061250a85896132c990919063ffffffff16565b9050600061252186896132c990919063ffffffff16565b9050600061253887896132c990919063ffffffff16565b9050600061256182612553858761237690919063ffffffff16565b61237690919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006125846123c0565b905060008060008060008061259888611c8e565b95509550955095509550955060006125b988836132c990919063ffffffff16565b905061260d89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a287600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061273786600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127868582858561334f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b60006128026123c0565b905060008060008060008061281688611c8e565b955095509550955095509550600061283788836132c990919063ffffffff16565b905061288b87600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061292084600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b586600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a048582858561334f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612a806123c0565b9050600080600080600080612a9488611c8e565b9550955095509550955095506000612ab588836132c990919063ffffffff16565b9050612b0987600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b9e86600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bed8582858561334f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000612c696123c0565b9050600080600080600080612c7d88611c8e565b9550955095509550955095506000612c9e88836132c990919063ffffffff16565b9050612cf289600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d8787600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237690919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e1c84600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612eb186600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ee90919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f008582858561334f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b600080600060075490506000600654905060005b6005805490508110156131c657826001600060058481548110612fa557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061308c575081600260006005848154811061302457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156130a357600754600654945094505050506131ff565b61312c60016000600584815481106130b757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461237690919063ffffffff16565b92506131b7600260006005848154811061314257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361237690919063ffffffff16565b91508080600101915050612f86565b506131de6006546007546123eb90919063ffffffff16565b8210156131f6576007546006549350935050506131ff565b81819350935050505b9091565b600080831182906132af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613274578082015181840152602081019050613259565b50505050905090810190601f1680156132a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816132bb57fe5b049050809150509392505050565b6000808314156132dc5760009050613349565b60008284029050828482816132ed57fe5b0414613344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134bc6021913960400191505060405180910390fd5b809150505b92915050565b613376836133688660075461237690919063ffffffff16565b61237690919063ffffffff16565b600781905550613391826008546122ee90919063ffffffff16565b6008819055506133ac816009546122ee90919063ffffffff16565b6009819055506133c78160065461237690919063ffffffff16565b6006819055505050505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c206d61676e6574696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f42455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f57652063616e206e6f74206578636c75646520556e697377617020726f757465722e4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e42455032303a20617070726f766520746f20746865207a65726f2061646472657373a26469706673582212205ac809140c41d65aadfd4462d7866ad06793954697048c53c0cf1d0ef3bcdaaa64736f6c634300060c0033
Deployed ByteCode Sourcemap
7438:12037:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8670:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9581:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11272:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10692:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8947:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9750:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8856:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10071:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10887:377;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10791:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9050:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7022:148;;;:::i;:::-;;6717:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8761:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10297:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9255:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11715:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10574:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9430:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11974:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7184:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12424:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8670:83;8707:13;8740:5;;;;;;;;;;;;;;;;;8733:12;;8670:83;:::o;9581:161::-;9656:4;9673:39;9682:12;:10;:12::i;:::-;9696:7;9705:6;9673:8;:39::i;:::-;9730:4;9723:11;;9581:161;;;;:::o;11272:435::-;11361:7;11400;;11389;:18;;11381:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11459:17;11454:246;;11494:15;11518:19;11529:7;11518:10;:19::i;:::-;11493:44;;;;;;;11559:7;11552:14;;;;;11454:246;11601:23;11632:19;11643:7;11632:10;:19::i;:::-;11599:52;;;;;;;11673:15;11666:22;;;11272:435;;;;;:::o;10692:87::-;10734:7;10761:10;;10754:17;;10692:87;:::o;8947:95::-;9000:7;9027;;9020:14;;8947:95;:::o;9750:313::-;9848:4;9865:36;9875:6;9883:9;9894:6;9865:9;:36::i;:::-;9912:121;9921:6;9929:12;:10;:12::i;:::-;9943:89;9981:6;9943:89;;;;;;;;;;;;;;;;;:11;:19;9955:6;9943:19;;;;;;;;;;;;;;;:33;9963:12;:10;:12::i;:::-;9943:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9912:8;:121::i;:::-;10051:4;10044:11;;9750:313;;;;;:::o;8856:83::-;8897:5;7970:1;8915:16;;8856:83;:::o;10071:218::-;10159:4;10176:83;10185:12;:10;:12::i;:::-;10199:7;10208:50;10247:10;10208:11;:25;10220:12;:10;:12::i;:::-;10208:25;;;;;;;;;;;;;;;:34;10234:7;10208:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;10176:8;:83::i;:::-;10277:4;10270:11;;10071:218;;;;:::o;10887:377::-;10939:14;10956:12;:10;:12::i;:::-;10939:29;;10988:11;:19;11000:6;10988:19;;;;;;;;;;;;;;;;;;;;;;;;;10987:20;10979:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11068:15;11092:19;11103:7;11092:10;:19::i;:::-;11067:44;;;;;;;11140:28;11160:7;11140;:15;11148:6;11140:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11122:7;:15;11130:6;11122:15;;;;;;;;;;;;;;;:46;;;;11189:20;11201:7;11189;;:11;;:20;;;;:::i;:::-;11179:7;:30;;;;11233:23;11248:7;11233:10;;:14;;:23;;;;:::i;:::-;11220:10;:36;;;;10887:377;;;:::o;10791:88::-;10833:7;10860:11;;10853:18;;10791:88;:::o;9050:197::-;9116:7;9140:11;:20;9152:7;9140:20;;;;;;;;;;;;;;;;;;;;;;;;;9136:49;;;9169:7;:16;9177:7;9169:16;;;;;;;;;;;;;;;;9162:23;;;;9136:49;9203:36;9222:7;:16;9230:7;9222:16;;;;;;;;;;;;;;;;9203:18;:36::i;:::-;9196:43;;9050:197;;;;:::o;7022:148::-;6939:12;:10;:12::i;:::-;6929:22;;:6;;;;;;;;;;:22;;;6921:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7129:1:::1;7092:40;;7113:6;::::0;::::1;;;;;;;;7092:40;;;;;;;;;;;;7160:1;7143:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7022:148::o:0;6717:79::-;6755:7;6782:6;;;;;;;;;;;6775:13;;6717:79;:::o;8761:87::-;8800:13;8833:7;;;;;;;;;;;;;;;;;8826:14;;8761:87;:::o;10297:269::-;10390:4;10407:129;10416:12;:10;:12::i;:::-;10430:7;10439:96;10478:15;10439:96;;;;;;;;;;;;;;;;;:11;:25;10451:12;:10;:12::i;:::-;10439:25;;;;;;;;;;;;;;;:34;10465:7;10439:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;10407:8;:129::i;:::-;10554:4;10547:11;;10297:269;;;;:::o;9255:167::-;9333:4;9350:42;9360:12;:10;:12::i;:::-;9374:9;9385:6;9350:9;:42::i;:::-;9410:4;9403:11;;9255:167;;;;:::o;11715:251::-;11780:7;11819;;11808;:18;;11800:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11883:19;11906:10;:8;:10::i;:::-;11883:33;;11934:24;11946:11;11934:7;:11;;:24;;;;:::i;:::-;11927:31;;;11715:251;;;:::o;10574:110::-;10632:4;10656:11;:20;10668:7;10656:20;;;;;;;;;;;;;;;;;;;;;;;;;10649:27;;10574:110;;;:::o;9430:143::-;9511:7;9538:11;:18;9550:5;9538:18;;;;;;;;;;;;;;;:27;9557:7;9538:27;;;;;;;;;;;;;;;;9531:34;;9430:143;;;;:::o;11974:442::-;6939:12;:10;:12::i;:::-;6929:22;;:6;;;;;;;;;;:22;;;6921:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12066:42:::1;12055:53;;:7;:53;;;;12047:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12167:11;:20;12179:7;12167:20;;;;;;;;;;;;;;;;;;;;;;;;;12166:21;12158:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12252:1;12233:7;:16;12241:7;12233:16;;;;;;;;;;;;;;;;:20;12230:107;;;12289:36;12308:7;:16;12316:7;12308:16;;;;;;;;;;;;;;;;12289:18;:36::i;:::-;12270:7;:16;12278:7;12270:16;;;;;;;;;;;;;;;:55;;;;12230:107;12370:4;12347:11;:20;12359:7;12347:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12385:9;12400:7;12385:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11974:442:::0;:::o;7184:244::-;6939:12;:10;:12::i;:::-;6929:22;;:6;;;;;;;;;;:22;;;6921:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7293:1:::1;7273:22;;:8;:22;;;;7265:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7383:8;7354:38;;7375:6;::::0;::::1;;;;;;;;7354:38;;;;;;;;;;;;7412:8;7403:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;7184:244:::0;:::o;12424:478::-;6939:12;:10;:12::i;:::-;6929:22;;:6;;;;;;;;;;:22;;;6921:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12505:11:::1;:20;12517:7;12505:20;;;;;;;;;;;;;;;;;;;;;;;;;12497:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12573:9;12568:327;12592:9;:16;;;;12588:1;:20;12568:327;;;12650:7;12634:23;;:9;12644:1;12634:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;12630:254;;;12693:9;12722:1;12703:9;:16;;;;:20;12693:31;;;;;;;;;;;;;;;;;;;;;;;;;12678:9;12688:1;12678:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12762:1;12743:7;:16;12751:7;12743:16;;;;;;;;;;;;;;;:20;;;;12805:5;12782:11;:20;12794:7;12782:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12829:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12863:5;;12630:254;12610:3;;;;;;;12568:327;;;;12424:478:::0;:::o;237:106::-;290:15;325:10;318:17;;237:106;:::o;12910:337::-;13020:1;13003:19;;:5;:19;;;;12995:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13101:1;13082:21;;:7;:21;;;;13074:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13185:6;13155:11;:18;13167:5;13155:18;;;;;;;;;;;;;;;:27;13174:7;13155:27;;;;;;;;;;;;;;;:36;;;;13223:7;13207:32;;13216:5;13207:32;;;13232:6;13207:32;;;;;;;;;;;;;;;;;;12910:337;;;:::o;17235:470::-;17294:7;17303;17312;17321;17330;17339;17360:23;17385:12;17399:13;17416:41;17428:7;8396:3;8446;17416:11;:41::i;:::-;17359:98;;;;;;17468:19;17491:10;:8;:10::i;:::-;17468:33;;17513:15;17530:23;17555:12;17571:46;17583:7;17592:4;17598:5;17605:11;17571;:46::i;:::-;17512:105;;;;;;17636:7;17645:15;17662:4;17668:15;17685:4;17691:5;17628:69;;;;;;;;;;;;;;;;;;;17235:470;;;;;;;:::o;13255:1096::-;13370:1;13352:20;;:6;:20;;;;13344:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13454:1;13433:23;;:9;:23;;;;13425:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13524:1;13515:6;:10;13507:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13605:7;:5;:7::i;:::-;13595:17;;:6;:17;;;;:41;;;;;13629:7;:5;:7::i;:::-;13616:20;;:9;:20;;;;13595:41;13592:134;;;7970:1;8081:18;;8075:2;:24;8496:9;:26;13659:6;:22;;13651:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13592:134;13751:11;:19;13763:6;13751:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13775:11;:22;13787:9;13775:22;;;;;;;;;;;;;;;;;;;;;;;;;13774:23;13751:46;13747:597;;;13814:48;13836:6;13844:9;13855:6;13814:21;:48::i;:::-;13747:597;;;13885:11;:19;13897:6;13885:19;;;;;;;;;;;;;;;;;;;;;;;;;13884:20;:46;;;;;13908:11;:22;13920:9;13908:22;;;;;;;;;;;;;;;;;;;;;;;;;13884:46;13880:464;;;13947:46;13967:6;13975:9;13986:6;13947:19;:46::i;:::-;13880:464;;;14016:11;:19;14028:6;14016:19;;;;;;;;;;;;;;;;;;;;;;;;;14015:20;:47;;;;;14040:11;:22;14052:9;14040:22;;;;;;;;;;;;;;;;;;;;;;;;;14039:23;14015:47;14011:333;;;14079:44;14097:6;14105:9;14116:6;14079:17;:44::i;:::-;14011:333;;;14145:11;:19;14157:6;14145:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;14168:11;:22;14180:9;14168:22;;;;;;;;;;;;;;;;;;;;;;;;;14145:45;14141:203;;;14207:48;14229:6;14237:9;14248:6;14207:21;:48::i;:::-;14141:203;;;14288:44;14306:6;14314:9;14325:6;14288:17;:44::i;:::-;14141:203;14011:333;13880:464;13747:597;13255:1096;;;:::o;1694:192::-;1780:7;1813:1;1808;:6;;1816:12;1800:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1840:9;1856:1;1852;:5;1840:17;;1877:1;1870:8;;;1694:192;;;;;:::o;1351:181::-;1409:7;1429:9;1445:1;1441;:5;1429:17;;1470:1;1465;:6;;1457:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1523:1;1516:8;;;1351:181;;;;:::o;1545:136::-;1603:7;1630:43;1634:1;1637;1630:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1623:50;;1545:136;;;;:::o;18533:163::-;18574:7;18595:15;18612;18631:19;:17;:19::i;:::-;18594:56;;;;18668:20;18680:7;18668;:11;;:20;;;;:::i;:::-;18661:27;;;;18533:163;:::o;2385:132::-;2443:7;2470:39;2474:1;2477;2470:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2463:46;;2385:132;;;;:::o;17713:395::-;17806:7;17815;17824;17844:12;17859:50;17905:3;17860:39;8146:3;17861:19;17873:6;17861:7;:11;;:19;;;;:::i;:::-;17860:25;;:39;;;;:::i;:::-;17859:45;;:50;;;;:::i;:::-;17844:65;;17920:13;17936:51;17983:3;17937:40;8146:3;17938:20;17950:7;17938;:11;;:20;;;;:::i;:::-;17937:26;;:40;;;;:::i;:::-;17936:46;;:51;;;;:::i;:::-;17920:67;;17998:23;18024:28;18046:5;18024:17;18036:4;18024:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17998:54;;18071:15;18088:4;18094:5;18063:37;;;;;;;;;17713:395;;;;;;;:::o;18116:409::-;18226:7;18235;18244;18264:15;18282:24;18294:11;18282:7;:11;;:24;;;;:::i;:::-;18264:42;;18317:12;18332:21;18341:11;18332:4;:8;;:21;;;;:::i;:::-;18317:36;;18364:13;18380:22;18390:11;18380:5;:9;;:22;;;;:::i;:::-;18364:38;;18413:23;18439:28;18461:5;18439:17;18451:4;18439:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18413:54;;18486:7;18495:15;18512:4;18478:39;;;;;;;;;;18116:409;;;;;;;;:::o;15600:631::-;15702:19;15725:10;:8;:10::i;:::-;15702:33;;15747:15;15764:23;15789:12;15803:23;15828:12;15842:13;15859:19;15870:7;15859:10;:19::i;:::-;15746:132;;;;;;;;;;;;15889:13;15906:22;15916:11;15906:5;:9;;:22;;;;:::i;:::-;15889:39;;15957:28;15977:7;15957;:15;15965:6;15957:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15939:7;:15;15947:6;15939:15;;;;;;;;;;;;;;;:46;;;;16014:28;16034:7;16014;:15;16022:6;16014:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15996:7;:15;16004:6;15996:15;;;;;;;;;;;;;;;:46;;;;16074:39;16097:15;16074:7;:18;16082:9;16074:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16053:7;:18;16061:9;16053:18;;;;;;;;;;;;;;;:60;;;;16127:36;16138:4;16144:5;16151:4;16157:5;16127:10;:36::i;:::-;16196:9;16179:44;;16188:6;16179:44;;;16207:15;16179:44;;;;;;;;;;;;;;;;;;15600:631;;;;;;;;;;;:::o;14941:651::-;15041:19;15064:10;:8;:10::i;:::-;15041:33;;15086:15;15103:23;15128:12;15142:23;15167:12;15181:13;15198:19;15209:7;15198:10;:19::i;:::-;15085:132;;;;;;;;;;;;15228:13;15245:22;15255:11;15245:5;:9;;:22;;;;:::i;:::-;15228:39;;15296:28;15316:7;15296;:15;15304:6;15296:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15278:7;:15;15286:6;15278:15;;;;;;;;;;;;;;;:46;;;;15356:39;15379:15;15356:7;:18;15364:9;15356:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15335:7;:18;15343:9;15335:18;;;;;;;;;;;;;;;:60;;;;15427:39;15450:15;15427:7;:18;15435:9;15427:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15406:7;:18;15414:9;15406:18;;;;;;;;;;;;;;;:60;;;;15488:36;15499:4;15505:5;15512:4;15518:5;15488:10;:36::i;:::-;15557:9;15540:44;;15549:6;15540:44;;;15568:15;15540:44;;;;;;;;;;;;;;;;;;14941:651;;;;;;;;;;;:::o;14359:574::-;14457:19;14480:10;:8;:10::i;:::-;14457:33;;14502:15;14519:23;14544:12;14558:23;14583:12;14597:13;14614:19;14625:7;14614:10;:19::i;:::-;14501:132;;;;;;;;;;;;14644:13;14661:22;14671:11;14661:5;:9;;:22;;;;:::i;:::-;14644:39;;14712:28;14732:7;14712;:15;14720:6;14712:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14694:7;:15;14702:6;14694:15;;;;;;;;;;;;;;;:46;;;;14772:39;14795:15;14772:7;:18;14780:9;14772:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14751:7;:18;14759:9;14751:18;;;;;;;;;;;;;;;:60;;;;14829:36;14840:4;14846:5;14853:4;14859:5;14829:10;:36::i;:::-;14898:9;14881:44;;14890:6;14881:44;;;14909:15;14881:44;;;;;;;;;;;;;;;;;;14359:574;;;;;;;;;;;:::o;16239:707::-;16341:19;16364:10;:8;:10::i;:::-;16341:33;;16386:15;16403:23;16428:12;16442:23;16467:12;16481:13;16498:19;16509:7;16498:10;:19::i;:::-;16385:132;;;;;;;;;;;;16528:13;16545:22;16555:11;16545:5;:9;;:22;;;;:::i;:::-;16528:39;;16596:28;16616:7;16596;:15;16604:6;16596:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16578:7;:15;16586:6;16578:15;;;;;;;;;;;;;;;:46;;;;16653:28;16673:7;16653;:15;16661:6;16653:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16635:7;:15;16643:6;16635:15;;;;;;;;;;;;;;;:46;;;;16713:39;16736:15;16713:7;:18;16721:9;16713:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16692:7;:18;16700:9;16692:18;;;;;;;;;;;;;;;:60;;;;16784:39;16807:15;16784:7;:18;16792:9;16784:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16763:7;:18;16771:9;16763:18;;;;;;;;;;;;;;;:60;;;;16842:36;16853:4;16859:5;16866:4;16872:5;16842:10;:36::i;:::-;16911:9;16894:44;;16903:6;16894:44;;;16922:15;16894:44;;;;;;;;;;;;;;;;;;16239:707;;;;;;;;;;;:::o;18704:561::-;18754:7;18763;18783:15;18801:7;;18783:25;;18819:15;18837:7;;18819:25;;18866:9;18861:289;18885:9;:16;;;;18881:1;:20;18861:289;;;18951:7;18927;:21;18935:9;18945:1;18935:12;;;;;;;;;;;;;;;;;;;;;;;;;18927:21;;;;;;;;;;;;;;;;:31;:66;;;;18986:7;18962;:21;18970:9;18980:1;18970:12;;;;;;;;;;;;;;;;;;;;;;;;;18962:21;;;;;;;;;;;;;;;;:31;18927:66;18923:97;;;19003:7;;19012;;18995:25;;;;;;;;;18923:97;19045:34;19057:7;:21;19065:9;19075:1;19065:12;;;;;;;;;;;;;;;;;;;;;;;;;19057:21;;;;;;;;;;;;;;;;19045:7;:11;;:34;;;;:::i;:::-;19035:44;;19104:34;19116:7;:21;19124:9;19134:1;19124:12;;;;;;;;;;;;;;;;;;;;;;;;;19116:21;;;;;;;;;;;;;;;;19104:7;:11;;:34;;;;:::i;:::-;19094:44;;18903:3;;;;;;;18861:289;;;;19174:20;19186:7;;19174;;:11;;:20;;;;:::i;:::-;19164:7;:30;19160:61;;;19204:7;;19213;;19196:25;;;;;;;;19160:61;19240:7;19249;19232:25;;;;;;18704:561;;;:::o;2531:278::-;2617:7;2649:1;2645;:5;2652:12;2637:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2676:9;2692:1;2688;:5;;;;;;2676:17;;2800:1;2793:8;;;2531:278;;;;;:::o;1900:471::-;1958:7;2208:1;2203;:6;2199:47;;;2233:1;2226:8;;;;2199:47;2258:9;2274:1;2270;:5;2258:17;;2303:1;2298;2294;:5;;;;;;:10;2286:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2362:1;2355:8;;;1900:471;;;;;:::o;16954:273::-;17061:28;17083:5;17061:17;17073:4;17061:7;;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17051:7;:38;;;;17113:20;17128:4;17113:10;;:14;;:20;;;;:::i;:::-;17100:10;:33;;;;17158:22;17174:5;17158:11;;:15;;:22;;;;:::i;:::-;17144:11;:36;;;;17201:18;17213:5;17201:7;;:11;;:18;;;;:::i;:::-;17191:7;:28;;;;16954:273;;;;:::o
Swarm Source
ipfs://5ac809140c41d65aadfd4462d7866ad06793954697048c53c0cf1d0ef3bcdaaa
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.