More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 11 from a total of 11 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15943497 | 708 days ago | IN | 0 ETH | 0.00316972 | ||||
Transfer | 15943493 | 708 days ago | IN | 0 ETH | 0.00065886 | ||||
Approve | 15943477 | 708 days ago | IN | 0 ETH | 0.00076127 | ||||
Approve | 15943473 | 708 days ago | IN | 0 ETH | 0.00119921 | ||||
Approve | 15943471 | 708 days ago | IN | 0 ETH | 0.00070892 | ||||
Approve | 15943461 | 708 days ago | IN | 0 ETH | 0.00079183 | ||||
Renounce Ownersh... | 15943461 | 708 days ago | IN | 0 ETH | 0.00042838 | ||||
Approve | 15943460 | 708 days ago | IN | 0 ETH | 0.00080634 | ||||
Approve | 15943457 | 708 days ago | IN | 0 ETH | 0.00084934 | ||||
Approve | 15943443 | 708 days ago | IN | 0 ETH | 0.00079498 | ||||
0x60806040 | 15943372 | 708 days ago | IN | 0 ETH | 0.06875866 |
Loading...
Loading
Contract Name:
Vapitoko
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-11 */ /* ██╗░░░██╗░█████╗░██████╗░██╗████████╗░█████╗░██╗░░██╗░█████╗░ ██║░░░██║██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║░██╔╝██╔══██╗ ╚██╗░██╔╝███████║██████╔╝██║░░░██║░░░██║░░██║█████═╝░██║░░██║ ░╚████╔╝░██╔══██║██╔═══╝░██║░░░██║░░░██║░░██║██╔═██╗░██║░░██║ ░░╚██╔╝░░██║░░██║██║░░░░░██║░░░██║░░░╚█████╔╝██║░╚██╗╚█████╔╝ ░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░░░░╚═╝░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝░╚════╝░ ░░██╗ ░░░░░██╗██████╗░███╗░░██╗ ██╗░░ ░██╔╝ ░░░░░██║██╔══██╗████╗░██║ ╚██╗░ ██╔╝░ ░░░░░██║██████╔╝██╔██╗██║ ░╚██╗ ╚██╗░ ██╗░░██║██╔═══╝░██║╚████║ ░██╔╝ ░╚██╗ ╚█████╔╝██║░░░░░██║░╚███║ ██╔╝░ ░░╚═╝ ░╚════╝░╚═╝░░░░░╚═╝░░╚══╝ ╚═╝░░ イーサリアム ネットワークを破壊する次のイーサリアム ユーティリティ トークン、Vapitoko へようこそ 有望な計画とイーサリアム空間への参入の容易さ、私たちは単なる通常のトークンやミームトークンではありません また、独自のエコシステム、将来、NFT コレクションの設計に基づく交換プラットフォームもサポートしています。 当社独自のマーケットプレイスなどで、今後発表される予定です。 */ pragma solidity ^0.8.17; // 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 https://github.com/ethereum/solidity/issues/2691 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. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); 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; } /* * Nos pondremos en contacto contigo a través de ETHERSCAN.io. * El sitio web se construirá con 125k MC. https://web.wechat.com/VapitokoJPN */ contract Vapitoko 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 _maxWalletAmount = 40000* 10**9; // uint256 private constant TaxSwapAmount = 10000 * 10**9; // string private constant _name = "Vapitoko"; // string private constant _symbol = unicode"VPi"; // uint8 private constant _decimals = 9; // uint256 public _marketingFee = 1; uint256 public _liquidityFee = 0; 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; 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; } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } function _takeFee(uint256 amount, address from, address to) private returns (uint256) { uint256 MF = amount * _marketingFee / 100; uint256 liquidityFee = amount * _liquidityFee / 100; _tOwned[address(this)] += MF + liquidityFee; if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ emit Transfer (from, address(this), MF + liquidityFee); return (amount - MF - liquidityFee);}else{ return amount;} } 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 <= _maxWalletAmount, "Transfer amount exceeds the max wallet limit."); if (balanceOf(address(this)) >= TaxSwapAmount && !swapping && from != uniswapV2Pair) { swapping = true; uint256 sellTokens = balanceOf(address(this)); swapAndSendToFee(sellTokens); swapping = false; } uint256 amountafterfee = _takeFee(amount, from,to); _tOwned[to] += amountafterfee; _tOwned[from] -= amount; emit Transfer(from, to, amountafterfee); } function swapAndSendToFee (uint256 tokens) private { uint256 ethToSend = swapTokensForEth(tokens); if (ethToSend > 0) payable(0xE6EEE0876aED463E234900f33d66e9b8944c2b8d).transfer(ethToSend); //marketing wallet } 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":"_maxWalletAmount","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":"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
608060405266038d7ea4c6800060065565246139ca8000600755600160085560006009553480156200003057600080fd5b506000620000436200047a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460036000620000f86200047a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c3919062000515565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000251919062000515565b6040518363ffffffff1660e01b81526004016200027092919062000558565b6020604051808303816000875af115801562000290573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b6919062000515565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620003506200048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004096200047a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200046a9190620005a0565b60405180910390a35050620005bd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004dd82620004b0565b9050919050565b620004ef81620004d0565b8114620004fb57600080fd5b50565b6000815190506200050f81620004e4565b92915050565b6000602082840312156200052e576200052d620004ab565b5b60006200053e84828501620004fe565b91505092915050565b6200055281620004d0565b82525050565b60006040820190506200056f600083018562000547565b6200057e602083018462000547565b9392505050565b6000819050919050565b6200059a8162000585565b82525050565b6000602082019050620005b760008301846200058f565b92915050565b6122e080620005cd6000396000f3fe6080604052600436106101235760003560e01c80636bc87c3a116100a057806395d89b411161006457806395d89b41146103fa578063a457c2d714610425578063a9059cbb14610462578063dd62ed3e1461049f578063f2fde38b146104dc5761012a565b80636bc87c3a146103255780636c0a24eb1461035057806370a082311461037b578063715018a6146103b85780638da5cb5b146103cf5761012a565b806323b872dd116100e757806323b872dd14610218578063313ce56714610255578063395093511461028057806349bd5a5e146102bd5780635342acb4146102e85761012a565b806306fdde031461012f578063095ea7b31461015a5780631694505e1461019757806318160ddd146101c257806322976e0d146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610505565b604051610151919061181e565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906118d9565b610542565b60405161018e9190611934565b60405180910390f35b3480156101a357600080fd5b506101ac610560565b6040516101b991906119ae565b60405180910390f35b3480156101ce57600080fd5b506101d7610586565b6040516101e491906119d8565b60405180910390f35b3480156101f957600080fd5b50610202610590565b60405161020f91906119d8565b60405180910390f35b34801561022457600080fd5b5061023f600480360381019061023a91906119f3565b610596565b60405161024c9190611934565b60405180910390f35b34801561026157600080fd5b5061026a61064e565b6040516102779190611a62565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a291906118d9565b610657565b6040516102b49190611934565b60405180910390f35b3480156102c957600080fd5b506102d2610703565b6040516102df9190611a8c565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611aa7565b610729565b60405161031c9190611934565b60405180910390f35b34801561033157600080fd5b5061033a61077f565b60405161034791906119d8565b60405180910390f35b34801561035c57600080fd5b50610365610785565b60405161037291906119d8565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d9190611aa7565b61078b565b6040516103af91906119d8565b60405180910390f35b3480156103c457600080fd5b506103cd6107d4565b005b3480156103db57600080fd5b506103e4610927565b6040516103f19190611a8c565b60405180910390f35b34801561040657600080fd5b5061040f610950565b60405161041c919061181e565b60405180910390f35b34801561043157600080fd5b5061044c600480360381019061044791906118d9565b61098d565b6040516104599190611934565b60405180910390f35b34801561046e57600080fd5b50610489600480360381019061048491906118d9565b610a39565b6040516104969190611934565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190611ad4565b610a57565b6040516104d391906119d8565b60405180910390f35b3480156104e857600080fd5b5061050360048036038101906104fe9190611aa7565b610ade565b005b60606040518060400160405280600881526020017f56617069746f6b6f000000000000000000000000000000000000000000000000815250905090565b600061055661054f610c9f565b8484610ca7565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b60085481565b60006105a3848484610e70565b610643846105af610c9f565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f9610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063e9190611b43565b610ca7565b600190509392505050565b60006009905090565b60006106f9610664610c9f565b848460046000610672610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106f49190611b77565b610ca7565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107dc610c9f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090611bf7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5650690000000000000000000000000000000000000000000000000000000000815250905090565b6000610a2f61099a610c9f565b8484600460006109a8610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a2a9190611b43565b610ca7565b6001905092915050565b6000610a4d610a46610c9f565b8484610e70565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ae6610c9f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a90611bf7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd990611c89565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90611d1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c90611dad565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e6391906119d8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed690611e3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590611ed1565b60405180910390fd5b60008111610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890611f63565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561108f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156110ed57600754816110a18461078b565b6110ab9190611b77565b11156110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390611ff5565b60405180910390fd5b5b6509184e72a0006110fd3061078b565b101580156111185750600a60009054906101000a900460ff16155b80156111725750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111c5576001600a60006101000a81548160ff021916908315150217905550600061119d3061078b565b90506111a8816112eb565b6000600a60006101000a81548160ff021916908315150217905550505b60006111d2828585611361565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112239190611b77565b9250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112799190611b43565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112dd91906119d8565b60405180910390a350505050565b60006112f682611545565b9050600081111561135d5773e6eee0876aed463e234900f33d66e9b8944c2b8d73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561135b573d6000803e3d6000fd5b505b5050565b6000806064600854866113749190612015565b61137e9190612086565b905060006064600954876113929190612015565b61139c9190612086565b905080826113aa9190611b77565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f89190611b77565b92505081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114a35750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611538573073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115039190611b77565b60405161151091906119d8565b60405180910390a38082876115259190611b43565b61152f9190611b43565b9250505061153e565b85925050505b9392505050565b600080600267ffffffffffffffff811115611563576115626120b7565b5b6040519080825280602002602001820160405280156115915781602001602082028036833780820191505090505b50905030816000815181106115a9576115a86120e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611674919061212a565b81600181518110611688576116876120e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116ef30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610ca7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611753959493929190612250565b600060405180830381600087803b15801561176d57600080fd5b505af1158015611781573d6000803e3d6000fd5b5050505047915050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156117c85780820151818401526020810190506117ad565b60008484015250505050565b6000601f19601f8301169050919050565b60006117f08261178e565b6117fa8185611799565b935061180a8185602086016117aa565b611813816117d4565b840191505092915050565b6000602082019050818103600083015261183881846117e5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187082611845565b9050919050565b61188081611865565b811461188b57600080fd5b50565b60008135905061189d81611877565b92915050565b6000819050919050565b6118b6816118a3565b81146118c157600080fd5b50565b6000813590506118d3816118ad565b92915050565b600080604083850312156118f0576118ef611840565b5b60006118fe8582860161188e565b925050602061190f858286016118c4565b9150509250929050565b60008115159050919050565b61192e81611919565b82525050565b60006020820190506119496000830184611925565b92915050565b6000819050919050565b600061197461196f61196a84611845565b61194f565b611845565b9050919050565b600061198682611959565b9050919050565b60006119988261197b565b9050919050565b6119a88161198d565b82525050565b60006020820190506119c3600083018461199f565b92915050565b6119d2816118a3565b82525050565b60006020820190506119ed60008301846119c9565b92915050565b600080600060608486031215611a0c57611a0b611840565b5b6000611a1a8682870161188e565b9350506020611a2b8682870161188e565b9250506040611a3c868287016118c4565b9150509250925092565b600060ff82169050919050565b611a5c81611a46565b82525050565b6000602082019050611a776000830184611a53565b92915050565b611a8681611865565b82525050565b6000602082019050611aa16000830184611a7d565b92915050565b600060208284031215611abd57611abc611840565b5b6000611acb8482850161188e565b91505092915050565b60008060408385031215611aeb57611aea611840565b5b6000611af98582860161188e565b9250506020611b0a8582860161188e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b4e826118a3565b9150611b59836118a3565b9250828203905081811115611b7157611b70611b14565b5b92915050565b6000611b82826118a3565b9150611b8d836118a3565b9250828201905080821115611ba557611ba4611b14565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611be1602083611799565b9150611bec82611bab565b602082019050919050565b60006020820190508181036000830152611c1081611bd4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611c73602683611799565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611d05602483611799565b9150611d1082611ca9565b604082019050919050565b60006020820190508181036000830152611d3481611cf8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d97602283611799565b9150611da282611d3b565b604082019050919050565b60006020820190508181036000830152611dc681611d8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e29602583611799565b9150611e3482611dcd565b604082019050919050565b60006020820190508181036000830152611e5881611e1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ebb602383611799565b9150611ec682611e5f565b604082019050919050565b60006020820190508181036000830152611eea81611eae565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000611f4d602983611799565b9150611f5882611ef1565b604082019050919050565b60006020820190508181036000830152611f7c81611f40565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f77616c6c6574206c696d69742e00000000000000000000000000000000000000602082015250565b6000611fdf602d83611799565b9150611fea82611f83565b604082019050919050565b6000602082019050818103600083015261200e81611fd2565b9050919050565b6000612020826118a3565b915061202b836118a3565b9250828202612039816118a3565b915082820484148315176120505761204f611b14565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612091826118a3565b915061209c836118a3565b9250826120ac576120ab612057565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212481611877565b92915050565b6000602082840312156121405761213f611840565b5b600061214e84828501612115565b91505092915050565b6000819050919050565b600061217c61217761217284612157565b61194f565b6118a3565b9050919050565b61218c81612161565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121c781611865565b82525050565b60006121d983836121be565b60208301905092915050565b6000602082019050919050565b60006121fd82612192565b612207818561219d565b9350612212836121ae565b8060005b8381101561224357815161222a88826121cd565b9750612235836121e5565b925050600181019050612216565b5085935050505092915050565b600060a08201905061226560008301886119c9565b6122726020830187612183565b818103604083015261228481866121f2565b90506122936060830185611a7d565b6122a060808301846119c9565b969550505050505056fea26469706673582212203e069d592b883c7290847fd3e9aa85b9740e9cc8e899cf14900e3f1fa63934f664736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101235760003560e01c80636bc87c3a116100a057806395d89b411161006457806395d89b41146103fa578063a457c2d714610425578063a9059cbb14610462578063dd62ed3e1461049f578063f2fde38b146104dc5761012a565b80636bc87c3a146103255780636c0a24eb1461035057806370a082311461037b578063715018a6146103b85780638da5cb5b146103cf5761012a565b806323b872dd116100e757806323b872dd14610218578063313ce56714610255578063395093511461028057806349bd5a5e146102bd5780635342acb4146102e85761012a565b806306fdde031461012f578063095ea7b31461015a5780631694505e1461019757806318160ddd146101c257806322976e0d146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610505565b604051610151919061181e565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906118d9565b610542565b60405161018e9190611934565b60405180910390f35b3480156101a357600080fd5b506101ac610560565b6040516101b991906119ae565b60405180910390f35b3480156101ce57600080fd5b506101d7610586565b6040516101e491906119d8565b60405180910390f35b3480156101f957600080fd5b50610202610590565b60405161020f91906119d8565b60405180910390f35b34801561022457600080fd5b5061023f600480360381019061023a91906119f3565b610596565b60405161024c9190611934565b60405180910390f35b34801561026157600080fd5b5061026a61064e565b6040516102779190611a62565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a291906118d9565b610657565b6040516102b49190611934565b60405180910390f35b3480156102c957600080fd5b506102d2610703565b6040516102df9190611a8c565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611aa7565b610729565b60405161031c9190611934565b60405180910390f35b34801561033157600080fd5b5061033a61077f565b60405161034791906119d8565b60405180910390f35b34801561035c57600080fd5b50610365610785565b60405161037291906119d8565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d9190611aa7565b61078b565b6040516103af91906119d8565b60405180910390f35b3480156103c457600080fd5b506103cd6107d4565b005b3480156103db57600080fd5b506103e4610927565b6040516103f19190611a8c565b60405180910390f35b34801561040657600080fd5b5061040f610950565b60405161041c919061181e565b60405180910390f35b34801561043157600080fd5b5061044c600480360381019061044791906118d9565b61098d565b6040516104599190611934565b60405180910390f35b34801561046e57600080fd5b50610489600480360381019061048491906118d9565b610a39565b6040516104969190611934565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190611ad4565b610a57565b6040516104d391906119d8565b60405180910390f35b3480156104e857600080fd5b5061050360048036038101906104fe9190611aa7565b610ade565b005b60606040518060400160405280600881526020017f56617069746f6b6f000000000000000000000000000000000000000000000000815250905090565b600061055661054f610c9f565b8484610ca7565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b60085481565b60006105a3848484610e70565b610643846105af610c9f565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f9610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063e9190611b43565b610ca7565b600190509392505050565b60006009905090565b60006106f9610664610c9f565b848460046000610672610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106f49190611b77565b610ca7565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60095481565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107dc610c9f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090611bf7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5650690000000000000000000000000000000000000000000000000000000000815250905090565b6000610a2f61099a610c9f565b8484600460006109a8610c9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a2a9190611b43565b610ca7565b6001905092915050565b6000610a4d610a46610c9f565b8484610e70565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ae6610c9f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a90611bf7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd990611c89565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d90611d1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c90611dad565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e6391906119d8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed690611e3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590611ed1565b60405180910390fd5b60008111610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890611f63565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561108f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156110ed57600754816110a18461078b565b6110ab9190611b77565b11156110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390611ff5565b60405180910390fd5b5b6509184e72a0006110fd3061078b565b101580156111185750600a60009054906101000a900460ff16155b80156111725750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111c5576001600a60006101000a81548160ff021916908315150217905550600061119d3061078b565b90506111a8816112eb565b6000600a60006101000a81548160ff021916908315150217905550505b60006111d2828585611361565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112239190611b77565b9250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112799190611b43565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112dd91906119d8565b60405180910390a350505050565b60006112f682611545565b9050600081111561135d5773e6eee0876aed463e234900f33d66e9b8944c2b8d73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561135b573d6000803e3d6000fd5b505b5050565b6000806064600854866113749190612015565b61137e9190612086565b905060006064600954876113929190612015565b61139c9190612086565b905080826113aa9190611b77565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f89190611b77565b92505081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114a35750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611538573073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115039190611b77565b60405161151091906119d8565b60405180910390a38082876115259190611b43565b61152f9190611b43565b9250505061153e565b85925050505b9392505050565b600080600267ffffffffffffffff811115611563576115626120b7565b5b6040519080825280602002602001820160405280156115915781602001602082028036833780820191505090505b50905030816000815181106115a9576115a86120e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611674919061212a565b81600181518110611688576116876120e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116ef30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610ca7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b8152600401611753959493929190612250565b600060405180830381600087803b15801561176d57600080fd5b505af1158015611781573d6000803e3d6000fd5b5050505047915050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156117c85780820151818401526020810190506117ad565b60008484015250505050565b6000601f19601f8301169050919050565b60006117f08261178e565b6117fa8185611799565b935061180a8185602086016117aa565b611813816117d4565b840191505092915050565b6000602082019050818103600083015261183881846117e5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187082611845565b9050919050565b61188081611865565b811461188b57600080fd5b50565b60008135905061189d81611877565b92915050565b6000819050919050565b6118b6816118a3565b81146118c157600080fd5b50565b6000813590506118d3816118ad565b92915050565b600080604083850312156118f0576118ef611840565b5b60006118fe8582860161188e565b925050602061190f858286016118c4565b9150509250929050565b60008115159050919050565b61192e81611919565b82525050565b60006020820190506119496000830184611925565b92915050565b6000819050919050565b600061197461196f61196a84611845565b61194f565b611845565b9050919050565b600061198682611959565b9050919050565b60006119988261197b565b9050919050565b6119a88161198d565b82525050565b60006020820190506119c3600083018461199f565b92915050565b6119d2816118a3565b82525050565b60006020820190506119ed60008301846119c9565b92915050565b600080600060608486031215611a0c57611a0b611840565b5b6000611a1a8682870161188e565b9350506020611a2b8682870161188e565b9250506040611a3c868287016118c4565b9150509250925092565b600060ff82169050919050565b611a5c81611a46565b82525050565b6000602082019050611a776000830184611a53565b92915050565b611a8681611865565b82525050565b6000602082019050611aa16000830184611a7d565b92915050565b600060208284031215611abd57611abc611840565b5b6000611acb8482850161188e565b91505092915050565b60008060408385031215611aeb57611aea611840565b5b6000611af98582860161188e565b9250506020611b0a8582860161188e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b4e826118a3565b9150611b59836118a3565b9250828203905081811115611b7157611b70611b14565b5b92915050565b6000611b82826118a3565b9150611b8d836118a3565b9250828201905080821115611ba557611ba4611b14565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611be1602083611799565b9150611bec82611bab565b602082019050919050565b60006020820190508181036000830152611c1081611bd4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611c73602683611799565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611d05602483611799565b9150611d1082611ca9565b604082019050919050565b60006020820190508181036000830152611d3481611cf8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d97602283611799565b9150611da282611d3b565b604082019050919050565b60006020820190508181036000830152611dc681611d8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e29602583611799565b9150611e3482611dcd565b604082019050919050565b60006020820190508181036000830152611e5881611e1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ebb602383611799565b9150611ec682611e5f565b604082019050919050565b60006020820190508181036000830152611eea81611eae565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000611f4d602983611799565b9150611f5882611ef1565b604082019050919050565b60006020820190508181036000830152611f7c81611f40565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61782060008201527f77616c6c6574206c696d69742e00000000000000000000000000000000000000602082015250565b6000611fdf602d83611799565b9150611fea82611f83565b604082019050919050565b6000602082019050818103600083015261200e81611fd2565b9050919050565b6000612020826118a3565b915061202b836118a3565b9250828202612039816118a3565b915082820484148315176120505761204f611b14565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612091826118a3565b915061209c836118a3565b9250826120ac576120ab612057565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212481611877565b92915050565b6000602082840312156121405761213f611840565b5b600061214e84828501612115565b91505092915050565b6000819050919050565b600061217c61217761217284612157565b61194f565b6118a3565b9050919050565b61218c81612161565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121c781611865565b82525050565b60006121d983836121be565b60208301905092915050565b6000602082019050919050565b60006121fd82612192565b612207818561219d565b9350612212836121ae565b8060005b8381101561224357815161222a88826121cd565b9750612235836121e5565b925050600181019050612216565b5085935050505092915050565b600060a08201905061226560008301886119c9565b6122726020830187612183565b818103604083015261228481866121f2565b90506122936060830185611a7d565b6122a060808301846119c9565b969550505050505056fea26469706673582212203e069d592b883c7290847fd3e9aa85b9740e9cc8e899cf14900e3f1fa63934f664736f6c63430008110033
Deployed Bytecode Sourcemap
27234:6462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28908:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29739:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27361:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29185:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27984:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29908:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29094:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30182:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27409:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30753:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28023:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27691:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29288:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18590:148;;;;;;;;;;;;;:::i;:::-;;17947:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28999:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30405:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29413:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29588:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18893:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28908:83;28945:13;28978:5;;;;;;;;;;;;;;;;;28971:12;;28908:83;:::o;29739:161::-;29814:4;29831:39;29840:12;:10;:12::i;:::-;29854:7;29863:6;29831:8;:39::i;:::-;29888:4;29881:11;;29739:161;;;;:::o;27361:41::-;;;;;;;;;;;;;:::o;29185:95::-;29238:7;29265;;29258:14;;29185:95;:::o;27984:32::-;;;;:::o;29908:266::-;30006:4;30023:36;30033:6;30041:9;30052:6;30023:9;:36::i;:::-;30070:74;30079:6;30087:12;:10;:12::i;:::-;30137:6;30101:11;:19;30113:6;30101:19;;;;;;;;;;;;;;;:33;30121:12;:10;:12::i;:::-;30101:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;30070:8;:74::i;:::-;30162:4;30155:11;;29908:266;;;;;:::o;29094:83::-;29135:5;27964:1;29153:16;;29094:83;:::o;30182:215::-;30270:4;30287:80;30296:12;:10;:12::i;:::-;30310:7;30356:10;30319:11;:25;30331:12;:10;:12::i;:::-;30319:25;;;;;;;;;;;;;;;:34;30345:7;30319:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;30287:8;:80::i;:::-;30385:4;30378:11;;30182:215;;;;:::o;27409:28::-;;;;;;;;;;;;;:::o;30753:123::-;30817:4;30841:18;:27;30860:7;30841:27;;;;;;;;;;;;;;;;;;;;;;;;;30834:34;;30753:123;;;:::o;28023:32::-;;;;:::o;27691:46::-;;;;:::o;29288:117::-;29354:7;29381;:16;29389:7;29381:16;;;;;;;;;;;;;;;;29374:23;;29288:117;;;:::o;18590:148::-;18169:12;:10;:12::i;:::-;18159:22;;:6;;;;;;;;;;:22;;;18151:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18697:1:::1;18660:40;;18681:6;::::0;::::1;;;;;;;;18660:40;;;;;;;;;;;;18728:1;18711:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;18590:148::o:0;17947:79::-;17985:7;18012:6;;;;;;;;;;;18005:13;;17947:79;:::o;28999:87::-;29038:13;29071:7;;;;;;;;;;;;;;;;;29064:14;;28999:87;:::o;30405:225::-;30498:4;30515:85;30524:12;:10;:12::i;:::-;30538:7;30584:15;30547:11;:25;30559:12;:10;:12::i;:::-;30547:25;;;;;;;;;;;;;;;:34;30573:7;30547:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;30515:8;:85::i;:::-;30618:4;30611:11;;30405:225;;;;:::o;29413:167::-;29491:4;29508:42;29518:12;:10;:12::i;:::-;29532:9;29543:6;29508:9;:42::i;:::-;29568:4;29561:11;;29413:167;;;;:::o;29588:143::-;29669:7;29696:11;:18;29708:5;29696:18;;;;;;;;;;;;;;;:27;29715:7;29696:27;;;;;;;;;;;;;;;;29689:34;;29588:143;;;;:::o;18893:244::-;18169:12;:10;:12::i;:::-;18159:22;;:6;;;;;;;;;;:22;;;18151:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19002:1:::1;18982:22;;:8;:22;;::::0;18974:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19092:8;19063:38;;19084:6;::::0;::::1;;;;;;;;19063:38;;;;;;;;;;;;19121:8;19112:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;18893:244:::0;:::o;10352:115::-;10405:15;10448:10;10433:26;;10352:115;:::o;31370:337::-;31480:1;31463:19;;:5;:19;;;31455:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;31561:1;31542:21;;:7;:21;;;31534:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;31645:6;31615:11;:18;31627:5;31615:18;;;;;;;;;;;;;;;:27;31634:7;31615:27;;;;;;;;;;;;;;;:36;;;;31683:7;31667:32;;31676:5;31667:32;;;31692:6;31667:32;;;;;;:::i;:::-;;;;;;;;31370:337;;;:::o;31715:1040::-;31853:1;31837:18;;:4;:18;;;31829:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;31930:1;31916:16;;:2;:16;;;31908:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;32000:1;31991:6;:10;31983:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;32073:18;:24;32092:4;32073:24;;;;;;;;;;;;;;;;;;;;;;;;;32072:25;:52;;;;;32102:18;:22;32121:2;32102:22;;;;;;;;;;;;;;;;;;;;;;;;;32101:23;32072:52;:75;;;;;32134:13;;;;;;;;;;;32128:19;;:2;:19;;;;32072:75;32069:193;;;32196:16;;32186:6;32170:13;32180:2;32170:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;32162:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;32069:193;27789:13;32287:24;32305:4;32287:9;:24::i;:::-;:41;;:54;;;;;32333:8;;;;;;;;;;;32332:9;32287:54;:79;;;;;32353:13;;;;;;;;;;;32345:21;;:4;:21;;;;32287:79;32283:261;;;32394:4;32383:8;;:15;;;;;;;;;;;;;;;;;;32413:18;32434:24;32452:4;32434:9;:24::i;:::-;32413:45;;32473:28;32490:10;32473:16;:28::i;:::-;32527:5;32516:8;;:16;;;;;;;;;;;;;;;;;;32368:176;32283:261;32554:22;32579:25;32588:6;32596:4;32601:2;32579:8;:25::i;:::-;32554:50;;32633:14;32618:7;:11;32626:2;32618:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;32675:6;32658:7;:13;32666:4;32658:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;32722:2;32707:34;;32716:4;32707:34;;;32726:14;32707:34;;;;;;:::i;:::-;;;;;;;;31818:937;31715:1040;;;:::o;32776:247::-;32838:17;32858:24;32875:6;32858:16;:24::i;:::-;32838:44;;32909:1;32897:9;:13;32893:103;;;32933:42;32925:60;;:71;32986:9;32925:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32893:103;32827:196;32776:247;:::o;30884:465::-;30961:7;30981:10;31019:3;31003:13;;30994:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;30981:41;;31034:20;31082:3;31066:13;;31057:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;31034:51;;31128:12;31123:2;:17;;;;:::i;:::-;31097:7;:22;31113:4;31097:22;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;31156:18;:24;31175:4;31156:24;;;;;;;;;;;;;;;;;;;;;;;;;31155:25;:52;;;;;31185:18;:22;31204:2;31185:22;;;;;;;;;;;;;;;;;;;;;;;;;31184:23;31155:52;31152:190;;;31248:4;31224:49;;31234:4;31224:49;;;31260:12;31255:2;:17;;;;:::i;:::-;31224:49;;;;;;:::i;:::-;;;;;;;;31306:12;31301:2;31292:6;:11;;;;:::i;:::-;:26;;;;:::i;:::-;31284:35;;;;;;31152:190;31334:6;31327:13;;;;30884:465;;;;;;:::o;33042:649::-;33106:7;33186:21;33224:1;33210:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33186:40;;33255:4;33237;33242:1;33237:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;33281:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33271:4;33276:1;33271:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;33316:62;33333:4;33348:15;;;;;;;;;;;33366:11;33316:8;:62::i;:::-;33417:15;;;;;;;;;;;:66;;;33498:11;33524:1;33568:4;33595;33615:15;33417:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33660:21;33652:31;;;33042: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:118::-;5918:24;5936:5;5918:24;:::i;:::-;5913:3;5906:37;5831:118;;:::o;5955:222::-;6048:4;6086:2;6075:9;6071:18;6063:26;;6099:71;6167:1;6156:9;6152:17;6143:6;6099:71;:::i;:::-;5955:222;;;;:::o;6183:329::-;6242:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:119;;;6297:79;;:::i;:::-;6259:119;6417:1;6442:53;6487:7;6478:6;6467:9;6463:22;6442:53;:::i;:::-;6432:63;;6388:117;6183:329;;;;:::o;6518:474::-;6586:6;6594;6643:2;6631:9;6622:7;6618:23;6614:32;6611:119;;;6649:79;;:::i;:::-;6611:119;6769:1;6794:53;6839:7;6830:6;6819:9;6815:22;6794:53;:::i;:::-;6784:63;;6740:117;6896:2;6922:53;6967:7;6958:6;6947:9;6943:22;6922:53;:::i;:::-;6912:63;;6867:118;6518:474;;;;;:::o;6998:180::-;7046:77;7043:1;7036:88;7143:4;7140:1;7133:15;7167:4;7164:1;7157:15;7184:194;7224:4;7244:20;7262:1;7244:20;:::i;:::-;7239:25;;7278:20;7296:1;7278:20;:::i;:::-;7273:25;;7322:1;7319;7315:9;7307:17;;7346:1;7340:4;7337:11;7334:37;;;7351:18;;:::i;:::-;7334:37;7184:194;;;;:::o;7384:191::-;7424:3;7443:20;7461:1;7443:20;:::i;:::-;7438:25;;7477:20;7495:1;7477:20;:::i;:::-;7472:25;;7520:1;7517;7513:9;7506:16;;7541:3;7538:1;7535:10;7532:36;;;7548:18;;:::i;:::-;7532:36;7384:191;;;;:::o;7581:182::-;7721:34;7717:1;7709:6;7705:14;7698:58;7581:182;:::o;7769:366::-;7911:3;7932:67;7996:2;7991:3;7932:67;:::i;:::-;7925:74;;8008:93;8097:3;8008:93;:::i;:::-;8126:2;8121:3;8117:12;8110:19;;7769:366;;;:::o;8141:419::-;8307:4;8345:2;8334:9;8330:18;8322:26;;8394:9;8388:4;8384:20;8380:1;8369:9;8365:17;8358:47;8422:131;8548:4;8422:131;:::i;:::-;8414:139;;8141:419;;;:::o;8566:225::-;8706:34;8702:1;8694:6;8690:14;8683:58;8775:8;8770:2;8762:6;8758:15;8751:33;8566:225;:::o;8797:366::-;8939:3;8960:67;9024:2;9019:3;8960:67;:::i;:::-;8953:74;;9036:93;9125:3;9036:93;:::i;:::-;9154:2;9149:3;9145:12;9138:19;;8797:366;;;:::o;9169:419::-;9335:4;9373:2;9362:9;9358:18;9350:26;;9422:9;9416:4;9412:20;9408:1;9397:9;9393:17;9386:47;9450:131;9576:4;9450:131;:::i;:::-;9442:139;;9169:419;;;:::o;9594:223::-;9734:34;9730:1;9722:6;9718:14;9711:58;9803:6;9798:2;9790:6;9786:15;9779:31;9594:223;:::o;9823:366::-;9965:3;9986:67;10050:2;10045:3;9986:67;:::i;:::-;9979:74;;10062:93;10151:3;10062:93;:::i;:::-;10180:2;10175:3;10171:12;10164:19;;9823:366;;;:::o;10195:419::-;10361:4;10399:2;10388:9;10384:18;10376:26;;10448:9;10442:4;10438:20;10434:1;10423:9;10419:17;10412:47;10476:131;10602:4;10476:131;:::i;:::-;10468:139;;10195:419;;;:::o;10620:221::-;10760:34;10756:1;10748:6;10744:14;10737:58;10829:4;10824:2;10816:6;10812:15;10805:29;10620:221;:::o;10847:366::-;10989:3;11010:67;11074:2;11069:3;11010:67;:::i;:::-;11003:74;;11086:93;11175:3;11086:93;:::i;:::-;11204:2;11199:3;11195:12;11188:19;;10847:366;;;:::o;11219:419::-;11385:4;11423:2;11412:9;11408:18;11400:26;;11472:9;11466:4;11462:20;11458:1;11447:9;11443:17;11436:47;11500:131;11626:4;11500:131;:::i;:::-;11492:139;;11219:419;;;:::o;11644:224::-;11784:34;11780:1;11772:6;11768:14;11761:58;11853:7;11848:2;11840:6;11836:15;11829:32;11644:224;:::o;11874:366::-;12016:3;12037:67;12101:2;12096:3;12037:67;:::i;:::-;12030:74;;12113:93;12202:3;12113:93;:::i;:::-;12231:2;12226:3;12222:12;12215:19;;11874:366;;;:::o;12246:419::-;12412:4;12450:2;12439:9;12435:18;12427:26;;12499:9;12493:4;12489:20;12485:1;12474:9;12470:17;12463:47;12527:131;12653:4;12527:131;:::i;:::-;12519:139;;12246:419;;;:::o;12671:222::-;12811:34;12807:1;12799:6;12795:14;12788:58;12880:5;12875:2;12867:6;12863:15;12856:30;12671:222;:::o;12899:366::-;13041:3;13062:67;13126:2;13121:3;13062:67;:::i;:::-;13055:74;;13138:93;13227:3;13138:93;:::i;:::-;13256:2;13251:3;13247:12;13240:19;;12899:366;;;:::o;13271:419::-;13437:4;13475:2;13464:9;13460:18;13452:26;;13524:9;13518:4;13514:20;13510:1;13499:9;13495:17;13488:47;13552:131;13678:4;13552:131;:::i;:::-;13544:139;;13271:419;;;:::o;13696:228::-;13836:34;13832:1;13824:6;13820:14;13813:58;13905:11;13900:2;13892:6;13888:15;13881:36;13696:228;:::o;13930:366::-;14072:3;14093:67;14157:2;14152:3;14093:67;:::i;:::-;14086:74;;14169:93;14258:3;14169:93;:::i;:::-;14287:2;14282:3;14278:12;14271:19;;13930:366;;;:::o;14302:419::-;14468:4;14506:2;14495:9;14491:18;14483:26;;14555:9;14549:4;14545:20;14541:1;14530:9;14526:17;14519:47;14583:131;14709:4;14583:131;:::i;:::-;14575:139;;14302:419;;;:::o;14727:232::-;14867:34;14863:1;14855:6;14851:14;14844:58;14936:15;14931:2;14923:6;14919:15;14912:40;14727:232;:::o;14965:366::-;15107:3;15128:67;15192:2;15187:3;15128:67;:::i;:::-;15121:74;;15204:93;15293:3;15204:93;:::i;:::-;15322:2;15317:3;15313:12;15306:19;;14965:366;;;:::o;15337:419::-;15503:4;15541:2;15530:9;15526:18;15518:26;;15590:9;15584:4;15580:20;15576:1;15565:9;15561:17;15554:47;15618:131;15744:4;15618:131;:::i;:::-;15610:139;;15337:419;;;:::o;15762:410::-;15802:7;15825:20;15843:1;15825:20;:::i;:::-;15820:25;;15859:20;15877:1;15859:20;:::i;:::-;15854:25;;15914:1;15911;15907:9;15936:30;15954:11;15936:30;:::i;:::-;15925:41;;16115:1;16106:7;16102:15;16099:1;16096:22;16076:1;16069:9;16049:83;16026:139;;16145:18;;:::i;:::-;16026:139;15810:362;15762:410;;;;:::o;16178:180::-;16226:77;16223:1;16216:88;16323:4;16320:1;16313:15;16347:4;16344:1;16337:15;16364:185;16404:1;16421:20;16439:1;16421:20;:::i;:::-;16416:25;;16455:20;16473:1;16455:20;:::i;:::-;16450:25;;16494:1;16484:35;;16499:18;;:::i;:::-;16484:35;16541:1;16538;16534:9;16529:14;;16364:185;;;;:::o;16555:180::-;16603:77;16600:1;16593:88;16700:4;16697:1;16690:15;16724:4;16721:1;16714:15;16741:180;16789:77;16786:1;16779:88;16886:4;16883:1;16876:15;16910:4;16907:1;16900:15;16927:143;16984:5;17015:6;17009:13;17000:22;;17031:33;17058:5;17031:33;:::i;:::-;16927:143;;;;:::o;17076:351::-;17146:6;17195:2;17183:9;17174:7;17170:23;17166:32;17163:119;;;17201:79;;:::i;:::-;17163:119;17321:1;17346:64;17402:7;17393:6;17382:9;17378:22;17346:64;:::i;:::-;17336:74;;17292:128;17076:351;;;;:::o;17433:85::-;17478:7;17507:5;17496:16;;17433:85;;;:::o;17524:158::-;17582:9;17615:61;17633:42;17642:32;17668:5;17642:32;:::i;:::-;17633:42;:::i;:::-;17615:61;:::i;:::-;17602:74;;17524:158;;;:::o;17688:147::-;17783:45;17822:5;17783:45;:::i;:::-;17778:3;17771:58;17688:147;;:::o;17841:114::-;17908:6;17942:5;17936:12;17926:22;;17841:114;;;:::o;17961:184::-;18060:11;18094:6;18089:3;18082:19;18134:4;18129:3;18125:14;18110:29;;17961:184;;;;:::o;18151:132::-;18218:4;18241:3;18233:11;;18271:4;18266:3;18262:14;18254:22;;18151:132;;;:::o;18289:108::-;18366:24;18384:5;18366:24;:::i;:::-;18361:3;18354:37;18289:108;;:::o;18403:179::-;18472:10;18493:46;18535:3;18527:6;18493:46;:::i;:::-;18571:4;18566:3;18562:14;18548:28;;18403:179;;;;:::o;18588:113::-;18658:4;18690;18685:3;18681:14;18673:22;;18588:113;;;:::o;18737:732::-;18856:3;18885:54;18933:5;18885:54;:::i;:::-;18955:86;19034:6;19029:3;18955:86;:::i;:::-;18948:93;;19065:56;19115:5;19065:56;:::i;:::-;19144:7;19175:1;19160:284;19185:6;19182:1;19179:13;19160:284;;;19261:6;19255:13;19288:63;19347:3;19332:13;19288:63;:::i;:::-;19281:70;;19374:60;19427:6;19374:60;:::i;:::-;19364:70;;19220:224;19207:1;19204;19200:9;19195:14;;19160:284;;;19164:14;19460:3;19453:10;;18861:608;;;18737:732;;;;:::o;19475:831::-;19738:4;19776:3;19765:9;19761:19;19753:27;;19790:71;19858:1;19847:9;19843:17;19834:6;19790:71;:::i;:::-;19871:80;19947:2;19936:9;19932:18;19923:6;19871:80;:::i;:::-;19998:9;19992:4;19988:20;19983:2;19972:9;19968:18;19961:48;20026:108;20129:4;20120:6;20026:108;:::i;:::-;20018:116;;20144:72;20212:2;20201:9;20197:18;20188:6;20144:72;:::i;:::-;20226:73;20294:3;20283:9;20279:19;20270:6;20226:73;:::i;:::-;19475:831;;;;;;;;:::o
Swarm Source
ipfs://3e069d592b883c7290847fd3e9aa85b9740e9cc8e899cf14900e3f1fa63934f6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.