ERC-20
Overview
Max Total Supply
125,200,617.905861316 RICE
Holders
49
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,680,789.697347588 RICEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RiceProtect
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-03 */ /* RiceProtect.com Simply Protect $RICE Website: https://riceprotect.com Docs: https://docs.riceprotect.com/ Twitter: https://x.com/riceprotect Telegram: https://t.me/RiceProtect */ // Sources flattened with hardhat v2.17.1 https://hardhat.org // SPDX-License-Identifier: MIT AND SEE // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function swapTokensForExactETH( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactTokensForETH( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapETHForExactTokens( uint amountOut, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function quote( uint amountA, uint reserveA, uint reserveB ) external pure returns (uint amountB); function getAmountOut( uint amountIn, uint reserveIn, uint reserveOut ) external pure returns (uint amountOut); function getAmountIn( uint amountOut, uint reserveIn, uint reserveOut ) external pure returns (uint amountIn); function getAmountsOut( uint amountIn, address[] calldata path ) external view returns (uint[] memory amounts); function getAmountsIn( uint amountOut, address[] calldata path ) external view returns (uint[] memory amounts); } pragma solidity >=0.6.2; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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 Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair( address tokenA, address tokenB ) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair( address tokenA, address tokenB ) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance( address owner, address spender ) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom( address from, address to, uint value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit( address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn( address indexed sender, uint amount0, uint amount1, address indexed to ); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap( uint amount0Out, uint amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // Original license: SPDX_License_Identifier: SEE pragma solidity 0.8.21; interface IVaultProtect { function depositInternal(address from, uint256 amount) external; } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor( string memory _tokenName, string memory _tokenSymbol, uint8 _tokenDecimals ) { _name = _tokenName; _symbol = _tokenSymbol; _decimals = _tokenDecimals; } 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; } } contract RiceProtect is ERC20Detailed, Ownable { IUniswapV2Router02 public router; address public pair; IVaultProtect public vaultProtect; address public RiceYield; address public marketingAddress; uint256 public debaseTime = 1 hours; uint256 public latestDebase; uint256 public debaseStartedAt; uint256 public currentEpoch; bool public autoDebase; bool public claimStatus = false; uint8 private constant DECIMALS = 9; uint256 private constant INITIAL_TOKENS_SUPPLY = 500_000_000 * 10 ** DECIMALS; uint256 private constant TOTAL_PARTS = type(uint256).max - (type(uint256).max % INITIAL_TOKENS_SUPPLY); uint256 private _totalSupply; uint256 private _fragment; uint256 private _initFragment; // tax uint256 public marketing = 2; uint256 public rewardsFee = 3; uint256 private _initialTax = 30; uint256 private _reduceTaxAt = 30; uint256 private _buyCount = 0; uint256 private _sellCount = 0; bool public limitsInEffect = true; bool public tradingEnable = false; uint256 public swapbackPercent = 5; // 0.5% uint256 public maxWallet = (INITIAL_TOKENS_SUPPLY * 2) / 100; // 2% uint256 public maxAmount = (INITIAL_TOKENS_SUPPLY * 2) / 100; // 2% mapping(address => bool) public _isProtected; mapping(address => bool) public isExcludedFromFee; mapping(address => uint256) private _partBalances; mapping(address => mapping(address => uint256)) private _allowedTokens; address[] private _protected; event Debase(uint256 time, uint256 supply); bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } modifier validRecipient(address to) { require(to != address(0x0)); _; } constructor( address _vaultProtect, address _RiceYield ) ERC20Detailed("Rice Protect", "RICE", DECIMALS) { router = IUniswapV2Router02( address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D) ); pair = IUniswapV2Factory(router.factory()).createPair( address(this), router.WETH() ); vaultProtect = IVaultProtect(_vaultProtect); RiceYield = _RiceYield; marketingAddress = _msgSender(); _totalSupply = INITIAL_TOKENS_SUPPLY; _partBalances[_msgSender()] = TOTAL_PARTS; _fragment = TOTAL_PARTS / (_totalSupply); _initFragment = _fragment; protectAddress(address(this), true); protectAddress(address(vaultProtect), true); isExcludedFromFee[address(this)] = true; isExcludedFromFee[address(router)] = true; isExcludedFromFee[_msgSender()] = true; isExcludedFromFee[_vaultProtect] = true; _allowedTokens[_msgSender()][address(router)] = type(uint256).max; _allowedTokens[address(this)][address(router)] = type(uint256).max; emit Transfer( address(0x0), address(_msgSender()), balanceOf(_msgSender()) ); } function totalSupply() external view override returns (uint256) { if (_protected.length == 0) return _totalSupply; uint256 totalProtectExcluded; uint256 totalProtectIncluded; for (uint256 i = 0; i < _protected.length; i++) { totalProtectExcluded += _partBalances[_protected[i]] / _initFragment; totalProtectIncluded += _partBalances[_protected[i]] / _fragment; } return _totalSupply - totalProtectIncluded + totalProtectExcluded; } function allowance( address owner_, address spender ) external view override returns (uint256) { return _allowedTokens[owner_][spender]; } function balanceOf(address who) public view override returns (uint256) { if (_isProtected[who]) { return _partBalances[who] / _initFragment; } return _partBalances[who] / (_fragment); } function shouldDebase() public view returns (bool) { uint256 times = (block.timestamp - latestDebase) / debaseTime; return latestDebase > 0 && times > 0 && autoDebase; } function transfer( address to, uint256 value ) external override validRecipient(to) returns (bool) { _transfer(_msgSender(), to, value); return true; } function _transfer( address from, address to, uint256 amount ) internal returns (bool) { if (!inSwap && !isExcludedFromFee[from] && !isExcludedFromFee[to]) { require(tradingEnable, "Trading not live"); uint256 totalFee = rewardsFee + marketing; if (from == pair && _buyCount < _reduceTaxAt) { totalFee = _initialTax; _buyCount++; } if (to == pair && _sellCount < _reduceTaxAt) { totalFee = _initialTax; _sellCount++; } if (limitsInEffect) { if (from == pair || to == pair) { require(amount <= maxAmount, "Max Tx Exceeded"); } if (to != pair && to != address(vaultProtect)) { require( balanceOf(to) + amount <= maxWallet, "Max Wallet Exceeded" ); } } uint256 fee = (amount * totalFee) / 100; amount = amount - fee; _transfer(from, address(this), fee); uint256 riceBalance = balanceOf(address(this)); uint256 swapbackAmount = (_totalSupply * swapbackPercent) / 1000; if (to == pair) { if (riceBalance >= swapbackAmount) { swapBack(); } if (shouldDebase()) { try this.manualDebase() {} catch {} } } } (uint256 fromAmount, uint256 toAmount) = getPartAmountBeforeTx( from, to, amount ); _partBalances[from] -= fromAmount; _partBalances[to] += toAmount; if (to == address(vaultProtect)) { try vaultProtect.depositInternal(from, amount) {} catch {} } emit Transfer(from, to, amount); return true; } function getPartAmountBeforeTx( address from, address to, uint256 amount ) public view returns (uint256, uint256) { uint256 excludeAmount = amount * _initFragment; uint256 includeAmount = amount * _fragment; // exclude -> exclude if (_isProtected[from] && _isProtected[to]) { return (excludeAmount, excludeAmount); } // exclude -> include if (_isProtected[from] && !_isProtected[to]) { return (excludeAmount, includeAmount); } // include -> include if (!_isProtected[from] && !_isProtected[to]) { return (includeAmount, includeAmount); } // include -> exclude return (includeAmount, excludeAmount); } function transferFrom( address from, address to, uint256 value ) external override validRecipient(to) returns (bool) { if (_allowedTokens[from][_msgSender()] != type(uint256).max) { require( _allowedTokens[from][_msgSender()] >= value, "Insufficient Allowance" ); _allowedTokens[from][_msgSender()] = _allowedTokens[from][_msgSender()] - (value); } _transfer(from, to, value); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) external returns (bool) { uint256 oldValue = _allowedTokens[_msgSender()][spender]; if (subtractedValue >= oldValue) { _allowedTokens[_msgSender()][spender] = 0; } else { _allowedTokens[_msgSender()][spender] = oldValue - (subtractedValue); } emit Approval( _msgSender(), spender, _allowedTokens[_msgSender()][spender] ); return true; } function increaseAllowance( address spender, uint256 addedValue ) external returns (bool) { _allowedTokens[_msgSender()][spender] = _allowedTokens[_msgSender()][spender] + (addedValue); emit Approval( _msgSender(), spender, _allowedTokens[_msgSender()][spender] ); return true; } function approve( address spender, uint256 value ) public override returns (bool) { _allowedTokens[_msgSender()][spender] = value; emit Approval(_msgSender(), spender, value); return true; } function debase() private { uint256 times = (block.timestamp - latestDebase) / debaseTime; latestDebase = block.timestamp; currentEpoch += times; for (uint256 i = 0; i < times; i++) { uint256 supplyDelta = (_totalSupply * 26) / 10000; // 0.26% unchecked { _totalSupply = _totalSupply - supplyDelta; _fragment = TOTAL_PARTS / (_totalSupply); } emit Debase(block.timestamp, _totalSupply); } IUniswapV2Pair(pair).sync(); } function protectAddress(address account, bool _status) public onlyOwner { if (_status) { _isProtected[account] = true; _protected.push(account); } else { for (uint256 i = 0; i < _protected.length; i++) { if (_protected[i] == account) { _protected[i] = _protected[_protected.length - 1]; _isProtected[account] = false; _protected.pop(); break; } } } } function manualDebase() public { require(shouldDebase(), "Not in time"); debase(); } function enableTrading() external onlyOwner { require(!tradingEnable, "Trading Live Already"); tradingEnable = true; } function removeLimits() external onlyOwner { require(limitsInEffect, "Limits already removed"); limitsInEffect = false; } function excludedFromFees( address _address, bool _value ) external onlyOwner { isExcludedFromFee[_address] = _value; } function startDebase(bool _status) external onlyOwner { autoDebase = _status; latestDebase = block.timestamp; debaseStartedAt = block.timestamp; } function updateVaultProtect(address _newAddress) external onlyOwner { protectAddress(address(vaultProtect), false); vaultProtect = IVaultProtect(_newAddress); isExcludedFromFee[_newAddress] = true; protectAddress(_newAddress, true); } function updateRiceYield(address _newRiceYield) external onlyOwner { RiceYield = _newRiceYield; } function swapBack() public swapping { uint256 ethBeforeSwap = address(this).balance; uint256 swapbackAmount = (_totalSupply * swapbackPercent) / 1000; swapTokensForETH(swapbackAmount); uint256 totalETH = address(this).balance - ethBeforeSwap; uint256 totalFee = marketing + rewardsFee; uint256 amountForRiceYield = (totalETH * rewardsFee) / totalFee; if (amountForRiceYield > 0) { (bool success, ) = payable(RiceYield).call{ value: amountForRiceYield }(""); require(success, "Failed to send ETH to RiceYield"); } if (address(this).balance > 0) { (bool success, ) = payable(marketingAddress).call{ value: address(this).balance }(""); require(success, "Failed to send ETH to Marketing"); } } function swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount path, address(address(this)), block.timestamp ); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_vaultProtect","type":"address"},{"internalType":"address","name":"_RiceYield","type":"address"}],"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":false,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"Debase","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":"RiceYield","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isProtected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoDebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debaseStartedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"debaseTime","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"excludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getPartAmountBeforeTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestDebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualDebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"protectAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shouldDebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"startDebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapbackPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":[{"internalType":"address","name":"_newRiceYield","type":"address"}],"name":"updateRiceYield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"name":"updateVaultProtect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultProtect","outputs":[{"internalType":"contract IVaultProtect","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052610e106008555f600c60016101000a81548160ff02191690831515021790555060026010556003601155601e601255601e6013555f6014555f601555600160165f6101000a81548160ff0219169083151502179055505f601660016101000a81548160ff0219169083151502179055506005601755606460026009600a6200008d91906200114b565b631dcd65006200009e91906200119b565b620000aa91906200119b565b620000b6919062001212565b601855606460026009600a620000cd91906200114b565b631dcd6500620000de91906200119b565b620000ea91906200119b565b620000f6919062001212565b60195534801562000105575f80fd5b50604051620055ec380380620055ec83398181016040528101906200012b9190620012ae565b6040518060400160405280600c81526020017f526963652050726f7465637400000000000000000000000000000000000000008152506040518060400160405280600481526020017f52494345000000000000000000000000000000000000000000000000000000008152506009825f9081620001a991906200154e565b508160019081620001bb91906200154e565b508060025f6101000a81548160ff021916908360ff160217905550505050620001f9620001ed62000a7960201b60201c565b62000a8060201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002de919062001632565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000365573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200038b919062001632565b6040518363ffffffff1660e01b8152600401620003aa92919062001673565b6020604051808303815f875af1158015620003c7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003ed919062001632565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004bc62000a7960201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200050b91906200114b565b631dcd65006200051c91906200119b565b600d819055506009600a6200053291906200114b565b631dcd65006200054391906200119b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200057091906200169e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200059d9190620016d5565b601c5f620005b062000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600d546009600a6200060091906200114b565b631dcd65006200061191906200119b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200063e91906200169e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200066b9190620016d5565b62000677919062001212565b600e81905550600e54600f819055506200069930600162000b4560201b60201c565b620006cd60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000b4560201b60201c565b6001601b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601b5f620007ad62000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601d5f6200088562000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620009ec62000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a5a62000a4e62000a7960201b60201c565b62000e0460201b60201c565b60405162000a69919062001720565b60405180910390a350506200185f565b5f33905090565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000b5562000eff60201b60201c565b801562000c17576001601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000e00565b5f5b601e8054905081101562000dfe578273ffffffffffffffffffffffffffffffffffffffff16601e828154811062000c555762000c546200173b565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160362000de857601e6001601e8054905062000caf9190620016d5565b8154811062000cc35762000cc26200173b565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e828154811062000d025762000d016200173b565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e80548062000db05762000daf62001768565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905562000dfe565b808062000df59062001795565b91505062000c19565b505b5050565b5f601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161562000eaa57600f54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000ea2919062001212565b905062000efa565b600e54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000ef7919062001212565b90505b919050565b62000f0f62000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000f3562000f9060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000f8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f85906200183f565b60405180910390fd5b565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562001043578086048111156200101b576200101a62000fb9565b5b60018516156200102b5780820291505b80810290506200103b8562000fe6565b945062000ffb565b94509492505050565b5f826200105d57600190506200112f565b816200106c575f90506200112f565b81600181146200108557600281146200109057620010c6565b60019150506200112f565b60ff841115620010a557620010a462000fb9565b5b8360020a915084821115620010bf57620010be62000fb9565b5b506200112f565b5060208310610133831016604e8410600b8410161715620011005782820a905083811115620010fa57620010f962000fb9565b5b6200112f565b6200110f848484600162000ff2565b9250905081840481111562001129576200112862000fb9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620011578262001136565b915062001164836200113f565b9250620011937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200104c565b905092915050565b5f620011a78262001136565b9150620011b48362001136565b9250828202620011c48162001136565b91508282048414831517620011de57620011dd62000fb9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200121e8262001136565b91506200122b8362001136565b9250826200123e576200123d620011e5565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001278826200124d565b9050919050565b6200128a816200126c565b811462001295575f80fd5b50565b5f81519050620012a8816200127f565b92915050565b5f8060408385031215620012c757620012c662001249565b5b5f620012d68582860162001298565b9250506020620012e98582860162001298565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200136f57607f821691505b6020821081036200138557620013846200132a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620013e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620013ac565b620013f58683620013ac565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62001436620014306200142a8462001136565b6200140d565b62001136565b9050919050565b5f819050919050565b620014518362001416565b6200146962001460826200143d565b848454620013b8565b825550505050565b5f90565b6200147f62001471565b6200148c81848462001446565b505050565b5b81811015620014b357620014a75f8262001475565b60018101905062001492565b5050565b601f8211156200150257620014cc816200138b565b620014d7846200139d565b81016020851015620014e7578190505b620014ff620014f6856200139d565b83018262001491565b50505b505050565b5f82821c905092915050565b5f620015245f198460080262001507565b1980831691505092915050565b5f6200153e838362001513565b9150826002028217905092915050565b6200155982620012f3565b67ffffffffffffffff811115620015755762001574620012fd565b5b62001581825462001357565b6200158e828285620014b7565b5f60209050601f831160018114620015c4575f8415620015af578287015190505b620015bb858262001531565b8655506200162a565b601f198416620015d4866200138b565b5f5b82811015620015fd57848901518255600182019150602085019450602081019050620015d6565b868310156200161d578489015162001619601f89168262001513565b8355505b6001600288020188555050505b505050505050565b5f602082840312156200164a576200164962001249565b5b5f620016598482850162001298565b91505092915050565b6200166d816200126c565b82525050565b5f604082019050620016885f83018562001662565b62001697602083018462001662565b9392505050565b5f620016aa8262001136565b9150620016b78362001136565b925082620016ca57620016c9620011e5565b5b828206905092915050565b5f620016e18262001136565b9150620016ee8362001136565b925082820390508181111562001709576200170862000fb9565b5b92915050565b6200171a8162001136565b82525050565b5f602082019050620017355f8301846200170f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f620017a18262001136565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620017d657620017d562000fb9565b5b600182019050919050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001827602083620017e1565b91506200183482620017f1565b602082019050919050565b5f6020820190508181035f830152620018588162001819565b9050919050565b613d7f806200186d5f395ff3fe608060405260043610610275575f3560e01c80636ad41b8f1161014e578063a457c2d7116100c0578063c7749d1811610079578063c7749d181461091b578063dd62ed3e14610945578063f2fde38b14610981578063f440197f146109a9578063f887ea40146109d3578063f8b45b05146109fd5761027c565b8063a457c2d7146107fb578063a5ece94114610837578063a8aa1b3114610861578063a9059cbb1461088b578063ae87fc4b146108c7578063ba026a8d146108f15761027c565b8063751039fc11610112578063751039fc14610727578063766718081461073d5780638a8c523c146107675780638cdec8991461077d5780638da5cb5b146107a757806395d89b41146107d15761027c565b80636ad41b8f146106595780636f0005411461068357806370a08231146106ad57806370bc52fb146106e9578063715018a6146107115761027c565b80632d3e474a116101e757806348d0a392116101ab57806348d0a392146105605780634a62bb65146105765780635342acb4146105a05780635f48f393146105dc578063626c4e48146106065780636ac5eeee146106435761027c565b80632d3e474a1461047e578063313ce567146104a857806339509351146104d25780633b6697451461050e5780633df88c0e146105365761027c565b80631693e8d4116102395780631693e8d41461037257806318160ddd1461039c5780631a70b994146103c657806323b872dd146103f05780632b87b1981461042c5780632bb14e1d146104545761027c565b8063022503901461028057806306fdde03146102a857806307aaa3e4146102d2578063095ea7b31461030e57806316697fc51461034a5761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b506102a660048036038101906102a19190613049565b610a27565b005b3480156102b3575f80fd5b506102bc610a59565b6040516102c991906130fe565b60405180910390f35b3480156102dd575f80fd5b506102f860048036038101906102f39190613178565b610ae8565b60405161030591906131b2565b60405180910390f35b348015610319575f80fd5b50610334600480360381019061032f91906131fe565b610b05565b60405161034191906131b2565b60405180910390f35b348015610355575f80fd5b50610370600480360381019061036b919061323c565b610c00565b005b34801561037d575f80fd5b50610386610c60565b60405161039391906131b2565b60405180910390f35b3480156103a7575f80fd5b506103b0610c73565b6040516103bd9190613289565b60405180910390f35b3480156103d1575f80fd5b506103da610df6565b6040516103e79190613289565b60405180910390f35b3480156103fb575f80fd5b50610416600480360381019061041191906132a2565b610dfc565b60405161042391906131b2565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d9190613178565b6110c4565b005b34801561045f575f80fd5b5061046861119a565b6040516104759190613289565b60405180910390f35b348015610489575f80fd5b506104926111a0565b60405161049f9190613289565b60405180910390f35b3480156104b3575f80fd5b506104bc6111a6565b6040516104c9919061330d565b60405180910390f35b3480156104dd575f80fd5b506104f860048036038101906104f391906131fe565b6111bb565b60405161050591906131b2565b60405180910390f35b348015610519575f80fd5b50610534600480360381019061052f9190613178565b6113bf565b005b348015610541575f80fd5b5061054a61140a565b60405161055791906131b2565b60405180910390f35b34801561056b575f80fd5b50610574611456565b005b348015610581575f80fd5b5061058a6114a7565b60405161059791906131b2565b60405180910390f35b3480156105ab575f80fd5b506105c660048036038101906105c19190613178565b6114b9565b6040516105d391906131b2565b60405180910390f35b3480156105e7575f80fd5b506105f06114d6565b6040516105fd9190613289565b60405180910390f35b348015610611575f80fd5b5061062c600480360381019061062791906132a2565b6114dc565b60405161063a929190613326565b60405180910390f35b34801561064e575f80fd5b5061065761171e565b005b348015610664575f80fd5b5061066d611969565b60405161067a919061335c565b60405180910390f35b34801561068e575f80fd5b5061069761198e565b6040516106a491906133d0565b60405180910390f35b3480156106b8575f80fd5b506106d360048036038101906106ce9190613178565b6119b3565b6040516106e09190613289565b60405180910390f35b3480156106f4575f80fd5b5061070f600480360381019061070a919061323c565b611aa8565b005b34801561071c575f80fd5b50610725611d49565b005b348015610732575f80fd5b5061073b611d5c565b005b348015610748575f80fd5b50610751611dcd565b60405161075e9190613289565b60405180910390f35b348015610772575f80fd5b5061077b611dd3565b005b348015610788575f80fd5b50610791611e48565b60405161079e9190613289565b60405180910390f35b3480156107b2575f80fd5b506107bb611e4e565b6040516107c8919061335c565b60405180910390f35b3480156107dc575f80fd5b506107e5611e77565b6040516107f291906130fe565b60405180910390f35b348015610806575f80fd5b50610821600480360381019061081c91906131fe565b611f07565b60405161082e91906131b2565b60405180910390f35b348015610842575f80fd5b5061084b6121a1565b604051610858919061335c565b60405180910390f35b34801561086c575f80fd5b506108756121c6565b604051610882919061335c565b60405180910390f35b348015610896575f80fd5b506108b160048036038101906108ac91906131fe565b6121eb565b6040516108be91906131b2565b60405180910390f35b3480156108d2575f80fd5b506108db612242565b6040516108e891906131b2565b60405180910390f35b3480156108fc575f80fd5b50610905612255565b60405161091291906131b2565b60405180910390f35b348015610926575f80fd5b5061092f612267565b60405161093c9190613289565b60405180910390f35b348015610950575f80fd5b5061096b600480360381019061096691906133e9565b61226d565b6040516109789190613289565b60405180910390f35b34801561098c575f80fd5b506109a760048036038101906109a29190613178565b6122ef565b005b3480156109b4575f80fd5b506109bd612371565b6040516109ca9190613289565b60405180910390f35b3480156109de575f80fd5b506109e7612377565b6040516109f49190613447565b60405180910390f35b348015610a08575f80fd5b50610a1161239c565b604051610a1e9190613289565b60405180910390f35b610a2f6123a2565b80600c5f6101000a81548160ff0219169083151502179055504260098190555042600a8190555050565b60605f8054610a679061348d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a939061348d565b8015610ade5780601f10610ab557610100808354040283529160200191610ade565b820191905f5260205f20905b815481529060010190602001808311610ac157829003601f168201915b5050505050905090565b601a602052805f5260405f205f915054906101000a900460ff1681565b5f81601d5f610b12612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16610ba9612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bee9190613289565b60405180910390a36001905092915050565b610c086123a2565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b601660019054906101000a900460ff1681565b5f80601e8054905003610c8a57600d549050610df3565b5f805f5b601e80549050811015610dd457600f54601c5f601e8481548110610cb557610cb46134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d219190613544565b83610d2c9190613574565b9250600e54601c5f601e8481548110610d4857610d476134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610db49190613544565b82610dbf9190613574565b91508080610dcc906135a7565b915050610c8e565b508181600d54610de491906135ee565b610dee9190613574565b925050505b90565b600a5481565b5f825f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e35575f80fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610e9c612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146110ac5782601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610f22612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f949061366b565b60405180910390fd5b82601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610fe4612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461102891906135ee565b601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61106e612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6110b7858585612427565b5060019150509392505050565b6110cc6123a2565b6110f760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f611aa8565b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611197816001611aa8565b50565b60115481565b60105481565b5f60025f9054906101000a900460ff16905090565b5f81601d5f6111c8612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112479190613574565b601d5f611252612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166112e9612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601d5f61132b612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516113ad9190613289565b60405180910390a36001905092915050565b6113c76123a2565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f806008546009544261141d91906135ee565b6114279190613544565b90505f60095411801561143957505f81115b80156114505750600c5f9054906101000a900460ff165b91505090565b61145e61140a565b61149d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611494906136d3565b60405180910390fd5b6114a5612b89565b565b60165f9054906101000a900460ff1681565b601b602052805f5260405f205f915054906101000a900460ff1681565b60195481565b5f805f600f54846114ed91906136f1565b90505f600e54856114fe91906136f1565b9050601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561159c5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156115ae578182935093505050611716565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561164b5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165d578181935093505050611716565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156116fb5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561170d578081935093505050611716565b80829350935050505b935093915050565b6001601f5f6101000a81548160ff0219169083151502179055505f4790505f6103e8601754600d5461175091906136f1565b61175a9190613544565b905061176581612d41565b5f824761177291906135ee565b90505f6011546010546117859190613574565b90505f816011548461179791906136f1565b6117a19190613544565b90505f811115611876575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516117f19061375f565b5f6040518083038185875af1925050503d805f811461182b576040519150601f19603f3d011682016040523d82523d5f602084013e611830565b606091505b5050905080611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b906137bd565b60405180910390fd5b505b5f471115611949575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516118c49061375f565b5f6040518083038185875af1925050503d805f81146118fe576040519150601f19603f3d011682016040523d82523d5f602084013e611903565b606091505b5050905080611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90613825565b60405180910390fd5b505b50505050505f601f5f6101000a81548160ff021916908315150217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a5557600f54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a4e9190613544565b9050611aa3565b600e54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa09190613544565b90505b919050565b611ab06123a2565b8015611b70576001601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d45565b5f5b601e80549050811015611d43578273ffffffffffffffffffffffffffffffffffffffff16601e8281548110611baa57611ba96134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611d3057601e6001601e80549050611c0191906135ee565b81548110611c1257611c116134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e8281548110611c4e57611c4d6134bd565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e805480611cf957611cf8613843565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611d43565b8080611d3b906135a7565b915050611b72565b505b5050565b611d516123a2565b611d5a5f612f4b565b565b611d646123a2565b60165f9054906101000a900460ff16611db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da9906138ba565b60405180910390fd5b5f60165f6101000a81548160ff021916908315150217905550565b600b5481565b611ddb6123a2565b601660019054906101000a900460ff1615611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2290613922565b60405180910390fd5b6001601660016101000a81548160ff021916908315150217905550565b60085481565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611e869061348d565b80601f0160208091040260200160405190810160405280929190818152602001828054611eb29061348d565b8015611efd5780601f10611ed457610100808354040283529160200191611efd565b820191905f5260205f20905b815481529060010190602001808311611ee057829003601f168201915b5050505050905090565b5f80601d5f611f14612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080831061201b575f601d5f611f9e612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120ab565b828161202791906135ee565b601d5f612032612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8373ffffffffffffffffffffffffffffffffffffffff166120ca612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601d5f61210c612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405161218e9190613289565b60405180910390a3600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f825f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612224575f80fd5b61223661222f612420565b8585612427565b50600191505092915050565b600c60019054906101000a900460ff1681565b600c5f9054906101000a900460ff1681565b60175481565b5f601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6122f76123a2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235c906139b0565b60405180910390fd5b61236e81612f4b565b50565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b6123aa612420565b73ffffffffffffffffffffffffffffffffffffffff166123c8611e4e565b73ffffffffffffffffffffffffffffffffffffffff161461241e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241590613a18565b60405180910390fd5b565b5f33905090565b5f601f5f9054906101000a900460ff1615801561248b5750601b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124de5750601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561298657601660019054906101000a900460ff16612532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252990613a80565b60405180910390fd5b5f6010546011546125439190613574565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156125a45750601354601454105b156125c657601254905060145f8154809291906125c0906135a7565b91905055505b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126255750601354601554105b1561264757601254905060155f815480929190612641906135a7565b91905055505b60165f9054906101000a900460ff16156128565760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612702575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561274d5760195483111561274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274390613ae8565b60405180910390fd5b5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127f7575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156128555760185483612809866119b3565b6128139190613574565b1115612854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284b90613b50565b60405180910390fd5b5b5b5f6064828561286591906136f1565b61286f9190613544565b9050808461287d91906135ee565b935061288a863083612427565b505f612895306119b3565b90505f6103e8601754600d546128ab91906136f1565b6128b59190613544565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036129815780821061291b5761291a61171e565b5b61292361140a565b15612980573073ffffffffffffffffffffffffffffffffffffffff166348d0a3926040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561296d575f80fd5b505af192505050801561297e575060015b505b5b505050505b5f806129938686866114dc565b9150915081601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546129e391906135ee565b9250508190555080601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612a369190613574565b9250508190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612b175760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf1271487866040518363ffffffff1660e01b8152600401612aed929190613b6e565b5f604051808303815f87803b158015612b04575f80fd5b505af1925050508015612b15575060015b505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612b749190613289565b60405180910390a36001925050509392505050565b5f60085460095442612b9b91906135ee565b612ba59190613544565b90504260098190555080600b5f828254612bbf9190613574565b925050819055505f5b81811015612cc1575f612710601a600d54612be391906136f1565b612bed9190613544565b905080600d5403600d81905550600d54600960ff16600a0a631dcd6500027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81612c3a57612c396134ea565b5b067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0381612c6b57612c6a6134ea565b5b04600e819055507f03c3d31b9868766c540f689d5419ad3453ce9d020061e79b1d223db52deecdad42600d54604051612ca5929190613326565b60405180910390a1508080612cb9906135a7565b915050612bc8565b5060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612d28575f80fd5b505af1158015612d3a573d5f803e3d5ffd5b5050505050565b5f600267ffffffffffffffff811115612d5d57612d5c613b95565b5b604051908082528060200260200182016040528015612d8b5781602001602082028036833780820191505090505b50905030815f81518110612da257612da16134bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6a9190613bd6565b81600181518110612e7e57612e7d6134bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612f1a959493929190613cf1565b5f604051808303815f87803b158015612f31575f80fd5b505af1158015612f43573d5f803e3d5ffd5b505050505050565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f8115159050919050565b61302881613014565b8114613032575f80fd5b50565b5f813590506130438161301f565b92915050565b5f6020828403121561305e5761305d613010565b5b5f61306b84828501613035565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130ab578082015181840152602081019050613090565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130d082613074565b6130da818561307e565b93506130ea81856020860161308e565b6130f3816130b6565b840191505092915050565b5f6020820190508181035f83015261311681846130c6565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6131478261311e565b9050919050565b6131578161313d565b8114613161575f80fd5b50565b5f813590506131728161314e565b92915050565b5f6020828403121561318d5761318c613010565b5b5f61319a84828501613164565b91505092915050565b6131ac81613014565b82525050565b5f6020820190506131c55f8301846131a3565b92915050565b5f819050919050565b6131dd816131cb565b81146131e7575f80fd5b50565b5f813590506131f8816131d4565b92915050565b5f806040838503121561321457613213613010565b5b5f61322185828601613164565b9250506020613232858286016131ea565b9150509250929050565b5f806040838503121561325257613251613010565b5b5f61325f85828601613164565b925050602061327085828601613035565b9150509250929050565b613283816131cb565b82525050565b5f60208201905061329c5f83018461327a565b92915050565b5f805f606084860312156132b9576132b8613010565b5b5f6132c686828701613164565b93505060206132d786828701613164565b92505060406132e8868287016131ea565b9150509250925092565b5f60ff82169050919050565b613307816132f2565b82525050565b5f6020820190506133205f8301846132fe565b92915050565b5f6040820190506133395f83018561327a565b613346602083018461327a565b9392505050565b6133568161313d565b82525050565b5f60208201905061336f5f83018461334d565b92915050565b5f819050919050565b5f61339861339361338e8461311e565b613375565b61311e565b9050919050565b5f6133a98261337e565b9050919050565b5f6133ba8261339f565b9050919050565b6133ca816133b0565b82525050565b5f6020820190506133e35f8301846133c1565b92915050565b5f80604083850312156133ff576133fe613010565b5b5f61340c85828601613164565b925050602061341d85828601613164565b9150509250929050565b5f6134318261339f565b9050919050565b61344181613427565b82525050565b5f60208201905061345a5f830184613438565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806134a457607f821691505b6020821081036134b7576134b6613460565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61354e826131cb565b9150613559836131cb565b925082613569576135686134ea565b5b828204905092915050565b5f61357e826131cb565b9150613589836131cb565b92508282019050808211156135a1576135a0613517565b5b92915050565b5f6135b1826131cb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135e3576135e2613517565b5b600182019050919050565b5f6135f8826131cb565b9150613603836131cb565b925082820390508181111561361b5761361a613517565b5b92915050565b7f496e73756666696369656e7420416c6c6f77616e6365000000000000000000005f82015250565b5f61365560168361307e565b915061366082613621565b602082019050919050565b5f6020820190508181035f83015261368281613649565b9050919050565b7f4e6f7420696e2074696d650000000000000000000000000000000000000000005f82015250565b5f6136bd600b8361307e565b91506136c882613689565b602082019050919050565b5f6020820190508181035f8301526136ea816136b1565b9050919050565b5f6136fb826131cb565b9150613706836131cb565b9250828202613714816131cb565b9150828204841483151761372b5761372a613517565b5b5092915050565b5f81905092915050565b50565b5f61374a5f83613732565b91506137558261373c565b5f82019050919050565b5f6137698261373f565b9150819050919050565b7f4661696c656420746f2073656e642045544820746f20526963655969656c64005f82015250565b5f6137a7601f8361307e565b91506137b282613773565b602082019050919050565b5f6020820190508181035f8301526137d48161379b565b9050919050565b7f4661696c656420746f2073656e642045544820746f204d61726b6574696e67005f82015250565b5f61380f601f8361307e565b915061381a826137db565b602082019050919050565b5f6020820190508181035f83015261383c81613803565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4c696d69747320616c72656164792072656d6f766564000000000000000000005f82015250565b5f6138a460168361307e565b91506138af82613870565b602082019050919050565b5f6020820190508181035f8301526138d181613898565b9050919050565b7f54726164696e67204c69766520416c72656164790000000000000000000000005f82015250565b5f61390c60148361307e565b9150613917826138d8565b602082019050919050565b5f6020820190508181035f83015261393981613900565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61399a60268361307e565b91506139a582613940565b604082019050919050565b5f6020820190508181035f8301526139c78161398e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a0260208361307e565b9150613a0d826139ce565b602082019050919050565b5f6020820190508181035f830152613a2f816139f6565b9050919050565b7f54726164696e67206e6f74206c697665000000000000000000000000000000005f82015250565b5f613a6a60108361307e565b9150613a7582613a36565b602082019050919050565b5f6020820190508181035f830152613a9781613a5e565b9050919050565b7f4d617820547820457863656564656400000000000000000000000000000000005f82015250565b5f613ad2600f8361307e565b9150613add82613a9e565b602082019050919050565b5f6020820190508181035f830152613aff81613ac6565b9050919050565b7f4d61782057616c6c6574204578636565646564000000000000000000000000005f82015250565b5f613b3a60138361307e565b9150613b4582613b06565b602082019050919050565b5f6020820190508181035f830152613b6781613b2e565b9050919050565b5f604082019050613b815f83018561334d565b613b8e602083018461327a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613bd08161314e565b92915050565b5f60208284031215613beb57613bea613010565b5b5f613bf884828501613bc2565b91505092915050565b5f819050919050565b5f613c24613c1f613c1a84613c01565b613375565b6131cb565b9050919050565b613c3481613c0a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c6c8161313d565b82525050565b5f613c7d8383613c63565b60208301905092915050565b5f602082019050919050565b5f613c9f82613c3a565b613ca98185613c44565b9350613cb483613c54565b805f5b83811015613ce4578151613ccb8882613c72565b9750613cd683613c89565b925050600181019050613cb7565b5085935050505092915050565b5f60a082019050613d045f83018861327a565b613d116020830187613c2b565b8181036040830152613d238186613c95565b9050613d32606083018561334d565b613d3f608083018461327a565b969550505050505056fea2646970667358221220017f6b1424cf7bf634d83b691e65a47fc094b6029369d31d0ff4ba87bd40f4ce64736f6c634300081500330000000000000000000000009474103b6980af41bcd33e74ae051a171c477320000000000000000000000000888c734ddbfad099e77f339d29878fd7820497c9
Deployed Bytecode
0x608060405260043610610275575f3560e01c80636ad41b8f1161014e578063a457c2d7116100c0578063c7749d1811610079578063c7749d181461091b578063dd62ed3e14610945578063f2fde38b14610981578063f440197f146109a9578063f887ea40146109d3578063f8b45b05146109fd5761027c565b8063a457c2d7146107fb578063a5ece94114610837578063a8aa1b3114610861578063a9059cbb1461088b578063ae87fc4b146108c7578063ba026a8d146108f15761027c565b8063751039fc11610112578063751039fc14610727578063766718081461073d5780638a8c523c146107675780638cdec8991461077d5780638da5cb5b146107a757806395d89b41146107d15761027c565b80636ad41b8f146106595780636f0005411461068357806370a08231146106ad57806370bc52fb146106e9578063715018a6146107115761027c565b80632d3e474a116101e757806348d0a392116101ab57806348d0a392146105605780634a62bb65146105765780635342acb4146105a05780635f48f393146105dc578063626c4e48146106065780636ac5eeee146106435761027c565b80632d3e474a1461047e578063313ce567146104a857806339509351146104d25780633b6697451461050e5780633df88c0e146105365761027c565b80631693e8d4116102395780631693e8d41461037257806318160ddd1461039c5780631a70b994146103c657806323b872dd146103f05780632b87b1981461042c5780632bb14e1d146104545761027c565b8063022503901461028057806306fdde03146102a857806307aaa3e4146102d2578063095ea7b31461030e57806316697fc51461034a5761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b506102a660048036038101906102a19190613049565b610a27565b005b3480156102b3575f80fd5b506102bc610a59565b6040516102c991906130fe565b60405180910390f35b3480156102dd575f80fd5b506102f860048036038101906102f39190613178565b610ae8565b60405161030591906131b2565b60405180910390f35b348015610319575f80fd5b50610334600480360381019061032f91906131fe565b610b05565b60405161034191906131b2565b60405180910390f35b348015610355575f80fd5b50610370600480360381019061036b919061323c565b610c00565b005b34801561037d575f80fd5b50610386610c60565b60405161039391906131b2565b60405180910390f35b3480156103a7575f80fd5b506103b0610c73565b6040516103bd9190613289565b60405180910390f35b3480156103d1575f80fd5b506103da610df6565b6040516103e79190613289565b60405180910390f35b3480156103fb575f80fd5b50610416600480360381019061041191906132a2565b610dfc565b60405161042391906131b2565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d9190613178565b6110c4565b005b34801561045f575f80fd5b5061046861119a565b6040516104759190613289565b60405180910390f35b348015610489575f80fd5b506104926111a0565b60405161049f9190613289565b60405180910390f35b3480156104b3575f80fd5b506104bc6111a6565b6040516104c9919061330d565b60405180910390f35b3480156104dd575f80fd5b506104f860048036038101906104f391906131fe565b6111bb565b60405161050591906131b2565b60405180910390f35b348015610519575f80fd5b50610534600480360381019061052f9190613178565b6113bf565b005b348015610541575f80fd5b5061054a61140a565b60405161055791906131b2565b60405180910390f35b34801561056b575f80fd5b50610574611456565b005b348015610581575f80fd5b5061058a6114a7565b60405161059791906131b2565b60405180910390f35b3480156105ab575f80fd5b506105c660048036038101906105c19190613178565b6114b9565b6040516105d391906131b2565b60405180910390f35b3480156105e7575f80fd5b506105f06114d6565b6040516105fd9190613289565b60405180910390f35b348015610611575f80fd5b5061062c600480360381019061062791906132a2565b6114dc565b60405161063a929190613326565b60405180910390f35b34801561064e575f80fd5b5061065761171e565b005b348015610664575f80fd5b5061066d611969565b60405161067a919061335c565b60405180910390f35b34801561068e575f80fd5b5061069761198e565b6040516106a491906133d0565b60405180910390f35b3480156106b8575f80fd5b506106d360048036038101906106ce9190613178565b6119b3565b6040516106e09190613289565b60405180910390f35b3480156106f4575f80fd5b5061070f600480360381019061070a919061323c565b611aa8565b005b34801561071c575f80fd5b50610725611d49565b005b348015610732575f80fd5b5061073b611d5c565b005b348015610748575f80fd5b50610751611dcd565b60405161075e9190613289565b60405180910390f35b348015610772575f80fd5b5061077b611dd3565b005b348015610788575f80fd5b50610791611e48565b60405161079e9190613289565b60405180910390f35b3480156107b2575f80fd5b506107bb611e4e565b6040516107c8919061335c565b60405180910390f35b3480156107dc575f80fd5b506107e5611e77565b6040516107f291906130fe565b60405180910390f35b348015610806575f80fd5b50610821600480360381019061081c91906131fe565b611f07565b60405161082e91906131b2565b60405180910390f35b348015610842575f80fd5b5061084b6121a1565b604051610858919061335c565b60405180910390f35b34801561086c575f80fd5b506108756121c6565b604051610882919061335c565b60405180910390f35b348015610896575f80fd5b506108b160048036038101906108ac91906131fe565b6121eb565b6040516108be91906131b2565b60405180910390f35b3480156108d2575f80fd5b506108db612242565b6040516108e891906131b2565b60405180910390f35b3480156108fc575f80fd5b50610905612255565b60405161091291906131b2565b60405180910390f35b348015610926575f80fd5b5061092f612267565b60405161093c9190613289565b60405180910390f35b348015610950575f80fd5b5061096b600480360381019061096691906133e9565b61226d565b6040516109789190613289565b60405180910390f35b34801561098c575f80fd5b506109a760048036038101906109a29190613178565b6122ef565b005b3480156109b4575f80fd5b506109bd612371565b6040516109ca9190613289565b60405180910390f35b3480156109de575f80fd5b506109e7612377565b6040516109f49190613447565b60405180910390f35b348015610a08575f80fd5b50610a1161239c565b604051610a1e9190613289565b60405180910390f35b610a2f6123a2565b80600c5f6101000a81548160ff0219169083151502179055504260098190555042600a8190555050565b60605f8054610a679061348d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a939061348d565b8015610ade5780601f10610ab557610100808354040283529160200191610ade565b820191905f5260205f20905b815481529060010190602001808311610ac157829003601f168201915b5050505050905090565b601a602052805f5260405f205f915054906101000a900460ff1681565b5f81601d5f610b12612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16610ba9612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bee9190613289565b60405180910390a36001905092915050565b610c086123a2565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b601660019054906101000a900460ff1681565b5f80601e8054905003610c8a57600d549050610df3565b5f805f5b601e80549050811015610dd457600f54601c5f601e8481548110610cb557610cb46134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d219190613544565b83610d2c9190613574565b9250600e54601c5f601e8481548110610d4857610d476134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610db49190613544565b82610dbf9190613574565b91508080610dcc906135a7565b915050610c8e565b508181600d54610de491906135ee565b610dee9190613574565b925050505b90565b600a5481565b5f825f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e35575f80fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610e9c612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146110ac5782601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610f22612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f949061366b565b60405180910390fd5b82601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610fe4612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461102891906135ee565b601d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61106e612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6110b7858585612427565b5060019150509392505050565b6110cc6123a2565b6110f760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f611aa8565b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611197816001611aa8565b50565b60115481565b60105481565b5f60025f9054906101000a900460ff16905090565b5f81601d5f6111c8612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112479190613574565b601d5f611252612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166112e9612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601d5f61132b612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516113ad9190613289565b60405180910390a36001905092915050565b6113c76123a2565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f806008546009544261141d91906135ee565b6114279190613544565b90505f60095411801561143957505f81115b80156114505750600c5f9054906101000a900460ff165b91505090565b61145e61140a565b61149d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611494906136d3565b60405180910390fd5b6114a5612b89565b565b60165f9054906101000a900460ff1681565b601b602052805f5260405f205f915054906101000a900460ff1681565b60195481565b5f805f600f54846114ed91906136f1565b90505f600e54856114fe91906136f1565b9050601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561159c5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156115ae578182935093505050611716565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561164b5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165d578181935093505050611716565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156116fb5750601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561170d578081935093505050611716565b80829350935050505b935093915050565b6001601f5f6101000a81548160ff0219169083151502179055505f4790505f6103e8601754600d5461175091906136f1565b61175a9190613544565b905061176581612d41565b5f824761177291906135ee565b90505f6011546010546117859190613574565b90505f816011548461179791906136f1565b6117a19190613544565b90505f811115611876575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516117f19061375f565b5f6040518083038185875af1925050503d805f811461182b576040519150601f19603f3d011682016040523d82523d5f602084013e611830565b606091505b5050905080611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b906137bd565b60405180910390fd5b505b5f471115611949575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516118c49061375f565b5f6040518083038185875af1925050503d805f81146118fe576040519150601f19603f3d011682016040523d82523d5f602084013e611903565b606091505b5050905080611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90613825565b60405180910390fd5b505b50505050505f601f5f6101000a81548160ff021916908315150217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a5557600f54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a4e9190613544565b9050611aa3565b600e54601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa09190613544565b90505b919050565b611ab06123a2565b8015611b70576001601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d45565b5f5b601e80549050811015611d43578273ffffffffffffffffffffffffffffffffffffffff16601e8281548110611baa57611ba96134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611d3057601e6001601e80549050611c0191906135ee565b81548110611c1257611c116134bd565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e8281548110611c4e57611c4d6134bd565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550601e805480611cf957611cf8613843565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611d43565b8080611d3b906135a7565b915050611b72565b505b5050565b611d516123a2565b611d5a5f612f4b565b565b611d646123a2565b60165f9054906101000a900460ff16611db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da9906138ba565b60405180910390fd5b5f60165f6101000a81548160ff021916908315150217905550565b600b5481565b611ddb6123a2565b601660019054906101000a900460ff1615611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2290613922565b60405180910390fd5b6001601660016101000a81548160ff021916908315150217905550565b60085481565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611e869061348d565b80601f0160208091040260200160405190810160405280929190818152602001828054611eb29061348d565b8015611efd5780601f10611ed457610100808354040283529160200191611efd565b820191905f5260205f20905b815481529060010190602001808311611ee057829003601f168201915b5050505050905090565b5f80601d5f611f14612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080831061201b575f601d5f611f9e612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120ab565b828161202791906135ee565b601d5f612032612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8373ffffffffffffffffffffffffffffffffffffffff166120ca612420565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601d5f61210c612420565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405161218e9190613289565b60405180910390a3600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f825f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612224575f80fd5b61223661222f612420565b8585612427565b50600191505092915050565b600c60019054906101000a900460ff1681565b600c5f9054906101000a900460ff1681565b60175481565b5f601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6122f76123a2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235c906139b0565b60405180910390fd5b61236e81612f4b565b50565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b6123aa612420565b73ffffffffffffffffffffffffffffffffffffffff166123c8611e4e565b73ffffffffffffffffffffffffffffffffffffffff161461241e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241590613a18565b60405180910390fd5b565b5f33905090565b5f601f5f9054906101000a900460ff1615801561248b5750601b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124de5750601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561298657601660019054906101000a900460ff16612532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252990613a80565b60405180910390fd5b5f6010546011546125439190613574565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156125a45750601354601454105b156125c657601254905060145f8154809291906125c0906135a7565b91905055505b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126255750601354601554105b1561264757601254905060155f815480929190612641906135a7565b91905055505b60165f9054906101000a900460ff16156128565760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612702575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561274d5760195483111561274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274390613ae8565b60405180910390fd5b5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156127f7575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156128555760185483612809866119b3565b6128139190613574565b1115612854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284b90613b50565b60405180910390fd5b5b5b5f6064828561286591906136f1565b61286f9190613544565b9050808461287d91906135ee565b935061288a863083612427565b505f612895306119b3565b90505f6103e8601754600d546128ab91906136f1565b6128b59190613544565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036129815780821061291b5761291a61171e565b5b61292361140a565b15612980573073ffffffffffffffffffffffffffffffffffffffff166348d0a3926040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561296d575f80fd5b505af192505050801561297e575060015b505b5b505050505b5f806129938686866114dc565b9150915081601c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546129e391906135ee565b9250508190555080601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612a369190613574565b9250508190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612b175760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf1271487866040518363ffffffff1660e01b8152600401612aed929190613b6e565b5f604051808303815f87803b158015612b04575f80fd5b505af1925050508015612b15575060015b505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612b749190613289565b60405180910390a36001925050509392505050565b5f60085460095442612b9b91906135ee565b612ba59190613544565b90504260098190555080600b5f828254612bbf9190613574565b925050819055505f5b81811015612cc1575f612710601a600d54612be391906136f1565b612bed9190613544565b905080600d5403600d81905550600d54600960ff16600a0a631dcd6500027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81612c3a57612c396134ea565b5b067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0381612c6b57612c6a6134ea565b5b04600e819055507f03c3d31b9868766c540f689d5419ad3453ce9d020061e79b1d223db52deecdad42600d54604051612ca5929190613326565b60405180910390a1508080612cb9906135a7565b915050612bc8565b5060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612d28575f80fd5b505af1158015612d3a573d5f803e3d5ffd5b5050505050565b5f600267ffffffffffffffff811115612d5d57612d5c613b95565b5b604051908082528060200260200182016040528015612d8b5781602001602082028036833780820191505090505b50905030815f81518110612da257612da16134bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6a9190613bd6565b81600181518110612e7e57612e7d6134bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612f1a959493929190613cf1565b5f604051808303815f87803b158015612f31575f80fd5b505af1158015612f43573d5f803e3d5ffd5b505050505050565b5f600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f8115159050919050565b61302881613014565b8114613032575f80fd5b50565b5f813590506130438161301f565b92915050565b5f6020828403121561305e5761305d613010565b5b5f61306b84828501613035565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130ab578082015181840152602081019050613090565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130d082613074565b6130da818561307e565b93506130ea81856020860161308e565b6130f3816130b6565b840191505092915050565b5f6020820190508181035f83015261311681846130c6565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6131478261311e565b9050919050565b6131578161313d565b8114613161575f80fd5b50565b5f813590506131728161314e565b92915050565b5f6020828403121561318d5761318c613010565b5b5f61319a84828501613164565b91505092915050565b6131ac81613014565b82525050565b5f6020820190506131c55f8301846131a3565b92915050565b5f819050919050565b6131dd816131cb565b81146131e7575f80fd5b50565b5f813590506131f8816131d4565b92915050565b5f806040838503121561321457613213613010565b5b5f61322185828601613164565b9250506020613232858286016131ea565b9150509250929050565b5f806040838503121561325257613251613010565b5b5f61325f85828601613164565b925050602061327085828601613035565b9150509250929050565b613283816131cb565b82525050565b5f60208201905061329c5f83018461327a565b92915050565b5f805f606084860312156132b9576132b8613010565b5b5f6132c686828701613164565b93505060206132d786828701613164565b92505060406132e8868287016131ea565b9150509250925092565b5f60ff82169050919050565b613307816132f2565b82525050565b5f6020820190506133205f8301846132fe565b92915050565b5f6040820190506133395f83018561327a565b613346602083018461327a565b9392505050565b6133568161313d565b82525050565b5f60208201905061336f5f83018461334d565b92915050565b5f819050919050565b5f61339861339361338e8461311e565b613375565b61311e565b9050919050565b5f6133a98261337e565b9050919050565b5f6133ba8261339f565b9050919050565b6133ca816133b0565b82525050565b5f6020820190506133e35f8301846133c1565b92915050565b5f80604083850312156133ff576133fe613010565b5b5f61340c85828601613164565b925050602061341d85828601613164565b9150509250929050565b5f6134318261339f565b9050919050565b61344181613427565b82525050565b5f60208201905061345a5f830184613438565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806134a457607f821691505b6020821081036134b7576134b6613460565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61354e826131cb565b9150613559836131cb565b925082613569576135686134ea565b5b828204905092915050565b5f61357e826131cb565b9150613589836131cb565b92508282019050808211156135a1576135a0613517565b5b92915050565b5f6135b1826131cb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135e3576135e2613517565b5b600182019050919050565b5f6135f8826131cb565b9150613603836131cb565b925082820390508181111561361b5761361a613517565b5b92915050565b7f496e73756666696369656e7420416c6c6f77616e6365000000000000000000005f82015250565b5f61365560168361307e565b915061366082613621565b602082019050919050565b5f6020820190508181035f83015261368281613649565b9050919050565b7f4e6f7420696e2074696d650000000000000000000000000000000000000000005f82015250565b5f6136bd600b8361307e565b91506136c882613689565b602082019050919050565b5f6020820190508181035f8301526136ea816136b1565b9050919050565b5f6136fb826131cb565b9150613706836131cb565b9250828202613714816131cb565b9150828204841483151761372b5761372a613517565b5b5092915050565b5f81905092915050565b50565b5f61374a5f83613732565b91506137558261373c565b5f82019050919050565b5f6137698261373f565b9150819050919050565b7f4661696c656420746f2073656e642045544820746f20526963655969656c64005f82015250565b5f6137a7601f8361307e565b91506137b282613773565b602082019050919050565b5f6020820190508181035f8301526137d48161379b565b9050919050565b7f4661696c656420746f2073656e642045544820746f204d61726b6574696e67005f82015250565b5f61380f601f8361307e565b915061381a826137db565b602082019050919050565b5f6020820190508181035f83015261383c81613803565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4c696d69747320616c72656164792072656d6f766564000000000000000000005f82015250565b5f6138a460168361307e565b91506138af82613870565b602082019050919050565b5f6020820190508181035f8301526138d181613898565b9050919050565b7f54726164696e67204c69766520416c72656164790000000000000000000000005f82015250565b5f61390c60148361307e565b9150613917826138d8565b602082019050919050565b5f6020820190508181035f83015261393981613900565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61399a60268361307e565b91506139a582613940565b604082019050919050565b5f6020820190508181035f8301526139c78161398e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a0260208361307e565b9150613a0d826139ce565b602082019050919050565b5f6020820190508181035f830152613a2f816139f6565b9050919050565b7f54726164696e67206e6f74206c697665000000000000000000000000000000005f82015250565b5f613a6a60108361307e565b9150613a7582613a36565b602082019050919050565b5f6020820190508181035f830152613a9781613a5e565b9050919050565b7f4d617820547820457863656564656400000000000000000000000000000000005f82015250565b5f613ad2600f8361307e565b9150613add82613a9e565b602082019050919050565b5f6020820190508181035f830152613aff81613ac6565b9050919050565b7f4d61782057616c6c6574204578636565646564000000000000000000000000005f82015250565b5f613b3a60138361307e565b9150613b4582613b06565b602082019050919050565b5f6020820190508181035f830152613b6781613b2e565b9050919050565b5f604082019050613b815f83018561334d565b613b8e602083018461327a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613bd08161314e565b92915050565b5f60208284031215613beb57613bea613010565b5b5f613bf884828501613bc2565b91505092915050565b5f819050919050565b5f613c24613c1f613c1a84613c01565b613375565b6131cb565b9050919050565b613c3481613c0a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c6c8161313d565b82525050565b5f613c7d8383613c63565b60208301905092915050565b5f602082019050919050565b5f613c9f82613c3a565b613ca98185613c44565b9350613cb483613c54565b805f5b83811015613ce4578151613ccb8882613c72565b9750613cd683613c89565b925050600181019050613cb7565b5085935050505092915050565b5f60a082019050613d045f83018861327a565b613d116020830187613c2b565b8181036040830152613d238186613c95565b9050613d32606083018561334d565b613d3f608083018461327a565b969550505050505056fea2646970667358221220017f6b1424cf7bf634d83b691e65a47fc094b6029369d31d0ff4ba87bd40f4ce64736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009474103b6980af41bcd33e74ae051a171c477320000000000000000000000000888c734ddbfad099e77f339d29878fd7820497c9
-----Decoded View---------------
Arg [0] : _vaultProtect (address): 0x9474103b6980AF41bcd33E74aE051a171C477320
Arg [1] : _RiceYield (address): 0x888c734ddbFad099E77F339d29878fd7820497c9
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009474103b6980af41bcd33e74ae051a171c477320
Arg [1] : 000000000000000000000000888c734ddbfad099e77f339d29878fd7820497c9
Deployed Bytecode Sourcemap
16556:12965:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27572:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16280:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17888:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25595:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27408:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17649:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19746:556;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16862:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23995:571;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27758:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17415:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17380:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16466:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25179:408;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28041:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20731:192;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26992:107;;;;;;;;;;;;;:::i;:::-;;17609:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17939:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17813:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23192:795;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;28160:900;;;;;;;;;;;;;:::i;:::-;;16715:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16675:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20493:230;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26432:552;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3086:103;;;;;;;;;;;;;:::i;:::-;;27256:144;;;;;;;;;;;;;:::i;:::-;;16899:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27107:141;;;;;;;;;;;;;:::i;:::-;;16786:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2445:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16371;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24574:597;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16746:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16649:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20931:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16964:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16935:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17691:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20310:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3344:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16828:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16610:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17740:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27572:178;2331:13;:11;:13::i;:::-;27650:7:::1;27637:10;;:20;;;;;;;;;;;;;;;;;;27683:15;27668:12;:30;;;;27727:15;27709;:33;;;;27572:178:::0;:::o;16280:83::-;16317:13;16350:5;16343:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16280:83;:::o;17888:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;25595:245::-;25694:4;25751:5;25711:14;:28;25726:12;:10;:12::i;:::-;25711:28;;;;;;;;;;;;;;;:37;25740:7;25711:37;;;;;;;;;;;;;;;:45;;;;25795:7;25772:38;;25781:12;:10;:12::i;:::-;25772:38;;;25804:5;25772:38;;;;;;:::i;:::-;;;;;;;;25828:4;25821:11;;25595:245;;;;:::o;27408:156::-;2331:13;:11;:13::i;:::-;27550:6:::1;27520:17;:27;27538:8;27520:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;27408:156:::0;;:::o;17649:33::-;;;;;;;;;;;;;:::o;19746:556::-;19801:7;19846:1;19825:10;:17;;;;:22;19821:47;;19856:12;;19849:19;;;;19821:47;19881:28;19920;19966:9;19961:256;19985:10;:17;;;;19981:1;:21;19961:256;;;20113:13;;20065;:28;20079:10;20090:1;20079:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20065:28;;;;;;;;;;;;;;;;:61;;;;:::i;:::-;20024:102;;;;;:::i;:::-;;;20196:9;;20165:13;:28;20179:10;20190:1;20179:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20165:28;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;20141:64;;;;;:::i;:::-;;;20004:3;;;;;:::i;:::-;;;;19961:256;;;;20274:20;20251;20236:12;;:35;;;;:::i;:::-;:58;;;;:::i;:::-;20229:65;;;;19746:556;;:::o;16862:30::-;;;;:::o;23995:571::-;24138:4;24125:2;18404:3;18390:18;;:2;:18;;;18382:27;;;;;;24197:17:::1;24159:14;:20;24174:4;24159:20;;;;;;;;;;;;;;;:34;24180:12;:10;:12::i;:::-;24159:34;;;;;;;;;;;;;;;;:55;24155:345;;24295:5;24257:14;:20;24272:4;24257:20;;;;;;;;;;;;;;;:34;24278:12;:10;:12::i;:::-;24257:34;;;;;;;;;;;;;;;;:43;;24231:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;24482:5;24427:14;:20;24442:4;24427:20;;;;;;;;;;;;;;;:34;24448:12;:10;:12::i;:::-;24427:34;;;;;;;;;;;;;;;;:61;;;;:::i;:::-;24373:14;:20;24388:4;24373:20;;;;;;;;;;;;;;;:34;24394:12;:10;:12::i;:::-;24373:34;;;;;;;;;;;;;;;:115;;;;24155:345;24510:26;24520:4;24526:2;24530:5;24510:9;:26::i;:::-;;24554:4;24547:11;;23995:571:::0;;;;;;:::o;27758:275::-;2331:13;:11;:13::i;:::-;27837:44:::1;27860:12;;;;;;;;;;;27875:5;27837:14;:44::i;:::-;27921:11;27892:12;;:41;;;;;;;;;;;;;;;;;;27977:4;27944:17;:30;27962:11;27944:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;27992:33;28007:11;28020:4;27992:14;:33::i;:::-;27758:275:::0;:::o;17415:29::-;;;;:::o;17380:28::-;;;;:::o;16466:83::-;16507:5;16532:9;;;;;;;;;;;16525:16;;16466:83;:::o;25179:408::-;25286:4;25410:10;25356:14;:28;25371:12;:10;:12::i;:::-;25356:28;;;;;;;;;;;;;;;:37;25385:7;25356:37;;;;;;;;;;;;;;;;:65;;;;:::i;:::-;25303:14;:28;25318:12;:10;:12::i;:::-;25303:28;;;;;;;;;;;;;;;:37;25332:7;25303:37;;;;;;;;;;;;;;;:118;;;;25487:7;25437:120;;25460:12;:10;:12::i;:::-;25437:120;;;25509:14;:28;25524:12;:10;:12::i;:::-;25509:28;;;;;;;;;;;;;;;:37;25538:7;25509:37;;;;;;;;;;;;;;;;25437:120;;;;;;:::i;:::-;;;;;;;;25575:4;25568:11;;25179:408;;;;:::o;28041:111::-;2331:13;:11;:13::i;:::-;28131::::1;28119:9;;:25;;;;;;;;;;;;;;;;;;28041:111:::0;:::o;20731:192::-;20776:4;20793:13;20844:10;;20828:12;;20810:15;:30;;;;:::i;:::-;20809:45;;;;:::i;:::-;20793:61;;20887:1;20872:12;;:16;:29;;;;;20900:1;20892:5;:9;20872:29;:43;;;;;20905:10;;;;;;;;;;;20872:43;20865:50;;;20731:192;:::o;26992:107::-;27042:14;:12;:14::i;:::-;27034:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;27083:8;:6;:8::i;:::-;26992:107::o;17609:33::-;;;;;;;;;;;;;:::o;17939:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;17813:60::-;;;;:::o;23192:795::-;23320:7;23329;23349:21;23382:13;;23373:6;:22;;;;:::i;:::-;23349:46;;23406:21;23439:9;;23430:6;:18;;;;:::i;:::-;23406:42;;23496:12;:18;23509:4;23496:18;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;23518:12;:16;23531:2;23518:16;;;;;;;;;;;;;;;;;;;;;;;;;23496:38;23492:108;;;23559:13;23574;23551:37;;;;;;;;23492:108;23645:12;:18;23658:4;23645:18;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;;;23668:12;:16;23681:2;23668:16;;;;;;;;;;;;;;;;;;;;;;;;;23667:17;23645:39;23641:109;;;23709:13;23724;23701:37;;;;;;;;23641:109;23796:12;:18;23809:4;23796:18;;;;;;;;;;;;;;;;;;;;;;;;;23795:19;:40;;;;;23819:12;:16;23832:2;23819:16;;;;;;;;;;;;;;;;;;;;;;;;;23818:17;23795:40;23791:110;;;23860:13;23875;23852:37;;;;;;;;23791:110;23950:13;23965;23942:37;;;;;;23192:795;;;;;;;:::o;28160:900::-;18278:4;18269:6;;:13;;;;;;;;;;;;;;;;;;28207:21:::1;28231;28207:45;;28263:22;28323:4;28304:15;;28289:12;;:30;;;;:::i;:::-;28288:39;;;;:::i;:::-;28263:64;;28338:32;28355:14;28338:16;:32::i;:::-;28381:16;28424:13;28400:21;:37;;;;:::i;:::-;28381:56;;28448:16;28479:10;;28467:9;;:22;;;;:::i;:::-;28448:41;;28500:26;28555:8;28541:10;;28530:8;:21;;;;:::i;:::-;28529:34;;;;:::i;:::-;28500:63;;28601:1;28580:18;:22;28576:226;;;28620:12;28646:9;;;;;;;;;;;28638:23;;28687:18;28638:86;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28619:105;;;28747:7;28739:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;28604:198;28576:226;28842:1;28818:21;:25;28814:239;;;28861:12;28887:16;;;;;;;;;;;28879:30;;28935:21;28879:96;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28860:115;;;28998:7;28990:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;28845:208;28814:239;28196:864;;;;;18314:5:::0;18305:6;;:14;;;;;;;;;;;;;;;;;;28160:900::o;16715:24::-;;;;;;;;;;;;;:::o;16675:33::-;;;;;;;;;;;;;:::o;20493:230::-;20555:7;20579:12;:17;20592:3;20579:17;;;;;;;;;;;;;;;;;;;;;;;;;20575:91;;;20641:13;;20620;:18;20634:3;20620:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;20613:41;;;;20575:91;20705:9;;20683:13;:18;20697:3;20683:18;;;;;;;;;;;;;;;;:32;;;;:::i;:::-;20676:39;;20493:230;;;;:::o;26432:552::-;2331:13;:11;:13::i;:::-;26519:7:::1;26515:462;;;26567:4;26543:12;:21;26556:7;26543:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;26586:10;26602:7;26586:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26515:462;;;26648:9;26643:323;26667:10;:17;;;;26663:1;:21;26643:323;;;26731:7;26714:24;;:10;26725:1;26714:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:24;;::::0;26710:241:::1;;26779:10;26810:1;26790:10;:17;;;;:21;;;;:::i;:::-;26779:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26763:10;26774:1;26763:13;;;;;;;;:::i;:::-;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;26859:5;26835:12;:21;26848:7;26835:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;26887:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;26926:5;;26710:241;26686:3;;;;;:::i;:::-;;;;26643:323;;;;26515:462;26432:552:::0;;:::o;3086:103::-;2331:13;:11;:13::i;:::-;3151:30:::1;3178:1;3151:18;:30::i;:::-;3086:103::o:0;27256:144::-;2331:13;:11;:13::i;:::-;27318:14:::1;;;;;;;;;;;27310:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;27387:5;27370:14;;:22;;;;;;;;;;;;;;;;;;27256:144::o:0;16899:27::-;;;;:::o;27107:141::-;2331:13;:11;:13::i;:::-;27171::::1;;;;;;;;;;;27170:14;27162:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;27236:4;27220:13;;:20;;;;;;;;;;;;;;;;;;27107:141::o:0;16786:35::-;;;;:::o;2445:87::-;2491:7;2518:6;;;;;;;;;;;2511:13;;2445:87;:::o;16371:::-;16410:13;16443:7;16436:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16371:87;:::o;24574:597::-;24686:4;24703:16;24722:14;:28;24737:12;:10;:12::i;:::-;24722:28;;;;;;;;;;;;;;;:37;24751:7;24722:37;;;;;;;;;;;;;;;;24703:56;;24793:8;24774:15;:27;24770:236;;24858:1;24818:14;:28;24833:12;:10;:12::i;:::-;24818:28;;;;;;;;;;;;;;;:37;24847:7;24818:37;;;;;;;;;;;;;;;:41;;;;24770:236;;;24978:15;24949:8;:45;;;;:::i;:::-;24892:14;:28;24907:12;:10;:12::i;:::-;24892:28;;;;;;;;;;;;;;;:37;24921:7;24892:37;;;;;;;;;;;;;;;:102;;;;24770:236;25071:7;25021:120;;25044:12;:10;:12::i;:::-;25021:120;;;25093:14;:28;25108:12;:10;:12::i;:::-;25093:28;;;;;;;;;;;;;;;:37;25122:7;25093:37;;;;;;;;;;;;;;;;25021:120;;;;;;:::i;:::-;;;;;;;;25159:4;25152:11;;;24574:597;;;;:::o;16746:31::-;;;;;;;;;;;;;:::o;16649:19::-;;;;;;;;;;;;;:::o;20931:197::-;21047:4;21034:2;18404:3;18390:18;;:2;:18;;;18382:27;;;;;;21064:34:::1;21074:12;:10;:12::i;:::-;21088:2;21092:5;21064:9;:34::i;:::-;;21116:4;21109:11;;20931:197:::0;;;;;:::o;16964:31::-;;;;;;;;;;;;;:::o;16935:22::-;;;;;;;;;;;;;:::o;17691:34::-;;;;:::o;20310:175::-;20419:7;20446:14;:22;20461:6;20446:22;;;;;;;;;;;;;;;:31;20469:7;20446:31;;;;;;;;;;;;;;;;20439:38;;20310:175;;;;:::o;3344:238::-;2331:13;:11;:13::i;:::-;3467:1:::1;3447:22;;:8;:22;;::::0;3425:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3546:28;3565:8;3546:18;:28::i;:::-;3344:238:::0;:::o;16828:27::-;;;;:::o;16610:32::-;;;;;;;;;;;;;:::o;17740:60::-;;;;:::o;2610:132::-;2685:12;:10;:12::i;:::-;2674:23;;:7;:5;:7::i;:::-;:23;;;2666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2610:132::o;979:98::-;1032:7;1059:10;1052:17;;979:98;:::o;21136:2048::-;21249:4;21271:6;;;;;;;;;;;21270:7;:35;;;;;21282:17;:23;21300:4;21282:23;;;;;;;;;;;;;;;;;;;;;;;;;21281:24;21270:35;:61;;;;;21310:17;:21;21328:2;21310:21;;;;;;;;;;;;;;;;;;;;;;;;;21309:22;21270:61;21266:1485;;;21356:13;;;;;;;;;;;21348:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;21407:16;21439:9;;21426:10;;:22;;;;:::i;:::-;21407:41;;21477:4;;;;;;;;;;;21469:12;;:4;:12;;;:40;;;;;21497:12;;21485:9;;:24;21469:40;21465:133;;;21541:11;;21530:22;;21571:9;;:11;;;;;;;;;:::i;:::-;;;;;;21465:133;21624:4;;;;;;;;;;;21618:10;;:2;:10;;;:39;;;;;21645:12;;21632:10;;:25;21618:39;21614:133;;;21689:11;;21678:22;;21719:10;;:12;;;;;;;;;:::i;:::-;;;;;;21614:133;21767:14;;;;;;;;;;;21763:424;;;21814:4;;;;;;;;;;;21806:12;;:4;:12;;;:26;;;;21828:4;;;;;;;;;;;21822:10;;:2;:10;;;21806:26;21802:122;;;21875:9;;21865:6;:19;;21857:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;21802:122;21952:4;;;;;;;;;;;21946:10;;:2;:10;;;;:41;;;;;21974:12;;;;;;;;;;;21960:27;;:2;:27;;;;21946:41;21942:230;;;22072:9;;22062:6;22046:13;22056:2;22046:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;22012:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;21942:230;21763:424;22203:11;22239:3;22227:8;22218:6;:17;;;;:::i;:::-;22217:25;;;;:::i;:::-;22203:39;;22275:3;22266:6;:12;;;;:::i;:::-;22257:21;;22295:35;22305:4;22319;22326:3;22295:9;:35::i;:::-;;22347:19;22369:24;22387:4;22369:9;:24::i;:::-;22347:46;;22408:22;22468:4;22449:15;;22434:12;;:30;;;;:::i;:::-;22433:39;;;;:::i;:::-;22408:64;;22497:4;;;;;;;;;;;22491:10;;:2;:10;;;22487:253;;22541:14;22526:11;:29;22522:88;;22580:10;:8;:10::i;:::-;22522:88;22632:14;:12;:14::i;:::-;22628:97;;;22675:4;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22671:35;22628:97;22487:253;21333:1418;;;;21266:1485;22764:18;22784:16;22804:89;22840:4;22859:2;22876:6;22804:21;:89::i;:::-;22763:130;;;;22929:10;22906:13;:19;22920:4;22906:19;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;22971:8;22950:13;:17;22964:2;22950:17;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;23010:12;;;;;;;;;;;22996:27;;:2;:27;;;22992:117;;23044:12;;;;;;;;;;;:28;;;23073:4;23079:6;23044:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23040:58;22992:117;23141:2;23126:26;;23135:4;23126:26;;;23145:6;23126:26;;;;;;:::i;:::-;;;;;;;;23172:4;23165:11;;;;21136:2048;;;;;:::o;25848:576::-;25885:13;25936:10;;25920:12;;25902:15;:30;;;;:::i;:::-;25901:45;;;;:::i;:::-;25885:61;;25974:15;25959:12;:30;;;;26018:5;26002:12;;:21;;;;;;;:::i;:::-;;;;;;;;26041:9;26036:341;26060:5;26056:1;:9;26036:341;;;26087:19;26131:5;26125:2;26110:12;;:17;;;;:::i;:::-;26109:27;;;;:::i;:::-;26087:49;;26221:11;26206:12;;:26;26191:12;:41;;;;26278:12;;17038:1;17120:14;;:2;:14;17106:11;:28;17212:17;:41;;;;;:::i;:::-;;;17191:17;:63;26263:28;;;;;:::i;:::-;;;26251:9;:40;;;;26328:37;26335:15;26352:12;;26328:37;;;;;;;:::i;:::-;;;;;;;;26072:305;26067:3;;;;;:::i;:::-;;;;26036:341;;;;26404:4;;;;;;;;;;;26389:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25874:550;25848:576::o;29068:413::-;29135:21;29173:1;29159:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29135:40;;29204:4;29186;29191:1;29186:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;29230:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29220:4;29225:1;29220:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;29256:6;;;;;;;;;;;:57;;;29328:11;29354:1;29391:4;29426;29447:15;29256:217;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29124:357;29068:413;:::o;3742:191::-;3816:16;3835:6;;;;;;;;;;;3816:25;;3861:8;3852:6;;:17;;;;;;;;;;;;;;;;;;3916:8;3885:40;;3906:8;3885:40;;;;;;;;;;;;3805:128;3742:191;:::o;88:117:1:-;197:1;194;187:12;334:90;368:7;411:5;404:13;397:21;386:32;;334:90;;;:::o;430:116::-;500:21;515:5;500:21;:::i;:::-;493:5;490:32;480:60;;536:1;533;526:12;480:60;430:116;:::o;552:133::-;595:5;633:6;620:20;611:29;;649:30;673:5;649:30;:::i;:::-;552:133;;;;:::o;691:323::-;747:6;796:2;784:9;775:7;771:23;767:32;764:119;;;802:79;;:::i;:::-;764:119;922:1;947:50;989:7;980:6;969:9;965:22;947:50;:::i;:::-;937:60;;893:114;691:323;;;;:::o;1020:99::-;1072:6;1106:5;1100:12;1090:22;;1020:99;;;:::o;1125:169::-;1209:11;1243:6;1238:3;1231:19;1283:4;1278:3;1274:14;1259:29;;1125:169;;;;:::o;1300:246::-;1381:1;1391:113;1405:6;1402:1;1399:13;1391:113;;;1490:1;1485:3;1481:11;1475:18;1471:1;1466:3;1462:11;1455:39;1427:2;1424:1;1420:10;1415:15;;1391:113;;;1538:1;1529:6;1524:3;1520:16;1513:27;1362:184;1300:246;;;:::o;1552:102::-;1593:6;1644:2;1640:7;1635:2;1628:5;1624:14;1620:28;1610:38;;1552:102;;;:::o;1660:377::-;1748:3;1776:39;1809:5;1776:39;:::i;:::-;1831:71;1895:6;1890:3;1831:71;:::i;:::-;1824:78;;1911:65;1969:6;1964:3;1957:4;1950:5;1946:16;1911:65;:::i;:::-;2001:29;2023:6;2001:29;:::i;:::-;1996:3;1992:39;1985:46;;1752:285;1660:377;;;;:::o;2043:313::-;2156:4;2194:2;2183:9;2179:18;2171:26;;2243:9;2237:4;2233:20;2229:1;2218:9;2214:17;2207:47;2271:78;2344:4;2335:6;2271:78;:::i;:::-;2263:86;;2043:313;;;;:::o;2362:126::-;2399:7;2439:42;2432:5;2428:54;2417:65;;2362:126;;;:::o;2494:96::-;2531:7;2560:24;2578:5;2560:24;:::i;:::-;2549:35;;2494:96;;;:::o;2596:122::-;2669:24;2687:5;2669:24;:::i;:::-;2662:5;2659:35;2649:63;;2708:1;2705;2698:12;2649:63;2596:122;:::o;2724:139::-;2770:5;2808:6;2795:20;2786:29;;2824:33;2851:5;2824:33;:::i;:::-;2724:139;;;;:::o;2869:329::-;2928:6;2977:2;2965:9;2956:7;2952:23;2948:32;2945:119;;;2983:79;;:::i;:::-;2945:119;3103:1;3128:53;3173:7;3164:6;3153:9;3149:22;3128:53;:::i;:::-;3118:63;;3074:117;2869:329;;;;:::o;3204:109::-;3285:21;3300:5;3285:21;:::i;:::-;3280:3;3273:34;3204:109;;:::o;3319:210::-;3406:4;3444:2;3433:9;3429:18;3421:26;;3457:65;3519:1;3508:9;3504:17;3495:6;3457:65;:::i;:::-;3319:210;;;;:::o;3535:77::-;3572:7;3601:5;3590:16;;3535:77;;;:::o;3618:122::-;3691:24;3709:5;3691:24;:::i;:::-;3684:5;3681:35;3671:63;;3730:1;3727;3720:12;3671:63;3618:122;:::o;3746:139::-;3792:5;3830:6;3817:20;3808:29;;3846:33;3873:5;3846:33;:::i;:::-;3746:139;;;;:::o;3891:474::-;3959:6;3967;4016:2;4004:9;3995:7;3991:23;3987:32;3984:119;;;4022:79;;:::i;:::-;3984:119;4142:1;4167:53;4212:7;4203:6;4192:9;4188:22;4167:53;:::i;:::-;4157:63;;4113:117;4269:2;4295:53;4340:7;4331:6;4320:9;4316:22;4295:53;:::i;:::-;4285:63;;4240:118;3891:474;;;;;:::o;4371:468::-;4436:6;4444;4493:2;4481:9;4472:7;4468:23;4464:32;4461:119;;;4499:79;;:::i;:::-;4461:119;4619:1;4644:53;4689:7;4680:6;4669:9;4665:22;4644:53;:::i;:::-;4634:63;;4590:117;4746:2;4772:50;4814:7;4805:6;4794:9;4790:22;4772:50;:::i;:::-;4762:60;;4717:115;4371:468;;;;;:::o;4845:118::-;4932:24;4950:5;4932:24;:::i;:::-;4927:3;4920:37;4845:118;;:::o;4969:222::-;5062:4;5100:2;5089:9;5085:18;5077:26;;5113:71;5181:1;5170:9;5166:17;5157:6;5113:71;:::i;:::-;4969:222;;;;:::o;5197:619::-;5274:6;5282;5290;5339:2;5327:9;5318:7;5314:23;5310:32;5307:119;;;5345:79;;:::i;:::-;5307:119;5465:1;5490:53;5535:7;5526:6;5515:9;5511:22;5490:53;:::i;:::-;5480:63;;5436:117;5592:2;5618:53;5663:7;5654:6;5643:9;5639:22;5618:53;:::i;:::-;5608:63;;5563:118;5720:2;5746:53;5791:7;5782:6;5771:9;5767:22;5746:53;:::i;:::-;5736:63;;5691:118;5197:619;;;;;:::o;5822:86::-;5857:7;5897:4;5890:5;5886:16;5875:27;;5822:86;;;:::o;5914:112::-;5997:22;6013:5;5997:22;:::i;:::-;5992:3;5985:35;5914:112;;:::o;6032:214::-;6121:4;6159:2;6148:9;6144:18;6136:26;;6172:67;6236:1;6225:9;6221:17;6212:6;6172:67;:::i;:::-;6032:214;;;;:::o;6252:332::-;6373:4;6411:2;6400:9;6396:18;6388:26;;6424:71;6492:1;6481:9;6477:17;6468:6;6424:71;:::i;:::-;6505:72;6573:2;6562:9;6558:18;6549:6;6505:72;:::i;:::-;6252:332;;;;;:::o;6590:118::-;6677:24;6695:5;6677:24;:::i;:::-;6672:3;6665:37;6590:118;;:::o;6714:222::-;6807:4;6845:2;6834:9;6830:18;6822:26;;6858:71;6926:1;6915:9;6911:17;6902:6;6858:71;:::i;:::-;6714:222;;;;:::o;6942:60::-;6970:3;6991:5;6984:12;;6942:60;;;:::o;7008:142::-;7058:9;7091:53;7109:34;7118:24;7136:5;7118:24;:::i;:::-;7109:34;:::i;:::-;7091:53;:::i;:::-;7078:66;;7008:142;;;:::o;7156:126::-;7206:9;7239:37;7270:5;7239:37;:::i;:::-;7226:50;;7156:126;;;:::o;7288:147::-;7359:9;7392:37;7423:5;7392:37;:::i;:::-;7379:50;;7288:147;;;:::o;7441:173::-;7549:58;7601:5;7549:58;:::i;:::-;7544:3;7537:71;7441:173;;:::o;7620:264::-;7734:4;7772:2;7761:9;7757:18;7749:26;;7785:92;7874:1;7863:9;7859:17;7850:6;7785:92;:::i;:::-;7620:264;;;;:::o;7890:474::-;7958:6;7966;8015:2;8003:9;7994:7;7990:23;7986:32;7983:119;;;8021:79;;:::i;:::-;7983:119;8141:1;8166:53;8211:7;8202:6;8191:9;8187:22;8166:53;:::i;:::-;8156:63;;8112:117;8268:2;8294:53;8339:7;8330:6;8319:9;8315:22;8294:53;:::i;:::-;8284:63;;8239:118;7890:474;;;;;:::o;8370:152::-;8446:9;8479:37;8510:5;8479:37;:::i;:::-;8466:50;;8370:152;;;:::o;8528:183::-;8641:63;8698:5;8641:63;:::i;:::-;8636:3;8629:76;8528:183;;:::o;8717:274::-;8836:4;8874:2;8863:9;8859:18;8851:26;;8887:97;8981:1;8970:9;8966:17;8957:6;8887:97;:::i;:::-;8717:274;;;;:::o;8997:180::-;9045:77;9042:1;9035:88;9142:4;9139:1;9132:15;9166:4;9163:1;9156:15;9183:320;9227:6;9264:1;9258:4;9254:12;9244:22;;9311:1;9305:4;9301:12;9332:18;9322:81;;9388:4;9380:6;9376:17;9366:27;;9322:81;9450:2;9442:6;9439:14;9419:18;9416:38;9413:84;;9469:18;;:::i;:::-;9413:84;9234:269;9183:320;;;:::o;9509:180::-;9557:77;9554:1;9547:88;9654:4;9651:1;9644:15;9678:4;9675:1;9668:15;9695:180;9743:77;9740:1;9733:88;9840:4;9837:1;9830:15;9864:4;9861:1;9854:15;9881:180;9929:77;9926:1;9919:88;10026:4;10023:1;10016:15;10050:4;10047:1;10040:15;10067:185;10107:1;10124:20;10142:1;10124:20;:::i;:::-;10119:25;;10158:20;10176:1;10158:20;:::i;:::-;10153:25;;10197:1;10187:35;;10202:18;;:::i;:::-;10187:35;10244:1;10241;10237:9;10232:14;;10067:185;;;;:::o;10258:191::-;10298:3;10317:20;10335:1;10317:20;:::i;:::-;10312:25;;10351:20;10369:1;10351:20;:::i;:::-;10346:25;;10394:1;10391;10387:9;10380:16;;10415:3;10412:1;10409:10;10406:36;;;10422:18;;:::i;:::-;10406:36;10258:191;;;;:::o;10455:233::-;10494:3;10517:24;10535:5;10517:24;:::i;:::-;10508:33;;10563:66;10556:5;10553:77;10550:103;;10633:18;;:::i;:::-;10550:103;10680:1;10673:5;10669:13;10662:20;;10455:233;;;:::o;10694:194::-;10734:4;10754:20;10772:1;10754:20;:::i;:::-;10749:25;;10788:20;10806:1;10788:20;:::i;:::-;10783:25;;10832:1;10829;10825:9;10817:17;;10856:1;10850:4;10847:11;10844:37;;;10861:18;;:::i;:::-;10844:37;10694:194;;;;:::o;10894:172::-;11034:24;11030:1;11022:6;11018:14;11011:48;10894:172;:::o;11072:366::-;11214:3;11235:67;11299:2;11294:3;11235:67;:::i;:::-;11228:74;;11311:93;11400:3;11311:93;:::i;:::-;11429:2;11424:3;11420:12;11413:19;;11072:366;;;:::o;11444:419::-;11610:4;11648:2;11637:9;11633:18;11625:26;;11697:9;11691:4;11687:20;11683:1;11672:9;11668:17;11661:47;11725:131;11851:4;11725:131;:::i;:::-;11717:139;;11444:419;;;:::o;11869:161::-;12009:13;12005:1;11997:6;11993:14;11986:37;11869:161;:::o;12036:366::-;12178:3;12199:67;12263:2;12258:3;12199:67;:::i;:::-;12192:74;;12275:93;12364:3;12275:93;:::i;:::-;12393:2;12388:3;12384:12;12377:19;;12036:366;;;:::o;12408:419::-;12574:4;12612:2;12601:9;12597:18;12589:26;;12661:9;12655:4;12651:20;12647:1;12636:9;12632:17;12625:47;12689:131;12815:4;12689:131;:::i;:::-;12681:139;;12408:419;;;:::o;12833:410::-;12873:7;12896:20;12914:1;12896:20;:::i;:::-;12891:25;;12930:20;12948:1;12930:20;:::i;:::-;12925:25;;12985:1;12982;12978:9;13007:30;13025:11;13007:30;:::i;:::-;12996:41;;13186:1;13177:7;13173:15;13170:1;13167:22;13147:1;13140:9;13120:83;13097:139;;13216:18;;:::i;:::-;13097:139;12881:362;12833:410;;;;:::o;13249:147::-;13350:11;13387:3;13372:18;;13249:147;;;;:::o;13402:114::-;;:::o;13522:398::-;13681:3;13702:83;13783:1;13778:3;13702:83;:::i;:::-;13695:90;;13794:93;13883:3;13794:93;:::i;:::-;13912:1;13907:3;13903:11;13896:18;;13522:398;;;:::o;13926:379::-;14110:3;14132:147;14275:3;14132:147;:::i;:::-;14125:154;;14296:3;14289:10;;13926:379;;;:::o;14311:181::-;14451:33;14447:1;14439:6;14435:14;14428:57;14311:181;:::o;14498:366::-;14640:3;14661:67;14725:2;14720:3;14661:67;:::i;:::-;14654:74;;14737:93;14826:3;14737:93;:::i;:::-;14855:2;14850:3;14846:12;14839:19;;14498:366;;;:::o;14870:419::-;15036:4;15074:2;15063:9;15059:18;15051:26;;15123:9;15117:4;15113:20;15109:1;15098:9;15094:17;15087:47;15151:131;15277:4;15151:131;:::i;:::-;15143:139;;14870:419;;;:::o;15295:181::-;15435:33;15431:1;15423:6;15419:14;15412:57;15295:181;:::o;15482:366::-;15624:3;15645:67;15709:2;15704:3;15645:67;:::i;:::-;15638:74;;15721:93;15810:3;15721:93;:::i;:::-;15839:2;15834:3;15830:12;15823:19;;15482:366;;;:::o;15854:419::-;16020:4;16058:2;16047:9;16043:18;16035:26;;16107:9;16101:4;16097:20;16093:1;16082:9;16078:17;16071:47;16135:131;16261:4;16135:131;:::i;:::-;16127:139;;15854:419;;;:::o;16279:180::-;16327:77;16324:1;16317:88;16424:4;16421:1;16414:15;16448:4;16445:1;16438:15;16465:172;16605:24;16601:1;16593:6;16589:14;16582:48;16465:172;:::o;16643:366::-;16785:3;16806:67;16870:2;16865:3;16806:67;:::i;:::-;16799:74;;16882:93;16971:3;16882:93;:::i;:::-;17000:2;16995:3;16991:12;16984:19;;16643:366;;;:::o;17015:419::-;17181:4;17219:2;17208:9;17204:18;17196:26;;17268:9;17262:4;17258:20;17254:1;17243:9;17239:17;17232:47;17296:131;17422:4;17296:131;:::i;:::-;17288:139;;17015:419;;;:::o;17440:170::-;17580:22;17576:1;17568:6;17564:14;17557:46;17440:170;:::o;17616:366::-;17758:3;17779:67;17843:2;17838:3;17779:67;:::i;:::-;17772:74;;17855:93;17944:3;17855:93;:::i;:::-;17973:2;17968:3;17964:12;17957:19;;17616:366;;;:::o;17988:419::-;18154:4;18192:2;18181:9;18177:18;18169:26;;18241:9;18235:4;18231:20;18227:1;18216:9;18212:17;18205:47;18269:131;18395:4;18269:131;:::i;:::-;18261:139;;17988:419;;;:::o;18413:225::-;18553:34;18549:1;18541:6;18537:14;18530:58;18622:8;18617:2;18609:6;18605:15;18598:33;18413:225;:::o;18644:366::-;18786:3;18807:67;18871:2;18866:3;18807:67;:::i;:::-;18800:74;;18883:93;18972:3;18883:93;:::i;:::-;19001:2;18996:3;18992:12;18985:19;;18644:366;;;:::o;19016:419::-;19182:4;19220:2;19209:9;19205:18;19197:26;;19269:9;19263:4;19259:20;19255:1;19244:9;19240:17;19233:47;19297:131;19423:4;19297:131;:::i;:::-;19289:139;;19016:419;;;:::o;19441:182::-;19581:34;19577:1;19569:6;19565:14;19558:58;19441:182;:::o;19629:366::-;19771:3;19792:67;19856:2;19851:3;19792:67;:::i;:::-;19785:74;;19868:93;19957:3;19868:93;:::i;:::-;19986:2;19981:3;19977:12;19970:19;;19629:366;;;:::o;20001:419::-;20167:4;20205:2;20194:9;20190:18;20182:26;;20254:9;20248:4;20244:20;20240:1;20229:9;20225:17;20218:47;20282:131;20408:4;20282:131;:::i;:::-;20274:139;;20001:419;;;:::o;20426:166::-;20566:18;20562:1;20554:6;20550:14;20543:42;20426:166;:::o;20598:366::-;20740:3;20761:67;20825:2;20820:3;20761:67;:::i;:::-;20754:74;;20837:93;20926:3;20837:93;:::i;:::-;20955:2;20950:3;20946:12;20939:19;;20598:366;;;:::o;20970:419::-;21136:4;21174:2;21163:9;21159:18;21151:26;;21223:9;21217:4;21213:20;21209:1;21198:9;21194:17;21187:47;21251:131;21377:4;21251:131;:::i;:::-;21243:139;;20970:419;;;:::o;21395:165::-;21535:17;21531:1;21523:6;21519:14;21512:41;21395:165;:::o;21566:366::-;21708:3;21729:67;21793:2;21788:3;21729:67;:::i;:::-;21722:74;;21805:93;21894:3;21805:93;:::i;:::-;21923:2;21918:3;21914:12;21907:19;;21566:366;;;:::o;21938:419::-;22104:4;22142:2;22131:9;22127:18;22119:26;;22191:9;22185:4;22181:20;22177:1;22166:9;22162:17;22155:47;22219:131;22345:4;22219:131;:::i;:::-;22211:139;;21938:419;;;:::o;22363:169::-;22503:21;22499:1;22491:6;22487:14;22480:45;22363:169;:::o;22538:366::-;22680:3;22701:67;22765:2;22760:3;22701:67;:::i;:::-;22694:74;;22777:93;22866:3;22777:93;:::i;:::-;22895:2;22890:3;22886:12;22879:19;;22538:366;;;:::o;22910:419::-;23076:4;23114:2;23103:9;23099:18;23091:26;;23163:9;23157:4;23153:20;23149:1;23138:9;23134:17;23127:47;23191:131;23317:4;23191:131;:::i;:::-;23183:139;;22910:419;;;:::o;23335:332::-;23456:4;23494:2;23483:9;23479:18;23471:26;;23507:71;23575:1;23564:9;23560:17;23551:6;23507:71;:::i;:::-;23588:72;23656:2;23645:9;23641:18;23632:6;23588:72;:::i;:::-;23335:332;;;;;:::o;23673:180::-;23721:77;23718:1;23711:88;23818:4;23815:1;23808:15;23842:4;23839:1;23832:15;23859:143;23916:5;23947:6;23941:13;23932:22;;23963:33;23990:5;23963:33;:::i;:::-;23859:143;;;;:::o;24008:351::-;24078:6;24127:2;24115:9;24106:7;24102:23;24098:32;24095:119;;;24133:79;;:::i;:::-;24095:119;24253:1;24278:64;24334:7;24325:6;24314:9;24310:22;24278:64;:::i;:::-;24268:74;;24224:128;24008:351;;;;:::o;24365:85::-;24410:7;24439:5;24428:16;;24365:85;;;:::o;24456:158::-;24514:9;24547:61;24565:42;24574:32;24600:5;24574:32;:::i;:::-;24565:42;:::i;:::-;24547:61;:::i;:::-;24534:74;;24456:158;;;:::o;24620:147::-;24715:45;24754:5;24715:45;:::i;:::-;24710:3;24703:58;24620:147;;:::o;24773:114::-;24840:6;24874:5;24868:12;24858:22;;24773:114;;;:::o;24893:184::-;24992:11;25026:6;25021:3;25014:19;25066:4;25061:3;25057:14;25042:29;;24893:184;;;;:::o;25083:132::-;25150:4;25173:3;25165:11;;25203:4;25198:3;25194:14;25186:22;;25083:132;;;:::o;25221:108::-;25298:24;25316:5;25298:24;:::i;:::-;25293:3;25286:37;25221:108;;:::o;25335:179::-;25404:10;25425:46;25467:3;25459:6;25425:46;:::i;:::-;25503:4;25498:3;25494:14;25480:28;;25335:179;;;;:::o;25520:113::-;25590:4;25622;25617:3;25613:14;25605:22;;25520:113;;;:::o;25669:732::-;25788:3;25817:54;25865:5;25817:54;:::i;:::-;25887:86;25966:6;25961:3;25887:86;:::i;:::-;25880:93;;25997:56;26047:5;25997:56;:::i;:::-;26076:7;26107:1;26092:284;26117:6;26114:1;26111:13;26092:284;;;26193:6;26187:13;26220:63;26279:3;26264:13;26220:63;:::i;:::-;26213:70;;26306:60;26359:6;26306:60;:::i;:::-;26296:70;;26152:224;26139:1;26136;26132:9;26127:14;;26092:284;;;26096:14;26392:3;26385:10;;25793:608;;;25669:732;;;;:::o;26407:831::-;26670:4;26708:3;26697:9;26693:19;26685:27;;26722:71;26790:1;26779:9;26775:17;26766:6;26722:71;:::i;:::-;26803:80;26879:2;26868:9;26864:18;26855:6;26803:80;:::i;:::-;26930:9;26924:4;26920:20;26915:2;26904:9;26900:18;26893:48;26958:108;27061:4;27052:6;26958:108;:::i;:::-;26950:116;;27076:72;27144:2;27133:9;27129:18;27120:6;27076:72;:::i;:::-;27158:73;27226:3;27215:9;27211:19;27202:6;27158:73;:::i;:::-;26407:831;;;;;;;;:::o
Swarm Source
ipfs://017f6b1424cf7bf634d83b691e65a47fc094b6029369d31d0ff4ba87bd40f4ce
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.