ERC-20
Overview
Max Total Supply
32,000,000,000,000 DogiMusk💩🐕
Holders
6
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 12 Decimals)
Balance
33,369,564,471.608967507576 DogiMusk💩🐕Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DogiMusk
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-11 */ pragma solidity 0.6.6; // ---------------------------------------------------------------------------- // 'DogiMusk💩🐕' token contract // // Symbol : DogiMusk💩🐕' // Name : Doggy Musk // Total supply: 32000000000000 // Decimals : 12 // // Enjoy. // PURPOSE : Musk is just piece of shit who try to fuck the existence of Satoshi // by Shrilling Doge. @ElonMusk how about starting new crypto system // Like Vitalik Buterin, Gavin Wood, Justin Sun... you doggy shit! // If your Doge can moon... may be your shit can moon too. // // (c) by Ahiwe Onyebuchi Valentine. Modified By JTA // ---------------------------------------------------------------------------- /** * IERC20.sol * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event. */ function transfer( address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * This value changes when {approve} or {transferFrom} are called. */ function allowance( address owner, address spender) external view returns (uint256); /** * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * Emits an {Approval} event. */ function approve( address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event */ function transferFrom( address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer( address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value); } /** * SafeMath.sol * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * Requirements: * - Multiplication cannot overflow. */ 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; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be 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; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /* * Context.sol * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } // silence state mutability warning without generating bytecode // see https://github.com/ethereum/solidity/issues/2691 function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ 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); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ 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"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ 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"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ 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"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ 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 DogiMusk is Context, IERC20, 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; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 32000000000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = 'Doggy Musk'; string private _symbol = 'DogiMusk💩🐕'; uint8 private _decimals = 12; 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 tokenFromReflection(_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, "ERC20: 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, "ERC20: 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 reflect(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 reflectionFromToken(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 tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_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), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); 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 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(2); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"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":[],"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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"tokenFromReflection","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
60806040526a1a784379d99db420000000600019816200001b57fe5b06600019036006556040518060400160405280600a81526020017f446f676779204d75736b0000000000000000000000000000000000000000000081525060089080519060200190620000709291906200027c565b506040518060400160405280601081526020017f446f67694d75736bf09f92a9f09f90950000000000000000000000000000000081525060099080519060200190620000be9291906200027c565b50600c600a60006101000a81548160ff021916908360ff160217905550348015620000e857600080fd5b506000620000fb6200027460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001b06200027460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fe6200027460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a1a784379d99db4200000006040518082815260200191505060405180910390a36200032b565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002bf57805160ff1916838001178555620002f0565b82800160010185558215620002f0579182015b82811115620002ef578251825591602001919060010190620002d2565b5b509050620002ff919062000303565b5090565b6200032891905b80821115620003245760008160009055506001016200030a565b5090565b90565b6133a0806200033b6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb146105c4578063cba0e9961461062a578063dd62ed3e14610686578063f2cc0c18146106fe578063f2fde38b14610742578063f84354f11461078657610137565b806370a082311461042f578063715018a6146104875780638da5cb5b1461049157806395d89b41146104db578063a457c2d71461055e57610137565b806323b872dd116100ff57806323b872dd1461028f5780632d83811914610315578063313ce56714610357578063395093511461037b5780634549b039146103e157610137565b8063053ab1821461013c57806306fdde031461016a578063095ea7b3146101ed57806313114a9d1461025357806318160ddd14610271575b600080fd5b6101686004803603602081101561015257600080fd5b81019080803590602001909291905050506107ca565b005b61017261095a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b2578082015181840152602081019050610197565b50505050905090810190601f1680156101df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102396004803603604081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109fc565b604051808215151515815260200191505060405180910390f35b61025b610a1a565b6040518082815260200191505060405180910390f35b610279610a24565b6040518082815260200191505060405180910390f35b6102fb600480360360608110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a37565b604051808215151515815260200191505060405180910390f35b6103416004803603602081101561032b57600080fd5b8101908080359060200190929190505050610b10565b6040518082815260200191505060405180910390f35b61035f610b94565b604051808260ff1660ff16815260200191505060405180910390f35b6103c76004803603604081101561039157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b610419600480360360408110156103f757600080fd5b8101908080359060200190929190803515159060200190929190505050610c5e565b6040518082815260200191505060405180910390f35b6104716004803603602081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d1c565b6040518082815260200191505060405180910390f35b61048f610e07565b005b610499610f8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e3610fb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610523578082015181840152602081019050610508565b50505050905090810190601f1680156105505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105aa6004803603604081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105a565b604051808215151515815260200191505060405180910390f35b610610600480360360408110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611127565b604051808215151515815260200191505060405180910390f35b61066c6004803603602081101561064057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611145565b604051808215151515815260200191505060405180910390f35b6106e86004803603604081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119b565b6040518082815260200191505060405180910390f35b6107406004803603602081101561071457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611222565b005b6107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061153d565b005b6107c86004803603602081101561079c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174a565b005b60006107d4611ad8565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061331a602c913960400191505060405180910390fd5b600061088483611ae0565b5050505090506108dc81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093481600654611b3890919063ffffffff16565b60068190555061094f83600754611b8290919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109f25780601f106109c7576101008083540402835291602001916109f2565b820191906000526020600020905b8154815290600101906020018083116109d557829003601f168201915b5050505050905090565b6000610a10610a09611ad8565b8484611c0a565b6001905092915050565b6000600754905090565b60006a1a784379d99db420000000905090565b6000610a44848484611e01565b610b0584610a50611ad8565b610b008560405180606001604052806028815260200161328060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab6611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225a9092919063ffffffff16565b611c0a565b600190509392505050565b6000600654821115610b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806131ed602a913960400191505060405180910390fd5b6000610b7761231a565b9050610b8c818461234590919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610c54610bb8611ad8565b84610c4f8560036000610bc9611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b611c0a565b6001905092915050565b60006a1a784379d99db420000000831115610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610d00576000610cf184611ae0565b50505050905080915050610d16565b6000610d0b84611ae0565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610db757600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e02565b610dff600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b10565b90505b919050565b610e0f611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110505780601f1061102557610100808354040283529160200191611050565b820191906000526020600020905b81548152906001019060200180831161103357829003601f168201915b5050505050905090565b600061111d611067611ad8565b84611118856040518060600160405280602581526020016133466025913960036000611091611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225a9092919063ffffffff16565b611c0a565b6001905092915050565b600061113b611134611ad8565b8484611e01565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61122a611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561147f5761143b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b10565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611545611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561168c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806132176026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611752611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611813576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60008090505b600580549050811015611ad4578173ffffffffffffffffffffffffffffffffffffffff166005828154811061190957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ac75760056001600580549050038154811061196557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005828154811061199d57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611a8d57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611ad4565b80806001019150506118d8565b5050565b600033905090565b6000806000806000806000611af48861238f565b915091506000611b0261231a565b90506000806000611b148c86866123e1565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611b7a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061225a565b905092915050565b600080828401905083811015611c00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132f66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061323d6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806132d16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806131ca6023913960400191505060405180910390fd5b60008111611f66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806132a86029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120095750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201e5761201983838361243f565b612255565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120c15750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120d6576120d1838383612692565b612254565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561217a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218f5761218a8383836128e5565b612253565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122315750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561224657612241838383612aa3565b612252565b6122518383836128e5565b5b5b5b5b505050565b6000838311158290612307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122cc5780820151818401526020810190506122b1565b50505050905090810190601f1680156122f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612327612d8b565b9150915061233e818361234590919063ffffffff16565b9250505090565b600061238783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613043565b905092915050565b60008060006123bb60026123ad60648761234590919063ffffffff16565b61310990919063ffffffff16565b905060006123d28286611b3890919063ffffffff16565b90508082935093505050915091565b6000806000806123fa858861310990919063ffffffff16565b90506000612411868861310990919063ffffffff16565b905060006124288284611b3890919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061245086611ae0565b945094509450945094506124ac86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612623838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006126a386611ae0565b945094509450945094506126ff85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061279482600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061282984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612876838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006128f686611ae0565b9450945094509450945061295285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129e784600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a34838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ab486611ae0565b94509450945094509450612b1086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3a82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ccf84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1c838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000600654905060006a1a784379d99db420000000905060008090505b600580549050811015612ff457826001600060058481548110612dca57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612eb15750816002600060058481548110612e4957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612ed1576006546a1a784379d99db4200000009450945050505061303f565b612f5a6001600060058481548110612ee557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b3890919063ffffffff16565b9250612fe56002600060058481548110612f7057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b3890919063ffffffff16565b91508080600101915050612dab565b506130156a1a784379d99db42000000060065461234590919063ffffffff16565b821015613036576006546a1a784379d99db42000000093509350505061303f565b81819350935050505b9091565b600080831182906130ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130b4578082015181840152602081019050613099565b50505050905090810190601f1680156130e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130fb57fe5b049050809150509392505050565b60008083141561311c5760009050613189565b600082840290508284828161312d57fe5b0414613184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061325f6021913960400191505060405180910390fd5b809150505b92915050565b6131a482600654611b3890919063ffffffff16565b6006819055506131bf81600754611b8290919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205855d0ba26973f5f99c9b7c336939cd65cda839027668d53ef341754d268968b64736f6c63430006060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063a9059cbb1161007c578063a9059cbb146105c4578063cba0e9961461062a578063dd62ed3e14610686578063f2cc0c18146106fe578063f2fde38b14610742578063f84354f11461078657610137565b806370a082311461042f578063715018a6146104875780638da5cb5b1461049157806395d89b41146104db578063a457c2d71461055e57610137565b806323b872dd116100ff57806323b872dd1461028f5780632d83811914610315578063313ce56714610357578063395093511461037b5780634549b039146103e157610137565b8063053ab1821461013c57806306fdde031461016a578063095ea7b3146101ed57806313114a9d1461025357806318160ddd14610271575b600080fd5b6101686004803603602081101561015257600080fd5b81019080803590602001909291905050506107ca565b005b61017261095a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b2578082015181840152602081019050610197565b50505050905090810190601f1680156101df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102396004803603604081101561020357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109fc565b604051808215151515815260200191505060405180910390f35b61025b610a1a565b6040518082815260200191505060405180910390f35b610279610a24565b6040518082815260200191505060405180910390f35b6102fb600480360360608110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a37565b604051808215151515815260200191505060405180910390f35b6103416004803603602081101561032b57600080fd5b8101908080359060200190929190505050610b10565b6040518082815260200191505060405180910390f35b61035f610b94565b604051808260ff1660ff16815260200191505060405180910390f35b6103c76004803603604081101561039157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bab565b604051808215151515815260200191505060405180910390f35b610419600480360360408110156103f757600080fd5b8101908080359060200190929190803515159060200190929190505050610c5e565b6040518082815260200191505060405180910390f35b6104716004803603602081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d1c565b6040518082815260200191505060405180910390f35b61048f610e07565b005b610499610f8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e3610fb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610523578082015181840152602081019050610508565b50505050905090810190601f1680156105505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105aa6004803603604081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105a565b604051808215151515815260200191505060405180910390f35b610610600480360360408110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611127565b604051808215151515815260200191505060405180910390f35b61066c6004803603602081101561064057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611145565b604051808215151515815260200191505060405180910390f35b6106e86004803603604081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119b565b6040518082815260200191505060405180910390f35b6107406004803603602081101561071457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611222565b005b6107846004803603602081101561075857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061153d565b005b6107c86004803603602081101561079c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174a565b005b60006107d4611ad8565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061331a602c913960400191505060405180910390fd5b600061088483611ae0565b5050505090506108dc81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093481600654611b3890919063ffffffff16565b60068190555061094f83600754611b8290919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109f25780601f106109c7576101008083540402835291602001916109f2565b820191906000526020600020905b8154815290600101906020018083116109d557829003601f168201915b5050505050905090565b6000610a10610a09611ad8565b8484611c0a565b6001905092915050565b6000600754905090565b60006a1a784379d99db420000000905090565b6000610a44848484611e01565b610b0584610a50611ad8565b610b008560405180606001604052806028815260200161328060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab6611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225a9092919063ffffffff16565b611c0a565b600190509392505050565b6000600654821115610b6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806131ed602a913960400191505060405180910390fd5b6000610b7761231a565b9050610b8c818461234590919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610c54610bb8611ad8565b84610c4f8560036000610bc9611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b611c0a565b6001905092915050565b60006a1a784379d99db420000000831115610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610d00576000610cf184611ae0565b50505050905080915050610d16565b6000610d0b84611ae0565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610db757600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e02565b610dff600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b10565b90505b919050565b610e0f611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110505780601f1061102557610100808354040283529160200191611050565b820191906000526020600020905b81548152906001019060200180831161103357829003601f168201915b5050505050905090565b600061111d611067611ad8565b84611118856040518060600160405280602581526020016133466025913960036000611091611ad8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225a9092919063ffffffff16565b611c0a565b6001905092915050565b600061113b611134611ad8565b8484611e01565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61122a611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561147f5761143b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b10565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611545611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561168c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806132176026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611752611ad8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611813576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60008090505b600580549050811015611ad4578173ffffffffffffffffffffffffffffffffffffffff166005828154811061190957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ac75760056001600580549050038154811061196557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005828154811061199d57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611a8d57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611ad4565b80806001019150506118d8565b5050565b600033905090565b6000806000806000806000611af48861238f565b915091506000611b0261231a565b90506000806000611b148c86866123e1565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611b7a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061225a565b905092915050565b600080828401905083811015611c00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132f66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061323d6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806132d16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806131ca6023913960400191505060405180910390fd5b60008111611f66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806132a86029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120095750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201e5761201983838361243f565b612255565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120c15750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120d6576120d1838383612692565b612254565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561217a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218f5761218a8383836128e5565b612253565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122315750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561224657612241838383612aa3565b612252565b6122518383836128e5565b5b5b5b5b505050565b6000838311158290612307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122cc5780820151818401526020810190506122b1565b50505050905090810190601f1680156122f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612327612d8b565b9150915061233e818361234590919063ffffffff16565b9250505090565b600061238783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613043565b905092915050565b60008060006123bb60026123ad60648761234590919063ffffffff16565b61310990919063ffffffff16565b905060006123d28286611b3890919063ffffffff16565b90508082935093505050915091565b6000806000806123fa858861310990919063ffffffff16565b90506000612411868861310990919063ffffffff16565b905060006124288284611b3890919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061245086611ae0565b945094509450945094506124ac86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612623838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006126a386611ae0565b945094509450945094506126ff85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061279482600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061282984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612876838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006128f686611ae0565b9450945094509450945061295285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129e784600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a34838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ab486611ae0565b94509450945094509450612b1086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3890919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3a82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ccf84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8290919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1c838261318f565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000600654905060006a1a784379d99db420000000905060008090505b600580549050811015612ff457826001600060058481548110612dca57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612eb15750816002600060058481548110612e4957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612ed1576006546a1a784379d99db4200000009450945050505061303f565b612f5a6001600060058481548110612ee557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b3890919063ffffffff16565b9250612fe56002600060058481548110612f7057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b3890919063ffffffff16565b91508080600101915050612dab565b506130156a1a784379d99db42000000060065461234590919063ffffffff16565b821015613036576006546a1a784379d99db42000000093509350505061303f565b81819350935050505b9091565b600080831182906130ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130b4578082015181840152602081019050613099565b50505050905090810190601f1680156130e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130fb57fe5b049050809150509392505050565b60008083141561311c5760009050613189565b600082840290508284828161312d57fe5b0414613184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061325f6021913960400191505060405180910390fd5b809150505b92915050565b6131a482600654611b3890919063ffffffff16565b6006819055506131bf81600754611b8290919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205855d0ba26973f5f99c9b7c336939cd65cda839027668d53ef341754d268968b64736f6c63430006060033
Deployed Bytecode Sourcemap
17739:10141:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17739:10141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;20722:376:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20722:376:0;;;;;;;;;;;;;;;;;:::i;:::-;;18604:83;;;:::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;18604:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19516:161;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;19516:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20627:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18881:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19685:313;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;19685:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21548:253;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;21548:253:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18790:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20006:218;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20006:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21106:434;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;21106:434:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18984:198;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18984:198:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17183:148;;;:::i;:::-;;16541:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18695:87;;;:::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;18695:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20232:269;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20232:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19190:167;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;19190:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20509:110;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20509:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19365:143;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;19365:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21809:332;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;21809:332:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;17486:244;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17486:244:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;22149:478;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;22149:478:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;20722:376;20774:14;20791:12;:10;:12::i;:::-;20774:29;;20823:11;:19;20835:6;20823:19;;;;;;;;;;;;;;;;;;;;;;;;;20822:20;20814:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20903:15;20926:19;20937:7;20926:10;:19::i;:::-;20902:43;;;;;;20974:28;20994:7;20974;:15;20982:6;20974:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20956:7;:15;20964:6;20956:15;;;;;;;;;;;;;;;:46;;;;21023:20;21035:7;21023;;:11;;:20;;;;:::i;:::-;21013:7;:30;;;;21067:23;21082:7;21067:10;;:14;;:23;;;;:::i;:::-;21054:10;:36;;;;20722:376;;;:::o;18604:83::-;18641:13;18674:5;18667:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18604:83;:::o;19516:161::-;19591:4;19608:39;19617:12;:10;:12::i;:::-;19631:7;19640:6;19608:8;:39::i;:::-;19665:4;19658:11;;19516:161;;;;:::o;20627:87::-;20669:7;20696:10;;20689:17;;20627:87;:::o;18881:95::-;18934:7;18211:27;18954:14;;18881:95;:::o;19685:313::-;19783:4;19800:36;19810:6;19818:9;19829:6;19800:9;:36::i;:::-;19847:121;19856:6;19864:12;:10;:12::i;:::-;19878:89;19916:6;19878:89;;;;;;;;;;;;;;;;;:11;:19;19890:6;19878:19;;;;;;;;;;;;;;;:33;19898:12;:10;:12::i;:::-;19878:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19847:8;:121::i;:::-;19986:4;19979:11;;19685:313;;;;;:::o;21548:253::-;21614:7;21653;;21642;:18;;21634:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21718:19;21741:10;:8;:10::i;:::-;21718:33;;21769:24;21781:11;21769:7;:11;;:24;;;;:::i;:::-;21762:31;;;21548:253;;;:::o;18790:83::-;18831:5;18856:9;;;;;;;;;;;18849:16;;18790:83;:::o;20006:218::-;20094:4;20111:83;20120:12;:10;:12::i;:::-;20134:7;20143:50;20182:10;20143:11;:25;20155:12;:10;:12::i;:::-;20143:25;;;;;;;;;;;;;;;:34;20169:7;20143:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20111:8;:83::i;:::-;20212:4;20205:11;;20006:218;;;;:::o;21106:434::-;21196:7;18211:27;21224:7;:18;;21216:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21294:17;21289:244;;21329:15;21352:19;21363:7;21352:10;:19::i;:::-;21328:43;;;;;;21393:7;21386:14;;;;;21289:244;21435:23;21465:19;21476:7;21465:10;:19::i;:::-;21433:51;;;;;;21506:15;21499:22;;;21106:434;;;;;:::o;18984:198::-;19050:7;19074:11;:20;19086:7;19074:20;;;;;;;;;;;;;;;;;;;;;;;;;19070:49;;;19103:7;:16;19111:7;19103:16;;;;;;;;;;;;;;;;19096:23;;;;19070:49;19137:37;19157:7;:16;19165:7;19157:16;;;;;;;;;;;;;;;;19137:19;:37::i;:::-;19130:44;;18984:198;;;;:::o;17183:148::-;16763:12;:10;:12::i;:::-;16753:22;;:6;;;;;;;;;;;:22;;;16745:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17290:1:::1;17253:40;;17274:6;::::0;::::1;;;;;;;;;17253:40;;;;;;;;;;;;17321:1;17304:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;17183:148::o:0;16541:79::-;16579:7;16606:6;;;;;;;;;;;16599:13;;16541:79;:::o;18695:87::-;18734:13;18767:7;18760:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18695:87;:::o;20232:269::-;20325:4;20342:129;20351:12;:10;:12::i;:::-;20365:7;20374:96;20413:15;20374:96;;;;;;;;;;;;;;;;;:11;:25;20386:12;:10;:12::i;:::-;20374:25;;;;;;;;;;;;;;;:34;20400:7;20374:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;20342:8;:129::i;:::-;20489:4;20482:11;;20232:269;;;;:::o;19190:167::-;19268:4;19285:42;19295:12;:10;:12::i;:::-;19309:9;19320:6;19285:9;:42::i;:::-;19345:4;19338:11;;19190:167;;;;:::o;20509:110::-;20567:4;20591:11;:20;20603:7;20591:20;;;;;;;;;;;;;;;;;;;;;;;;;20584:27;;20509:110;;;:::o;19365:143::-;19446:7;19473:11;:18;19485:5;19473:18;;;;;;;;;;;;;;;:27;19492:7;19473:27;;;;;;;;;;;;;;;;19466:34;;19365:143;;;;:::o;21809:332::-;16763:12;:10;:12::i;:::-;16753:22;;:6;;;;;;;;;;;:22;;;16745:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21891:11:::1;:20;21903:7;21891:20;;;;;;;;;;;;;;;;;;;;;;;;;21890:21;21882:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21976:1;21957:7;:16;21965:7;21957:16;;;;;;;;;;;;;;;;:20;21954:108;;;22013:37;22033:7;:16;22041:7;22033:16;;;;;;;;;;;;;;;;22013:19;:37::i;:::-;21994:7;:16;22002:7;21994:16;;;;;;;;;;;;;;;:56;;;;21954:108;22095:4;22072:11;:20;22084:7;22072:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22110:9;22125:7;22110:23;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;22110:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21809:332:::0;:::o;17486:244::-;16763:12;:10;:12::i;:::-;16753:22;;:6;;;;;;;;;;;:22;;;16745:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17595:1:::1;17575:22;;:8;:22;;;;17567:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17685:8;17656:38;;17677:6;::::0;::::1;;;;;;;;;17656:38;;;;;;;;;;;;17714:8;17705:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;17486:244:::0;:::o;22149:478::-;16763:12;:10;:12::i;:::-;16753:22;;:6;;;;;;;;;;;:22;;;16745:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22230:11:::1;:20;22242:7;22230:20;;;;;;;;;;;;;;;;;;;;;;;;;22222:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;22298:9;22310:1:::0;22298:13:::1;;22293:327;22317:9;:16;;;;22313:1;:20;22293:327;;;22375:7;22359:23;;:9;22369:1;22359:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;22355:254;;;22418:9;22447:1;22428:9;:16;;;;:20;22418:31;;;;;;;;;;;;;;;;;;;;;;;;;22403:9;22413:1;22403:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;22487:1;22468:7;:16;22476:7;22468:16;;;;;;;;;;;;;;;:20;;;;22530:5;22507:11;:20;22519:7;22507:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;22554:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22588:5;;22355:254;22335:3;;;;;;;22293:327;;;;22149:478:::0;:::o;9585:106::-;9638:15;9673:10;9666:17;;9585:106;:::o;26152:411::-;26211:7;26220;26229;26238;26247;26268:23;26293:12;26309:20;26321:7;26309:11;:20::i;:::-;26267:62;;;;26340:19;26363:10;:8;:10::i;:::-;26340:33;;26385:15;26402:23;26427:12;26443:39;26455:7;26464:4;26470:11;26443;:39::i;:::-;26384:98;;;;;;26501:7;26510:15;26527:4;26533:15;26550:4;26493:62;;;;;;;;;;;;;;;;26152:411;;;;;;;:::o;4901:136::-;4959:7;4986:43;4990:1;4993;4986:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4979:50;;4901:136;;;;:::o;4455:179::-;4513:7;4533:9;4549:1;4545;:5;4533:17;;4574:1;4569;:6;;4561:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4625:1;4618:8;;;4455:179;;;;:::o;22635:337::-;22745:1;22728:19;;:5;:19;;;;22720:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22826:1;22807:21;;:7;:21;;;;22799:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22910:6;22880:11;:18;22892:5;22880:18;;;;;;;;;;;;;;;:27;22899:7;22880:27;;;;;;;;;;;;;;;:36;;;;22948:7;22932:32;;22941:5;22932:32;;;22957:6;22932:32;;;;;;;;;;;;;;;;;;22635:337;;;:::o;22980:931::-;23095:1;23077:20;;:6;:20;;;;23069:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23179:1;23158:23;;:9;:23;;;;23150:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23249:1;23240:6;:10;23232:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23311:11;:19;23323:6;23311:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;23335:11;:22;23347:9;23335:22;;;;;;;;;;;;;;;;;;;;;;;;;23334:23;23311:46;23307:597;;;23374:48;23396:6;23404:9;23415:6;23374:21;:48::i;:::-;23307:597;;;23445:11;:19;23457:6;23445:19;;;;;;;;;;;;;;;;;;;;;;;;;23444:20;:46;;;;;23468:11;:22;23480:9;23468:22;;;;;;;;;;;;;;;;;;;;;;;;;23444:46;23440:464;;;23507:46;23527:6;23535:9;23546:6;23507:19;:46::i;:::-;23440:464;;;23576:11;:19;23588:6;23576:19;;;;;;;;;;;;;;;;;;;;;;;;;23575:20;:47;;;;;23600:11;:22;23612:9;23600:22;;;;;;;;;;;;;;;;;;;;;;;;;23599:23;23575:47;23571:333;;;23639:44;23657:6;23665:9;23676:6;23639:17;:44::i;:::-;23571:333;;;23705:11;:19;23717:6;23705:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;23728:11;:22;23740:9;23728:22;;;;;;;;;;;;;;;;;;;;;;;;;23705:45;23701:203;;;23767:48;23789:6;23797:9;23808:6;23767:21;:48::i;:::-;23701:203;;;23848:44;23866:6;23874:9;23885:6;23848:17;:44::i;:::-;23701:203;23571:333;23440:464;23307:597;22980:931;;;:::o;5324:190::-;5410:7;5443:1;5438;:6;;5446:12;5430:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5430:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5470:9;5486:1;5482;:5;5470:17;;5505:1;5498:8;;;5324:190;;;;;:::o;27151:163::-;27192:7;27213:15;27230;27249:19;:17;:19::i;:::-;27212:56;;;;27286:20;27298:7;27286;:11;;:20;;;;:::i;:::-;27279:27;;;;27151:163;:::o;6692:132::-;6750:7;6777:39;6781:1;6784;6777:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6770:46;;6692:132;;;;:::o;26571:230::-;26631:7;26640;26660:12;26675:23;26696:1;26675:16;26687:3;26675:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;26660:38;;26709:23;26735:17;26747:4;26735:7;:11;;:17;;;;:::i;:::-;26709:43;;26771:15;26788:4;26763:30;;;;;;26571:230;;;:::o;26809:334::-;26904:7;26913;26922;26942:15;26960:24;26972:11;26960:7;:11;;:24;;;;:::i;:::-;26942:42;;26995:12;27010:21;27019:11;27010:4;:8;;:21;;;;:::i;:::-;26995:36;;27042:23;27068:17;27080:4;27068:7;:11;;:17;;;;:::i;:::-;27042:43;;27104:7;27113:15;27130:4;27096:39;;;;;;;;;26809:334;;;;;;;:::o;24898:506::-;25001:15;25018:23;25043:12;25057:23;25082:12;25098:19;25109:7;25098:10;:19::i;:::-;25000:117;;;;;;;;;;25146:28;25166:7;25146;:15;25154:6;25146:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25128:7;:15;25136:6;25128:15;;;;;;;;;;;;;;;:46;;;;25203:28;25223:7;25203;:15;25211:6;25203:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25185:7;:15;25193:6;25185:15;;;;;;;;;;;;;;;:46;;;;25263:39;25286:15;25263:7;:18;25271:9;25263:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25242:7;:18;25250:9;25242:18;;;;;;;;;;;;;;;:60;;;;25313:23;25325:4;25331;25313:11;:23::i;:::-;25369:9;25352:44;;25361:6;25352:44;;;25380:15;25352:44;;;;;;;;;;;;;;;;;;24898:506;;;;;;;;:::o;24372:518::-;24473:15;24490:23;24515:12;24529:23;24554:12;24570:19;24581:7;24570:10;:19::i;:::-;24472:117;;;;;;;;;;24618:28;24638:7;24618;:15;24626:6;24618:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24600:7;:15;24608:6;24600:15;;;;;;;;;;;;;;;:46;;;;24678:39;24701:15;24678:7;:18;24686:9;24678:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24657:7;:18;24665:9;24657:18;;;;;;;;;;;;;;;:60;;;;24749:39;24772:15;24749:7;:18;24757:9;24749:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24728:7;:18;24736:9;24728:18;;;;;;;;;;;;;;;:60;;;;24799:23;24811:4;24817;24799:11;:23::i;:::-;24855:9;24838:44;;24847:6;24838:44;;;24866:15;24838:44;;;;;;;;;;;;;;;;;;24372:518;;;;;;;;:::o;23919:445::-;24018:15;24035:23;24060:12;24074:23;24099:12;24115:19;24126:7;24115:10;:19::i;:::-;24017:117;;;;;;;;;;24163:28;24183:7;24163;:15;24171:6;24163:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24145:7;:15;24153:6;24145:15;;;;;;;;;;;;;;;:46;;;;24223:39;24246:15;24223:7;:18;24231:9;24223:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24202:7;:18;24210:9;24202:18;;;;;;;;;;;;;;;:60;;;;24273:23;24285:4;24291;24273:11;:23::i;:::-;24329:9;24312:44;;24321:6;24312:44;;;24340:15;24312:44;;;;;;;;;;;;;;;;;;23919:445;;;;;;;;:::o;25412:577::-;25515:15;25532:23;25557:12;25571:23;25596:12;25612:19;25623:7;25612:10;:19::i;:::-;25514:117;;;;;;;;;;25660:28;25680:7;25660;:15;25668:6;25660:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25642:7;:15;25650:6;25642:15;;;;;;;;;;;;;;;:46;;;;25717:28;25737:7;25717;:15;25725:6;25717:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25699:7;:15;25707:6;25699:15;;;;;;;;;;;;;;;:46;;;;25777:39;25800:15;25777:7;:18;25785:9;25777:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25756:7;:18;25764:9;25756:18;;;;;;;;;;;;;;;:60;;;;25848:39;25871:15;25848:7;:18;25856:9;25848:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25827:7;:18;25835:9;25827:18;;;;;;;;;;;;;;;:60;;;;25898:23;25910:4;25916;25898:11;:23::i;:::-;25954:9;25937:44;;25946:6;25937:44;;;25965:15;25937:44;;;;;;;;;;;;;;;;;;25412:577;;;;;;;;:::o;27322:555::-;27372:7;27381;27401:15;27419:7;;27401:25;;27437:15;18211:27;27437:25;;27478:9;27490:1;27478:13;;27473:289;27497:9;:16;;;;27493:1;:20;27473:289;;;27563:7;27539;:21;27547:9;27557:1;27547:12;;;;;;;;;;;;;;;;;;;;;;;;;27539:21;;;;;;;;;;;;;;;;:31;:66;;;;27598:7;27574;:21;27582:9;27592:1;27582:12;;;;;;;;;;;;;;;;;;;;;;;;;27574:21;;;;;;;;;;;;;;;;:31;27539:66;27535:97;;;27615:7;;18211:27;27607:25;;;;;;;;;27535:97;27657:34;27669:7;:21;27677:9;27687:1;27677:12;;;;;;;;;;;;;;;;;;;;;;;;;27669:21;;;;;;;;;;;;;;;;27657:7;:11;;:34;;;;:::i;:::-;27647:44;;27716:34;27728:7;:21;27736:9;27746:1;27736:12;;;;;;;;;;;;;;;;;;;;;;;;;27728:21;;;;;;;;;;;;;;;;27716:7;:11;;:34;;;;:::i;:::-;27706:44;;27515:3;;;;;;;27473:289;;;;27786:20;18211:27;27786:7;;:11;;:20;;;;:::i;:::-;27776:7;:30;27772:61;;;27816:7;;18211:27;27808:25;;;;;;;;27772:61;27852:7;27861;27844:25;;;;;;27322:555;;;:::o;7312:276::-;7398:7;7430:1;7426;:5;7433:12;7418:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7418:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7457:9;7473:1;7469;:5;;;;;;7457:17;;7579:1;7572:8;;;7312:276;;;;;:::o;5757:467::-;5815:7;6065:1;6060;:6;6056:47;;;6090:1;6083:8;;;;6056:47;6113:9;6129:1;6125;:5;6113:17;;6158:1;6153;6149;:5;;;;;;:10;6141:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6215:1;6208:8;;;5757:467;;;;;:::o;25997:147::-;26075:17;26087:4;26075:7;;:11;;:17;;;;:::i;:::-;26065:7;:27;;;;26116:20;26131:4;26116:10;;:14;;:20;;;;:::i;:::-;26103:10;:33;;;;25997:147;;:::o
Swarm Source
ipfs://5855d0ba26973f5f99c9b7c336939cd65cda839027668d53ef341754d268968b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.