ERC-20
Overview
Max Total Supply
99,000,000,000 POT
Holders
104
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MemePot
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-11 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.6.12; 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 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"); // 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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract MemePot is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address payable; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isSniper; address payable public MemePot_minnow = 0x2E7cbA88B043A9da95d554F286514e31007E9520; address payable public MemePot_whale = 0xEE4B9D7Ce8cfaEA69EA911C4265591a759682f3b; address payable public MemePot_mega = 0x73f18E08194e2cD20931c61CA562Bc2B3B059875; uint256 private _tTotal = 99 * 10**9 * 10**9; string private _name = "MemePot"; string private _symbol = "POT"; uint8 private _decimals = 9; uint256 public _minnowFeeBuy = 10; uint256 public _minnowFeeSell = 10; uint256 public _whaleFeeBuy = 10; uint256 public _whaleFeeSell = 10; uint256 public _megaFeeBuy = 5; uint256 public _megaFeeSell = 5; uint256 private _minnowFees; uint256 private _whaleFees; uint256 private launchBlock; uint256 private launchTime; uint256 private blocksLimit; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; uint256 public _maxWalletHolding = 2475 * 10**6 * 10**9; uint256 private numTokensSellToAddToLiquidity = 25 * 10**4 * 10**9; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () public { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[MemePot_mega] = true; _isExcludedFromFee[MemePot_whale] = true; _isExcludedFromFee[MemePot_minnow] = true; _balances[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function manualSwapAndLiquify() public onlyOwner() { uint256 contractTokenBalance = balanceOf(address(this)); swapAndLiquify(contractTokenBalance); } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function setTaxes(uint256[] memory _taxTypes, uint256[] memory _taxSizes) external onlyOwner() { require(_taxTypes.length == _taxSizes.length, "Incorrect input"); for (uint i = 0; i < _taxTypes.length; i++) { uint256 _taxType = _taxTypes[i]; uint256 _taxSize = _taxSizes[i]; if (_taxType == 1) { _minnowFeeBuy = _taxSize; } else if (_taxType == 2) { _minnowFeeSell = _taxSize; } else if (_taxType == 3) { _megaFeeBuy = _taxSize; } else if (_taxType == 4) { _megaFeeSell = _taxSize; } else if (_taxType == 5) { _whaleFeeBuy = _taxSize; } else if (_taxType == 6) { _whaleFeeSell = _taxSize; } } require(_minnowFeeBuy <= 10 && _minnowFeeSell <= 10 && _megaFeeSell <= 10 && _megaFeeBuy <= 10); require(_whaleFeeBuy <= 5 && _whaleFeeSell <= 5); } function setSwapAndLiquifyEnabled(bool _enabled, uint256 _numTokensMin) public onlyOwner() { swapAndLiquifyEnabled = _enabled; numTokensSellToAddToLiquidity = _numTokensMin; } function airdrop(address payable [] memory holders, uint256 [] memory balances) public onlyOwner() { require(holders.length == balances.length, "Incorrect input"); uint256 deployer_balance = _balances[_msgSender()]; for (uint8 i = 0; i < holders.length; i++) { uint256 balance = balances[i] * 10 ** 9; _balances[holders[i]] = _balances[holders[i]].add(balance); emit Transfer(_msgSender(), holders[i], balance); deployer_balance = deployer_balance.sub(balance); } _balances[_msgSender()] = deployer_balance; } function enableTrading(uint256 _blocksLimit) public onlyOwner() { require(launchTime == 0, "Already enabled"); launchBlock = block.number; launchTime = block.timestamp; blocksLimit = _blocksLimit; } receive() external payable {} 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(amount > 0, "Transfer amount must be greater than zero"); uint256 contractTokenBalance = balanceOf(address(this)); bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity; if ( overMinTokenBalance && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { swapAndLiquify(contractTokenBalance); } //indicates if fee should be deducted from transfer bool takeFee = true; //if any account belongs to _isExcludedFromFee account then remove the fee if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } else { require(launchTime > 0, "Trading not enabled yet"); } //depending on type of transfer (buy, sell, or p2p tokens transfer) different taxes & fees are applied bool isTransferBuy = from == uniswapV2Pair; bool isTransferSell = to == uniswapV2Pair; if (!isTransferBuy && !isTransferSell) { takeFee = false; } _transferStandard(from,to,amount,takeFee,isTransferBuy,isTransferSell); if (!_isExcludedFromFee[to] && (to != uniswapV2Pair)) require(balanceOf(to) < _maxWalletHolding, "Max Wallet holding limit exceeded"); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { swapTokensForEth(contractTokenBalance); uint256 newBalance = address(this).balance; uint256 minnowBalance = _minnowFees.mul(newBalance).div(contractTokenBalance); uint256 whaleBalance = _whaleFees.mul(newBalance).div(contractTokenBalance); if (minnowBalance > 0 && minnowBalance < address(this).balance) MemePot_minnow.call{ value: minnowBalance }(""); if (whaleBalance > 0 && whaleBalance < address(this).balance) MemePot_whale.call{ value: whaleBalance }(""); if (address(this).balance > 0) MemePot_mega.call{ value: address(this).balance }(""); _minnowFees = 0; _whaleFees = 0; } function setBlockedWallet(address _account, bool _blocked ) public onlyOwner() { require(!_blocked, "Can only unblock wallets"); _isSniper[_account] = _blocked; } function swapTokensForEth(uint256 tokenAmount) private { // 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, path, address(this), block.timestamp ); } function _transferStandard(address sender, address recipient, uint256 tAmount, bool takeFee, bool isTransferBuy, bool isTransferSell) private { uint256 tTransferAmount = tAmount; if (takeFee) { uint256 minnowTax; uint256 whaleTax; uint256 megaTax; if (isTransferBuy) { if (!_isExcludedFromFee[recipient]) if (block.number <= (launchBlock + blocksLimit)) _isSniper[recipient] = true; minnowTax = tAmount.mul(_minnowFeeBuy).div(1000); whaleTax = tAmount.mul(_whaleFeeBuy).div(1000); megaTax = tAmount.mul(_megaFeeBuy).div(1000); } if (isTransferSell) { require(!_isSniper[sender], "SNIPER!"); minnowTax = tAmount.mul(_minnowFeeSell).div(1000); whaleTax = tAmount.mul(_whaleFeeSell).div(1000); megaTax = tAmount.mul(_megaFeeSell).div(1000); } tTransferAmount = tTransferAmount.sub(minnowTax).sub(whaleTax).sub(megaTax); _minnowFees = _minnowFees.add(minnowTax); _whaleFees = _whaleFees.add(whaleTax); } else if (!isTransferBuy && !isTransferSell) { require(!_isSniper[sender], "SNIPER!"); } _balances[sender] = _balances[sender].sub(tAmount); _balances[recipient] = _balances[recipient].add(tTransferAmount); _balances[address(this)] = _balances[address(this)].add(tAmount.sub(tTransferAmount)); emit Transfer(sender, recipient, tTransferAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MemePot_mega","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MemePot_minnow","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MemePot_whale","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletHolding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_megaFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_megaFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minnowFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minnowFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_whaleFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_whaleFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable[]","name":"holders","type":"address[]"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blocksLimit","type":"uint256"}],"name":"enableTrading","outputs":[],"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":"manualSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_blocked","type":"bool"}],"name":"setBlockedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_numTokensMin","type":"uint256"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_taxTypes","type":"uint256[]"},{"internalType":"uint256[]","name":"_taxSizes","type":"uint256[]"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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
60c0604052732e7cba88b043a9da95d554f286514e31007e9520600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ee4b9d7ce8cfaea69ea911c4265591a759682f3b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507373f18e08194e2cd20931c61ca562bc2b3b059875600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555068055de6a779bbac00006008556040518060400160405280600781526020017f4d656d65506f7400000000000000000000000000000000000000000000000000815250600990805190602001906200015d92919062000857565b506040518060400160405280600381526020017f504f540000000000000000000000000000000000000000000000000000000000815250600a9080519060200190620001ab92919062000857565b506009600b60006101000a81548160ff021916908360ff160217905550600a600c55600a600d55600a600e55600a600f55600560105560056011556001601760016101000a81548160ff021916908315150217905550672258f7630b17800060185565e35fa931a0006019553480156200022457600080fd5b506000620002376200082660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200033557600080fd5b505afa1580156200034a573d6000803e3d6000fd5b505050506040513d60208110156200036157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d557600080fd5b505afa158015620003ea573d6000803e3d6000fd5b505050506040513d60208110156200040157600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200047c57600080fd5b505af115801562000491573d6000803e3d6000fd5b505050506040513d6020811015620004a857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506001600360006200053c6200082e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600854600160006200076a6200082660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620007b86200082660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040518082815260200191505060405180910390a350620008fd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200089a57805160ff1916838001178555620008cb565b82800160010185558215620008cb579182015b82811115620008ca578251825591602001919060010190620008ad565b5b509050620008da9190620008de565b5090565b5b80821115620008f9576000816000905550600101620008df565b5090565b60805160601c60a05160601c613c0f6200094a600039806112b852806128975280612a3f5280612a925280612b5c525080610f9852806136e252806137ce52806137f55250613c0f6000f3fe6080604052600436106102135760003560e01c80636eb0306911610118578063a457c2d7116100a0578063e21702a61161006f578063e21702a614610d65578063ea2f0b3714610dc2578063ec856a1314610e13578063f2fde38b14610e54578063f499133514610ea55761021a565b8063a457c2d714610bd3578063a9059cbb14610c44578063ab8f052114610cb5578063dd62ed3e14610ce05761021a565b8063733b864f116100e7578063733b864f1461095757806382aa7c681461096e5780638da5cb5b146109a957806395d89b41146109ea5780639c8d35e114610a7a5761021a565b80636eb03069146108695780636f60efbc1461089457806370a08231146108db578063715018a6146109405761021a565b8063437823ec1161019b5780635342acb41161016a5780635342acb414610612578063593086851461067957806363b446ce146106a457806367243482146106e55780636cc2a71b1461083e5761021a565b8063437823ec146105125780634867720d1461056357806349bd5a5e146105a45780634a74bb02146105e55761021a565b806318160ddd116101e257806318160ddd1461038c57806318cbbe02146103b757806323b872dd146103e2578063313ce5671461047357806339509351146104a15761021a565b8063038356051461021f57806306fdde031461024a578063095ea7b3146102da5780631694505e1461034b5761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610ed0565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061025f610ed6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029f578082015181840152602081019050610284565b50505050905090810190601f1680156102cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e657600080fd5b50610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b60405180821515815260200191505060405180910390f35b34801561035757600080fd5b50610360610f96565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561039857600080fd5b506103a1610fba565b6040518082815260200191505060405180910390f35b3480156103c357600080fd5b506103cc610fc4565b6040518082815260200191505060405180910390f35b3480156103ee57600080fd5b5061045b6004803603606081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fca565b60405180821515815260200191505060405180910390f35b34801561047f57600080fd5b506104886110a3565b604051808260ff16815260200191505060405180910390f35b3480156104ad57600080fd5b506104fa600480360360408110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ba565b60405180821515815260200191505060405180910390f35b34801561051e57600080fd5b506105616004803603602081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116d565b005b34801561056f57600080fd5b50610578611290565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b057600080fd5b506105b96112b6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105f157600080fd5b506105fa6112da565b60405180821515815260200191505060405180910390f35b34801561061e57600080fd5b506106616004803603602081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b60405180821515815260200191505060405180910390f35b34801561068557600080fd5b5061068e611343565b6040518082815260200191505060405180910390f35b3480156106b057600080fd5b506106b9611349565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106f157600080fd5b5061083c6004803603604081101561070857600080fd5b810190808035906020019064010000000081111561072557600080fd5b82018360208201111561073757600080fd5b8035906020019184602083028401116401000000008311171561075957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107b957600080fd5b8201836020820111156107cb57600080fd5b803590602001918460208302840111640100000000831117156107ed57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061136f565b005b34801561084a57600080fd5b506108536116e0565b6040518082815260200191505060405180910390f35b34801561087557600080fd5b5061087e6116e6565b6040518082815260200191505060405180910390f35b3480156108a057600080fd5b506108d9600480360360408110156108b757600080fd5b81019080803515159060200190929190803590602001909291905050506116ec565b005b3480156108e757600080fd5b5061092a600480360360208110156108fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d9565b6040518082815260200191505060405180910390f35b34801561094c57600080fd5b50610955611822565b005b34801561096357600080fd5b5061096c6119a8565b005b34801561097a57600080fd5b506109a76004803603602081101561099157600080fd5b8101908080359060200190929190505050611a89565b005b3480156109b557600080fd5b506109be611be1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f657600080fd5b506109ff611c0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a3f578082015181840152602081019050610a24565b50505050905090810190601f168015610a6c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a8657600080fd5b50610bd160048036036040811015610a9d57600080fd5b8101908080359060200190640100000000811115610aba57600080fd5b820183602082011115610acc57600080fd5b80359060200191846020830284011164010000000083111715610aee57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4e57600080fd5b820183602082011115610b6057600080fd5b80359060200191846020830284011164010000000083111715610b8257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611cac565b005b348015610bdf57600080fd5b50610c2c60048036036040811015610bf657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f16565b60405180821515815260200191505060405180910390f35b348015610c5057600080fd5b50610c9d60048036036040811015610c6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fe3565b60405180821515815260200191505060405180910390f35b348015610cc157600080fd5b50610cca612001565b6040518082815260200191505060405180910390f35b348015610cec57600080fd5b50610d4f60048036036040811015610d0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612007565b6040518082815260200191505060405180910390f35b348015610d7157600080fd5b50610dc060048036036040811015610d8857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061208e565b005b348015610dce57600080fd5b50610e1160048036036020811015610de557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612225565b005b348015610e1f57600080fd5b50610e28612348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e6057600080fd5b50610ea360048036036020811015610e7757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061236e565b005b348015610eb157600080fd5b50610eba612579565b6040518082815260200191505060405180910390f35b600d5481565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050905090565b6000610f8c610f8561257f565b8484612587565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600854905090565b600c5481565b6000610fd784848461277e565b61109884610fe361257f565b61109385604051806060016040528060288152602001613afa60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061104961257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9092919063ffffffff16565b612587565b600190509392505050565b6000600b60009054906101000a900460ff16905090565b60006111636110c761257f565b8461115e85600260006110d861257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b612587565b6001905092915050565b61117561257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b601760019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60115481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61137761257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611437576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80518251146114ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f727265637420696e707574000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160006114bc61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060005b83518160ff16101561168f576000633b9aca00848360ff168151811061151e57fe5b60200260200101510290506115918160016000888660ff168151811061154057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b60016000878560ff16815181106115a457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550848260ff16815181106115f957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1661161f61257f565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361167f8184612d6590919063ffffffff16565b92505080806001019150506114fc565b50806001600061169d61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600e5481565b600f5481565b6116f461257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81601760016101000a81548160ff021916908315150217905550806019819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61182a61257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6119b061257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611a7b306117d9565b9050611a8681612daf565b50565b611a9161257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060155414611bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f416c726561647920656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b43601481905550426015819055508060168190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ca25780601f10611c7757610100808354040283529160200191611ca2565b820191906000526020600020905b815481529060010190602001808311611c8557829003601f168201915b5050505050905090565b611cb461257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8051825114611deb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f727265637420696e707574000000000000000000000000000000000081525060200191505060405180910390fd5b60005b8251811015611eb5576000838281518110611e0557fe5b602002602001015190506000838381518110611e1d57fe5b602002602001015190506001821415611e3c5780600c81905550611ea6565b6002821415611e515780600d81905550611ea5565b6003821415611e665780601081905550611ea4565b6004821415611e7b5780601181905550611ea3565b6005821415611e905780600e81905550611ea2565b6006821415611ea15780600f819055505b5b5b5b5b5b50508080600101915050611dee565b50600a600c5411158015611ecc5750600a600d5411155b8015611edb5750600a60115411155b8015611eea5750600a60105411155b611ef357600080fd5b6005600e5411158015611f0957506005600f5411155b611f1257600080fd5b5050565b6000611fd9611f2361257f565b84611fd485604051806060016040528060258152602001613b946025913960026000611f4d61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9092919063ffffffff16565b612587565b6001905092915050565b6000611ff7611ff061257f565b848461277e565b6001905092915050565b60105481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61209661257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612156576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80156121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616e206f6e6c7920756e626c6f636b2077616c6c657473000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61222d61257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61237661257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613a916026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561260d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613b706024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ab76022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612804576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613b4b6025913960400191505060405180910390fd5b6000811161285d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613b226029913960400191505060405180910390fd5b6000612868306117d9565b90506000601954821015905080801561288e5750601760009054906101000a900460ff16155b80156128e657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156128fe5750601760019054906101000a900460ff165b1561290d5761290c82612daf565b5b600060019050600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129b45750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129c25760009050612a3b565b600060155411612a3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f54726164696e67206e6f7420656e61626c65642079657400000000000000000081525060200191505060405180910390fd5b5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905081158015612aed575080155b15612af757600092505b612b0588888886868661302b565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bab57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612c1357601854612bbc886117d9565b10612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613bb96021913960400191505060405180910390fd5b5b5050505050505050565b6000838311158290612cca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c8f578082015181840152602081019050612c74565b50505050905090810190601f168015612cbc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612d5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612da783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c1d565b905092915050565b6001601760006101000a81548160ff021916908315150217905550612dd38161364c565b60004790506000612e0183612df3846012546138fa90919063ffffffff16565b61398090919063ffffffff16565b90506000612e2c84612e1e856013546138fa90919063ffffffff16565b61398090919063ffffffff16565b9050600082118015612e3d57504782105b15612ecb57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612ec2576040519150601f19603f3d011682016040523d82523d6000602084013e612ec7565b606091505b5050505b600081118015612eda57504781105b15612f6857600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405180600001905060006040518083038185875af1925050503d8060008114612f5f576040519150601f19603f3d011682016040523d82523d6000602084013e612f64565b606091505b5050505b6000471115612ffa57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405180600001905060006040518083038185875af1925050503d8060008114612ff1576040519150601f19603f3d011682016040523d82523d6000602084013e612ff6565b606091505b5050505b600060128190555060006013819055505050506000601760006101000a81548160ff02191690831515021790555050565b6000849050831561333a576000806000851561317b57600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166130f9576016546014540143116130f8576001600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b6131226103e8613114600c548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b925061314d6103e861313f600e548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b91506131786103e861316a6010548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b90505b84156132c357600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613241576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f534e49504552210000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61326a6103e861325c600d548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b92506132956103e8613287600f548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b91506132c06103e86132b26011548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b90505b6132fa816132ec846132de8789612d6590919063ffffffff16565b612d6590919063ffffffff16565b612d6590919063ffffffff16565b935061331183601254612cdd90919063ffffffff16565b60128190555061332c82601354612cdd90919063ffffffff16565b60138190555050505061340d565b82158015613346575081155b1561340c57600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561340b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f534e49504552210000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5b61345f85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134f481600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061359b61354d8287612d6590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505050505050565b6060600267ffffffffffffffff8111801561366657600080fd5b506040519080825280602002602001820160405280156136955781602001602082028036833780820191505090505b50905030816000815181106136a657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561374657600080fd5b505afa15801561375a573d6000803e3d6000fd5b505050506040513d602081101561377057600080fd5b81019080805190602001909291905050508160018151811061378e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137f3307f000000000000000000000000000000000000000000000000000000000000000084612587565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156138b557808201518184015260208101905061389a565b505050509050019650505050505050600060405180830381600087803b1580156138de57600080fd5b505af11580156138f2573d6000803e3d6000fd5b505050505050565b60008083141561390d576000905061397a565b600082840290508284828161391e57fe5b0414613975576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613ad96021913960400191505060405180910390fd5b809150505b92915050565b60006139c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506139ca565b905092915050565b60008083118290613a76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a3b578082015181840152602081019050613a20565b50505050905090810190601f168015613a685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613a8257fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4d61782057616c6c657420686f6c64696e67206c696d6974206578636565646564a2646970667358221220ce56164a28bf1c152efe442ffa2d10f44dedbb2e4b9e8b88013e08ceb963286f64736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106102135760003560e01c80636eb0306911610118578063a457c2d7116100a0578063e21702a61161006f578063e21702a614610d65578063ea2f0b3714610dc2578063ec856a1314610e13578063f2fde38b14610e54578063f499133514610ea55761021a565b8063a457c2d714610bd3578063a9059cbb14610c44578063ab8f052114610cb5578063dd62ed3e14610ce05761021a565b8063733b864f116100e7578063733b864f1461095757806382aa7c681461096e5780638da5cb5b146109a957806395d89b41146109ea5780639c8d35e114610a7a5761021a565b80636eb03069146108695780636f60efbc1461089457806370a08231146108db578063715018a6146109405761021a565b8063437823ec1161019b5780635342acb41161016a5780635342acb414610612578063593086851461067957806363b446ce146106a457806367243482146106e55780636cc2a71b1461083e5761021a565b8063437823ec146105125780634867720d1461056357806349bd5a5e146105a45780634a74bb02146105e55761021a565b806318160ddd116101e257806318160ddd1461038c57806318cbbe02146103b757806323b872dd146103e2578063313ce5671461047357806339509351146104a15761021a565b8063038356051461021f57806306fdde031461024a578063095ea7b3146102da5780631694505e1461034b5761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610ed0565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061025f610ed6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029f578082015181840152602081019050610284565b50505050905090810190601f1680156102cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e657600080fd5b50610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b60405180821515815260200191505060405180910390f35b34801561035757600080fd5b50610360610f96565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561039857600080fd5b506103a1610fba565b6040518082815260200191505060405180910390f35b3480156103c357600080fd5b506103cc610fc4565b6040518082815260200191505060405180910390f35b3480156103ee57600080fd5b5061045b6004803603606081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fca565b60405180821515815260200191505060405180910390f35b34801561047f57600080fd5b506104886110a3565b604051808260ff16815260200191505060405180910390f35b3480156104ad57600080fd5b506104fa600480360360408110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ba565b60405180821515815260200191505060405180910390f35b34801561051e57600080fd5b506105616004803603602081101561053557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116d565b005b34801561056f57600080fd5b50610578611290565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b057600080fd5b506105b96112b6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105f157600080fd5b506105fa6112da565b60405180821515815260200191505060405180910390f35b34801561061e57600080fd5b506106616004803603602081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b60405180821515815260200191505060405180910390f35b34801561068557600080fd5b5061068e611343565b6040518082815260200191505060405180910390f35b3480156106b057600080fd5b506106b9611349565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106f157600080fd5b5061083c6004803603604081101561070857600080fd5b810190808035906020019064010000000081111561072557600080fd5b82018360208201111561073757600080fd5b8035906020019184602083028401116401000000008311171561075957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107b957600080fd5b8201836020820111156107cb57600080fd5b803590602001918460208302840111640100000000831117156107ed57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061136f565b005b34801561084a57600080fd5b506108536116e0565b6040518082815260200191505060405180910390f35b34801561087557600080fd5b5061087e6116e6565b6040518082815260200191505060405180910390f35b3480156108a057600080fd5b506108d9600480360360408110156108b757600080fd5b81019080803515159060200190929190803590602001909291905050506116ec565b005b3480156108e757600080fd5b5061092a600480360360208110156108fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d9565b6040518082815260200191505060405180910390f35b34801561094c57600080fd5b50610955611822565b005b34801561096357600080fd5b5061096c6119a8565b005b34801561097a57600080fd5b506109a76004803603602081101561099157600080fd5b8101908080359060200190929190505050611a89565b005b3480156109b557600080fd5b506109be611be1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f657600080fd5b506109ff611c0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a3f578082015181840152602081019050610a24565b50505050905090810190601f168015610a6c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a8657600080fd5b50610bd160048036036040811015610a9d57600080fd5b8101908080359060200190640100000000811115610aba57600080fd5b820183602082011115610acc57600080fd5b80359060200191846020830284011164010000000083111715610aee57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4e57600080fd5b820183602082011115610b6057600080fd5b80359060200191846020830284011164010000000083111715610b8257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611cac565b005b348015610bdf57600080fd5b50610c2c60048036036040811015610bf657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f16565b60405180821515815260200191505060405180910390f35b348015610c5057600080fd5b50610c9d60048036036040811015610c6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fe3565b60405180821515815260200191505060405180910390f35b348015610cc157600080fd5b50610cca612001565b6040518082815260200191505060405180910390f35b348015610cec57600080fd5b50610d4f60048036036040811015610d0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612007565b6040518082815260200191505060405180910390f35b348015610d7157600080fd5b50610dc060048036036040811015610d8857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061208e565b005b348015610dce57600080fd5b50610e1160048036036020811015610de557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612225565b005b348015610e1f57600080fd5b50610e28612348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e6057600080fd5b50610ea360048036036020811015610e7757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061236e565b005b348015610eb157600080fd5b50610eba612579565b6040518082815260200191505060405180910390f35b600d5481565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050905090565b6000610f8c610f8561257f565b8484612587565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600854905090565b600c5481565b6000610fd784848461277e565b61109884610fe361257f565b61109385604051806060016040528060288152602001613afa60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061104961257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9092919063ffffffff16565b612587565b600190509392505050565b6000600b60009054906101000a900460ff16905090565b60006111636110c761257f565b8461115e85600260006110d861257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b612587565b6001905092915050565b61117561257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611235576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000b4635f438f8bbf2028f5ab83061f0cae2c2221e581565b601760019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60115481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61137761257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611437576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80518251146114ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f727265637420696e707574000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160006114bc61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060005b83518160ff16101561168f576000633b9aca00848360ff168151811061151e57fe5b60200260200101510290506115918160016000888660ff168151811061154057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b60016000878560ff16815181106115a457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550848260ff16815181106115f957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1661161f61257f565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361167f8184612d6590919063ffffffff16565b92505080806001019150506114fc565b50806001600061169d61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600e5481565b600f5481565b6116f461257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81601760016101000a81548160ff021916908315150217905550806019819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61182a61257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6119b061257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611a7b306117d9565b9050611a8681612daf565b50565b611a9161257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060155414611bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f416c726561647920656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b43601481905550426015819055508060168190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ca25780601f10611c7757610100808354040283529160200191611ca2565b820191906000526020600020905b815481529060010190602001808311611c8557829003601f168201915b5050505050905090565b611cb461257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8051825114611deb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f727265637420696e707574000000000000000000000000000000000081525060200191505060405180910390fd5b60005b8251811015611eb5576000838281518110611e0557fe5b602002602001015190506000838381518110611e1d57fe5b602002602001015190506001821415611e3c5780600c81905550611ea6565b6002821415611e515780600d81905550611ea5565b6003821415611e665780601081905550611ea4565b6004821415611e7b5780601181905550611ea3565b6005821415611e905780600e81905550611ea2565b6006821415611ea15780600f819055505b5b5b5b5b5b50508080600101915050611dee565b50600a600c5411158015611ecc5750600a600d5411155b8015611edb5750600a60115411155b8015611eea5750600a60105411155b611ef357600080fd5b6005600e5411158015611f0957506005600f5411155b611f1257600080fd5b5050565b6000611fd9611f2361257f565b84611fd485604051806060016040528060258152602001613b946025913960026000611f4d61257f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9092919063ffffffff16565b612587565b6001905092915050565b6000611ff7611ff061257f565b848461277e565b6001905092915050565b60105481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61209661257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612156576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80156121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616e206f6e6c7920756e626c6f636b2077616c6c657473000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61222d61257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61237661257f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613a916026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561260d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613b706024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ab76022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612804576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613b4b6025913960400191505060405180910390fd5b6000811161285d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613b226029913960400191505060405180910390fd5b6000612868306117d9565b90506000601954821015905080801561288e5750601760009054906101000a900460ff16155b80156128e657507f000000000000000000000000b4635f438f8bbf2028f5ab83061f0cae2c2221e573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156128fe5750601760019054906101000a900460ff165b1561290d5761290c82612daf565b5b600060019050600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129b45750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129c25760009050612a3b565b600060155411612a3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f54726164696e67206e6f7420656e61626c65642079657400000000000000000081525060200191505060405180910390fd5b5b60007f000000000000000000000000b4635f438f8bbf2028f5ab83061f0cae2c2221e573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905060007f000000000000000000000000b4635f438f8bbf2028f5ab83061f0cae2c2221e573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905081158015612aed575080155b15612af757600092505b612b0588888886868661302b565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bab57507f000000000000000000000000b4635f438f8bbf2028f5ab83061f0cae2c2221e573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612c1357601854612bbc886117d9565b10612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613bb96021913960400191505060405180910390fd5b5b5050505050505050565b6000838311158290612cca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c8f578082015181840152602081019050612c74565b50505050905090810190601f168015612cbc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612d5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612da783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c1d565b905092915050565b6001601760006101000a81548160ff021916908315150217905550612dd38161364c565b60004790506000612e0183612df3846012546138fa90919063ffffffff16565b61398090919063ffffffff16565b90506000612e2c84612e1e856013546138fa90919063ffffffff16565b61398090919063ffffffff16565b9050600082118015612e3d57504782105b15612ecb57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612ec2576040519150601f19603f3d011682016040523d82523d6000602084013e612ec7565b606091505b5050505b600081118015612eda57504781105b15612f6857600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405180600001905060006040518083038185875af1925050503d8060008114612f5f576040519150601f19603f3d011682016040523d82523d6000602084013e612f64565b606091505b5050505b6000471115612ffa57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405180600001905060006040518083038185875af1925050503d8060008114612ff1576040519150601f19603f3d011682016040523d82523d6000602084013e612ff6565b606091505b5050505b600060128190555060006013819055505050506000601760006101000a81548160ff02191690831515021790555050565b6000849050831561333a576000806000851561317b57600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166130f9576016546014540143116130f8576001600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b6131226103e8613114600c548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b925061314d6103e861313f600e548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b91506131786103e861316a6010548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b90505b84156132c357600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613241576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f534e49504552210000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61326a6103e861325c600d548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b92506132956103e8613287600f548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b91506132c06103e86132b26011548b6138fa90919063ffffffff16565b61398090919063ffffffff16565b90505b6132fa816132ec846132de8789612d6590919063ffffffff16565b612d6590919063ffffffff16565b612d6590919063ffffffff16565b935061331183601254612cdd90919063ffffffff16565b60128190555061332c82601354612cdd90919063ffffffff16565b60138190555050505061340d565b82158015613346575081155b1561340c57600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561340b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f534e49504552210000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5b61345f85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134f481600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061359b61354d8287612d6590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505050505050565b6060600267ffffffffffffffff8111801561366657600080fd5b506040519080825280602002602001820160405280156136955781602001602082028036833780820191505090505b50905030816000815181106136a657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561374657600080fd5b505afa15801561375a573d6000803e3d6000fd5b505050506040513d602081101561377057600080fd5b81019080805190602001909291905050508160018151811061378e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137f3307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612587565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156138b557808201518184015260208101905061389a565b505050509050019650505050505050600060405180830381600087803b1580156138de57600080fd5b505af11580156138f2573d6000803e3d6000fd5b505050505050565b60008083141561390d576000905061397a565b600082840290508284828161391e57fe5b0414613975576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613ad96021913960400191505060405180910390fd5b809150505b92915050565b60006139c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506139ca565b905092915050565b60008083118290613a76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a3b578082015181840152602081019050613a20565b50505050905090810190601f168015613a685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613a8257fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4d61782057616c6c657420686f6c64696e67206c696d6974206578636565646564a2646970667358221220ce56164a28bf1c152efe442ffa2d10f44dedbb2e4b9e8b88013e08ceb963286f64736f6c634300060c0033
Deployed Bytecode Sourcemap
17185:11757:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18025:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19490:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20323:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18398:51;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19767:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17985:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20492:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19676:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20813:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21496:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17554:82;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18456:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18531:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;23803:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18186:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17643:81;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;22924:587;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18068:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18107:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22718:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19870:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16140:148;;;;;;;;;;;;;:::i;:::-;;21316:172;;;;;;;;;;;;;:::i;:::-;;23519:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15497:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19581:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21733:977;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21039:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19997:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18149:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20172:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26615:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21615:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17731:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16443:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18580:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18025:34;;;;:::o;19490:83::-;19527:13;19560:5;19553:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19490:83;:::o;20323:161::-;20398:4;20415:39;20424:12;:10;:12::i;:::-;20438:7;20447:6;20415:8;:39::i;:::-;20472:4;20465:11;;20323:161;;;;:::o;18398:51::-;;;:::o;19767:95::-;19820:7;19847;;19840:14;;19767:95;:::o;17985:33::-;;;;:::o;20492:313::-;20590:4;20607:36;20617:6;20625:9;20636:6;20607:9;:36::i;:::-;20654:121;20663:6;20671:12;:10;:12::i;:::-;20685:89;20723:6;20685:89;;;;;;;;;;;;;;;;;:11;:19;20697:6;20685:19;;;;;;;;;;;;;;;:33;20705:12;:10;:12::i;:::-;20685:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;20654:8;:121::i;:::-;20793:4;20786:11;;20492:313;;;;;:::o;19676:83::-;19717:5;19742:9;;;;;;;;;;;19735:16;;19676:83;:::o;20813:218::-;20901:4;20918:83;20927:12;:10;:12::i;:::-;20941:7;20950:50;20989:10;20950:11;:25;20962:12;:10;:12::i;:::-;20950:25;;;;;;;;;;;;;;;:34;20976:7;20950:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20918:8;:83::i;:::-;21019:4;21012:11;;20813:218;;;;:::o;21496:111::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21595:4:::1;21565:18;:27;21584:7;21565:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;21496:111:::0;:::o;17554:82::-;;;;;;;;;;;;;:::o;18456:38::-;;;:::o;18531:40::-;;;;;;;;;;;;;:::o;23803:123::-;23867:4;23891:18;:27;23910:7;23891:27;;;;;;;;;;;;;;;;;;;;;;;;;23884:34;;23803:123;;;:::o;18186:31::-;;;;:::o;17643:81::-;;;;;;;;;;;;;:::o;22924:587::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23058:8:::1;:15;23040:7;:14;:33;23032:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;23102:24;23129:9;:23;23139:12;:10;:12::i;:::-;23129:23;;;;;;;;;;;;;;;;23102:50;;23168:7;23163:290;23185:7;:14;23181:1;:18;;;23163:290;;;23217:15;23249:7;23235:8;23244:1;23235:11;;;;;;;;;;;;;;;;:21;23217:39;;23291:34;23317:7;23291:9;:21;23301:7;23309:1;23301:10;;;;;;;;;;;;;;;;23291:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;23267:9;:21;23277:7;23285:1;23277:10;;;;;;;;;;;;;;;;23267:21;;;;;;;;;;;;;;;:58;;;;23364:7;23372:1;23364:10;;;;;;;;;;;;;;;;23341:43;;23350:12;:10;:12::i;:::-;23341:43;;;23376:7;23341:43;;;;;;;;;;;;;;;;;;23414:29;23435:7;23414:16;:20;;:29;;;;:::i;:::-;23395:48;;23163:290;23201:3;;;;;;;23163:290;;;;23487:16;23461:9;:23;23471:12;:10;:12::i;:::-;23461:23;;;;;;;;;;;;;;;:42;;;;15779:1;22924:587:::0;;:::o;18068:32::-;;;;:::o;18107:33::-;;;;:::o;22718:198::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22844:8:::1;22820:21;;:32;;;;;;;;;;;;;;;;;;22895:13;22863:29;:45;;;;22718:198:::0;;:::o;19870:119::-;19936:7;19963:9;:18;19973:7;19963:18;;;;;;;;;;;;;;;;19956:25;;19870:119;;;:::o;16140:148::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16247:1:::1;16210:40;;16231:6;::::0;::::1;;;;;;;;16210:40;;;;;;;;;;;;16278:1;16261:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;16140:148::o:0;21316:172::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21378:28:::1;21409:24;21427:4;21409:9;:24::i;:::-;21378:55;;21444:36;21459:20;21444:14;:36::i;:::-;15779:1;21316:172::o:0;23519:239::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23616:1:::1;23602:10;;:15;23594:43;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;23662:12;23648:11;:26;;;;23698:15;23685:10;:28;;;;23738:12;23724:11;:26;;;;23519:239:::0;:::o;15497:79::-;15535:7;15562:6;;;;;;;;;;;15555:13;;15497:79;:::o;19581:87::-;19620:13;19653:7;19646:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19581:87;:::o;21733:977::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21865:9:::1;:16;21845:9;:16;:36;21837:64;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21915:6;21910:632;21931:9;:16;21927:1;:20;21910:632;;;21967:16;21986:9;21996:1;21986:12;;;;;;;;;;;;;;21967:31;;22009:16;22028:9;22038:1;22028:12;;;;;;;;;;;;;;22009:31;;22069:1;22057:8;:13;22053:480;;;22101:8;22085:13;:24;;;;22053:480;;;22152:1;22140:8;:13;22136:397;;;22185:8;22168:14;:25;;;;22136:397;;;22236:1;22224:8;:13;22220:313;;;22266:8;22252:11;:22;;;;22220:313;;;22317:1;22305:8;:13;22301:232;;;22348:8;22333:12;:23;;;;22301:232;;;22399:1;22387:8;:13;22383:150;;;22430:8;22415:12;:23;;;;22383:150;;;22481:1;22469:8;:13;22465:68;;;22513:8;22497:13;:24;;;;22465:68;22383:150;22301:232;22220:313;22136:397;22053:480;21910:632;;21949:3;;;;;;;21910:632;;;;22575:2;22558:13;;:19;;:43;;;;;22599:2;22581:14;;:20;;22558:43;:65;;;;;22621:2;22605:12;;:18;;22558:65;:86;;;;;22642:2;22627:11;;:17;;22558:86;22550:95;;;::::0;::::1;;22678:1;22662:12;;:17;;:39;;;;;22700:1;22683:13;;:18;;22662:39;22654:48;;;::::0;::::1;;21733:977:::0;;:::o;21039:269::-;21132:4;21149:129;21158:12;:10;:12::i;:::-;21172:7;21181:96;21220:15;21181:96;;;;;;;;;;;;;;;;;:11;:25;21193:12;:10;:12::i;:::-;21181:25;;;;;;;;;;;;;;;:34;21207:7;21181:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;21149:8;:129::i;:::-;21296:4;21289:11;;21039:269;;;;:::o;19997:167::-;20075:4;20092:42;20102:12;:10;:12::i;:::-;20116:9;20127:6;20092:9;:42::i;:::-;20152:4;20145:11;;19997:167;;;;:::o;18149:30::-;;;;:::o;20172:143::-;20253:7;20280:11;:18;20292:5;20280:18;;;;;;;;;;;;;;;:27;20299:7;20280:27;;;;;;;;;;;;;;;;20273:34;;20172:143;;;;:::o;26615:185::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26714:8:::1;26713:9;26705:46;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;26784:8;26762:9;:19;26772:8;26762:19;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;26615:185:::0;;:::o;21615:110::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21712:5:::1;21682:18;:27;21701:7;21682:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;21615:110:::0;:::o;17731:80::-;;;;;;;;;;;;;:::o;16443:244::-;15719:12;:10;:12::i;:::-;15709:22;;:6;;;;;;;;;;:22;;;15701:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16552:1:::1;16532:22;;:8;:22;;;;16524:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16642:8;16613:38;;16634:6;::::0;::::1;;;;;;;;16613:38;;;;;;;;;;;;16671:8;16662:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;16443:244:::0;:::o;18580:55::-;;;;:::o;7974:106::-;8027:15;8062:10;8055:17;;7974:106;:::o;23934:337::-;24044:1;24027:19;;:5;:19;;;;24019:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24125:1;24106:21;;:7;:21;;;;24098:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24209:6;24179:11;:18;24191:5;24179:18;;;;;;;;;;;;;;;:27;24198:7;24179:27;;;;;;;;;;;;;;;:36;;;;24247:7;24231:32;;24240:5;24231:32;;;24256:6;24231:32;;;;;;;;;;;;;;;;;;23934:337;;;:::o;24279:1570::-;24417:1;24401:18;;:4;:18;;;;24393:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24489:1;24480:6;:10;24472:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24547:28;24578:24;24596:4;24578:9;:24::i;:::-;24547:55;;24615:24;24666:29;;24642:20;:53;;24615:80;;24724:19;:53;;;;;24761:16;;;;;;;;;;;24760:17;24724:53;:91;;;;;24802:13;24794:21;;:4;:21;;;;24724:91;:129;;;;;24832:21;;;;;;;;;;;24724:129;24706:222;;;24880:36;24895:20;24880:14;:36::i;:::-;24706:222;25001:12;25016:4;25001:19;;25120:18;:24;25139:4;25120:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;25148:18;:22;25167:2;25148:22;;;;;;;;;;;;;;;;;;;;;;;;;25120:50;25117:186;;;25196:5;25186:15;;25117:186;;;25262:1;25249:10;;:14;25241:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25117:186;25427:18;25456:13;25448:21;;:4;:21;;;25427:42;;25480:19;25508:13;25502:19;;:2;:19;;;25480:41;;25539:13;25538:14;:33;;;;;25557:14;25556:15;25538:33;25534:79;;;25596:5;25586:15;;25534:79;25625:70;25643:4;25648:2;25651:6;25658:7;25666:13;25680:14;25625:17;:70::i;:::-;25713:18;:22;25732:2;25713:22;;;;;;;;;;;;;;;;;;;;;;;;;25712:23;:48;;;;;25746:13;25740:19;;:2;:19;;;;25712:48;25708:133;;;25786:17;;25770:13;25780:2;25770:9;:13::i;:::-;:33;25762:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25708:133;24279:1570;;;;;;;;:::o;4384:192::-;4470:7;4503:1;4498;:6;;4506:12;4490:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4530:9;4546:1;4542;:5;4530:17;;4567:1;4560:8;;;4384:192;;;;;:::o;3481:181::-;3539:7;3559:9;3575:1;3571;:5;3559:17;;3600:1;3595;:6;;3587:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:1;3646:8;;;3481:181;;;;:::o;3945:136::-;4003:7;4030:43;4034:1;4037;4030:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4023:50;;3945:136;;;;:::o;25857:750::-;18768:4;18749:16;;:23;;;;;;;;;;;;;;;;;;25942:38:::1;25959:20;25942:16;:38::i;:::-;25993:18;26014:21;25993:42;;26046:21;26070:53;26102:20;26070:27;26086:10;26070:11;;:15;;:27;;;;:::i;:::-;:31;;:53;;;;:::i;:::-;26046:77;;26134:20;26157:52;26188:20;26157:26;26172:10;26157;;:14;;:26;;;;:::i;:::-;:30;;:52;;;;:::i;:::-;26134:75;;26242:1;26226:13;:17;:58;;;;;26263:21;26247:13;:37;26226:58;26222:111;;;26286:14;;;;;;;;;;;:19;;26314:13;26286:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26222:111;26363:1;26348:12;:16;:56;;;;;26383:21;26368:12;:36;26348:56;26344:107;;;26406:13;;;;;;;;;;;:18;;26433:12;26406:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26344:107;26490:1;26466:21;:25;26462:84;;;26493:12;;;;;;;;;;;:17;;26519:21;26493:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26462:84;26573:1;26559:11;:15;;;;26598:1;26585:10;:14;;;;18783:1;;;18814:5:::0;18795:16;;:24;;;;;;;;;;;;;;;;;;25857:750;:::o;27377:1558::-;27530:23;27556:7;27530:33;;27578:7;27574:1062;;;27600:17;27630:16;27659:15;27691:13;27687:343;;;27726:18;:29;27745:9;27726:29;;;;;;;;;;;;;;;;;;;;;;;;;27721:112;;27792:11;;27778;;:25;27761:12;:43;27757:76;;27829:4;27806:9;:20;27816:9;27806:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;27757:76;27721:112;27860:36;27891:4;27860:26;27872:13;;27860:7;:11;;:26;;;;:::i;:::-;:30;;:36;;;;:::i;:::-;27848:48;;27922:35;27952:4;27922:25;27934:12;;27922:7;:11;;:25;;;;:::i;:::-;:29;;:35;;;;:::i;:::-;27911:46;;27982:34;28011:4;27982:24;27994:11;;27982:7;:11;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;27972:44;;27687:343;28046:14;28042:273;;;28086:9;:17;28096:6;28086:17;;;;;;;;;;;;;;;;;;;;;;;;;28085:18;28077:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28142:37;28174:4;28142:27;28154:14;;28142:7;:11;;:27;;;;:::i;:::-;:31;;:37;;;;:::i;:::-;28130:49;;28205:36;28236:4;28205:26;28217:13;;28205:7;:11;;:26;;;;:::i;:::-;:30;;:36;;;;:::i;:::-;28194:47;;28266:35;28296:4;28266:25;28278:12;;28266:7;:11;;:25;;;;:::i;:::-;:29;;:35;;;;:::i;:::-;28256:45;;28042:273;28345:57;28394:7;28345:44;28380:8;28345:30;28365:9;28345:15;:19;;:30;;;;:::i;:::-;:34;;:44;;;;:::i;:::-;:48;;:57;;;;:::i;:::-;28327:75;;28429:26;28445:9;28429:11;;:15;;:26;;;;:::i;:::-;28415:11;:40;;;;28481:24;28496:8;28481:10;;:14;;:24;;;;:::i;:::-;28468:10;:37;;;;27574:1062;;;;;;28539:13;28538:14;:33;;;;;28557:14;28556:15;28538:33;28534:102;;;28595:9;:17;28605:6;28595:17;;;;;;;;;;;;;;;;;;;;;;;;;28594:18;28586:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28534:102;27574:1062;28666:30;28688:7;28666:9;:17;28676:6;28666:17;;;;;;;;;;;;;;;;:21;;:30;;;;:::i;:::-;28646:9;:17;28656:6;28646:17;;;;;;;;;;;;;;;:50;;;;28730:41;28755:15;28730:9;:20;28740:9;28730:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;28707:9;:20;28717:9;28707:20;;;;;;;;;;;;;;;:64;;;;28809:58;28838:28;28850:15;28838:7;:11;;:28;;;;:::i;:::-;28809:9;:24;28827:4;28809:24;;;;;;;;;;;;;;;;:28;;:58;;;;:::i;:::-;28782:9;:24;28800:4;28782:24;;;;;;;;;;;;;;;:85;;;;28900:9;28883:44;;28892:6;28883:44;;;28911:15;28883:44;;;;;;;;;;;;;;;;;;27377:1558;;;;;;;:::o;26808:561::-;26934:21;26972:1;26958:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26934:40;;27003:4;26985;26990:1;26985:7;;;;;;;;;;;;;:23;;;;;;;;;;;27029:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27019:4;27024:1;27019:7;;;;;;;;;;;;;:32;;;;;;;;;;;27064:62;27081:4;27096:15;27114:11;27064:8;:62::i;:::-;27165:15;:66;;;27246:11;27272:1;27288:4;27315;27335:15;27165:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26808:561;;:::o;4835:471::-;4893:7;5143:1;5138;:6;5134:47;;;5168:1;5161:8;;;;5134:47;5193:9;5209:1;5205;:5;5193:17;;5238:1;5233;5229;:5;;;;;;:10;5221:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5297:1;5290:8;;;4835:471;;;;;:::o;5782:132::-;5840:7;5867:39;5871:1;5874;5867:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5860:46;;5782:132;;;;:::o;6410:278::-;6496:7;6528:1;6524;:5;6531:12;6516:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6555:9;6571:1;6567;:5;;;;;;6555:17;;6679:1;6672:8;;;6410:278;;;;;:::o
Swarm Source
ipfs://ce56164a28bf1c152efe442ffa2d10f44dedbb2e4b9e8b88013e08ceb963286f
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.